)]}'
{"guidelines/microversion_bump_guideline.rst":[{"author":{"_account_id":12321,"name":"Ryan Brown","email":"rybrown@redhat.com","username":"ryansb"},"change_message_id":"e5fdaca4128fb9d9153d5c4cc0cee733967430dc","unresolved":false,"context_lines":[{"line_number":6,"context_line":"Basic principle"},{"line_number":7,"context_line":"~~~~~~~~~~~~~~~"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The format of microversion is X.Y, the meaning of X and Y defined in the"},{"line_number":10,"context_line":"nova-spec:"},{"line_number":11,"context_line":"`http://specs.openstack.org/openstack/nova-specs/specs/kilo/implemented/api-microversions.html`"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5afe65bd_17dd280e","line":9,"updated":"2015-06-03 14:50:04.000000000","message":"This seems redundant, it might be better to just link to the \"microversion.rst\" spec.","commit_id":"6545ca19c4966c55c08de907bc25785538e1681a"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"53172ee596f314f8af887d3ad94ecae5bb7a7349","unresolved":false,"context_lines":[{"line_number":6,"context_line":"Basic principle"},{"line_number":7,"context_line":"~~~~~~~~~~~~~~~"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The format of microversion is X.Y, the meaning of X and Y defined in the"},{"line_number":10,"context_line":"nova-spec:"},{"line_number":11,"context_line":"`http://specs.openstack.org/openstack/nova-specs/specs/kilo/implemented/api-microversions.html`"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5afe65bd_a15ef70f","line":9,"in_reply_to":"5afe65bd_17dd280e","updated":"2015-06-04 02:41:45.000000000","message":"yea, and I should refer to api-wg guideline, not the nova-spec anymore","commit_id":"6545ca19c4966c55c08de907bc25785538e1681a"},{"author":{"_account_id":9420,"name":"Matthew Gilliard","email":"matthew.gilliard@hp.com","username":"gilliard"},"change_message_id":"4dc2babcc653f9e7e6fc47220688317d78af78f9","unresolved":false,"context_lines":[{"line_number":7,"context_line":"~~~~~~~~~~~~~~~"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The meaning of X and Y defined in the API Working Group Guideline"},{"line_number":10,"context_line":":ref: `microversion`."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Except X is only bumped when a significant backwards incompatible change for"},{"line_number":13,"context_line":"the whole API, in the most of cases the API change is required bumped Y."}],"source_content_type":"text/x-rst","patch_set":3,"id":"5afe65bd_d87b2127","line":10,"updated":"2015-06-04 08:18:58.000000000","message":"This doesn\u0027t link properly in the rendered doc.","commit_id":"a5762d2b7de579c20d3f2946a1ceec2737f0301f"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3a6e945730d4f00c180d09a2bdc0b0ef88687769","unresolved":false,"context_lines":[{"line_number":7,"context_line":"~~~~~~~~~~~~~~~"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The meaning of X and Y defined in the API Working Group Guideline"},{"line_number":10,"context_line":":ref: `microversion`."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Except X is only bumped when a significant backwards incompatible change for"},{"line_number":13,"context_line":"the whole API, in the most of cases the API change is required bumped Y."}],"source_content_type":"text/x-rst","patch_set":3,"id":"5afe65bd_03c49d8e","line":10,"in_reply_to":"5afe65bd_d87b2127","updated":"2015-06-04 14:26:23.000000000","message":"emm....let me check","commit_id":"a5762d2b7de579c20d3f2946a1ceec2737f0301f"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"d1f757776c8c78700383269b089edfcc2241a9a9","unresolved":false,"context_lines":[{"line_number":18,"context_line":"significant feature for the API."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"**Any API change need a nova-spec**, to avoid adding more bad things to the"},{"line_number":21,"context_line":"API."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Group the change"},{"line_number":24,"context_line":"~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5afe65bd_3e333d64","line":21,"updated":"2015-06-04 09:11:15.000000000","message":"This is a bit nova specific. This is just current nova process, and probably might not make sense for other projects of a different size.","commit_id":"a5762d2b7de579c20d3f2946a1ceec2737f0301f"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3a6e945730d4f00c180d09a2bdc0b0ef88687769","unresolved":false,"context_lines":[{"line_number":18,"context_line":"significant feature for the API."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"**Any API change need a nova-spec**, to avoid adding more bad things to the"},{"line_number":21,"context_line":"API."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Group the change"},{"line_number":24,"context_line":"~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5afe65bd_e3bce107","line":21,"in_reply_to":"5afe65bd_3e333d64","updated":"2015-06-04 14:26:23.000000000","message":"yea, I forget remove this.","commit_id":"a5762d2b7de579c20d3f2946a1ceec2737f0301f"},{"author":{"_account_id":9420,"name":"Matthew Gilliard","email":"matthew.gilliard@hp.com","username":"gilliard"},"change_message_id":"4dc2babcc653f9e7e6fc47220688317d78af78f9","unresolved":false,"context_lines":[{"line_number":24,"context_line":"~~~~~~~~~~~~~~~~"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"We can group some of changes into same microversion bump. For example:"},{"line_number":27,"context_line":"`http://git.openstack.org/cgit/openstack/nova/tree/nova/api/openstack/rest_api_version_history.rst?id\u003d2015.1.0#n24`"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"But we should make sure that there are not any big bang changes when"},{"line_number":30,"context_line":"bumping the microversion, and keep each version small as possible."}],"source_content_type":"text/x-rst","patch_set":3,"id":"5afe65bd_3b07cf19","line":27,"updated":"2015-06-04 08:18:58.000000000","message":"This also doesn\u0027t get turned into a hyperlink.","commit_id":"a5762d2b7de579c20d3f2946a1ceec2737f0301f"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3a6e945730d4f00c180d09a2bdc0b0ef88687769","unresolved":false,"context_lines":[{"line_number":24,"context_line":"~~~~~~~~~~~~~~~~"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"We can group some of changes into same microversion bump. For example:"},{"line_number":27,"context_line":"`http://git.openstack.org/cgit/openstack/nova/tree/nova/api/openstack/rest_api_version_history.rst?id\u003d2015.1.0#n24`"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"But we should make sure that there are not any big bang changes when"},{"line_number":30,"context_line":"bumping the microversion, and keep each version small as possible."}],"source_content_type":"text/x-rst","patch_set":3,"id":"5afe65bd_03cedd81","line":27,"in_reply_to":"5afe65bd_3b07cf19","updated":"2015-06-04 14:26:23.000000000","message":"ok, will check it","commit_id":"a5762d2b7de579c20d3f2946a1ceec2737f0301f"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"d1f757776c8c78700383269b089edfcc2241a9a9","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Almost every API change requires microversion bump, so we won\u0027t list them all"},{"line_number":40,"context_line":"here. We only list the change needn\u0027t bump version in next section."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"The change needn\u0027t bump version"},{"line_number":43,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5afe65bd_fe2805e4","line":41,"updated":"2015-06-04 09:11:15.000000000","message":"There is a big piece missing, we need to describe why this is important.\n\nTo me its all about how the API client needs to use the API. If they need it to be discoverable, then we need to bump the version.","commit_id":"a5762d2b7de579c20d3f2946a1ceec2737f0301f"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3a6e945730d4f00c180d09a2bdc0b0ef88687769","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Almost every API change requires microversion bump, so we won\u0027t list them all"},{"line_number":40,"context_line":"here. We only list the change needn\u0027t bump version in next section."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"The change needn\u0027t bump version"},{"line_number":43,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5afe65bd_43b735f5","line":41,"in_reply_to":"5afe65bd_fe2805e4","updated":"2015-06-04 14:26:23.000000000","message":"ok, got it, I will add more describe at here.","commit_id":"a5762d2b7de579c20d3f2946a1ceec2737f0301f"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"d1f757776c8c78700383269b089edfcc2241a9a9","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"The change needn\u0027t bump version"},{"line_number":43,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"* For changing **500 Internal Server Error** to concrete status code, it"},{"line_number":46,"context_line":"  does not need microversion bump. Because 500 is an internal error and only"},{"line_number":47,"context_line":"  be returned when the server has some unrecoverable failure. Therefore"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5afe65bd_1e8641db","line":44,"updated":"2015-06-04 09:11:15.000000000","message":"Again, lets talk about why.\n\nIf the client will not need to change anything to support the change, and doesn\u0027t need to discover that change has happened, then its safe not to bump the version.","commit_id":"a5762d2b7de579c20d3f2946a1ceec2737f0301f"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3a6e945730d4f00c180d09a2bdc0b0ef88687769","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"The change needn\u0027t bump version"},{"line_number":43,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"* For changing **500 Internal Server Error** to concrete status code, it"},{"line_number":46,"context_line":"  does not need microversion bump. Because 500 is an internal error and only"},{"line_number":47,"context_line":"  be returned when the server has some unrecoverable failure. Therefore"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5afe65bd_83a88d8e","line":44,"in_reply_to":"5afe65bd_1e8641db","updated":"2015-06-04 14:26:23.000000000","message":"ok, got it.","commit_id":"a5762d2b7de579c20d3f2946a1ceec2737f0301f"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"d1f757776c8c78700383269b089edfcc2241a9a9","unresolved":false,"context_lines":[{"line_number":43,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"* For changing **500 Internal Server Error** to concrete status code, it"},{"line_number":46,"context_line":"  does not need microversion bump. Because 500 is an internal error and only"},{"line_number":47,"context_line":"  be returned when the server has some unrecoverable failure. Therefore"},{"line_number":48,"context_line":"  changing 500 to concrete code isn\u0027t \"changing\" the API, but rather fixing a"},{"line_number":49,"context_line":"  bug. For example, a change like this: `https://review.openstack.org/#/c/177018/`"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5afe65bd_fe04854a","line":46,"updated":"2015-06-04 09:11:15.000000000","message":"Thats very different from what I though we had agreed...\n\nIf an API is returning 500, and we do a bug fix where it will start returning a status code that particular API call may already return (400 or 200 or whatever), then thats a valid change that doesn\u0027t need a version bump.","commit_id":"a5762d2b7de579c20d3f2946a1ceec2737f0301f"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3a6e945730d4f00c180d09a2bdc0b0ef88687769","unresolved":false,"context_lines":[{"line_number":43,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"* For changing **500 Internal Server Error** to concrete status code, it"},{"line_number":46,"context_line":"  does not need microversion bump. Because 500 is an internal error and only"},{"line_number":47,"context_line":"  be returned when the server has some unrecoverable failure. Therefore"},{"line_number":48,"context_line":"  changing 500 to concrete code isn\u0027t \"changing\" the API, but rather fixing a"},{"line_number":49,"context_line":"  bug. For example, a change like this: `https://review.openstack.org/#/c/177018/`"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5afe65bd_e3a50047","line":46,"in_reply_to":"5afe65bd_bea84d21","updated":"2015-06-04 14:26:23.000000000","message":"Looks like we need think about 500 case more complex.\n\nBut I think we shouldn\u0027t only depend whether we returned a code previously.\n\nWe may return 409 for multiple error case, like https://github.com/openstack/nova/blob/master/nova/api/openstack/compute/plugins/v3/servers.py#L642\n\nThe user may depend on the error message to determine what exactly happened. (In the future we may have sub-error-code)\n\nIf there is 500 case, we turn it into 409, it is new sub-error case for 409. \n\nThen whether we need bump version depend on what is this sub-error case coming from:\n\n1. the new sub-error case is introduced by new functionality/bug fix(strict some checks), and we already bump microversion for it previously. But we forget process this sub-error case, lead to return 500. When we fix it, we needn\u0027t bump version again.\n\n2. the new sub-error case is introduced by new functionality/bug fix(strict some checks), and we forget bump the microversion previously, then we need bump the version to fix that.","commit_id":"a5762d2b7de579c20d3f2946a1ceec2737f0301f"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"171bc341514a816020b8cd83229cff745cefa540","unresolved":false,"context_lines":[{"line_number":43,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"* For changing **500 Internal Server Error** to concrete status code, it"},{"line_number":46,"context_line":"  does not need microversion bump. Because 500 is an internal error and only"},{"line_number":47,"context_line":"  be returned when the server has some unrecoverable failure. Therefore"},{"line_number":48,"context_line":"  changing 500 to concrete code isn\u0027t \"changing\" the API, but rather fixing a"},{"line_number":49,"context_line":"  bug. For example, a change like this: `https://review.openstack.org/#/c/177018/`"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5afe65bd_bea84d21","line":46,"in_reply_to":"5afe65bd_fe04854a","updated":"2015-06-04 09:19:12.000000000","message":"For example, if we previously never returned a 409, and the bug fix to remove the 500 now means we return a new error code, say 409, then we really need a version bump so a client can know if 409 is an expected error code.","commit_id":"a5762d2b7de579c20d3f2946a1ceec2737f0301f"},{"author":{"_account_id":9420,"name":"Matthew Gilliard","email":"matthew.gilliard@hp.com","username":"gilliard"},"change_message_id":"211a1150d770075c95942766dd043416edce356a","unresolved":false,"context_lines":[{"line_number":46,"context_line":"  does not need microversion bump. Because 500 is an internal error and only"},{"line_number":47,"context_line":"  be returned when the server has some unrecoverable failure. Therefore"},{"line_number":48,"context_line":"  changing 500 to concrete code isn\u0027t \"changing\" the API, but rather fixing a"},{"line_number":49,"context_line":"  bug. For example, a change like this: `https://review.openstack.org/#/c/177018/`"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* ...This is live document, we will add more case based on what kind of api"},{"line_number":52,"context_line":"  change request..."}],"source_content_type":"text/x-rst","patch_set":3,"id":"5afe65bd_4a3f4f87","line":49,"updated":"2015-06-04 10:35:22.000000000","message":"Also, In some cases 500 is a valid response which could not be changed without a bump. I don\u0027t think the implication here that 500 is always a bug is right.","commit_id":"a5762d2b7de579c20d3f2946a1ceec2737f0301f"},{"author":{"_account_id":177,"name":"Alex Meade","email":"mr.alex.meade@gmail.com","username":"alex-meade"},"change_message_id":"1e49e698158d5ea7508761bcc55bf9dd380a5354","unresolved":false,"context_lines":[{"line_number":46,"context_line":"  does not need microversion bump. Because 500 is an internal error and only"},{"line_number":47,"context_line":"  be returned when the server has some unrecoverable failure. Therefore"},{"line_number":48,"context_line":"  changing 500 to concrete code isn\u0027t \"changing\" the API, but rather fixing a"},{"line_number":49,"context_line":"  bug. For example, a change like this: `https://review.openstack.org/#/c/177018/`"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* ...This is live document, we will add more case based on what kind of api"},{"line_number":52,"context_line":"  change request..."}],"source_content_type":"text/x-rst","patch_set":3,"id":"3afb71cf_b220d9f8","line":49,"in_reply_to":"5afe65bd_0305bc12","updated":"2015-06-05 17:36:55.000000000","message":"+1","commit_id":"a5762d2b7de579c20d3f2946a1ceec2737f0301f"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3a6e945730d4f00c180d09a2bdc0b0ef88687769","unresolved":false,"context_lines":[{"line_number":46,"context_line":"  does not need microversion bump. Because 500 is an internal error and only"},{"line_number":47,"context_line":"  be returned when the server has some unrecoverable failure. Therefore"},{"line_number":48,"context_line":"  changing 500 to concrete code isn\u0027t \"changing\" the API, but rather fixing a"},{"line_number":49,"context_line":"  bug. For example, a change like this: `https://review.openstack.org/#/c/177018/`"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* ...This is live document, we will add more case based on what kind of api"},{"line_number":52,"context_line":"  change request..."}],"source_content_type":"text/x-rst","patch_set":3,"id":"5afe65bd_0305bc12","line":49,"in_reply_to":"5afe65bd_4a3f4f87","updated":"2015-06-04 14:26:23.000000000","message":"I think 500 is always a bug. 500 only returned when server side have some error didn\u0027t expect to happened.","commit_id":"a5762d2b7de579c20d3f2946a1ceec2737f0301f"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8ceaf91b84f4c4281b500bc713c54b24488440c4","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The meaning of X and Y are defined in the API Working Group Guideline"},{"line_number":10,"context_line":":ref:`microversion_specification`."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Except X is only bumped when a significant backwards incompatible change for"},{"line_number":13,"context_line":"the whole API, in the most of cases the API change is required bumped Y."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Any API change should be **feature implement or bug fix**, but we should"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_94eda627","line":12,"updated":"2015-12-01 01:33:08.000000000","message":"Please remove Except.. Consider:\n\n    X is only bumped when a significant backwards incompatible change is\n     introduced for the whole API. In most cases, the \n    change introduced would need to increment Y alone.","commit_id":"90e0027daedf3ba781129c5413a846b9e5f59276"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"416ea2d42a60088bb8c56d2ae9828a2c4b812f4b","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The meaning of X and Y are defined in the API Working Group Guideline"},{"line_number":10,"context_line":":ref:`microversion_specification`."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Except X is only bumped when a significant backwards incompatible change for"},{"line_number":13,"context_line":"the whole API, in the most of cases the API change is required bumped Y."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Any API change should be **feature implement or bug fix**, but we should"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_32b45c80","line":12,"in_reply_to":"9a8ffd7b_94eda627","updated":"2015-12-03 14:48:52.000000000","message":"This needs rephrase, and you can use the suggestion above, but a few example of what \"significant backwards incompatible\" changes are will be a lot helpful as well.","commit_id":"90e0027daedf3ba781129c5413a846b9e5f59276"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8ceaf91b84f4c4281b500bc713c54b24488440c4","unresolved":false,"context_lines":[{"line_number":12,"context_line":"Except X is only bumped when a significant backwards incompatible change for"},{"line_number":13,"context_line":"the whole API, in the most of cases the API change is required bumped Y."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Any API change should be **feature implement or bug fix**, but we should"},{"line_number":16,"context_line":"preferentially consider backward compatible way. If we have to do backward"},{"line_number":17,"context_line":"incompatible change, this change must provide **valuable improvement** or"},{"line_number":18,"context_line":"**significant feature** for the API."}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_b4e6aa42","line":15,"updated":"2015-12-01 01:33:08.000000000","message":"a **feature implementation** or a **bug fix**","commit_id":"90e0027daedf3ba781129c5413a846b9e5f59276"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8ceaf91b84f4c4281b500bc713c54b24488440c4","unresolved":false,"context_lines":[{"line_number":15,"context_line":"Any API change should be **feature implement or bug fix**, but we should"},{"line_number":16,"context_line":"preferentially consider backward compatible way. If we have to do backward"},{"line_number":17,"context_line":"incompatible change, this change must provide **valuable improvement** or"},{"line_number":18,"context_line":"**significant feature** for the API."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Group the changes"},{"line_number":21,"context_line":"~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_b461cad5","line":18,"updated":"2015-12-01 01:33:08.000000000","message":"\"or add **significant features**\"?","commit_id":"90e0027daedf3ba781129c5413a846b9e5f59276"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"416ea2d42a60088bb8c56d2ae9828a2c4b812f4b","unresolved":false,"context_lines":[{"line_number":15,"context_line":"Any API change should be **feature implement or bug fix**, but we should"},{"line_number":16,"context_line":"preferentially consider backward compatible way. If we have to do backward"},{"line_number":17,"context_line":"incompatible change, this change must provide **valuable improvement** or"},{"line_number":18,"context_line":"**significant feature** for the API."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Group the changes"},{"line_number":21,"context_line":"~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_dd43a140","line":18,"in_reply_to":"9a8ffd7b_b461cad5","updated":"2015-12-03 14:48:52.000000000","message":"It seems that you are providing here a guideline for when it is ok to break backward incompatibility.\n\nI think \"valuable improvement\" or \"significant feature\" are unfortunately vague. For instance, nobody would argue that \"service function chaining\" in openstack networking is a \"significant feature\" and for some a \"valuable improvement\". But on the other hand it does not justify breaking compatibility for all other users.\n\nIn my opinion the decision for breaking backward compatibility should be very simple. Just ask yourself \"Is there any way I can make this API change backward compatible? If you\u0027re not 100% sure the answer is no, then do not break backward compatibility\". Another case is when one designed an API so bad that users hate it. In that case it is definetely ok to break backward compatibility, the users will even thank you for that probably.","commit_id":"90e0027daedf3ba781129c5413a846b9e5f59276"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8ceaf91b84f4c4281b500bc713c54b24488440c4","unresolved":false,"context_lines":[{"line_number":21,"context_line":"~~~~~~~~~~~~~~~~~"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"We can group some of changes into same microversion bump. For a example,"},{"line_number":24,"context_line":"the Microvresion 2.2 [0]_ in Nova adds new propertiy and corrects status"},{"line_number":25,"context_line":"code at sametime."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"But we should make sure that there are not any big bang changes when"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_f4c3d288","line":24,"updated":"2015-12-01 01:33:08.000000000","message":":s/Microvresion/Microversion","commit_id":"90e0027daedf3ba781129c5413a846b9e5f59276"},{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"bee81b0c41c2c5e01a8abac0d5e42e40ca9f97f0","unresolved":false,"context_lines":[{"line_number":21,"context_line":"~~~~~~~~~~~~~~~~~"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"We can group some of changes into same microversion bump. For a example,"},{"line_number":24,"context_line":"the Microvresion 2.2 [0]_ in Nova adds new propertiy and corrects status"},{"line_number":25,"context_line":"code at sametime."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"But we should make sure that there are not any big bang changes when"}],"source_content_type":"text/x-rst","patch_set":8,"id":"da20952f_307915c9","line":24,"updated":"2015-08-28 11:24:28.000000000","message":"s/propertiy/property/","commit_id":"90e0027daedf3ba781129c5413a846b9e5f59276"},{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"bee81b0c41c2c5e01a8abac0d5e42e40ca9f97f0","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"We can group some of changes into same microversion bump. For a example,"},{"line_number":24,"context_line":"the Microvresion 2.2 [0]_ in Nova adds new propertiy and corrects status"},{"line_number":25,"context_line":"code at sametime."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"But we should make sure that there are not any big bang changes when"},{"line_number":28,"context_line":"bumping the microversion, and keep changes in each version as small as"}],"source_content_type":"text/x-rst","patch_set":8,"id":"da20952f_d0677923","line":25,"updated":"2015-08-28 11:24:28.000000000","message":"s/sametime/the same time/ ?","commit_id":"90e0027daedf3ba781129c5413a846b9e5f59276"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8ceaf91b84f4c4281b500bc713c54b24488440c4","unresolved":false,"context_lines":[{"line_number":24,"context_line":"the Microvresion 2.2 [0]_ in Nova adds new propertiy and corrects status"},{"line_number":25,"context_line":"code at sametime."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"But we should make sure that there are not any big bang changes when"},{"line_number":28,"context_line":"bumping the microversion, and keep changes in each version as small as"},{"line_number":29,"context_line":"possible."},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_743602b6","line":27,"updated":"2015-12-01 01:33:08.000000000","message":"Remove \u0027But\u0027...\n\n\"We should make sure that there are no major changes when bumping the microversion. We should keep changes in each version as small as\tpossible.\"","commit_id":"90e0027daedf3ba781129c5413a846b9e5f59276"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"416ea2d42a60088bb8c56d2ae9828a2c4b812f4b","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"But we should make sure that there are not any big bang changes when"},{"line_number":28,"context_line":"bumping the microversion, and keep changes in each version as small as"},{"line_number":29,"context_line":"possible."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"And groups of similar changes across the API will not be made under a single"},{"line_number":32,"context_line":"version bump. This will minimise the impact on users as they can control"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_fdac65ee","line":29,"updated":"2015-12-03 14:48:52.000000000","message":"As you provided an example of grouped changes which are ok, you might consider proposing an example of a \"big bang\" change which is not ok.","commit_id":"90e0027daedf3ba781129c5413a846b9e5f59276"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8ceaf91b84f4c4281b500bc713c54b24488440c4","unresolved":false,"context_lines":[{"line_number":28,"context_line":"bumping the microversion, and keep changes in each version as small as"},{"line_number":29,"context_line":"possible."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"And groups of similar changes across the API will not be made under a single"},{"line_number":32,"context_line":"version bump. This will minimise the impact on users as they can control"},{"line_number":33,"context_line":"changes that they want to be exposed to."},{"line_number":34,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_34407a07","line":31,"updated":"2015-12-01 01:33:08.000000000","message":"Remove \u0027And\u0027..","commit_id":"90e0027daedf3ba781129c5413a846b9e5f59276"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8ceaf91b84f4c4281b500bc713c54b24488440c4","unresolved":false,"context_lines":[{"line_number":29,"context_line":"possible."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"And groups of similar changes across the API will not be made under a single"},{"line_number":32,"context_line":"version bump. This will minimise the impact on users as they can control"},{"line_number":33,"context_line":"changes that they want to be exposed to."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"The change need bump version"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_f4c9925b","line":32,"updated":"2015-12-01 01:33:08.000000000","message":":s/version/microversion","commit_id":"90e0027daedf3ba781129c5413a846b9e5f59276"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8ceaf91b84f4c4281b500bc713c54b24488440c4","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"And groups of similar changes across the API will not be made under a single"},{"line_number":32,"context_line":"version bump. This will minimise the impact on users as they can control"},{"line_number":33,"context_line":"changes that they want to be exposed to."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"The change need bump version"},{"line_number":36,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_14f696d7","line":33,"updated":"2015-12-01 01:33:08.000000000","message":"I didn\u0027t understand this statement. Could you give me an example of a group of similar changes across the API?\n\nWould you consider restricting access to certain actions in multiple APIs a similar change across the API? (Ex: In project cinder, Assume users had control to actions: force_delete and reset_status for volumes, snapshots, replicas, consistency groups etc, and we decided to make them all admin only features)","commit_id":"90e0027daedf3ba781129c5413a846b9e5f59276"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"416ea2d42a60088bb8c56d2ae9828a2c4b812f4b","unresolved":false,"context_lines":[{"line_number":31,"context_line":"And groups of similar changes across the API will not be made under a single"},{"line_number":32,"context_line":"version bump. This will minimise the impact on users as they can control"},{"line_number":33,"context_line":"changes that they want to be exposed to."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"The change need bump version"},{"line_number":36,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_9d53d9e1","line":34,"updated":"2015-12-03 14:48:52.000000000","message":"Also, I would note that it is not a great idea to have a single version change which includes changes in different functional areas of the API (eg: servers and flavours) [unless they\u0027re strictly related like adding a reference to a flavour into a server]","commit_id":"90e0027daedf3ba781129c5413a846b9e5f59276"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8ceaf91b84f4c4281b500bc713c54b24488440c4","unresolved":false,"context_lines":[{"line_number":33,"context_line":"changes that they want to be exposed to."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"The change need bump version"},{"line_number":36,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"It\u0027s all about client how to work with different Openstack deployment which"},{"line_number":39,"context_line":"have different in the API. If any change which client can\u0027t work with"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_34dcfa45","line":36,"updated":"2015-12-01 01:33:08.000000000","message":"I suggest:\n\n:s/The change need bump version/When to bump up the microversion:","commit_id":"90e0027daedf3ba781129c5413a846b9e5f59276"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8ceaf91b84f4c4281b500bc713c54b24488440c4","unresolved":false,"context_lines":[{"line_number":36,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"It\u0027s all about client how to work with different Openstack deployment which"},{"line_number":39,"context_line":"have different in the API. If any change which client can\u0027t work with"},{"line_number":40,"context_line":"different deployment without discovering, the Microversion must be bumped for"},{"line_number":41,"context_line":"that change."},{"line_number":42,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_d4d7aeeb","line":39,"updated":"2015-12-01 01:33:08.000000000","message":"Microversions are targeted at the client, which needs to work with different OpenStack deployments that have API differences.","commit_id":"90e0027daedf3ba781129c5413a846b9e5f59276"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"416ea2d42a60088bb8c56d2ae9828a2c4b812f4b","unresolved":false,"context_lines":[{"line_number":38,"context_line":"It\u0027s all about client how to work with different Openstack deployment which"},{"line_number":39,"context_line":"have different in the API. If any change which client can\u0027t work with"},{"line_number":40,"context_line":"different deployment without discovering, the Microversion must be bumped for"},{"line_number":41,"context_line":"that change."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"It has nothing to do with backward compatible or backward incompatible change,"},{"line_number":44,"context_line":"also has nothing to do with feature or bug fix."}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_ddfba1bf","line":41,"updated":"2015-12-03 14:48:52.000000000","message":"I think this needs rephrasing, but I am unable to suggest how to rephrase it as I\u0027m afraid I am failing to capture the intent of this paragraph.","commit_id":"90e0027daedf3ba781129c5413a846b9e5f59276"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8ceaf91b84f4c4281b500bc713c54b24488440c4","unresolved":false,"context_lines":[{"line_number":40,"context_line":"different deployment without discovering, the Microversion must be bumped for"},{"line_number":41,"context_line":"that change."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"It has nothing to do with backward compatible or backward incompatible change,"},{"line_number":44,"context_line":"also has nothing to do with feature or bug fix."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"The following types of changes are considered Microversion bumping:"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_34fdda6e","line":43,"updated":"2015-12-01 01:33:08.000000000","message":"please consider replacing \"backward compatible or backward incompatible change\" with \"backwards compatibility of a change\"\n\nAlso, \"It\" can be explicitly -\u003e \"The Microversion change\"","commit_id":"90e0027daedf3ba781129c5413a846b9e5f59276"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8ceaf91b84f4c4281b500bc713c54b24488440c4","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"The following types of changes are considered Microversion bumping:"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* If any new error case introduced, the Microversion need bump."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"  * For changing **500 Internal Server Error** to concrete status code, the"},{"line_number":51,"context_line":"    error case isn\u0027t considered as expected before, but now it is considered as"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_54109ea8","line":48,"updated":"2015-12-01 01:33:08.000000000","message":":s/need bump/needs to be bumped","commit_id":"90e0027daedf3ba781129c5413a846b9e5f59276"},{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"bee81b0c41c2c5e01a8abac0d5e42e40ca9f97f0","unresolved":false,"context_lines":[{"line_number":50,"context_line":"  * For changing **500 Internal Server Error** to concrete status code, the"},{"line_number":51,"context_line":"    error case isn\u0027t considered as expected before, but now it is considered as"},{"line_number":52,"context_line":"    expected error case, then assign a concrete status code, it need"},{"line_number":53,"context_line":"    Mircoversion bumping. Because new concrete status code need client to"},{"line_number":54,"context_line":"    discover whether the Openstack deployment behavior like that."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"* ...This is live document, we will add more case based on what kind of api"}],"source_content_type":"text/x-rst","patch_set":8,"id":"da20952f_70b78d86","line":53,"updated":"2015-08-28 11:24:28.000000000","message":"s/Mircoversion/Microversion/","commit_id":"90e0027daedf3ba781129c5413a846b9e5f59276"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0c023e6b3ffd817ff1ba718e8ad8c2d9dcc8d553","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    error case isn\u0027t considered as expected before, but now it is considered as"},{"line_number":52,"context_line":"    expected error case, then assign a concrete status code, it need"},{"line_number":53,"context_line":"    Mircoversion bumping. Because new concrete status code need client to"},{"line_number":54,"context_line":"    discover whether the Openstack deployment behavior like that."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"* ...This is live document, we will add more case based on what kind of api"},{"line_number":57,"context_line":"  change request..."}],"source_content_type":"text/x-rst","patch_set":8,"id":"3afb71cf_5e9da7ba","line":54,"updated":"2015-06-10 02:58:07.000000000","message":"Can we add success status code change example also as Nova already have microversion for that- \u00272.2\u0027","commit_id":"90e0027daedf3ba781129c5413a846b9e5f59276"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"f26d83b28bf78d53903d06dabde691aa7fbe24db","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    error case isn\u0027t considered as expected before, but now it is considered as"},{"line_number":52,"context_line":"    expected error case, then assign a concrete status code, it need"},{"line_number":53,"context_line":"    Mircoversion bumping. Because new concrete status code need client to"},{"line_number":54,"context_line":"    discover whether the Openstack deployment behavior like that."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"* ...This is live document, we will add more case based on what kind of api"},{"line_number":57,"context_line":"  change request..."}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_5c651c43","line":54,"in_reply_to":"3afb71cf_5e9da7ba","updated":"2015-06-15 04:50:06.000000000","message":"sure, that is definitely need new microversion.","commit_id":"90e0027daedf3ba781129c5413a846b9e5f59276"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8ceaf91b84f4c4281b500bc713c54b24488440c4","unresolved":false,"context_lines":[{"line_number":57,"context_line":"  change request..."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"The change needn\u0027t bump version"},{"line_number":60,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"For any change which client didn\u0027t depend on discovering to work with"},{"line_number":63,"context_line":"different deployment, the Microversion needn\u0027t bump."}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_94be06d3","line":60,"updated":"2015-12-01 01:33:08.000000000","message":"I suggest:\n\n:s/The change needn\u0027t bump version/When not to bump version:","commit_id":"90e0027daedf3ba781129c5413a846b9e5f59276"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8ceaf91b84f4c4281b500bc713c54b24488440c4","unresolved":false,"context_lines":[{"line_number":60,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"For any change which client didn\u0027t depend on discovering to work with"},{"line_number":63,"context_line":"different deployment, the Microversion needn\u0027t bump."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"The following types of changes are considered without Microversion bumping:"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_9464c649","line":63,"updated":"2015-12-01 01:33:08.000000000","message":":/bump/be bumped up.","commit_id":"90e0027daedf3ba781129c5413a846b9e5f59276"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8ceaf91b84f4c4281b500bc713c54b24488440c4","unresolved":false,"context_lines":[{"line_number":62,"context_line":"For any change which client didn\u0027t depend on discovering to work with"},{"line_number":63,"context_line":"different deployment, the Microversion needn\u0027t bump."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"The following types of changes are considered without Microversion bumping:"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* If the old version API behavior is changed unexpectedly, for correct the API"},{"line_number":68,"context_line":"  as before, the Microversion needn\u0027t bump."}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_54d5feb6","line":65,"updated":"2015-12-01 01:33:08.000000000","message":":s/are considered/can be made","commit_id":"90e0027daedf3ba781129c5413a846b9e5f59276"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0c023e6b3ffd817ff1ba718e8ad8c2d9dcc8d553","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"  * For correcting error case which return **500 Internal Server Error**"},{"line_number":71,"context_line":"    currently to concrete status code which defined in previously Microversion"},{"line_number":72,"context_line":"    bumping specification,  the microversion needn\u0027t bump. Because client"},{"line_number":73,"context_line":"    never depend on current wrong status code. Client only depend on"},{"line_number":74,"context_line":"    previously concrete status code."},{"line_number":75,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"3afb71cf_fea7b308","line":72,"updated":"2015-06-10 02:58:07.000000000","message":"You mean if changed code is not completely new to client. For more clarity can we change- \u0027previously Microversion bumping specification\u0027 -\u003e \u0027previous API behavior\u0027","commit_id":"90e0027daedf3ba781129c5413a846b9e5f59276"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"f26d83b28bf78d53903d06dabde691aa7fbe24db","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"  * For correcting error case which return **500 Internal Server Error**"},{"line_number":71,"context_line":"    currently to concrete status code which defined in previously Microversion"},{"line_number":72,"context_line":"    bumping specification,  the microversion needn\u0027t bump. Because client"},{"line_number":73,"context_line":"    never depend on current wrong status code. Client only depend on"},{"line_number":74,"context_line":"    previously concrete status code."},{"line_number":75,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"fa32b979_fc59908f","line":72,"in_reply_to":"3afb71cf_fea7b308","updated":"2015-06-15 04:50:06.000000000","message":"yes, that what I mean.","commit_id":"90e0027daedf3ba781129c5413a846b9e5f59276"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"416ea2d42a60088bb8c56d2ae9828a2c4b812f4b","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    currently to concrete status code which defined in previously Microversion"},{"line_number":72,"context_line":"    bumping specification,  the microversion needn\u0027t bump. Because client"},{"line_number":73,"context_line":"    never depend on current wrong status code. Client only depend on"},{"line_number":74,"context_line":"    previously concrete status code."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"* ...This is live document, we will add more case based on what kind of api"},{"line_number":77,"context_line":"  change request..."}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_5dbc91db","line":74,"updated":"2015-12-03 14:48:52.000000000","message":"This could be extended to state that bumps are not needed for any change which fixes a wrong behaviour of the API (e.g.: a behaviour which is not in accordance with the API spec)","commit_id":"90e0027daedf3ba781129c5413a846b9e5f59276"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8ceaf91b84f4c4281b500bc713c54b24488440c4","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    never depend on current wrong status code. Client only depend on"},{"line_number":74,"context_line":"    previously concrete status code."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"* ...This is live document, we will add more case based on what kind of api"},{"line_number":77,"context_line":"  change request..."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":".. [0] http://git.openstack.org/cgit/openstack/nova/tree/nova/api/openstack/rest_api_version_history.rst?id\u003d2015.1.0#n24"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_f401923a","line":76,"updated":"2015-12-01 01:33:08.000000000","message":":s/case/cases\n\n:s/api/API","commit_id":"90e0027daedf3ba781129c5413a846b9e5f59276"}],"guidelines/microversion_specification.rst":[{"author":{"_account_id":9420,"name":"Matthew Gilliard","email":"matthew.gilliard@hp.com","username":"gilliard"},"change_message_id":"d31aef89be2c1863894257225eebf9b5cad6164d","unresolved":false,"context_lines":[{"line_number":53,"context_line":"version."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"In :rfc:`6648` the recommendation to prefix application-specific headers with"},{"line_number":56,"context_line":"``X-`` was retracted. But Nova [0] and Ironic [1]\u0027s Microversion implementation"},{"line_number":57,"context_line":"is already released, we should keep Mircoversion backward compatible. We have"},{"line_number":58,"context_line":"no plans to drop ``X-`` prefix at any point."},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3afb71cf_47941ee1","line":56,"updated":"2015-06-08 10:32:17.000000000","message":"These [0] and [1] things don\u0027t footnote properly. I think [#0] and [#1] might be OK?  http://sphinx-doc.org/rest.html#footnotes","commit_id":"4f6a6f6acf5f936a640473b3a3523678f379c361"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"8c01106ddcfe83342f1e352c7c0c728a5cb6dd3f","unresolved":false,"context_lines":[{"line_number":53,"context_line":"version."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"In :rfc:`6648` the recommendation to prefix application-specific headers with"},{"line_number":56,"context_line":"``X-`` was retracted. But Nova [0] and Ironic [1]\u0027s Microversion implementation"},{"line_number":57,"context_line":"is already released, we should keep Mircoversion backward compatible. We have"},{"line_number":58,"context_line":"no plans to drop ``X-`` prefix at any point."},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3afb71cf_b0560a28","line":56,"in_reply_to":"3afb71cf_47941ee1","updated":"2015-06-10 02:03:06.000000000","message":"I copy this style https://github.com/openstack/api-wg/blob/master/guidelines/time.rst","commit_id":"4f6a6f6acf5f936a640473b3a3523678f379c361"}]}
