| [ Web Proxy ] |
| Viewing: https://developers.cloudflare.com/r2/platform/release-notes/ | [Back] [Original] |
FULL_OBJECT Checksum Type on Multipart Uploads. See Checksum Type Compatibility here.bucket lifecycle command added to Wrangler. Supports listing, adding, and removing object lifecycle rules.bucket info command added to Wrangler. Displays location of bucket and common metrics.bucket dev-url command added to Wrangler. Supports enabling, disabling, and getting status of bucket's r2.dev public access URL.bucket domain command added to Wrangler. Supports listing, adding, removing, and updating R2 bucket custom domains.minTLS to response of list custom domains endpoint.OPTIONS request against the public entrypoint does not include an origin header, an HTTP 400 instead of an HTTP 401 is returned.GET /buckets/:bucket/sippy has changed./buckets/:bucket/sippy/validate endpoint is exposed over APIGW to validate Sippy's configuration.bucket_name instead of bucket_id.AllowedHeaders property of PutBucketCors actions.CompleteMultipartUpload.x-id query param for S3 ListBuckets action is now ignored.x-id query param is now ignored for all S3 actions.ListBuckets where the name_contains parameter would also search over the jurisdiction name.Content-Encoding header for gzip files when Accept-Encoding: gzip is used.get operation in the R2 bindings API should now work as expected.x-amz-acl: public-read are no longer rejected.ListObjects would time out during delimited listing of unicode-normalized keys.PutBucketCors now rejects requests with unknown keys in the XML body.ListObjects where startAfter would skip over objects with keys that have numbers right after the startAfter prefix.AllowedHeaders in the CORS config were being treated case-sensitively.Access-Control-Allow-Headers was not being
set for preflight requests.Access-Control-Expose-Headers response header if ExposeHeader is not defined.Content-Range response header unless the response is partial.HeadObject operation.403 response..get requests." or when some keys/values contain certain multi-byte UTF-8 values.GetObject operation now only returns Content-Range in response to a ranged request.put() binding options can now be given an onlyIf field, similar to get(), that performs a conditional upload.delete() binding now supports deleting multiple keys at once.put() binding now supports user-specified SHA-1, SHA-256, SHA-384, SHA-512 checksums in options.get() and head() bindings response. MD5 is included by default for non-multipart uploaded objects.CopyObject operation now includes x-amz-version-id and x-amz-copy-source-version-id in the response headers for consistency with other methods.ETag for multipart files uploaded until shortly after Open Beta uploaded now include the number of parts as a suffix.DeleteObjects operation no longer trims the space from around the keys before deleting. This would result in files with leading / trailing spaces not being able to be deleted. Additionally, if there was an object with the trimmed key that existed it would be deleted instead. The S3 DeleteObject operation was not affected by this.ListBuckets and ListObjects operations.Content-Type based on file body
if one is not explicitly set in the PutObject request. This functionality will
come to multipart operations in the future.LastModified date of the last upload, bindings fixes will come in the next release.If-Match / If-None-Match headers now support arrays of ETags, Weak ETags and wildcard (*) as per the HTTP standard and undocumented AWS S3 behavior.GetBucketAcl.Added dummy implementations of the following operations that mimic the response that a basic AWS S3 bucket will return when first created:
GetBucketVersioningGetBucketLifecycleConfigurationGetBucketReplicationGetBucketTaggingGetObjectLockConfigurationxmlns namespace attribute on the top-level Error tag.list operation.list() binding will now correctly return a smaller limit if too much data would otherwise be returned (previously would return an Internal Error).TooMuchConcurrency instead of InternalError. We've also reduced the rate of 500s through internal improvements.ListMultipartUpload correctly encodes the returned Key if the encoding-type is specified.400 Bad Request / MalformedXML.ListMultipartUploads support.r2_list_honor_include compat flag coming up in an upcoming runtime release (default behavior as of 2022-07-14 compat date). Without that compat flag/date, list will continue to function implicitly as include: ['httpMetadata', 'customMetadata'] regardless of what you specify.cf-create-bucket-if-missing can be set on a PutObject/CreateMultipartUpload request to implicitly create the bucket if it does not exist.CompleteMultipartUpload are now optional and ignored as it seems to be the actual non-standard behavior AWS implements.ListObjects/ListObjectsV2 are
now rejected with 501 Not Implemented.DeleteObjects can now handle 1000 objects at a time.CreateBucket request can specify x-amz-bucket-object-lock-enabled with a value of false and not have the requested rejected with a NotImplemented
error. A value of true will continue to be rejected as R2 does not yet support
object locks.UploadPart operation where TooMuchConcurrency
& NoSuchUpload errors were being returned as NoSuchBucket.ListObjectsV2 operation not returning empty folder/s as common prefixes when using delimiters.ListObjectsV2 KeyCount parameter now correctly returns the sum of keys and common prefixes rather than just the keys.InternalError and now return the appropriate error message.ContinuationToken field is now correctly returned in the response if provided in a S3 API ListObjectsV2 request.AbortMultipartUpload operation threw an error when called multiple times.PutObject or the .put() binding could fail but still show the bucket upload as successful.UploadObject or CreateMultipartUpload operations, and the object exists, a 412 Precondition Failed status code will be returned if these checks are not met.Accept-Encoding was being used in SignedHeaders
when sending requests to the S3 API would result in a SignatureDoesNotMatch
response.<BUCKET>.<ACCOUNT_ID>.r2.cloudflarestorage.com instead of path-based routing (<ACCOUNT_ID>.r2.cloudflarestorage.com/<BUCKET>).GetBucketLocation for compatibility with external tools, this will always return a LocationConstraint of auto.GetObject ranges are now inclusive (bytes=0-0 will correctly return the first byte).GetObject partial reads return the proper 206 Partial Content response code.NoSuchKey / NoSuchBucket response.Content-Type: application/xml response header on relevant endpoints.-N suffix on the etag representing the number of parts the file was published with.UploadPart and UploadPartCopy now return proper error messages, such as TooMuchConcurrency or NoSuchUpload, instead of 'internal error'.UploadPart can now be sent a 0-length part.us-east-1 will now alias to the auto region for compatibility with external tools.GetBucketEncryption, PutBucketEncryption and DeleteBucketEncrypotion are now supported (the only supported value currently is AES256).ListObjectsV2/PutBucket/DeleteBucket respectively.CompleteMultipartUploads requests are now properly escaped.MaxKeys argument.ListBuckets operation now accepts cf-max-keys, cf-start-after and cf-continuation-token headers behave the same as the respective URL parameters.ListBuckets and ListObjects endpoints now allow per_page to be 0.CopyObject source parameter now requires a leading slash.CopyObject operation now returns a NoSuchBucket error when copying to a non-existent bucket instead of an internal error.auto in SigV4 signing and the CreateBucket LocationConstraint parameter.CreateBucket operation now returns the proper location response header..put() for the Workers R2 bindings.DeleteObjects operation no longer returns an error even though an object has been deleted in some cases.startAfter and continuationToken were not working in list operations.ListObjects operation now correctly renders Prefix, Delimiter, StartAfter and MaxKeys in the response.ListObjectsV2 now correctly honors the encoding-type parameter.PutObject operation now works with POST requests for s3cmd compatibility.| Web Proxy Viewer | New URL | Original Page |