diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..9504253
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/openapi-changes.iml b/.idea/openapi-changes.iml
new file mode 100644
index 0000000..5e764c4
--- /dev/null
+++ b/.idea/openapi-changes.iml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/bin/openapi-changes b/bin/openapi-changes
new file mode 100755
index 0000000..83e96e3
Binary files /dev/null and b/bin/openapi-changes differ
diff --git a/html-report/ui/src/edges.json b/html-report/ui/src/edges.json
new file mode 100644
index 0000000..9a18b40
--- /dev/null
+++ b/html-report/ui/src/edges.json
@@ -0,0 +1 @@
+[{"id":"root-to-info-94d524","from":"root","to":"info-94d524"},{"id":"info-94d524-to-title-115dd0","from":"info-94d524","to":"title-115dd0"},{"id":"info-94d524-to-description-07ed09","from":"info-94d524","to":"description-07ed09"},{"id":"info-94d524-to-termsofservice-38fb4a","from":"info-94d524","to":"termsofservice-38fb4a"},{"id":"info-94d524-to-contact-abef57","from":"info-94d524","to":"contact-abef57"},{"id":"contact-abef57-to-email-841aa5","from":"contact-abef57","to":"email-841aa5"},{"id":"root-to-paths-dd9512","from":"root","to":"paths-dd9512"},{"id":"paths-dd9512-to-/pet/{petid}-2dba42","from":"paths-dd9512","to":"/pet/{petid}-2dba42"},{"id":"/pet/{petid}-2dba42-to-delete-0ddc8f","from":"/pet/{petid}-2dba42","to":"delete-0ddc8f"},{"id":"/pet/{petid}-2dba42-to-get-2688bd","from":"/pet/{petid}-2dba42","to":"get-2688bd"},{"id":"get-2688bd-to-description-d03eaa","from":"get-2688bd","to":"description-d03eaa"},{"id":"get-2688bd-to-parameters-13a03f","from":"get-2688bd","to":"parameters-13a03f"},{"id":"parameters-13a03f-to-required-e7c5d8","from":"parameters-13a03f","to":"required-e7c5d8"},{"id":"parameters-13a03f-to-schema-822b8b","from":"parameters-13a03f","to":"schema-822b8b"},{"id":"schema-822b8b-to-format-1f605c","from":"schema-822b8b","to":"format-1f605c"},{"id":"get-2688bd-to-security requirements-836fc8","from":"get-2688bd","to":"security requirements-836fc8"},{"id":"security requirements-836fc8-to-security-83de9c","from":"security requirements-836fc8","to":"security-83de9c"},{"id":"paths-dd9512-to-/pet/findbytags-322096","from":"paths-dd9512","to":"/pet/findbytags-322096"},{"id":"/pet/findbytags-322096-to-get-a407d9","from":"/pet/findbytags-322096","to":"get-a407d9"},{"id":"/pet/findbytags-322096-to-post-e72aff","from":"/pet/findbytags-322096","to":"post-e72aff"},{"id":"paths-dd9512-to-/pet/findbystatus-f08572","from":"paths-dd9512","to":"/pet/findbystatus-f08572"},{"id":"/pet/findbystatus-f08572-to-get-232839","from":"/pet/findbystatus-f08572","to":"get-232839"},{"id":"get-232839-to-responses-b6f29f","from":"get-232839","to":"responses-b6f29f"},{"id":"responses-b6f29f-to-codes-dc528c","from":"responses-b6f29f","to":"codes-dc528c"},{"id":"paths-dd9512-to-/pet-86736c","from":"paths-dd9512","to":"/pet-86736c"},{"id":"/pet-86736c-to-post-5147f8","from":"/pet-86736c","to":"post-5147f8"},{"id":"/pet-86736c-to-patch-3b1016","from":"/pet-86736c","to":"patch-3b1016"},{"id":"/pet-86736c-to-put-e671e3","from":"/pet-86736c","to":"put-e671e3"},{"id":"put-e671e3-to-tags-42a0ce","from":"put-e671e3","to":"tags-42a0ce"},{"id":"put-e671e3-to-summary-26b738","from":"put-e671e3","to":"summary-26b738"},{"id":"put-e671e3-to-responses-289186","from":"put-e671e3","to":"responses-289186"},{"id":"responses-289186-to-codes-f710b9","from":"responses-289186","to":"codes-f710b9"},{"id":"put-e671e3-to-requestbody-aee660","from":"put-e671e3","to":"requestbody-aee660"},{"id":"requestbody-aee660-to-required-8613a6","from":"requestbody-aee660","to":"required-8613a6"},{"id":"paths-dd9512-to-/pet/{petid}/uploadimage-63061f","from":"paths-dd9512","to":"/pet/{petid}/uploadimage-63061f"},{"id":"/pet/{petid}/uploadimage-63061f-to-put-6d5f3f","from":"/pet/{petid}/uploadimage-63061f","to":"put-6d5f3f"},{"id":"/pet/{petid}/uploadimage-63061f-to-post-8fe4fa","from":"/pet/{petid}/uploadimage-63061f","to":"post-8fe4fa"},{"id":"paths-dd9512-to-/user/{username}-764def","from":"paths-dd9512","to":"/user/{username}-764def"},{"id":"/user/{username}-764def-to-get-35ab2c","from":"/user/{username}-764def","to":"get-35ab2c"},{"id":"get-35ab2c-to-operationid-c6f3b7","from":"get-35ab2c","to":"operationid-c6f3b7"},{"id":"/user/{username}-764def-to-delete-c4dc3d","from":"/user/{username}-764def","to":"delete-c4dc3d"},{"id":"delete-c4dc3d-to-tags-2ddfa8","from":"delete-c4dc3d","to":"tags-2ddfa8"},{"id":"delete-c4dc3d-to-tags-480723","from":"delete-c4dc3d","to":"tags-480723"},{"id":"delete-c4dc3d-to-tags-15aafe","from":"delete-c4dc3d","to":"tags-15aafe"},{"id":"delete-c4dc3d-to-operationid-d5daff","from":"delete-c4dc3d","to":"operationid-d5daff"},{"id":"paths-dd9512-to-/user/login-668ac0","from":"paths-dd9512","to":"/user/login-668ac0"},{"id":"/user/login-668ac0-to-get-62d5ee","from":"/user/login-668ac0","to":"get-62d5ee"},{"id":"get-62d5ee-to-summary-251467","from":"get-62d5ee","to":"summary-251467"},{"id":"get-62d5ee-to-parameters-e5be2f","from":"get-62d5ee","to":"parameters-e5be2f"},{"id":"parameters-e5be2f-to-schema-eb458e","from":"parameters-e5be2f","to":"schema-eb458e"},{"id":"schema-eb458e-to-type-2b6330","from":"schema-eb458e","to":"type-2b6330"},{"id":"get-62d5ee-to-parameters-d59eb1","from":"get-62d5ee","to":"parameters-d59eb1"},{"id":"parameters-d59eb1-to-required-bf1bbf","from":"parameters-d59eb1","to":"required-bf1bbf"},{"id":"get-62d5ee-to-responses-5491d5","from":"get-62d5ee","to":"responses-5491d5"},{"id":"responses-5491d5-to-200-038815","from":"responses-5491d5","to":"200-038815"},{"id":"200-038815-to-description-571ccf","from":"200-038815","to":"description-571ccf"},{"id":"paths-dd9512-to-/store/order/{orderid}-15adcc","from":"paths-dd9512","to":"/store/order/{orderid}-15adcc"},{"id":"/store/order/{orderid}-15adcc-to-get-c041f2","from":"/store/order/{orderid}-15adcc","to":"get-c041f2"},{"id":"get-c041f2-to-responses-561630","from":"get-c041f2","to":"responses-561630"},{"id":"responses-561630-to-codes-08c1d6","from":"responses-561630","to":"codes-08c1d6"},{"id":"responses-561630-to-400-10ac56","from":"responses-561630","to":"400-10ac56"},{"id":"400-10ac56-to-description-525284","from":"400-10ac56","to":"description-525284"},{"id":"/store/order/{orderid}-15adcc-to-delete-b84f5c","from":"/store/order/{orderid}-15adcc","to":"delete-b84f5c"},{"id":"delete-b84f5c-to-parameters-849754","from":"delete-b84f5c","to":"parameters-849754"},{"id":"parameters-849754-to-required-b8742a","from":"parameters-849754","to":"required-b8742a"},{"id":"root-to-tags-556239","from":"root","to":"tags-556239"},{"id":"tags-556239-to-jazz-58fb7b","from":"tags-556239","to":"jazz-58fb7b"},{"id":"root-to-components-f67e54","from":"root","to":"components-f67e54"},{"id":"components-f67e54-to-pet-e2a574","from":"components-f67e54","to":"pet-e2a574"},{"id":"pet-e2a574-to-required-373b27","from":"pet-e2a574","to":"required-373b27"},{"id":"pet-e2a574-to-properties-01aff3","from":"pet-e2a574","to":"properties-01aff3"},{"id":"pet-e2a574-to-properties-0ced4a","from":"pet-e2a574","to":"properties-0ced4a"},{"id":"pet-e2a574-to-status-c0a882","from":"pet-e2a574","to":"status-c0a882"},{"id":"status-c0a882-to-enum-8a9605","from":"status-c0a882","to":"enum-8a9605"},{"id":"components-f67e54-to-order-2619ce","from":"components-f67e54","to":"order-2619ce"},{"id":"order-2619ce-to-properties-e6c330","from":"order-2619ce","to":"properties-e6c330"},{"id":"order-2619ce-to-status-e0948b","from":"order-2619ce","to":"status-e0948b"},{"id":"status-e0948b-to-enum-d1d10a","from":"status-e0948b","to":"enum-d1d10a"},{"id":"components-f67e54-to-user-f34dd5","from":"components-f67e54","to":"user-f34dd5"},{"id":"user-f34dd5-to-email-53f1b2","from":"user-f34dd5","to":"email-53f1b2"},{"id":"email-53f1b2-to-example-37053e","from":"email-53f1b2","to":"example-37053e"},{"id":"user-f34dd5-to-password-ee06c6","from":"user-f34dd5","to":"password-ee06c6"},{"id":"password-ee06c6-to-example-bb077e","from":"password-ee06c6","to":"example-bb077e"},{"id":"components-f67e54-to-customer-7ac1db","from":"components-f67e54","to":"customer-7ac1db"},{"id":"customer-7ac1db-to-username-a6fbbc","from":"customer-7ac1db","to":"username-a6fbbc"},{"id":"username-a6fbbc-to-example-d72466","from":"username-a6fbbc","to":"example-d72466"},{"id":"components-f67e54-to-petstore_auth-d0d1df","from":"components-f67e54","to":"petstore_auth-d0d1df"},{"id":"petstore_auth-d0d1df-to-oauth flows-00afdf","from":"petstore_auth-d0d1df","to":"oauth flows-00afdf"},{"id":"oauth flows-00afdf-to-oauth flow-3dd45c","from":"oauth flows-00afdf","to":"oauth flow-3dd45c"},{"id":"oauth flow-3dd45c-to-scopes-18dbf7","from":"oauth flow-3dd45c","to":"scopes-18dbf7"}]
\ No newline at end of file
diff --git a/html-report/ui/src/nodes.json b/html-report/ui/src/nodes.json
new file mode 100644
index 0000000..e53e629
--- /dev/null
+++ b/html-report/ui/src/nodes.json
@@ -0,0 +1 @@
+[{"id":"root","text":"Document","height":25},{"id":"info-94d524","disabled":true,"text":"info","height":25,"width":150},{"id":"title-115dd0","text":"title","height":45,"width":250,"data":{"breaking":false,"change":1,"changeText":"modified","context":{"originalLine":4,"originalColumn":14,"newLine":4,"newColumn":14},"new":"Swagger Petstore - OpenAPI 3.0, With More Jazz","original":"Swagger Petstore - OpenAPI 3.0","property":"title"}},{"id":"description-07ed09","text":"description","height":45,"width":250,"data":{"breaking":false,"change":1,"changeText":"modified","context":{"originalLine":5,"originalColumn":20,"newLine":5,"newColumn":20},"new":"Jazz in the morning, Jazz in the evening.","original":"This is a sample Pet Store Server based on the OpenAPI 3.0 specification. You can find out more about\nSwagger at [http://swagger.io](http://swagger.io). In the third iteration of the pet store, we've switched to the design first approach!\nYou can now help us improve the API whether it's by making changes to the definition itself or to the code.\nThat way, with time, we can improve the API in general, and expose some of the new features in OAS3.\n\nSome useful links:\n- [The Pet Store repository](https://github.com/swagger-api/swagger-petstore)\n- [The source API definition for the Pet Store](https://github.com/swagger-api/swagger-petstore/blob/master/src/main/resources/openapi.yaml)","property":"description"}},{"id":"termsofservice-38fb4a","text":"termsOfService","height":45,"width":250,"data":{"breaking":false,"change":1,"changeText":"modified","context":{"originalLine":6,"originalColumn":23,"newLine":6,"newColumn":23},"new":"http://jazzyjazzjazzy.com","original":"http://swagger.io/terms/","property":"termsOfService"}},{"id":"contact-abef57","disabled":true,"text":"contact","height":25,"width":150},{"id":"email-841aa5","text":"email","height":45,"width":150,"data":{"breaking":false,"change":1,"changeText":"modified","context":{"originalLine":8,"originalColumn":16,"newLine":8,"newColumn":16},"new":"jazz@swagger.io","original":"apiteam@swagger.io","property":"email"}},{"id":"paths-dd9512","disabled":true,"text":"paths","height":25,"width":150},{"id":"/pet/{petid}-2dba42","disabled":true,"text":"/pet/{petid}","height":25,"width":150},{"id":"delete-0ddc8f","text":"delete","height":27,"width":150,"data":{"breaking":true,"change":5,"changeText":"property_removed","context":{"originalLine":395,"originalColumn":17},"new":"","original":"","property":"delete"}},{"id":"get-2688bd","disabled":true,"text":"get","height":25,"width":150},{"id":"description-d03eaa","text":"description","height":45,"width":250,"data":{"breaking":false,"change":1,"changeText":"modified","context":{"originalLine":297,"originalColumn":24,"newLine":301,"newColumn":24},"new":"Returns a single pet, and hopefully no more jazz.","original":"Returns a single pet","property":"description"}},{"id":"parameters-13a03f","disabled":true,"text":"parameters","height":25,"width":150},{"id":"required-e7c5d8","text":"required","height":45,"width":150,"data":{"breaking":true,"change":1,"changeText":"modified","context":{"originalLine":304,"originalColumn":25,"newLine":308,"newColumn":25},"new":"false","original":"true","property":"required"}},{"id":"schema-822b8b","disabled":true,"text":"schema","height":25,"width":150},{"id":"format-1f605c","text":"format","height":45,"width":150,"data":{"breaking":true,"change":1,"changeText":"modified","context":{"originalLine":307,"originalColumn":25,"newLine":311,"newColumn":25},"new":"int32","original":"int64","property":"format"}},{"id":"security requirements-836fc8","disabled":true,"text":"security requirements","height":25,"width":175},{"id":"security-83de9c","text":"security","height":45,"width":150,"data":{"breaking":false,"change":3,"changeText":"object_added","context":{"newLine":346,"newColumn":15},"new":"eat:tacos","original":"","property":"security"}},{"id":"/pet/findbytags-322096","disabled":true,"text":"/pet/findbytags","height":25,"width":150},{"id":"get-a407d9","text":"get","height":27,"width":150,"data":{"breaking":true,"change":5,"changeText":"property_removed","context":{"originalLine":233,"originalColumn":14},"new":"","original":"","property":"get"}},{"id":"post-e72aff","text":"post","height":27,"width":150,"data":{"breaking":false,"change":2,"changeText":"property_added","context":{"newLine":236,"newColumn":15},"new":"","original":"","property":"post"}},{"id":"/pet/findbystatus-f08572","disabled":true,"text":"/pet/findbystatus","height":25,"width":150},{"id":"get-232839","disabled":true,"text":"get","height":25,"width":150},{"id":"responses-b6f29f","disabled":true,"text":"responses","height":25,"width":150},{"id":"codes-dc528c","text":"codes","height":45,"width":150,"data":{"breaking":true,"change":4,"changeText":"object_removed","context":{"originalLine":218,"originalColumn":18},"new":"","original":"400","property":"codes"}},{"id":"/pet-86736c","disabled":true,"text":"/pet","height":25,"width":150},{"id":"post-5147f8","text":"post","height":27,"width":150,"data":{"breaking":true,"change":5,"changeText":"property_removed","context":{"originalLine":112,"originalColumn":15},"new":"","original":"","property":"post"}},{"id":"patch-3b1016","text":"patch","height":27,"width":150,"data":{"breaking":false,"change":2,"changeText":"property_added","context":{"newLine":120,"newColumn":16},"new":"","original":"","property":"patch"}},{"id":"put-e671e3","disabled":true,"text":"put","height":25,"width":150},{"id":"tags-42a0ce","text":"tags","height":45,"width":150,"data":{"breaking":false,"change":2,"changeText":"property_added","context":{"newLine":56,"newColumn":11},"new":"jazz","original":"","property":"tags"}},{"id":"summary-26b738","text":"summary","height":45,"width":250,"data":{"breaking":false,"change":1,"changeText":"modified","context":{"originalLine":53,"originalColumn":20,"newLine":58,"newColumn":20},"new":"Update an existing pet, but with Jazz","original":"Update an existing pet","property":"summary"}},{"id":"responses-289186","disabled":true,"text":"responses","height":25,"width":150},{"id":"codes-f710b9","text":"codes","height":45,"width":150,"data":{"breaking":false,"change":3,"changeText":"object_added","context":{"newLine":107,"newColumn":18},"new":"418","original":"","property":"codes"}},{"id":"requestbody-aee660","disabled":true,"text":"requestbody","height":25,"width":150},{"id":"required-8613a6","text":"required","height":45,"width":150,"data":{"breaking":true,"change":1,"changeText":"modified","context":{"originalLine":75,"originalColumn":23,"newLine":80,"newColumn":23},"new":"false","original":"true","property":"required"}},{"id":"/pet/{petid}/uploadimage-63061f","disabled":true,"text":"/pet/{petid}/uploadimage","height":25,"width":220},{"id":"put-6d5f3f","text":"put","height":27,"width":150,"data":{"breaking":false,"change":2,"changeText":"property_added","context":{"newLine":402,"newColumn":14},"new":"","original":"","property":"put"}},{"id":"post-8fe4fa","text":"post","height":27,"width":150,"data":{"breaking":true,"change":5,"changeText":"property_removed","context":{"originalLine":439,"originalColumn":15},"new":"","original":"","property":"post"}},{"id":"/user/{username}-764def","disabled":true,"text":"/user/{username}","height":25,"width":150},{"id":"get-35ab2c","disabled":true,"text":"get","height":25,"width":150},{"id":"operationid-c6f3b7","text":"operationId","height":45,"width":190,"data":{"breaking":true,"change":1,"changeText":"modified","context":{"originalLine":825,"originalColumn":24,"newLine":785,"newColumn":24},"new":"getUserByNameAndNotJazz","original":"getUserByName","property":"operationId"}},{"id":"delete-c4dc3d","disabled":true,"text":"delete","height":25,"width":150},{"id":"tags-2ddfa8","text":"tags","height":45,"width":150,"data":{"breaking":true,"change":5,"changeText":"property_removed","context":{"originalLine":907,"originalColumn":11},"new":"","original":"user","property":"tags"}},{"id":"tags-480723","text":"tags","height":45,"width":150,"data":{"breaking":false,"change":2,"changeText":"property_added","context":{"newLine":867,"newColumn":11},"new":"jazz","original":"","property":"tags"}},{"id":"tags-15aafe","text":"tags","height":45,"width":150,"data":{"breaking":false,"change":2,"changeText":"property_added","context":{"newLine":868,"newColumn":11},"new":"cookies","original":"","property":"tags"}},{"id":"operationid-d5daff","text":"operationId","height":45,"width":150,"data":{"breaking":true,"change":1,"changeText":"modified","context":{"originalLine":911,"originalColumn":24,"newLine":872,"newColumn":24},"new":"deleteUserButNotJazz","original":"deleteUser","property":"operationId"}},{"id":"/user/login-668ac0","disabled":true,"text":"/user/login","height":25,"width":150},{"id":"get-62d5ee","disabled":true,"text":"get","height":25,"width":150},{"id":"summary-251467","text":"summary","height":45,"width":250,"data":{"breaking":false,"change":1,"changeText":"modified","context":{"originalLine":741,"originalColumn":20,"newLine":701,"newColumn":20},"new":"Logs user into the system, without jazz","original":"Logs user into the system","property":"summary"}},{"id":"parameters-e5be2f","disabled":true,"text":"parameters","height":25,"width":150},{"id":"schema-eb458e","disabled":true,"text":"schema","height":25,"width":150},{"id":"type-2b6330","text":"type","height":45,"width":150,"data":{"breaking":true,"change":1,"changeText":"modified","context":{"originalLine":751,"originalColumn":23,"newLine":711,"newColumn":23},"new":"integer","original":"string","property":"type"}},{"id":"parameters-d59eb1","disabled":true,"text":"parameters","height":25,"width":150},{"id":"required-bf1bbf","text":"required","height":45,"width":150,"data":{"breaking":true,"change":1,"changeText":"modified","context":{"originalLine":758,"originalColumn":25,"newLine":718,"newColumn":25},"new":"true","original":"false","property":"required"}},{"id":"responses-5491d5","disabled":true,"text":"responses","height":25,"width":150},{"id":"200-038815","disabled":true,"text":"200","height":25,"width":150},{"id":"description-571ccf","text":"description","height":45,"width":250,"data":{"breaking":false,"change":1,"changeText":"modified","context":{"originalLine":766,"originalColumn":28,"newLine":726,"newColumn":28},"new":"successful operation, even if not jazzy","original":"successful operation","property":"description"}},{"id":"/store/order/{orderid}-15adcc","disabled":true,"text":"/store/order/{orderid}","height":25,"width":190},{"id":"get-c041f2","disabled":true,"text":"get","height":25,"width":150},{"id":"responses-561630","disabled":true,"text":"responses","height":25,"width":150},{"id":"codes-08c1d6","text":"codes","height":45,"width":150,"data":{"breaking":true,"change":4,"changeText":"object_removed","context":{"originalLine":613,"originalColumn":18},"new":"","original":"404","property":"codes"}},{"id":"400-10ac56","disabled":true,"text":"400","height":25,"width":150},{"id":"description-525284","text":"description","height":45,"width":250,"data":{"breaking":false,"change":1,"changeText":"modified","context":{"originalLine":611,"originalColumn":28,"newLine":574,"newColumn":28},"new":"Invalid ID supplied and all the jazz has gone.","original":"Invalid ID supplied","property":"description"}},{"id":"delete-b84f5c","disabled":true,"text":"delete","height":25,"width":150},{"id":"parameters-849754","disabled":true,"text":"parameters","height":25,"width":150},{"id":"required-b8742a","text":"required","height":45,"width":150,"data":{"breaking":true,"change":1,"changeText":"modified","context":{"originalLine":630,"originalColumn":25,"newLine":590,"newColumn":25},"new":"false","original":"true","property":"required"}},{"id":"tags-556239","disabled":true,"text":"tags","height":25,"width":150},{"id":"jazz-58fb7b","text":"jazz","height":27,"width":150,"data":{"breaking":false,"change":3,"changeText":"object_added","context":{"newLine":46,"newColumn":5},"new":"","original":"","property":"jazz"}},{"id":"components-f67e54","disabled":true,"text":"components","height":25,"width":150},{"id":"pet-e2a574","disabled":true,"text":"pet","height":25,"width":150},{"id":"required-373b27","text":"required","height":45,"width":150,"data":{"breaking":true,"change":5,"changeText":"property_removed","context":{"originalLine":1105,"originalColumn":11},"new":"","original":"photoUrls","property":"required"}},{"id":"properties-01aff3","text":"properties","height":45,"width":150,"data":{"breaking":false,"change":3,"changeText":"object_added","context":{"newLine":1071,"newColumn":11},"new":"jazz","original":"","property":"properties"}},{"id":"properties-0ced4a","text":"properties","height":45,"width":150,"data":{"breaking":true,"change":4,"changeText":"object_removed","context":{"originalLine":1114,"originalColumn":11},"new":"","original":"name","property":"properties"}},{"id":"status-c0a882","disabled":true,"text":"status","height":25,"width":150},{"id":"enum-8a9605","text":"enum","height":45,"width":150,"data":{"breaking":false,"change":2,"changeText":"property_added","context":{"newLine":1106,"newColumn":15},"new":"jazzedOut","original":"","property":"enum"}},{"id":"order-2619ce","disabled":true,"text":"order","height":25,"width":150},{"id":"properties-e6c330","text":"properties","height":45,"width":150,"data":{"breaking":true,"change":4,"changeText":"object_removed","context":{"originalLine":954,"originalColumn":11},"new":"","original":"shipDate","property":"properties"}},{"id":"status-e0948b","disabled":true,"text":"status","height":25,"width":150},{"id":"enum-d1d10a","text":"enum","height":45,"width":150,"data":{"breaking":false,"change":2,"changeText":"property_added","context":{"newLine":923,"newColumn":15},"new":"burgers","original":"","property":"enum"}},{"id":"user-f34dd5","disabled":true,"text":"user","height":25,"width":150},{"id":"email-53f1b2","disabled":true,"text":"email","height":25,"width":150},{"id":"example-37053e","text":"example","height":45,"width":230,"data":{"breaking":false,"change":1,"changeText":"modified","context":{"originalLine":1066,"originalColumn":24,"newLine":1024,"newColumn":24},"new":"john@jazzclubinjazztown.com","original":"john@email.com","property":"example"}},{"id":"password-ee06c6","disabled":true,"text":"password","height":25,"width":150},{"id":"example-bb077e","text":"example","height":45,"width":150,"data":{"breaking":false,"change":1,"changeText":"modified","context":{"originalLine":1070,"originalColumn":24,"newLine":1028,"newColumn":24},"new":"JAZZCLUB","original":"12345","property":"example"}},{"id":"customer-7ac1db","disabled":true,"text":"customer","height":25,"width":150},{"id":"username-a6fbbc","disabled":true,"text":"username","height":25,"width":150},{"id":"example-d72466","text":"example","height":45,"width":150,"data":{"breaking":false,"change":1,"changeText":"modified","context":{"originalLine":986,"originalColumn":24,"newLine":944,"newColumn":24},"new":"burgers","original":"fehguy","property":"example"}},{"id":"petstore_auth-d0d1df","disabled":true,"text":"petstore_auth","height":25,"width":150},{"id":"oauth flows-00afdf","disabled":true,"text":"oauth flows","height":25,"width":150},{"id":"oauth flow-3dd45c","disabled":true,"text":"oauth flow","height":25,"width":150},{"id":"scopes-18dbf7","text":"scopes","height":45,"width":150,"data":{"breaking":false,"change":3,"changeText":"object_added","context":{"newLine":1172,"newColumn":29},"new":"enjoy more jazz.","original":"","property":"scopes"}}]
\ No newline at end of file
diff --git a/model/report.go b/model/report.go
index 6e4ade2..06216c8 100644
--- a/model/report.go
+++ b/model/report.go
@@ -37,10 +37,22 @@ func (hc *HashedChange) MarshalJSON() ([]byte, error) {
return json.Marshal(data)
}
+func getIntValue(pointer *int) int {
+ if pointer == nil {
+ return -1
+ }
+
+ return *pointer
+}
+
func (hc *HashedChange) HashChange() {
context := hc.Context
- contextString := fmt.Sprintf("%d-%d-%d-%d", context.OriginalLine, context.OriginalColumn, context.NewLine, context.NewColumn)
+ contextString := fmt.Sprintf("%d-%d-%d-%d",
+ getIntValue(context.OriginalLine),
+ getIntValue(context.OriginalColumn),
+ getIntValue(context.NewLine),
+ getIntValue(context.NewColumn))
changeString := fmt.Sprintf("%d-%s-%s-%s-%s", hc.ChangeType, hc.Property, hc.Original, hc.New, contextString)