---
features:
  - >
    The improvements to EC reads made in Swift 2.10.0 have also been
    applied to the reconstructor. This allows fragments to be rebuilt
    in more circumstances, resulting in faster recovery from failures.
  - >
    Instead of using a separate .durable file to indicate the
    durable status of an EC fragment archive, we rename the .data
    to include a durable marker in the filename. This saves one
    inode for every EC .data file. Existing .durable files will not
    be removed, and they will continue to work just fine.
  - >
    Closed a bug where ssync may have written bad fragment data in
    some circumstances. A check was added to ensure the correct number
    of bytes is written for a fragment before finalizing the write.
    Also, erasure coded fragment metadata will now be validated on read
    requests and, if bad data is found, the fragment will be quarantined.
  - Added a configurable URL base to staticweb.
  - Support multi-range GETs for static large objects.
  - >
    TempURLs using the "inline" parameter can now also set the
    "filename" parameter. Both are used in the Content-Disposition
    response header.
  - Mirror X-Trans-Id to X-Openstack-Request-Id.
  - >
    SLO will now concurrently HEAD segments, resulting in much faster
    manifest validation and object creation. By default, two HEAD requests
    will be done at a time, but this can be changed by the operator via
    the new `concurrency` setting in the "[filter:slo]" section of
    the proxy server config.
  - Suppressed the KeyError message when auditor finds an expired object.
  - Daemons using InternalClient can now be properly killed with SIGTERM.
  - >
    Added a "user" option to the drive-audit config file. Its value is
    used to set the owner of the drive-audit recon cache.
  - >
    Throttle update_auditor_status calls so it updates no more than once
    per minute.
  - Suppress unexpected-file warnings for rsync temp files.
upgrade:
  - Updated the PyECLib dependency to 1.3.1.
  - >
    Note that after writing EC data with Swift 2.11.0 or later, that
    data will not be accessible to earlier versions of Swift.
critical:
  - >
    WARNING: If you are using the ISA-L library for erasure codes,
    please upgrade to liberasurecode 1.3.1 (or later) as soon as
    possible. If you are using isa_l_rs_vand with more than 4 parity,
    please read https://bugs.launchpad.net/swift/+bug/1639691 and take
    necessary action.
other:
  - Various other minor bug fixes and improvements.
