--- features: - | Added a new object versioning mode, with APIs for querying and accessing old versions. For more information, see `the documentation `__. - | Added support for S3 versioning using the above new mode. - | Added a new middleware to allow accounts and containers to opt-in to RFC-compliant ETags. For more information, see `the documentation `__. Clients should be aware of the fact that ETags may be quoted for RFC compliance; this may become the default behavior in some future release. - | Proxy, account, container, and object servers now support "seamless reloads" via ``SIGUSR1``. This is similar to the existing graceful restarts but keeps the server socket open the whole time, reducing service downtime. - | New buckets created via the S3 API will now store multi-part upload data in the same storage policy as other data rather than the cluster's default storage policy. - | Device region and zone can now be changed via ``swift-ring-builder``. Note that this may cause a lot of data movement on the next rebalance as the builder tries to reach full dispersion. - | Added support for Python 3.8. deprecations: - | Per-service ``auto_create_account_prefix`` settings are now deprecated and may be ignored in a future release; if you need to use this, please set it in the ``[swift-constraints]`` section of ``/etc/swift/swift.conf``. fixes: - | The container sharder can now handle containers with special characters in their names. - | Internal client no longer logs object DELETEs as status 499. - | Objects with an ``X-Delete-At`` value in the far future no longer cause backend server errors. - | The bulk extract middleware once again allows clients to specify metadata (including expiration timestamps) for all objects in the archive. - | Container sync now synchronizes static symlinks in a way similar to static large objects. - | ``swift_source`` is set for more sub-requests in the proxy-server. See `the documentation `__. - | Errors encountered while validating static symlink targets no longer cause ``BadResponseLength`` errors in the proxy-server. - | On Python 3, the KMS keymaster now works with secrets stored in Barbican with a ``text/plain`` payload-content-type. - | On Python 3, the formpost middleware now works with unicode file names. - | On Python 3, certain S3 API headers are now lower case as they would be coming from AWS. - | Several utility scripts now work better on Python 3: * ``swift-account-audit`` * ``swift-dispersion-populate`` * ``swift-drive-recon`` * ``swift-recon``