summaryrefslogtreecommitdiff
path: root/releasenotes/notes/2_24_0_release-1ca244cc959922fc.yaml
blob: 0155cb2c03f37f20fa7f65fd74f60c925b567606 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
---
features:
  - |
    Added a new object versioning mode, with APIs for querying and
    accessing old versions. For more information, see `the documentation
    <https://docs.openstack.org/swift/latest/middleware.html#module-swift.common.middleware.versioned_writes.object_versioning>`__.

  - |
    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
    <https://docs.openstack.org/swift/latest/middleware.html#module-swift.common.middleware.etag_quoter>`__.
    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 <https://docs.openstack.org/swift/latest/logs.html#swift-source>`__.

  - |
    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``