)]}'
{"ChangeLog":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"9d40f7b727a7442e06cb6253a9ed58f31a33e3f9","unresolved":false,"context_lines":[{"line_number":1,"context_line":"2.8.0"},{"line_number":2,"context_line":"-----"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"* Python 2.6 support has been removed."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"* Object downloads that fail partway through will now retry with a Range"},{"line_number":7,"context_line":"  request to read the rest of the object."}],"source_content_type":"application/octet-stream","patch_set":1,"id":"dae33548_39c8b554","line":4,"updated":"2016-02-18 17:50:56.000000000","message":"In light of https://review.openstack.org/#/c/257707/ (and the lack of a py33 gate job) we should probably announce the dropping of support for Python 3.3","commit_id":"3483933f0217f904ae7eded632b751685f08c25c"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"dead57dec13ac843b9cbcb83895419d15dbb8250","unresolved":false,"context_lines":[{"line_number":1,"context_line":"2.8.0"},{"line_number":2,"context_line":"-----"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"* Python 2.6 support has been removed."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"* Object downloads that fail partway through will now retry with a Range"},{"line_number":7,"context_line":"  request to read the rest of the object."}],"source_content_type":"application/octet-stream","patch_set":1,"id":"9aed3d3a_b9782f91","line":4,"in_reply_to":"dae33548_39c8b554","updated":"2016-02-25 18:25:44.000000000","message":"Done","commit_id":"3483933f0217f904ae7eded632b751685f08c25c"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"9d40f7b727a7442e06cb6253a9ed58f31a33e3f9","unresolved":false,"context_lines":[{"line_number":6,"context_line":"* Object downloads that fail partway through will now retry with a Range"},{"line_number":7,"context_line":"  request to read the rest of the object."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"* Object uploads will be retried if the source supports seek/tell."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"* Delete requests will use the cluster\u0027s bulk delete feature, if available,"},{"line_number":12,"context_line":"  for requests that would require three or more individual deletes."}],"source_content_type":"application/octet-stream","patch_set":1,"id":"dae33548_1c083f27","line":9,"range":{"start_line":9,"start_character":56,"end_line":9,"end_character":65},"updated":"2016-02-18 17:50:56.000000000","message":"Or if it has a reset() function!\n\nMaybe worth noting that seek/tell support is fixing a regression, and reset support is new?","commit_id":"3483933f0217f904ae7eded632b751685f08c25c"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"dead57dec13ac843b9cbcb83895419d15dbb8250","unresolved":false,"context_lines":[{"line_number":6,"context_line":"* Object downloads that fail partway through will now retry with a Range"},{"line_number":7,"context_line":"  request to read the rest of the object."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"* Object uploads will be retried if the source supports seek/tell."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"* Delete requests will use the cluster\u0027s bulk delete feature, if available,"},{"line_number":12,"context_line":"  for requests that would require three or more individual deletes."}],"source_content_type":"application/octet-stream","patch_set":1,"id":"9aed3d3a_d97373b3","line":9,"range":{"start_line":9,"start_character":56,"end_line":9,"end_character":65},"in_reply_to":"dae33548_1c083f27","updated":"2016-02-25 18:25:44.000000000","message":"Done","commit_id":"3483933f0217f904ae7eded632b751685f08c25c"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"9d40f7b727a7442e06cb6253a9ed58f31a33e3f9","unresolved":false,"context_lines":[{"line_number":9,"context_line":"* Object uploads will be retried if the source supports seek/tell."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"* Delete requests will use the cluster\u0027s bulk delete feature, if available,"},{"line_number":12,"context_line":"  for requests that would require three or more individual deletes."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"* The delete CLI option now accepts a --prefix option to delete objects that"},{"line_number":15,"context_line":"  start with the given prefix (similar to the same-named option for list)."}],"source_content_type":"application/octet-stream","patch_set":1,"id":"dae33548_79487db3","line":12,"range":{"start_line":12,"start_character":34,"end_line":12,"end_character":47},"updated":"2016-02-18 17:50:56.000000000","message":"It\u0027s actually a bit more complicated than that: https://github.com/openstack/python-swiftclient/blob/50f3396/swiftclient/service.py#L2135","commit_id":"3483933f0217f904ae7eded632b751685f08c25c"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"dead57dec13ac843b9cbcb83895419d15dbb8250","unresolved":false,"context_lines":[{"line_number":9,"context_line":"* Object uploads will be retried if the source supports seek/tell."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"* Delete requests will use the cluster\u0027s bulk delete feature, if available,"},{"line_number":12,"context_line":"  for requests that would require three or more individual deletes."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"* The delete CLI option now accepts a --prefix option to delete objects that"},{"line_number":15,"context_line":"  start with the given prefix (similar to the same-named option for list)."}],"source_content_type":"application/octet-stream","patch_set":1,"id":"9aed3d3a_393edfb8","line":12,"range":{"start_line":12,"start_character":34,"end_line":12,"end_character":47},"in_reply_to":"dae33548_79487db3","updated":"2016-02-25 18:25:44.000000000","message":"Done","commit_id":"3483933f0217f904ae7eded632b751685f08c25c"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"f9ee88b0cc3d8d7738e565b52fb2ec965742972f","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"* Fixed an issue with uploading a large object that includes a unicode path."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"* swiftclient can now accept a tenent and token for auth against Keystone."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"* Various other minor bug fixes and improvements."},{"line_number":31,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":1,"id":"dae33548_1ce79fac","line":28,"range":{"start_line":28,"start_character":31,"end_line":28,"end_character":37},"updated":"2016-02-18 18:03:40.000000000","message":"should be \u0027tenant\u0027","commit_id":"3483933f0217f904ae7eded632b751685f08c25c"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"dead57dec13ac843b9cbcb83895419d15dbb8250","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"* Fixed an issue with uploading a large object that includes a unicode path."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"* swiftclient can now accept a tenent and token for auth against Keystone."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"* Various other minor bug fixes and improvements."},{"line_number":31,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":1,"id":"9aed3d3a_7948675c","line":28,"range":{"start_line":28,"start_character":31,"end_line":28,"end_character":37},"in_reply_to":"dae33548_1ce79fac","updated":"2016-02-25 18:25:44.000000000","message":"Done","commit_id":"3483933f0217f904ae7eded632b751685f08c25c"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"5192e178131540f4d766fd39ca6153d6afaa46c1","unresolved":false,"context_lines":[{"line_number":3,"context_line":""},{"line_number":4,"context_line":"* Python 2.6 support has been removed."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"* Python 3.3 support has been removed."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"* Do not reveal sensitive headers in swiftclient log messages by default."},{"line_number":9,"context_line":"  This is controlled by the client.logger_settings dictionary. Setting the"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"9aed3d3a_48cb0e73","line":6,"updated":"2016-02-25 18:57:28.000000000","message":"We\u0027re dropping support, effective immediately? Not\n\n  * This is the very last release to support Python 3.3. Any further\n    development on the 2.8.x release series will only be for security bugfixes.\n\n...similar to what was done for 2.6? Is this just to minimize security backports?","commit_id":"f41ee2eef288a811a07c3caa64a0cd2f6eea9b7d"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"f8beb60b74eb10ba5264cd425bfae5da38307866","unresolved":false,"context_lines":[{"line_number":3,"context_line":""},{"line_number":4,"context_line":"* Python 2.6 support has been removed."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"* Python 3.3 support has been removed."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"* Do not reveal sensitive headers in swiftclient log messages by default."},{"line_number":9,"context_line":"  This is controlled by the client.logger_settings dictionary. Setting the"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"9aed3d3a_125c8d24","line":6,"in_reply_to":"9aed3d3a_0b5f4073","updated":"2016-02-25 20:51:21.000000000","message":"The same was true of py26 for the last release\u0027s commit: https://review.openstack.org/#/c/254430/\n\nThe compromise seems fine to me, though. And with those caveats included, I wouldn\u0027t feel bad about leaving the classifier in setup.cfg\n\nI suppose my *real* issue is how reactionary we\u0027ve been for all of this. It makes me really nervous about how we\u0027re going to handle the eventual turning off of py27 CI and the releases/messaging surrounding it.","commit_id":"f41ee2eef288a811a07c3caa64a0cd2f6eea9b7d"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"f794d7a98c8664b47efd2d2247dc2617a45a66c5","unresolved":false,"context_lines":[{"line_number":3,"context_line":""},{"line_number":4,"context_line":"* Python 2.6 support has been removed."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"* Python 3.3 support has been removed."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"* Do not reveal sensitive headers in swiftclient log messages by default."},{"line_number":9,"context_line":"  This is controlled by the client.logger_settings dictionary. Setting the"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"9aed3d3a_0b5f4073","line":6,"in_reply_to":"9aed3d3a_48cb0e73","updated":"2016-02-25 19:20:53.000000000","message":"Since we haven\u0027t had any py33 testing in the gate since at least the last release, I think it\u0027s correct to say we don\u0027t have 3.3 support. However, changing it to something \"py33 testing has been removed and support is only best-effort\" seems like a reasonable compromise. What do you think?","commit_id":"f41ee2eef288a811a07c3caa64a0cd2f6eea9b7d"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"a1d9560820f7ed63fedb2ae5b0cc5c33b60d4cc3","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"* Fixed an issue with uploading a large object that includes a unicode path."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"* swiftclient can now accept a tenant and token for auth against Keystone."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"* Various other minor bug fixes and improvements."},{"line_number":41,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":5,"id":"9aed3d3a_00c88421","line":38,"updated":"2016-02-26 15:18:03.000000000","message":"nit: strictly, it already did accept auth_token in os_options, but now it passes it to keystoneclient. The commit message isn\u0027t too accurate.\n\nand tenant -\u003e project","commit_id":"a9f07bf2d4a21c975e5f54831c27b00b832f7351"}]}
