)]}'
{"CHANGELOG":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"0cc444ab11b700d12242436fc0fed5ae2b1a728f","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"      Note that this is opt-in: this prevents us from sending the 202"},{"line_number":27,"context_line":"      response to existing clients that may mis-interpret it as an"},{"line_number":28,"context_line":"      immediate indication of success."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    * Added support for retrieving the encryption root secret from an"},{"line_number":31,"context_line":"      external key management system. In practice, this is currently limited"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"3f4b6375_d841080c","line":28,"updated":"2017-11-06 16:15:56.000000000","message":"This seems like a lot of detail for a release note.","commit_id":"0df97201fa86594ec1d8514a7d854a21411d32ee"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"d7c21f4f79fd6890301f2bd1ea8f90963665ee1f","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"      Note that this is opt-in: this prevents us from sending the 202"},{"line_number":27,"context_line":"      response to existing clients that may mis-interpret it as an"},{"line_number":28,"context_line":"      immediate indication of success."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    * Added support for retrieving the encryption root secret from an"},{"line_number":31,"context_line":"      external key management system. In practice, this is currently limited"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"3f4b6375_a6e746ac","line":28,"in_reply_to":"3f4b6375_d841080c","updated":"2017-11-07 01:08:37.000000000","message":"Done","commit_id":"0df97201fa86594ec1d8514a7d854a21411d32ee"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"0cc444ab11b700d12242436fc0fed5ae2b1a728f","unresolved":false,"context_lines":[{"line_number":35,"context_line":"      `listing_formats`. `listing_formats` should be just right of the"},{"line_number":36,"context_line":"      first proxy-logging middleware, and left of most other"},{"line_number":37,"context_line":"      middlewares. If it is not already present, it will be"},{"line_number":38,"context_line":"      automatically inserted for you."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    * Log deprecation warning for `allow_versions` in the container"},{"line_number":41,"context_line":"      server config. Configure the `versioned_writes` middleware in"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"3f4b6375_78bd7400","line":38,"updated":"2017-11-06 16:15:56.000000000","message":"\u003e Note: if you have a custom middleware that makes account or container listings, it will only receive listings in JSON format.","commit_id":"0df97201fa86594ec1d8514a7d854a21411d32ee"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"d7c21f4f79fd6890301f2bd1ea8f90963665ee1f","unresolved":false,"context_lines":[{"line_number":35,"context_line":"      `listing_formats`. `listing_formats` should be just right of the"},{"line_number":36,"context_line":"      first proxy-logging middleware, and left of most other"},{"line_number":37,"context_line":"      middlewares. If it is not already present, it will be"},{"line_number":38,"context_line":"      automatically inserted for you."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    * Log deprecation warning for `allow_versions` in the container"},{"line_number":41,"context_line":"      server config. Configure the `versioned_writes` middleware in"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"3f4b6375_86ea0a71","line":38,"in_reply_to":"3f4b6375_78bd7400","updated":"2017-11-07 01:08:37.000000000","message":"Done","commit_id":"0df97201fa86594ec1d8514a7d854a21411d32ee"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"0cc444ab11b700d12242436fc0fed5ae2b1a728f","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    * Fixed XML responses (eg on bulk extractions and SLO upload"},{"line_number":70,"context_line":"      failures) to be more correct. The enclosing \"delete\" tag was"},{"line_number":71,"context_line":"      removed where it doesn\u0027t make sense."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    * Static Large Object (SLO) manifest may now (again) have zero-byte"},{"line_number":74,"context_line":"      last segments."}],"source_content_type":"application/octet-stream","patch_set":1,"id":"3f4b6375_b52655cd","line":71,"range":{"start_line":71,"start_character":6,"end_line":71,"end_character":41},"updated":"2017-11-06 16:15:56.000000000","message":"\u003e changed to be \"extract\" or \"upload\" to accurately reflect the context.","commit_id":"0df97201fa86594ec1d8514a7d854a21411d32ee"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"d7c21f4f79fd6890301f2bd1ea8f90963665ee1f","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    * Fixed XML responses (eg on bulk extractions and SLO upload"},{"line_number":70,"context_line":"      failures) to be more correct. The enclosing \"delete\" tag was"},{"line_number":71,"context_line":"      removed where it doesn\u0027t make sense."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    * Static Large Object (SLO) manifest may now (again) have zero-byte"},{"line_number":74,"context_line":"      last segments."}],"source_content_type":"application/octet-stream","patch_set":1,"id":"3f4b6375_2646b6c1","line":71,"range":{"start_line":71,"start_character":6,"end_line":71,"end_character":41},"in_reply_to":"3f4b6375_b52655cd","updated":"2017-11-07 01:08:37.000000000","message":"Done","commit_id":"0df97201fa86594ec1d8514a7d854a21411d32ee"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"0cc444ab11b700d12242436fc0fed5ae2b1a728f","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    * Static Large Object (SLO) manifest may now (again) have zero-byte"},{"line_number":74,"context_line":"      last segments."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    * Fixed an issue where background consistency daemon child"},{"line_number":77,"context_line":"      processes would deadlock waiting on the same file descriptor."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    * Accept a trade off of dispersion for balance in the ring builder"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"3f4b6375_783334f7","line":76,"range":{"start_line":76,"start_character":50,"end_line":76,"end_character":56},"updated":"2017-11-06 16:15:56.000000000","message":"Worth calling out which daemons we\u0027re worried about? It seemed to primarily be an issue for container updater and object updater...","commit_id":"0df97201fa86594ec1d8514a7d854a21411d32ee"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"d7c21f4f79fd6890301f2bd1ea8f90963665ee1f","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    * Static Large Object (SLO) manifest may now (again) have zero-byte"},{"line_number":74,"context_line":"      last segments."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    * Fixed an issue where background consistency daemon child"},{"line_number":77,"context_line":"      processes would deadlock waiting on the same file descriptor."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    * Accept a trade off of dispersion for balance in the ring builder"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"3f4b6375_66782ec3","line":76,"range":{"start_line":76,"start_character":50,"end_line":76,"end_character":56},"in_reply_to":"3f4b6375_783334f7","updated":"2017-11-07 01:08:37.000000000","message":"Not sure. I didn\u0027t because we updated all of them (yes, as a forward-looking preventative thing).\n\nLet me know if you think it should really be added.","commit_id":"0df97201fa86594ec1d8514a7d854a21411d32ee"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"0cc444ab11b700d12242436fc0fed5ae2b1a728f","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    * Fixed using `swift-ring-builder set_weight` with more than one"},{"line_number":84,"context_line":"      device."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    * When requesting objects, return 404 if a tombstone and is newer"},{"line_number":87,"context_line":"      than any data found. Previous behavior was to return stale data."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":1,"id":"3f4b6375_f5116d5e","line":86,"range":{"start_line":86,"start_character":57,"end_line":86,"end_character":60},"updated":"2017-11-06 16:15:56.000000000","message":"s/and/is found that/ maybe?","commit_id":"0df97201fa86594ec1d8514a7d854a21411d32ee"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"d7c21f4f79fd6890301f2bd1ea8f90963665ee1f","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    * Fixed using `swift-ring-builder set_weight` with more than one"},{"line_number":84,"context_line":"      device."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    * When requesting objects, return 404 if a tombstone and is newer"},{"line_number":87,"context_line":"      than any data found. Previous behavior was to return stale data."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":1,"id":"3f4b6375_e6b9becb","line":86,"range":{"start_line":86,"start_character":57,"end_line":86,"end_character":60},"in_reply_to":"3f4b6375_f5116d5e","updated":"2017-11-07 01:08:37.000000000","message":"Done","commit_id":"0df97201fa86594ec1d8514a7d854a21411d32ee"},{"author":{"_account_id":13852,"name":"Romain LE DISEZ","email":"romain.le-disez@corp.ovh.com","username":"rledisez"},"change_message_id":"7ef2dd1da96909e72a1e7cc7fc814869ed78a158","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    * Fixed a rare issue where multiple backend timeouts could result"},{"line_number":40,"context_line":"      in bad data being returned to the client."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    * Cleaned up logged tracebacks when talking to memecached servers."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    * Account and container replication stats logs now include"},{"line_number":45,"context_line":"      `remote_merges`, the number of times a whole database was sent"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"3f4b6375_fcfff830","line":42,"range":{"start_line":42,"start_character":51,"end_line":42,"end_character":61},"updated":"2017-11-08 00:25:55.000000000","message":"s/memecached/memcached/","commit_id":"73a5cd1c215eba2b5a03cbb1a25b1da80035f857"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"fae61745f49b599cf9d80f50b95352d851dce737","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    * The `domain_remap` middleware now supports the"},{"line_number":52,"context_line":"      `mangle_client_paths` option. Its default \"false\" value changes"},{"line_number":53,"context_line":"      `domain_remap` parsing to stop stripping the `path_root` value"},{"line_number":54,"context_line":"      from URL paths. If users depend on this patch mangling, operators"},{"line_number":55,"context_line":"      should set `mangle_client_paths` to \"True\" before upgrading."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    * Remove `swift-temp-url` script. The functionality has been in"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"1f485f77_d5bbda0b","line":54,"range":{"start_line":54,"start_character":46,"end_line":54,"end_character":51},"updated":"2017-11-10 00:50:44.000000000","message":"path","commit_id":"6a34d3e40292922ea087dca14822fd8ba92bc524"}],"releasenotes/notes/2_16_0_release-d48cb9b2629df8ab.yaml":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"b6be123536bbd90f9ed0885fea9b0459540a8c9a","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"  - |"},{"line_number":6,"context_line":"    Let clients request heartbeats during SLO PUTs by including"},{"line_number":7,"context_line":"    the query parameter `heartbeat\u003don`."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"    With heartbeating turned on, the proxy will start its response"},{"line_number":10,"context_line":"    immediately with 202 Accepted then send a single whitespace"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f4b6375_9cbfe45f","line":7,"range":{"start_line":7,"start_character":24,"end_line":7,"end_character":38},"updated":"2017-11-08 00:30:03.000000000","message":"``heartbeat\u003don`` or you get italics","commit_id":"73a5cd1c215eba2b5a03cbb1a25b1da80035f857"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"b6be123536bbd90f9ed0885fea9b0459540a8c9a","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"  - |"},{"line_number":23,"context_line":"    Move listing formatting out to a new proxy middleware named"},{"line_number":24,"context_line":"    `listing_formats`. `listing_formats` should be just right of the"},{"line_number":25,"context_line":"    first proxy-logging middleware, and left of most other"},{"line_number":26,"context_line":"    middlewares. If it is not already present, it will be"},{"line_number":27,"context_line":"    automatically inserted for you."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f4b6375_fcadb830","line":24,"range":{"start_line":24,"start_character":4,"end_line":24,"end_character":40},"updated":"2017-11-08 00:30:03.000000000","message":"Similarly, you want to double your backticks here, too.","commit_id":"73a5cd1c215eba2b5a03cbb1a25b1da80035f857"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"b6be123536bbd90f9ed0885fea9b0459540a8c9a","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    container listings, it will only receive listings in JSON format."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"  - |"},{"line_number":33,"context_line":"    Log deprecation warning for `allow_versions` in the container"},{"line_number":34,"context_line":"    server config. Configure the `versioned_writes` middleware in"},{"line_number":35,"context_line":"    the proxy server instead. This option will be ignored in a"},{"line_number":36,"context_line":"    future release."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f4b6375_bca3c042","line":33,"range":{"start_line":33,"start_character":33,"end_line":33,"end_character":47},"updated":"2017-11-08 00:30:03.000000000","message":"...and here...","commit_id":"73a5cd1c215eba2b5a03cbb1a25b1da80035f857"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"b6be123536bbd90f9ed0885fea9b0459540a8c9a","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"  - |"},{"line_number":33,"context_line":"    Log deprecation warning for `allow_versions` in the container"},{"line_number":34,"context_line":"    server config. Configure the `versioned_writes` middleware in"},{"line_number":35,"context_line":"    the proxy server instead. This option will be ignored in a"},{"line_number":36,"context_line":"    future release."},{"line_number":37,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f4b6375_7c678826","line":34,"range":{"start_line":34,"start_character":34,"end_line":34,"end_character":50},"updated":"2017-11-08 00:30:03.000000000","message":"...here...","commit_id":"73a5cd1c215eba2b5a03cbb1a25b1da80035f857"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"b6be123536bbd90f9ed0885fea9b0459540a8c9a","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    Replaced `replication_one_per_device` by custom count defined by"},{"line_number":40,"context_line":"    `replication_concurrency_per_device`. The original config value"},{"line_number":41,"context_line":"    is deprecated, but continues to function for now. If both values"},{"line_number":42,"context_line":"    are defined, the old `replication_one_per_device` is ignored."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"  - |"},{"line_number":45,"context_line":"    Fixed a rare issue where multiple backend timeouts could result"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f4b6375_1c7894c1","line":42,"range":{"start_line":42,"start_character":26,"end_line":42,"end_character":52},"updated":"2017-11-08 00:30:03.000000000","message":"...all three places in here...","commit_id":"73a5cd1c215eba2b5a03cbb1a25b1da80035f857"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"b6be123536bbd90f9ed0885fea9b0459540a8c9a","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"  - |"},{"line_number":45,"context_line":"    Fixed a rare issue where multiple backend timeouts could result"},{"line_number":46,"context_line":"    in bad data being returned to the client."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"  - Cleaned up logged tracebacks when talking to memecached servers."},{"line_number":49,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f4b6375_1c2654cf","line":46,"updated":"2017-11-08 00:30:03.000000000","message":"This is more of a bug fix than a feature...","commit_id":"73a5cd1c215eba2b5a03cbb1a25b1da80035f857"},{"author":{"_account_id":13852,"name":"Romain LE DISEZ","email":"romain.le-disez@corp.ovh.com","username":"rledisez"},"change_message_id":"7ef2dd1da96909e72a1e7cc7fc814869ed78a158","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    Fixed a rare issue where multiple backend timeouts could result"},{"line_number":46,"context_line":"    in bad data being returned to the client."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"  - Cleaned up logged tracebacks when talking to memecached servers."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"  - |"},{"line_number":51,"context_line":"    Account and container replication stats logs now include"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f4b6375_5cb5ec7c","line":48,"range":{"start_line":48,"start_character":49,"end_line":48,"end_character":59},"updated":"2017-11-08 00:25:55.000000000","message":"s/memecached/memcache/","commit_id":"73a5cd1c215eba2b5a03cbb1a25b1da80035f857"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"b6be123536bbd90f9ed0885fea9b0459540a8c9a","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"  - |"},{"line_number":51,"context_line":"    Account and container replication stats logs now include"},{"line_number":52,"context_line":"    `remote_merges`, the number of times a whole database was sent"},{"line_number":53,"context_line":"    to another node."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f4b6375_fc7258e2","line":52,"range":{"start_line":52,"start_character":5,"end_line":52,"end_character":18},"updated":"2017-11-08 00:30:03.000000000","message":"...here...","commit_id":"73a5cd1c215eba2b5a03cbb1a25b1da80035f857"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"b6be123536bbd90f9ed0885fea9b0459540a8c9a","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"  - |"},{"line_number":56,"context_line":"    Respond 400 Bad Request when Accept headers fail to parse"},{"line_number":57,"context_line":"    instead of returning 406 Not Acceptable."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"  - |"},{"line_number":60,"context_line":"    Remove `swift-temp-url` script. The functionality has been in"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f4b6375_dc2b1c92","line":57,"updated":"2017-11-08 00:30:03.000000000","message":"Bug fix?","commit_id":"73a5cd1c215eba2b5a03cbb1a25b1da80035f857"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"b6be123536bbd90f9ed0885fea9b0459540a8c9a","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    instead of returning 406 Not Acceptable."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"  - |"},{"line_number":60,"context_line":"    Remove `swift-temp-url` script. The functionality has been in"},{"line_number":61,"context_line":"    swiftclient for a long time and this script has been deprecated"},{"line_number":62,"context_line":"    since 2.10.0."},{"line_number":63,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f4b6375_dc7d5cb2","line":60,"range":{"start_line":60,"start_character":12,"end_line":60,"end_character":26},"updated":"2017-11-08 00:30:03.000000000","message":"...here...","commit_id":"73a5cd1c215eba2b5a03cbb1a25b1da80035f857"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"b6be123536bbd90f9ed0885fea9b0459540a8c9a","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    since 2.10.0."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"  - |"},{"line_number":65,"context_line":"    Removed all `post_as_copy` related code and configs. The option"},{"line_number":66,"context_line":"    has been deprecated since 2.13.0."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f4b6375_bc7860c0","line":65,"range":{"start_line":65,"start_character":17,"end_line":65,"end_character":29},"updated":"2017-11-08 00:30:03.000000000","message":"...here...","commit_id":"73a5cd1c215eba2b5a03cbb1a25b1da80035f857"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"b6be123536bbd90f9ed0885fea9b0459540a8c9a","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    Fixed XML responses (eg on bulk extractions and SLO upload"},{"line_number":70,"context_line":"    failures) to be more correct. The enclosing \"delete\" tag was"},{"line_number":71,"context_line":"    removed where it doesn\u0027t make sense and replaced with \"extract\""},{"line_number":72,"context_line":"    or \"upload\" depending on the context."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"  - |"},{"line_number":75,"context_line":"    Static Large Object (SLO) manifest may now (again) have zero-byte"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f4b6375_9c1b647f","line":72,"updated":"2017-11-08 00:30:03.000000000","message":"Bug fix?","commit_id":"73a5cd1c215eba2b5a03cbb1a25b1da80035f857"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"b6be123536bbd90f9ed0885fea9b0459540a8c9a","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"  - |"},{"line_number":75,"context_line":"    Static Large Object (SLO) manifest may now (again) have zero-byte"},{"line_number":76,"context_line":"    last segments."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"  - |"},{"line_number":79,"context_line":"    Fixed an issue where background consistency daemon child"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f4b6375_5c116c5c","line":76,"updated":"2017-11-08 00:30:03.000000000","message":"Bug fix","commit_id":"73a5cd1c215eba2b5a03cbb1a25b1da80035f857"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"b6be123536bbd90f9ed0885fea9b0459540a8c9a","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"  - |"},{"line_number":79,"context_line":"    Fixed an issue where background consistency daemon child"},{"line_number":80,"context_line":"    processes would deadlock waiting on the same file descriptor."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"  - |"},{"line_number":83,"context_line":"    Accept a trade off of dispersion for balance in the ring builder"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f4b6375_3c14704c","line":80,"updated":"2017-11-08 00:30:03.000000000","message":"Bug fix","commit_id":"73a5cd1c215eba2b5a03cbb1a25b1da80035f857"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"b6be123536bbd90f9ed0885fea9b0459540a8c9a","unresolved":false,"context_lines":[{"line_number":85,"context_line":"    in some cases."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"  - |"},{"line_number":88,"context_line":"    Fixed using `swift-ring-builder set_weight` with more than one"},{"line_number":89,"context_line":"    device."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f4b6375_9c4da49b","line":88,"range":{"start_line":88,"start_character":17,"end_line":88,"end_character":46},"updated":"2017-11-08 00:30:03.000000000","message":"...and here.","commit_id":"73a5cd1c215eba2b5a03cbb1a25b1da80035f857"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"fae61745f49b599cf9d80f50b95352d851dce737","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    The `domain_remap` middleware now supports the"},{"line_number":61,"context_line":"    `mangle_client_paths` option. Its default \"false\" value changes"},{"line_number":62,"context_line":"    `domain_remap` parsing to stop stripping the `path_root` value"},{"line_number":63,"context_line":"    from URL paths. If users depend on this patch mangling, operators"},{"line_number":64,"context_line":"    should set `mangle_client_paths` to \"True\" before upgrading."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"1f485f77_35210e4f","line":63,"range":{"start_line":63,"start_character":44,"end_line":63,"end_character":49},"updated":"2017-11-10 00:50:44.000000000","message":"ditto","commit_id":"6a34d3e40292922ea087dca14822fd8ba92bc524"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"fae61745f49b599cf9d80f50b95352d851dce737","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    `mangle_client_paths` option. Its default \"false\" value changes"},{"line_number":62,"context_line":"    `domain_remap` parsing to stop stripping the `path_root` value"},{"line_number":63,"context_line":"    from URL paths. If users depend on this patch mangling, operators"},{"line_number":64,"context_line":"    should set `mangle_client_paths` to \"True\" before upgrading."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"  - |"},{"line_number":67,"context_line":"    Remove ``swift-temp-url`` script. The functionality has been in"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"1f485f77_b5d29e33","line":64,"range":{"start_line":64,"start_character":16,"end_line":64,"end_character":35},"updated":"2017-11-10 00:50:44.000000000","message":"Double-up all the backticks","commit_id":"6a34d3e40292922ea087dca14822fd8ba92bc524"},{"author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"change_message_id":"6683dedc4fa0c15e2d9874c0e31216ee008e6984","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    `mangle_client_paths` option. Its default \"false\" value changes"},{"line_number":62,"context_line":"    `domain_remap` parsing to stop stripping the `path_root` value"},{"line_number":63,"context_line":"    from URL paths. If users depend on this patch mangling, operators"},{"line_number":64,"context_line":"    should set `mangle_client_paths` to \"True\" before upgrading."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"  - |"},{"line_number":67,"context_line":"    Remove ``swift-temp-url`` script. The functionality has been in"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"1f485f77_387d831c","line":64,"range":{"start_line":64,"start_character":16,"end_line":64,"end_character":35},"in_reply_to":"1f485f77_b5d29e33","updated":"2017-11-10 02:29:34.000000000","message":"bah. I always forget this part","commit_id":"6a34d3e40292922ea087dca14822fd8ba92bc524"}]}
