)]}'
{"CHANGELOG":[{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"4fef1b77fdc30b9be1c585657e284b1fdc8fd5dd","unresolved":false,"context_lines":[{"line_number":4,"context_line":"      Swift cluster. This allows a client to discover the limits on"},{"line_number":5,"context_line":"      names and object sizes that the cluster supports."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    * Requests to /info now return the supported tempurl methods."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"    * The Last-Modified header value returned will now be the object\u0027s"},{"line_number":10,"context_line":"      timestamp rounded up to the next second. This allows subsequent"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"AAAAUH%2F%2FDZw%3D","line":7,"updated":"2014-01-17 21:44:03.000000000","message":"SLO stuff is in there too, like max-segments-per-object and whatnot.","commit_id":"e43e24f23d82feafa7d9acf649feb8516ad5a04a"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"4fef1b77fdc30b9be1c585657e284b1fdc8fd5dd","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"    * Fix object versioning with non-ASCII container names."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"    * Bulk delete with POST now works properly."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"    * catch_errors and gatekeeper middleware are now forced into the proxy"},{"line_number":22,"context_line":"      pipeline if not explicitly referenced."}],"source_content_type":"application/octet-stream","patch_set":1,"id":"AAAAUH%2F%2FDZs%3D","line":19,"updated":"2014-01-17 21:44:03.000000000","message":"heh, \"properly\". So much more diplomatic with that word there. :)","commit_id":"e43e24f23d82feafa7d9acf649feb8516ad5a04a"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"10b836a7bb30f6875818995f864c7c547f6693b1","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    * The default yield_frequency used to keep client connections alive"},{"line_number":42,"context_line":"      during slow bulk requests was reduced from 60 seconds to 10 seconds."},{"line_number":43,"context_line":"      While this is a change to a default, it should not affect deployements"},{"line_number":44,"context_line":"      and there is no migration process needed."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    * Swift processes will attempt to set RLIMIT_NPROC to 8192."}],"source_content_type":"application/octet-stream","patch_set":2,"id":"AAAAUH%2F%2FDX8%3D","line":43,"updated":"2014-01-17 21:48:11.000000000","message":"*deployments","commit_id":"ad00c4d08d6705a75bddb604f8ae0e8c10d669ed"},{"author":{"_account_id":6198,"name":"Peter Portante","email":"peter.a.portante@gmail.com","username":"peter-a-portante"},"change_message_id":"c664039ed05ab98b3bfbfd89a14b3d5852574b08","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    * Bulk delete with POST now works properly."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    * catch_errors and gatekeeper middleware are now forced into the proxy"},{"line_number":25,"context_line":"      pipeline if not explicitly referenced."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    * Generic means for persisting system metadata"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"AAAAUH%2F%2FDUk%3D","line":24,"updated":"2014-01-17 22:05:15.000000000","message":"Perhaps note that the gatekeeper middleware is new, or move this below the next item?","commit_id":"5ed0dde66118d1c07f202af18047b3a9cdd75c45"},{"author":{"_account_id":6198,"name":"Peter Portante","email":"peter.a.portante@gmail.com","username":"peter-a-portante"},"change_message_id":"c664039ed05ab98b3bfbfd89a14b3d5852574b08","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    * Generic means for persisting system metadata"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"      Swift now support system-level metadata on accounts and containers."},{"line_number":30,"context_line":"      System metadata provides a means to store potentially private custom"},{"line_number":31,"context_line":"      metadata with associated Swift resources in a safe and secure fashion"},{"line_number":32,"context_line":"      without actually having to plumb custom metadata through the core swift"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"AAAAUH%2F%2FDUg%3D","line":29,"updated":"2014-01-17 22:05:15.000000000","message":"*supports*","commit_id":"5ed0dde66118d1c07f202af18047b3a9cdd75c45"},{"author":{"_account_id":6198,"name":"Peter Portante","email":"peter.a.portante@gmail.com","username":"peter-a-portante"},"change_message_id":"c664039ed05ab98b3bfbfd89a14b3d5852574b08","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    * Generic means for persisting system metadata"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"      Swift now support system-level metadata on accounts and containers."},{"line_number":30,"context_line":"      System metadata provides a means to store potentially private custom"},{"line_number":31,"context_line":"      metadata with associated Swift resources in a safe and secure fashion"},{"line_number":32,"context_line":"      without actually having to plumb custom metadata through the core swift"},{"line_number":33,"context_line":"      servers. The new gatekeeper middleware prevents this system metadata"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"AAAAUH%2F%2FDUQ%3D","line":30,"updated":"2014-01-17 22:05:15.000000000","message":"perhaps add \"private to the environment in which middlewares run\"?","commit_id":"5ed0dde66118d1c07f202af18047b3a9cdd75c45"},{"author":{"_account_id":6198,"name":"Peter Portante","email":"peter.a.portante@gmail.com","username":"peter-a-portante"},"change_message_id":"c664039ed05ab98b3bfbfd89a14b3d5852574b08","unresolved":false,"context_lines":[{"line_number":31,"context_line":"      metadata with associated Swift resources in a safe and secure fashion"},{"line_number":32,"context_line":"      without actually having to plumb custom metadata through the core swift"},{"line_number":33,"context_line":"      servers. The new gatekeeper middleware prevents this system metadata"},{"line_number":34,"context_line":"      from leaking into the request or being set by a client."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    * New container sync configuration option, separating the end user"},{"line_number":37,"context_line":"      from knowing the required end point and adding more secure"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"AAAAUH%2F%2FDTw%3D","line":34,"updated":"2014-01-17 22:05:15.000000000","message":"how \u0027bout: \"The new gatekeeper middleware prevents this system metadata from leaking out into client response headers and from being overridden by client request headers.\"\n\nMaybe too wordy...","commit_id":"5ed0dde66118d1c07f202af18047b3a9cdd75c45"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"214005c0f29ee32451c021fa75653c987706408c","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    * Fix checkmount error parsing in swift-recon."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    * Log at warn level when an object is quarrantined."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    * Fixed CVE-2014-0006 to avoid a potential timing attack with tempurl."},{"line_number":61,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":3,"id":"AAAAUH%2F%2FDVc%3D","line":58,"updated":"2014-01-17 21:57:50.000000000","message":"*quarantined","commit_id":"5ed0dde66118d1c07f202af18047b3a9cdd75c45"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"bf0efbb606cc6eb80f1143b57f44af57141e174c","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    * Fix checkmount error parsing in swift-recon."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    * Log at warn level when an object is quarrantined."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    * Fixed CVE-2014-0006 to avoid a potential timing attack with tempurl."},{"line_number":62,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":4,"id":"AAAAUH%2F%2FDOE%3D","line":59,"updated":"2014-01-17 22:20:04.000000000","message":"*quarantined","commit_id":"f339ae56802d4a9b665d120b5487d077b5970351"}]}
