diff --git a/AUTHORS b/AUTHORS index d41e7641b2..126c1349b4 100644 --- a/AUTHORS +++ b/AUTHORS @@ -92,6 +92,7 @@ Colin Nicholson (colin.nicholson@iomart.com) Colleen Murphy (colleen.murphy@suse.com) Conrad Weidenkeller (conrad.weidenkeller@rackspace.com) Constantine Peresypkin (constantine.peresypk@rackspace.com) +Corey Bryant (corey.bryant@canonical.com) Cory Wright (cory.wright@rackspace.com) Cristian A Sanchez (cristian.a.sanchez@intel.com) Dae S. Kim (dae@velatum.com) @@ -106,6 +107,7 @@ David Goetz (david.goetz@rackspace.com) David Hadas (davidh@il.ibm.com) David Liu (david.liu@cn.ibm.com) David Moreau Simard (dmsimard@iweb.com) +David Rabel (rabel@b1-systems.de) Dean Troyer (dtroyer@gmail.com) Denis V. Meltsaykin (dmeltsaykin@mirantis.com) Derek Higgins (derekh@redhat.com) @@ -162,6 +164,7 @@ Hamdi Roumani (roumani@ca.ibm.com) Hanxi Liu (hanxi.liu@easystack.cn) Harshada Mangesh Kakad (harshadak@metsi.co.uk) Harshit Chitalia (harshit@acelio.com) +HCLTech-SSW (hcl_ss_oss@hcl.com) hgangwx (hgangwx@cn.ibm.com) Hisashi Osanai (osanai.hisashi@gmail.com) Hodong Hwang (hodong.hwang@kt.com) @@ -176,9 +179,11 @@ Jaivish Kothari (jaivish.kothari@nectechnologies.in) James E. Blair (jeblair@openstack.org) James Page (james.page@ubuntu.com) Jamie Lennox (jlennox@redhat.com) +Jan Zerebecki (jan.openstack@zerebecki.de) Janie Richling (jrichli@us.ibm.com) Jason Johnson (jajohnson@softlayer.com) Jay S. Bryant (jsbryant@us.ibm.com) +Jens Harbott (j.harbott@x-ion.de) Jeremy Stanley (fungi@yuggoth.org) Jesse Andrews (anotherjesse@gmail.com) Ji-Wei (ji.wei3@zte.com.cn) @@ -236,6 +241,7 @@ Mark Seger (mark.seger@hpe.com) Martin Geisler (martin@geisler.net) Martin Kletzander (mkletzan@redhat.com) Maru Newby (mnewby@internap.com) +Mathias Bjoerkqvist (mbj@zurich.ibm.com) Matt Kassawara (mkassawara@gmail.com) Matt Riedemann (mriedem@us.ibm.com) Matthew Oliver (matt@oliver.net.au) diff --git a/CHANGELOG b/CHANGELOG index e4e9629475..b24366bd73 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,95 @@ +swift (2.16.0) + + * Add checksum to object extended attributes. + + * Let clients request heartbeats during SLO PUTs by including + the query parameter `heartbeat=on`. + + With heartbeating turned on, the proxy will start its response + immediately with 202 Accepted then send a single whitespace + character periodically until the request completes. At that + point, a final summary chunk will be sent which includes a + "Response Status" key indicating success or failure and (if + successful) an "Etag" key indicating the Etag of the resulting + SLO. + + * Added support for retrieving the encryption root secret from an + external key management system. In practice, this is currently limited + to Barbican. + + * Move listing formatting out to a new proxy middleware named + `listing_formats`. `listing_formats` should be just right of the + first proxy-logging middleware, and left of most other + middlewares. If it is not already present, it will be + automatically inserted for you. + + Note: if you have a custom middleware that makes account or + container listings, it will only receive listings in JSON format. + + * Log deprecation warning for `allow_versions` in the container + server config. Configure the `versioned_writes` middleware in + the proxy server instead. This option will be ignored in a + future release. + + * Replaced `replication_one_per_device` by custom count defined by + `replication_concurrency_per_device`. The original config value + is deprecated, but continues to function for now. If both values + are defined, the old `replication_one_per_device` is ignored. + + * Fixed a rare issue where multiple backend timeouts could result + in bad data being returned to the client. + + * Cleaned up logged tracebacks when talking to memcached servers. + + * Account and container replication stats logs now include + `remote_merges`, the number of times a whole database was sent + to another node. + + * Respond 400 Bad Request when Accept headers fail to parse + instead of returning 406 Not Acceptable. + + * The `domain_remap` middleware now supports the + `mangle_client_paths` option. Its default "false" value changes + `domain_remap` parsing to stop stripping the `path_root` value + from URL paths. If users depend on this path mangling, operators + should set `mangle_client_paths` to "True" before upgrading. + + * Remove `swift-temp-url` script. The functionality has been in + swiftclient for a long time and this script has been deprecated + since 2.10.0. + + * Removed all `post_as_copy` related code and configs. The option + has been deprecated since 2.13.0. + + * Fixed XML responses (eg on bulk extractions and SLO upload + failures) to be more correct. The enclosing "delete" tag was + removed where it doesn't make sense and replaced with "extract" + or "upload" depending on the context. + + * Static Large Object (SLO) manifest may now (again) have zero-byte + last segments. + + * Fixed an issue where background consistency daemon child + processes would deadlock waiting on the same file descriptor. + + * Removed a race condition where a POST to an SLO could modify the + X-Static-Large-Object metadata. + + * Accept a trade off of dispersion for balance in the ring builder + that will result in getting to balanced rings much more quickly + in some cases. + + * Fixed using `swift-ring-builder set_weight` with more than one + device. + + * When requesting objects, return 404 if a tombstone is found and + is newer than any data found. Previous behavior was to return + stale data. + + * Various other minor bug fixes and improvements. + + + swift (2.15.1) * Fixed a bug introduced in 2.15.0 where the object reconstructor would exit with a traceback if no EC policy was configured. diff --git a/releasenotes/notes/2_16_0_release-d48cb9b2629df8ab.yaml b/releasenotes/notes/2_16_0_release-d48cb9b2629df8ab.yaml new file mode 100644 index 0000000000..51b819b9c9 --- /dev/null +++ b/releasenotes/notes/2_16_0_release-d48cb9b2629df8ab.yaml @@ -0,0 +1,107 @@ +--- +features: + - Add checksum to object extended attributes. + + - | + Let clients request heartbeats during SLO PUTs by including + the query parameter ``heartbeat=on``. + + With heartbeating turned on, the proxy will start its response + immediately with 202 Accepted then send a single whitespace + character periodically until the request completes. At that + point, a final summary chunk will be sent which includes a + "Response Status" key indicating success or failure and (if + successful) an "Etag" key indicating the Etag of the resulting + SLO. + + - | + Added support for retrieving the encryption root secret from an + external key management system. In practice, this is currently limited + to Barbican. + + - | + Move listing formatting out to a new proxy middleware named + ``listing_formats``. ``listing_formats`` should be just right of the + first proxy-logging middleware, and left of most other + middlewares. If it is not already present, it will be + automatically inserted for you. + + Note: if you have a custom middleware that makes account or + container listings, it will only receive listings in JSON format. + + - | + Log deprecation warning for ``allow_versions`` in the container + server config. Configure the ``versioned_writes`` middleware in + the proxy server instead. This option will be ignored in a + future release. + + - | + Replaced ``replication_one_per_device`` by custom count defined by + ``replication_concurrency_per_device``. The original config value + is deprecated, but continues to function for now. If both values + are defined, the old ``replication_one_per_device`` is ignored. + + - | + Fixed a rare issue where multiple backend timeouts could result + in bad data being returned to the client. + + - Cleaned up logged tracebacks when talking to memcached servers. + + - | + Account and container replication stats logs now include + ``remote_merges``, the number of times a whole database was sent + to another node. + + - | + Respond 400 Bad Request when Accept headers fail to parse + instead of returning 406 Not Acceptable. + + - | + The ``domain_remap`` middleware now supports the + ``mangle_client_paths`` option. Its default "false" value changes + ``domain_remap`` parsing to stop stripping the ``path_root`` value + from URL paths. If users depend on this path mangling, operators + should set ``mangle_client_paths`` to "True" before upgrading. + + - | + Remove ``swift-temp-url`` script. The functionality has been in + swiftclient for a long time and this script has been deprecated + since 2.10.0. + + - | + Removed all ``post_as_copy`` related code and configs. The option + has been deprecated since 2.13.0. + + - | + Fixed XML responses (eg on bulk extractions and SLO upload + failures) to be more correct. The enclosing "delete" tag was + removed where it doesn't make sense and replaced with "extract" + or "upload" depending on the context. + + - | + Static Large Object (SLO) manifest may now (again) have zero-byte + last segments. + + - | + Fixed an issue where background consistency daemon child + processes would deadlock waiting on the same file descriptor. + + - | + Removed a race condition where a POST to an SLO could modify the + X-Static-Large-Object metadata. + + - | + Accept a trade off of dispersion for balance in the ring builder + that will result in getting to balanced rings much more quickly + in some cases. + + - | + Fixed using ``swift-ring-builder set_weight`` with more than one + device. + + - | + When requesting objects, return 404 if a tombstone is found and + is newer than any data found. Previous behavior was to return + stale data. +other: + - Various other minor bug fixes and improvements.