--- features: - > Ring files now include byteorder information about the endian of the machine used to generate the file, and the values are appropriately byteswapped if deserialized on a machine with a different endianness. Newly created ring files will be byteorder agnostic, but previously generated ring files will still fail on different endian architectures. Regenerating older ring files will cause them to become byteorder agnostic. The regeneration of the ring files will not cause any new data movement. Newer ring files will still be usable by older versions of Swift (on machines with the same endianness--this maintains existing behavior). - > All 416 responses will now include a Content-Range header with an unsatisfied-range value. This allows the caller to know the valid range request value for an object. - > TempURLs now support a validation against a common prefix. A prefix-based signature grants access to all objects which share the same prefix. This avoids the creation of a large amount of signatures, when a whole container or pseudofolder is shared. - > In SLO manifests, the `etag` and `size_bytes` keys are now fully optional and not required. Previously, the keys needed to exist but the values were optional. The only required key is `path`. - Respect server type for --md5 check in swift-recon. fixes: - Correctly handle deleted files with if-none-match requests. - > Correctly send 412 Precondition Failed if a user sends an invalid copy destination. Previously Swift would send a 500 Internal Server Error. - Fixed a rare infinite loop in `swift-ring-builder` while placing parts. - > Ensure update of the container by object-updater, removing a rare possibility that objects would never be added to a container listing. - > Fixed non-deterministic suffix updates in hashes.pkl where a partition may be updated much less often than expected. - > Fixed regression in consolidate_hashes that occurred when a new file was stored to new suffix to a non-empty partition. This bug was introduced in 2.7.0 and could cause an increase in rsync replication stats during and after upgrade, due to inconsistent hashing of partition suffixes. - > Account and container databases will now be quarantined if the database schema has been corrupted. - Remove empty db hash and suffix directories if a db gets quarantined. other: - > Removed "in-process-" from func env tox name to work with upstream CI. - Various other minor bug fixes and improvements.