Conditional writesAPI
PUT now honours If-None-Match: * and If-Match: <etag>, which makes create-if-absent and compare-and-swap possible without a separate read. Mismatches return 412.
Notable changes to the API, the S3 endpoint and the delivery cache.
PUT now honours If-None-Match: * and If-Match: <etag>, which makes create-if-absent and compare-and-swap possible without a separate read. Mismatches return 412.
Tokens can be restricted to a key prefix instead of a whole bucket, so a client can be handed write access to uploads/2026/ and nothing else.
Text responses are now compressed with Brotli when the client advertises it, falling back to gzip. Already-compressed types are passed through untouched.
Listing returns an opaque cursor instead of a numeric offset. Offsets keep working until 1 January 2027, after which they are removed.
Buckets can now be created with region: fra. Existing buckets stay in Amsterdam; there is no in-place migration yet.
Previous revisions are retained for a configurable window, from 1 to 90 days, and can be listed and restored through the API.