--- features: - | Added container sharding, an operator controlled feature that may be used to shard very large container databases into a number of smaller shard containers. This mitigates the issues with one large DB by distributing the data across multiple smaller databases throughout the cluster. Please read the full overview at https://docs.openstack.org/swift/latest/overview_container_sharding.html - | Provide an S3 API compatibility layer. The external "swift3" project has been imported into Swift's codebase as the "s3api" middleware. - | Added "emergency mode" hooks in the account and container replicators. These options may be used to prioritize moving handoff partitions to primary locations more quickly. This helps when adding capacity to a ring. - Added ``-d `` and ``-p `` command line options. - Added a handoffs-only mode. - | Add a multiprocess mode to the object replicator. Setting the ``replicator_workers`` setting to a positive value N will result in the replicator using up to N worker processes to perform replication tasks. At most one worker per disk will be spawned. Worker process logs will have a bit of information prepended so operators can tell which messages came from which worker. The prefix is "[worker M/N pid=P] ", where M is the worker's index, N is the total number of workers, and P is the process ID. Every message from the replicator's logger will have the prefix - | The object reconstructor will now fork all available worker processes when operating on a subset of local devices. - | Add support for PROXY protocol v1 to the proxy server. This allows the Swift proxy server to log accurate client IP addresses when there is a proxy or SSL-terminator between the client and the Swift proxy server. Example servers supporting this PROXY protocol include stunnel, haproxy, hitch, and varnish. See the sample proxy server config file for the appropriate config setting to enable or disable this functionality. - | In the ratelimit middleware, account whitelist and blacklist settings have been deprecated and may be removed in a future release. When found, a deprecation message will be logged. Instead of these config file values, set X-Account-Sysmeta- Global-Write-Ratelimit:WHITELIST and X-Account-Sysmeta-Global- Write-Ratelimit:BLACKLIST on the particular accounts that need to be whitelisted or blacklisted. System metadata cannot be added or modified by standard clients. Use the internal client to set sysmeta. - | Add a ``--drop-prefixes`` flag to swift-account-info, swift-container-info, and swift-object-info. This makes the output between the three more consistent. - | statsd error messages correspond to 5xx responses only. This makes monitoring more useful because actual errors (5xx) will not be hidden by common user requests (4xx). Previously, some 4xx responses would be included in timing information in the statsd error messages. - | Truncate error logs to prevent log handler from running out of buffer. - | Updated requirements.txt to match global exclusions and formatting. - | tempauth user names now support unicode characters. - | Various other minor bug fixes and improvements.