<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Changelog | R2</title><description>Updates to R2</description><link>https://developers.cloudflare.com/r2/platform/release-notes</link><item><title>R2 - 2025-09-23</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2025-09-23</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2025-09-23</guid><description>&lt;ul&gt;
&lt;li&gt;Fixed a bug where you could attempt to delete objects even if they had a bucket lock rule applied on the dashboard. Previously, they would momentarily vanish from the table but reappear after a page refresh. Now, the delete action is disabled on locked objects in the dashboard.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Tue, 23 Sep 2025 00:00:00 GMT</pubDate></item><item><title>R2 - 2025-09-22</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2025-09-22</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2025-09-22</guid><description>&lt;ul&gt;
&lt;li&gt;We’ve updated the R2 dashboard with a cleaner look to make it easier to find what you need and take action. You can find instructions for how you can use R2 with the various API interfaces in the side panel, and easily access documentation at the bottom.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Mon, 22 Sep 2025 00:00:00 GMT</pubDate></item><item><title>R2 - 2025-07-03</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2025-07-03</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2025-07-03</guid><description>&lt;ul&gt;
&lt;li&gt;The CRC-64/NVME Checksum algorithm is now supported for both single and multipart objects. This also brings support for the &lt;code&gt;FULL_OBJECT&lt;/code&gt; Checksum Type on Multipart Uploads. See Checksum Type Compatibility &lt;a href=&quot;https://developers.cloudflare.com/r2/api/s3/api/&quot;&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Thu, 03 Jul 2025 00:00:00 GMT</pubDate></item><item><title>R2 - 2024-12-03</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2024-12-03</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2024-12-03</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.cloudflare.com/r2/examples/ssec/&quot;&gt;Server-side Encryption with Customer-Provided Keys&lt;/a&gt; is now available to all users via the Workers and S3-compatible APIs.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Tue, 03 Dec 2024 00:00:00 GMT</pubDate></item><item><title>R2 - 2024-11-21</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2024-11-21</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2024-11-21</guid><description>&lt;ul&gt;
&lt;li&gt;Sippy can now be enabled on buckets in &lt;a href=&quot;https://developers.cloudflare.com/r2/reference/data-location/#jurisdictional-restrictions&quot;&gt;jurisdictions&lt;/a&gt; (e.g., EU, FedRAMP).&lt;/li&gt;
&lt;li&gt;Fixed an issue with Sippy where GET/HEAD requests to objects with certain special characters would result in error responses.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Thu, 21 Nov 2024 00:00:00 GMT</pubDate></item><item><title>R2 - 2024-11-20</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2024-11-20</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2024-11-20</guid><description>&lt;ul&gt;
&lt;li&gt;Oceania (OC) is now available as an R2 region.&lt;/li&gt;
&lt;li&gt;The default maximum number of buckets per account is now 1 million. If you need more than 1 million buckets, contact &lt;a href=&quot;https://developers.cloudflare.com/support/contacting-cloudflare-support/&quot;&gt;Cloudflare Support&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Public buckets accessible via custom domain now support Smart &lt;a href=&quot;https://developers.cloudflare.com/r2/buckets/public-buckets/#caching&quot;&gt;Tiered Cache&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Wed, 20 Nov 2024 00:00:00 GMT</pubDate></item><item><title>R2 - 2024-11-19</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2024-11-19</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2024-11-19</guid><description>&lt;ul&gt;
&lt;li&gt;R2 &lt;a href=&quot;https://developers.cloudflare.com/workers/wrangler/commands/#r2-bucket-lifecycle-add&quot;&gt;&lt;code&gt;bucket lifecycle&lt;/code&gt; command&lt;/a&gt; added to Wrangler. Supports listing, adding, and removing object lifecycle rules.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Tue, 19 Nov 2024 00:00:00 GMT</pubDate></item><item><title>R2 - 2024-11-14</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2024-11-14</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2024-11-14</guid><description>&lt;ul&gt;
&lt;li&gt;R2 &lt;a href=&quot;https://developers.cloudflare.com/workers/wrangler/commands/r2-bucket-info&quot;&gt;&lt;code&gt;bucket info&lt;/code&gt; command&lt;/a&gt; added to Wrangler. Displays location of bucket and common metrics.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Thu, 14 Nov 2024 00:00:00 GMT</pubDate></item><item><title>R2 - 2024-11-08</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2024-11-08</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2024-11-08</guid><description>&lt;ul&gt;
&lt;li&gt;R2 &lt;a href=&quot;https://developers.cloudflare.com/workers/wrangler/commands/#r2-bucket-dev-url-enable&quot;&gt;&lt;code&gt;bucket dev-url&lt;/code&gt; command&lt;/a&gt; added to Wrangler. Supports enabling, disabling, and getting status of bucket&amp;#39;s &lt;a href=&quot;https://developers.cloudflare.com/r2/buckets/public-buckets/#enable-managed-public-access&quot;&gt;r2.dev public access URL&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Fri, 08 Nov 2024 00:00:00 GMT</pubDate></item><item><title>R2 - 2024-11-06</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2024-11-06</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2024-11-06</guid><description>&lt;ul&gt;
&lt;li&gt;R2 &lt;a href=&quot;https://developers.cloudflare.com/workers/wrangler/commands/#r2-bucket-domain-add&quot;&gt;&lt;code&gt;bucket domain&lt;/code&gt; command&lt;/a&gt; added to Wrangler. Supports listing, adding, removing, and updating &lt;a href=&quot;https://developers.cloudflare.com/r2/buckets/public-buckets/#custom-domains&quot;&gt;R2 bucket custom domains&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Wed, 06 Nov 2024 00:00:00 GMT</pubDate></item><item><title>R2 - 2024-11-01</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2024-11-01</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2024-11-01</guid><description>&lt;ul&gt;
&lt;li&gt;Add &lt;code&gt;minTLS&lt;/code&gt; to response of &lt;a href=&quot;https://developers.cloudflare.com/api/resources/r2/subresources/buckets/subresources/domains/subresources/custom/methods/list/&quot;&gt;list custom domains&lt;/a&gt; endpoint.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Fri, 01 Nov 2024 00:00:00 GMT</pubDate></item><item><title>R2 - 2024-10-28</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2024-10-28</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2024-10-28</guid><description>&lt;ul&gt;
&lt;li&gt;Add &lt;a href=&quot;https://developers.cloudflare.com/api/resources/r2/subresources/buckets/subresources/domains/subresources/custom/methods/get/&quot;&gt;get custom domain&lt;/a&gt; endpoint.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Mon, 28 Oct 2024 00:00:00 GMT</pubDate></item><item><title>R2 - 2024-10-21</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2024-10-21</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2024-10-21</guid><description>&lt;ul&gt;
&lt;li&gt;Event notifications can now be configured for R2 buckets in &lt;a href=&quot;https://developers.cloudflare.com/r2/reference/data-location/#jurisdictional-restrictions&quot;&gt;jurisdictions&lt;/a&gt; (e.g., EU, FedRAMP).&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Mon, 21 Oct 2024 00:00:00 GMT</pubDate></item><item><title>R2 - 2024-09-26</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2024-09-26</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2024-09-26</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.cloudflare.com/builder-day-2024-announcements/#event-notifications-for-r2-is-now-ga&quot;&gt;Event notifications for R2&lt;/a&gt; is now generally available. Event notifications now support higher throughput (up to 5,000 messages per second per Queue), can be configured in the dashboard and Wrangler, and support for lifecycle deletes.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Thu, 26 Sep 2024 00:00:00 GMT</pubDate></item><item><title>R2 - 2024-09-18</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2024-09-18</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2024-09-18</guid><description>&lt;ul&gt;
&lt;li&gt;Add the ability to set and &lt;a href=&quot;https://developers.cloudflare.com/r2/buckets/public-buckets/#minimum-tls-version&quot;&gt;update minimum TLS version&lt;/a&gt; for R2 bucket custom domains.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Wed, 18 Sep 2024 00:00:00 GMT</pubDate></item><item><title>R2 - 2024-08-26</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2024-08-26</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2024-08-26</guid><description>&lt;ul&gt;
&lt;li&gt;Added support for configuring R2 bucket custom domains via &lt;a href=&quot;https://developers.cloudflare.com/api/resources/r2/subresources/buckets/subresources/domains/subresources/custom/methods/create/&quot;&gt;API&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Mon, 26 Aug 2024 00:00:00 GMT</pubDate></item><item><title>R2 - 2024-08-21</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2024-08-21</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2024-08-21</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.cloudflare.com/r2/data-migration/sippy/&quot;&gt;Sippy&lt;/a&gt; is now generally available. Metrics for ongoing migrations can now be found in the dashboard or via the GraphQL analytics API.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Wed, 21 Aug 2024 00:00:00 GMT</pubDate></item><item><title>R2 - 2024-07-08</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2024-07-08</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2024-07-08</guid><description>&lt;ul&gt;
&lt;li&gt;Added migration log for &lt;a href=&quot;https://developers.cloudflare.com/r2/data-migration/super-slurper/&quot;&gt;Super Slurper&lt;/a&gt; to the migration summary in the dashboard.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Mon, 08 Jul 2024 00:00:00 GMT</pubDate></item><item><title>R2 - 2024-06-12</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2024-06-12</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2024-06-12</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.cloudflare.com/r2/data-migration/super-slurper/&quot;&gt;Super Slurper&lt;/a&gt; now supports migrating objects up to 1TB in size.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Wed, 12 Jun 2024 00:00:00 GMT</pubDate></item><item><title>R2 - 2024-06-07</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2024-06-07</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2024-06-07</guid><description>&lt;ul&gt;
&lt;li&gt;Fixed an issue that prevented Sippy from copying over objects from S3 buckets with SSE set up.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Fri, 07 Jun 2024 00:00:00 GMT</pubDate></item><item><title>R2 - 2024-06-06</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2024-06-06</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2024-06-06</guid><description>&lt;ul&gt;
&lt;li&gt;R2 will now ignore the &lt;code&gt;x-purpose&lt;/code&gt; request parameter.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Thu, 06 Jun 2024 00:00:00 GMT</pubDate></item><item><title>R2 - 2024-05-29</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2024-05-29</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2024-05-29</guid><description>&lt;ul&gt;
&lt;li&gt;Added support for &lt;a href=&quot;https://developers.cloudflare.com/r2/buckets/storage-classes/&quot;&gt;Infrequent Access&lt;/a&gt; storage class (beta).&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Wed, 29 May 2024 00:00:00 GMT</pubDate></item><item><title>R2 - 2024-05-24</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2024-05-24</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2024-05-24</guid><description>&lt;ul&gt;
&lt;li&gt;Added &lt;a href=&quot;https://developers.cloudflare.com/api/resources/r2/subresources/temporary_credentials/methods/create/&quot;&gt;create temporary access tokens&lt;/a&gt; endpoint.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Fri, 24 May 2024 00:00:00 GMT</pubDate></item><item><title>R2 - 2024-04-03</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2024-04-03</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2024-04-03</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.cloudflare.com/r2/buckets/event-notifications/&quot;&gt;Event notifications&lt;/a&gt; for R2 is now available as an open beta.&lt;/li&gt;
&lt;li&gt;Super Slurper now supports migration from &lt;a href=&quot;https://developers.cloudflare.com/r2/data-migration/super-slurper/#supported-cloud-storage-providers&quot;&gt;Google Cloud Storage&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Wed, 03 Apr 2024 00:00:00 GMT</pubDate></item><item><title>R2 - 2024-02-20</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2024-02-20</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2024-02-20</guid><description>&lt;ul&gt;
&lt;li&gt;When an &lt;code&gt;OPTIONS&lt;/code&gt; request against the public entrypoint does not include an &lt;code&gt;origin&lt;/code&gt; header, an &lt;code&gt;HTTP 400&lt;/code&gt; instead of an &lt;code&gt;HTTP 401&lt;/code&gt; is returned.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Tue, 20 Feb 2024 00:00:00 GMT</pubDate></item><item><title>R2 - 2024-02-06</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2024-02-06</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2024-02-06</guid><description>&lt;ul&gt;
&lt;li&gt;The response shape of &lt;code&gt;GET /buckets/:bucket/sippy&lt;/code&gt; has changed.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;/buckets/:bucket/sippy/validate&lt;/code&gt; endpoint is exposed over APIGW to validate Sippy&amp;#39;s configuration.&lt;/li&gt;
&lt;li&gt;The shape of the configuration object when modifying Sippy&amp;#39;s configuration has changed.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Tue, 06 Feb 2024 00:00:00 GMT</pubDate></item><item><title>R2 - 2024-02-02</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2024-02-02</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2024-02-02</guid><description>&lt;ul&gt;
&lt;li&gt;Updated &lt;a href=&quot;https://developers.cloudflare.com/api/resources/r2/subresources/buckets/methods/get/&quot;&gt;GetBucket&lt;/a&gt; endpoint: Now fetches by &lt;code&gt;bucket_name&lt;/code&gt; instead of &lt;code&gt;bucket_id&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Fri, 02 Feb 2024 00:00:00 GMT</pubDate></item><item><title>R2 - 2024-01-30</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2024-01-30</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2024-01-30</guid><description>&lt;ul&gt;
&lt;li&gt;Fixed a bug where the API would accept empty strings in the &lt;code&gt;AllowedHeaders&lt;/code&gt; property of &lt;code&gt;PutBucketCors&lt;/code&gt; actions.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Tue, 30 Jan 2024 00:00:00 GMT</pubDate></item><item><title>R2 - 2024-01-26</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2024-01-26</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2024-01-26</guid><description>&lt;ul&gt;
&lt;li&gt;Parts are now automatically sorted in ascending order regardless of input during &lt;code&gt;CompleteMultipartUpload&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Fri, 26 Jan 2024 00:00:00 GMT</pubDate></item><item><title>R2 - 2024-01-11</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2024-01-11</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2024-01-11</guid><description>&lt;ul&gt;
&lt;li&gt;Sippy is available for Google Cloud Storage (GCS) beta.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Thu, 11 Jan 2024 00:00:00 GMT</pubDate></item><item><title>R2 - 2023-12-11</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2023-12-11</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2023-12-11</guid><description>&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;x-id&lt;/code&gt; query param for &lt;code&gt;S3 ListBuckets&lt;/code&gt; action is now ignored.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;x-id&lt;/code&gt; query param is now ignored for all S3 actions.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Mon, 11 Dec 2023 00:00:00 GMT</pubDate></item><item><title>R2 - 2023-10-23</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2023-10-23</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2023-10-23</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;code&gt;PutBucketCors&lt;/code&gt; now only accepts valid origins.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Mon, 23 Oct 2023 00:00:00 GMT</pubDate></item><item><title>R2 - 2023-09-01</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2023-09-01</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2023-09-01</guid><description>&lt;ul&gt;
&lt;li&gt;Fixed an issue with &lt;code&gt;ListBuckets&lt;/code&gt; where the &lt;code&gt;name_contains&lt;/code&gt; parameter would also search over the jurisdiction name.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Fri, 01 Sep 2023 00:00:00 GMT</pubDate></item><item><title>R2 - 2023-08-23</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2023-08-23</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2023-08-23</guid><description>&lt;ul&gt;
&lt;li&gt;Config Audit Logs GA.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Wed, 23 Aug 2023 00:00:00 GMT</pubDate></item><item><title>R2 - 2023-08-11</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2023-08-11</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2023-08-11</guid><description>&lt;ul&gt;
&lt;li&gt;Users can now complete conditional multipart publish operations. When a condition failure occurs when publishing an upload, the upload is no longer available and is treated as aborted.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Fri, 11 Aug 2023 00:00:00 GMT</pubDate></item><item><title>R2 - 2023-07-05</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2023-07-05</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2023-07-05</guid><description>&lt;ul&gt;
&lt;li&gt;Improved performance for ranged reads on very large files. Previously ranged reads near the end of very large files would be noticeably slower than
ranged reads on smaller files. Performance should now be consistently good independent of filesize.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Wed, 05 Jul 2023 00:00:00 GMT</pubDate></item><item><title>R2 - 2023-06-21</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2023-06-21</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2023-06-21</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.cloudflare.com/r2/objects/upload-objects/#etags&quot;&gt;Multipart ETags&lt;/a&gt; are now MD5
hashes.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Wed, 21 Jun 2023 00:00:00 GMT</pubDate></item><item><title>R2 - 2023-06-16</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2023-06-16</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2023-06-16</guid><description>&lt;ul&gt;
&lt;li&gt;Fixed a bug where calling &lt;a href=&quot;https://developers.cloudflare.com/api/resources/r2/subresources/buckets/methods/get/&quot;&gt;GetBucket&lt;/a&gt; on a non-existent bucket would return a 500 instead of a 404.&lt;/li&gt;
&lt;li&gt;Improved S3 compatibility for ListObjectsV1, now nextmarker is only set when truncated is true.&lt;/li&gt;
&lt;li&gt;The R2 worker bindings now support parsing conditional headers with multiple etags. These etags can now be strong, weak or a wildcard. Previously the bindings only accepted headers containing a single strong etag.&lt;/li&gt;
&lt;li&gt;S3 putObject now supports sha256 and sha1 checksums. These were already supported by the R2 worker bindings.&lt;/li&gt;
&lt;li&gt;CopyObject in the S3 compatible api now supports Cloudflare specific headers which allow the copy operation to be conditional on the state of the destination object.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Fri, 16 Jun 2023 00:00:00 GMT</pubDate></item><item><title>R2 - 2023-04-01</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2023-04-01</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2023-04-01</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.cloudflare.com/api/resources/r2/subresources/buckets/methods/get/&quot;&gt;GetBucket&lt;/a&gt; is now available for use through the Cloudflare API.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developers.cloudflare.com/r2/reference/data-location/&quot;&gt;Location hints&lt;/a&gt; can now be set when creating a bucket, both through the S3 API, and the dashboard.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Sat, 01 Apr 2023 00:00:00 GMT</pubDate></item><item><title>R2 - 2023-03-16</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2023-03-16</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2023-03-16</guid><description>&lt;ul&gt;
&lt;li&gt;The ListParts API has been implemented and is available for use.&lt;/li&gt;
&lt;li&gt;HTTP2 is now enabled by default for new custom domains linked to R2 buckets.&lt;/li&gt;
&lt;li&gt;Object Lifecycles are now available for use.&lt;/li&gt;
&lt;li&gt;Bug fix: Requests to public buckets will now return the &lt;code&gt;Content-Encoding&lt;/code&gt; header for gzip files when &lt;code&gt;Accept-Encoding: gzip&lt;/code&gt; is used.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Thu, 16 Mar 2023 00:00:00 GMT</pubDate></item><item><title>R2 - 2023-01-27</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2023-01-27</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2023-01-27</guid><description>&lt;ul&gt;
&lt;li&gt;R2 authentication tokens created via the R2 token page are now scoped
to a single account by default.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Fri, 27 Jan 2023 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-12-07</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-12-07</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-12-07</guid><description>&lt;ul&gt;
&lt;li&gt;Fix CORS preflight requests for the S3 API, which allows using the S3 SDK in the browser.&lt;/li&gt;
&lt;li&gt;Passing a range header to the &lt;code&gt;get&lt;/code&gt; operation in the R2 bindings API should now work as expected.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Wed, 07 Dec 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-11-30</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-11-30</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-11-30</guid><description>&lt;ul&gt;
&lt;li&gt;Requests with the header &lt;code&gt;x-amz-acl: public-read&lt;/code&gt; are no longer rejected.&lt;/li&gt;
&lt;li&gt;Fixed issues with wildcard CORS rules and presigned URLs.&lt;/li&gt;
&lt;li&gt;Fixed an issue where &lt;code&gt;ListObjects&lt;/code&gt; would time out during delimited listing of unicode-normalized keys.&lt;/li&gt;
&lt;li&gt;S3 API&amp;#39;s &lt;code&gt;PutBucketCors&lt;/code&gt; now rejects requests with unknown keys in the XML body.&lt;/li&gt;
&lt;li&gt;Signing additional headers no longer breaks CORS preflight requests for presigned URLs.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Wed, 30 Nov 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-11-21</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-11-21</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-11-21</guid><description>&lt;ul&gt;
&lt;li&gt;Fixed a bug in &lt;code&gt;ListObjects&lt;/code&gt; where &lt;code&gt;startAfter&lt;/code&gt; would skip over objects with keys that have numbers right after the &lt;code&gt;startAfter&lt;/code&gt; prefix.&lt;/li&gt;
&lt;li&gt;Add worker bindings for multipart uploads.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Mon, 21 Nov 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-11-17</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-11-17</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-11-17</guid><description>&lt;ul&gt;
&lt;li&gt;Unconditionally return HTTP 206 on ranged requests to match behavior of other S3 compatible implementations.&lt;/li&gt;
&lt;li&gt;Fixed a CORS bug where &lt;code&gt;AllowedHeaders&lt;/code&gt; in the CORS config were being treated case-sensitively.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Thu, 17 Nov 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-11-08</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-11-08</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-11-08</guid><description>&lt;ul&gt;
&lt;li&gt;Copying multipart objects via &lt;code&gt;CopyObject&lt;/code&gt; is re-enabled.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;UploadPartCopy&lt;/code&gt; is re-enabled.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Tue, 08 Nov 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-10-28</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-10-28</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-10-28</guid><description>&lt;ul&gt;
&lt;li&gt;Multipart upload part sizes are always expected to be of the same size, but this enforcement is now done when you complete an upload instead of being done very time you upload a part.&lt;/li&gt;
&lt;li&gt;Fixed a performance issue where concurrent multipart part uploads would get rejected.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Fri, 28 Oct 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-10-26</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-10-26</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-10-26</guid><description>&lt;ul&gt;
&lt;li&gt;Fixed ranged reads for multipart objects with part sizes unaligned
to 64KiB.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Wed, 26 Oct 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-10-19</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-10-19</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-10-19</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;code&gt;HeadBucket&lt;/code&gt; now sets &lt;code&gt;x-amz-bucket-region&lt;/code&gt; to &lt;code&gt;auto&lt;/code&gt; in the response.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Wed, 19 Oct 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-10-06</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-10-06</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-10-06</guid><description>&lt;ul&gt;
&lt;li&gt;Temporarily disabled &lt;code&gt;UploadPartCopy&lt;/code&gt; while we investigate an issue.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Thu, 06 Oct 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-09-29</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-09-29</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-09-29</guid><description>&lt;ul&gt;
&lt;li&gt;Fixed a CORS issue where &lt;code&gt;Access-Control-Allow-Headers&lt;/code&gt; was not being
set for preflight requests.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Thu, 29 Sep 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-09-28</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-09-28</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-09-28</guid><description>&lt;ul&gt;
&lt;li&gt;Fixed a bug where CORS configuration was not being applied to S3 endpoint.&lt;/li&gt;
&lt;li&gt;No-longer render the &lt;code&gt;Access-Control-Expose-Headers&lt;/code&gt; response header if &lt;code&gt;ExposeHeader&lt;/code&gt; is not defined.&lt;/li&gt;
&lt;li&gt;Public buckets will no-longer return the &lt;code&gt;Content-Range&lt;/code&gt; response header unless the response is partial.&lt;/li&gt;
&lt;li&gt;Fixed CORS rendering for the S3 &lt;code&gt;HeadObject&lt;/code&gt; operation.&lt;/li&gt;
&lt;li&gt;Fixed a bug where no matching CORS configuration could result in a &lt;code&gt;403&lt;/code&gt; response.&lt;/li&gt;
&lt;li&gt;Temporarily disable copying objects that were created with multipart uploads.&lt;/li&gt;
&lt;li&gt;Fixed a bug in the Workers bindings where an internal error was being returned for malformed ranged &lt;code&gt;.get&lt;/code&gt; requests.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Wed, 28 Sep 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-09-27</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-09-27</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-09-27</guid><description>&lt;ul&gt;
&lt;li&gt;CORS preflight responses and adding CORS headers for other responses is now implemented for S3 and public buckets. Currently, the only way to configure CORS is via the S3 API.&lt;/li&gt;
&lt;li&gt;Fixup for bindings list truncation to work more correctly when listing keys with custom metadata that have &lt;code&gt;&amp;quot;&lt;/code&gt; or when some keys/values contain certain multi-byte UTF-8 values.&lt;/li&gt;
&lt;li&gt;The S3 &lt;code&gt;GetObject&lt;/code&gt; operation now only returns &lt;code&gt;Content-Range&lt;/code&gt; in response to a ranged request.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Tue, 27 Sep 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-09-19</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-09-19</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-09-19</guid><description>&lt;ul&gt;
&lt;li&gt;The R2 &lt;code&gt;put()&lt;/code&gt; binding options can now be given an &lt;code&gt;onlyIf&lt;/code&gt; field, similar to &lt;code&gt;get()&lt;/code&gt;, that performs a conditional upload.&lt;/li&gt;
&lt;li&gt;The R2 &lt;code&gt;delete()&lt;/code&gt; binding now supports deleting multiple keys at once.&lt;/li&gt;
&lt;li&gt;The R2 &lt;code&gt;put()&lt;/code&gt; binding now supports user-specified SHA-1, SHA-256, SHA-384, SHA-512 checksums in options.&lt;/li&gt;
&lt;li&gt;User-specified object checksums will now be available in the R2 &lt;code&gt;get()&lt;/code&gt; and &lt;code&gt;head()&lt;/code&gt; bindings response. MD5 is included by default for non-multipart uploaded objects.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Mon, 19 Sep 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-09-06</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-09-06</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-09-06</guid><description>&lt;ul&gt;
&lt;li&gt;The S3 &lt;code&gt;CopyObject&lt;/code&gt; operation now includes &lt;code&gt;x-amz-version-id&lt;/code&gt; and &lt;code&gt;x-amz-copy-source-version-id&lt;/code&gt; in the response headers for consistency with other methods.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;ETag&lt;/code&gt; for multipart files uploaded until shortly after Open Beta uploaded now include the number of parts as a suffix.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Tue, 06 Sep 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-08-17</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-08-17</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-08-17</guid><description>&lt;ul&gt;
&lt;li&gt;The S3 &lt;code&gt;DeleteObjects&lt;/code&gt; 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 &lt;code&gt;DeleteObject&lt;/code&gt; operation was not affected by this.&lt;/li&gt;
&lt;li&gt;Fixed presigned URL support for the S3 &lt;code&gt;ListBuckets&lt;/code&gt; and &lt;code&gt;ListObjects&lt;/code&gt; operations.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Wed, 17 Aug 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-08-06</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-08-06</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-08-06</guid><description>&lt;ul&gt;
&lt;li&gt;Uploads will automatically infer the &lt;code&gt;Content-Type&lt;/code&gt; based on file body
if one is not explicitly set in the &lt;code&gt;PutObject&lt;/code&gt; request. This functionality will
come to multipart operations in the future.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Sat, 06 Aug 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-07-30</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-07-30</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-07-30</guid><description>&lt;ul&gt;
&lt;li&gt;Fixed S3 conditionals to work properly when provided the &lt;code&gt;LastModified&lt;/code&gt; date of the last upload, bindings fixes will come in the next release.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;If-Match&lt;/code&gt; / &lt;code&gt;If-None-Match&lt;/code&gt; headers now support arrays of ETags, Weak ETags and wildcard (&lt;code&gt;*&lt;/code&gt;) as per the HTTP standard and undocumented AWS S3 behavior.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Sat, 30 Jul 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-07-21</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-07-21</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-07-21</guid><description>&lt;ul&gt;
&lt;li&gt;Added dummy implementation of the following operation that mimics
the response that a basic AWS S3 bucket will return when first created: &lt;code&gt;GetBucketAcl&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Thu, 21 Jul 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-07-20</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-07-20</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-07-20</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Added dummy implementations of the following operations that mimic the response that a basic AWS S3 bucket will return when first created:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;GetBucketVersioning&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GetBucketLifecycleConfiguration&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GetBucketReplication&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GetBucketTagging&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GetObjectLockConfiguration&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Wed, 20 Jul 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-07-19</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-07-19</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-07-19</guid><description>&lt;ul&gt;
&lt;li&gt;Fixed an S3 compatibility issue for error responses with MinIO .NET SDK and any other tooling that expects no &lt;code&gt;xmlns&lt;/code&gt; namespace attribute on the top-level &lt;code&gt;Error&lt;/code&gt; tag.&lt;/li&gt;
&lt;li&gt;List continuation tokens prior to 2022-07-01 are no longer accepted and must be obtained again through a new &lt;code&gt;list&lt;/code&gt; operation.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;list()&lt;/code&gt; binding will now correctly return a smaller limit if too much data would otherwise be returned (previously would return an &lt;code&gt;Internal Error&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Tue, 19 Jul 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-07-14</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-07-14</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-07-14</guid><description>&lt;ul&gt;
&lt;li&gt;Improvements to 500s: we now convert errors, so things that were previously concurrency problems for some operations should now be &lt;code&gt;TooMuchConcurrency&lt;/code&gt; instead of &lt;code&gt;InternalError&lt;/code&gt;. We&amp;#39;ve also reduced the rate of 500s through internal improvements.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ListMultipartUpload&lt;/code&gt; correctly encodes the returned &lt;code&gt;Key&lt;/code&gt; if the &lt;code&gt;encoding-type&lt;/code&gt; is specified.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Thu, 14 Jul 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-07-13</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-07-13</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-07-13</guid><description>&lt;ul&gt;
&lt;li&gt;S3 XML documents sent to R2 that have an XML declaration are not rejected with &lt;code&gt;400 Bad Request&lt;/code&gt; / &lt;code&gt;MalformedXML&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Minor S3 XML compatibility fix impacting Arq Backup on Windows only (not the Mac version). Response now contains XML declaration tag prefix and the xmlns attribute is present on all top-level tags in the response.&lt;/li&gt;
&lt;li&gt;Beta &lt;code&gt;ListMultipartUploads&lt;/code&gt; support.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Wed, 13 Jul 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-07-06</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-07-06</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-07-06</guid><description>&lt;ul&gt;
&lt;li&gt;Support the &lt;code&gt;r2_list_honor_include&lt;/code&gt; 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 &lt;code&gt;include: [&amp;#39;httpMetadata&amp;#39;, &amp;#39;customMetadata&amp;#39;]&lt;/code&gt; regardless of what you specify.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cf-create-bucket-if-missing&lt;/code&gt; can be set on a &lt;code&gt;PutObject&lt;/code&gt;/&lt;code&gt;CreateMultipartUpload&lt;/code&gt; request to implicitly create the bucket if it does not exist.&lt;/li&gt;
&lt;li&gt;Fix S3 compatibility with MinIO client spec non-compliant XML for publishing multipart uploads. Any leading and trailing quotes in &lt;code&gt;CompleteMultipartUpload&lt;/code&gt; are now optional and ignored as it seems to be the actual non-standard behavior AWS implements.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Wed, 06 Jul 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-07-01</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-07-01</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-07-01</guid><description>&lt;ul&gt;
&lt;li&gt;Unsupported search parameters to &lt;code&gt;ListObjects&lt;/code&gt;/&lt;code&gt;ListObjectsV2&lt;/code&gt; are
now rejected with &lt;code&gt;501 Not Implemented&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Fixes for Listing:&lt;ul&gt;
&lt;li&gt;Fix listing behavior when the number of files within a folder exceeds the limit (you&amp;#39;d end
up seeing a CommonPrefix for that large folder N times where N = number of children
within the CommonPrefix / limit).&lt;/li&gt;
&lt;li&gt;Fix corner case where listing could cause
objects with sharing the base name of a &amp;quot;folder&amp;quot; to be skipped.&lt;/li&gt;
&lt;li&gt;Fix listing over some files that shared a certain common prefix.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;DeleteObjects&lt;/code&gt; can now handle 1000 objects at a time.&lt;/li&gt;
&lt;li&gt;S3 &lt;code&gt;CreateBucket&lt;/code&gt; request can specify &lt;code&gt;x-amz-bucket-object-lock-enabled&lt;/code&gt; with a value of &lt;code&gt;false&lt;/code&gt; and not have the requested rejected with a &lt;code&gt;NotImplemented&lt;/code&gt;
error. A value of &lt;code&gt;true&lt;/code&gt; will continue to be rejected as R2 does not yet support
object locks.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Fri, 01 Jul 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-06-17</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-06-17</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-06-17</guid><description>&lt;ul&gt;
&lt;li&gt;Fixed a regression for some clients when using an empty delimiter.&lt;/li&gt;
&lt;li&gt;Added support for S3 pre-signed URLs.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Fri, 17 Jun 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-06-16</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-06-16</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-06-16</guid><description>&lt;ul&gt;
&lt;li&gt;Fixed a regression in the S3 API &lt;code&gt;UploadPart&lt;/code&gt; operation where &lt;code&gt;TooMuchConcurrency&lt;/code&gt;
&amp;amp; &lt;code&gt;NoSuchUpload&lt;/code&gt; errors were being returned as &lt;code&gt;NoSuchBucket&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Thu, 16 Jun 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-06-13</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-06-13</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-06-13</guid><description>&lt;ul&gt;
&lt;li&gt;Fixed a bug with the S3 API &lt;code&gt;ListObjectsV2&lt;/code&gt; operation not returning empty folder/s as common prefixes when using delimiters.&lt;/li&gt;
&lt;li&gt;The S3 API &lt;code&gt;ListObjectsV2&lt;/code&gt; &lt;code&gt;KeyCount&lt;/code&gt; parameter now correctly returns the sum of keys and common prefixes rather than just the keys.&lt;/li&gt;
&lt;li&gt;Invalid cursors for list operations no longer fail with an &lt;code&gt;InternalError&lt;/code&gt; and now return the appropriate error message.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Mon, 13 Jun 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-06-10</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-06-10</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-06-10</guid><description>&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;ContinuationToken&lt;/code&gt; field is now correctly returned in the response if provided in a S3 API &lt;code&gt;ListObjectsV2&lt;/code&gt; request.&lt;/li&gt;
&lt;li&gt;Fixed a bug where the S3 API &lt;code&gt;AbortMultipartUpload&lt;/code&gt; operation threw an error when called multiple times.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Fri, 10 Jun 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-05-27</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-05-27</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-05-27</guid><description>&lt;ul&gt;
&lt;li&gt;Fixed a bug where the S3 API&amp;#39;s &lt;code&gt;PutObject&lt;/code&gt; or the &lt;code&gt;.put()&lt;/code&gt; binding could fail but still show the bucket upload as successful.&lt;/li&gt;
&lt;li&gt;If &lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc7232&quot;&gt;conditional headers&lt;/a&gt; are provided to S3 API &lt;code&gt;UploadObject&lt;/code&gt; or &lt;code&gt;CreateMultipartUpload&lt;/code&gt; operations, and the object exists, a &lt;code&gt;412 Precondition Failed&lt;/code&gt; status code will be returned if these checks are not met.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Fri, 27 May 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-05-20</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-05-20</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-05-20</guid><description>&lt;ul&gt;
&lt;li&gt;Fixed a bug when &lt;code&gt;Accept-Encoding&lt;/code&gt; was being used in &lt;code&gt;SignedHeaders&lt;/code&gt;
when sending requests to the S3 API would result in a &lt;code&gt;SignatureDoesNotMatch&lt;/code&gt;
response.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Fri, 20 May 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-05-17</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-05-17</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-05-17</guid><description>&lt;ul&gt;
&lt;li&gt;Fixed a bug where requests to the S3 API were not handling non-encoded parameters used for the authorization signature.&lt;/li&gt;
&lt;li&gt;Fixed a bug where requests to the S3 API where number-like keys were being parsed as numbers instead of strings.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Tue, 17 May 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-05-16</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-05-16</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-05-16</guid><description>&lt;ul&gt;
&lt;li&gt;Add support for S3 &lt;a href=&quot;https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html&quot;&gt;virtual-hosted style paths&lt;/a&gt;, such as &lt;code&gt;&amp;lt;BUCKET&amp;gt;.&amp;lt;ACCOUNT_ID&amp;gt;.r2.cloudflarestorage.com&lt;/code&gt; instead of path-based routing (&lt;code&gt;&amp;lt;ACCOUNT_ID&amp;gt;.r2.cloudflarestorage.com/&amp;lt;BUCKET&amp;gt;&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Implemented &lt;code&gt;GetBucketLocation&lt;/code&gt; for compatibility with external tools, this will always return a &lt;code&gt;LocationConstraint&lt;/code&gt; of &lt;code&gt;auto&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Mon, 16 May 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-05-06</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-05-06</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-05-06</guid><description>&lt;ul&gt;
&lt;li&gt;S3 API &lt;code&gt;GetObject&lt;/code&gt; ranges are now inclusive (&lt;code&gt;bytes=0-0&lt;/code&gt; will correctly return the first byte).&lt;/li&gt;
&lt;li&gt;S3 API &lt;code&gt;GetObject&lt;/code&gt; partial reads return the proper &lt;code&gt;206 Partial Content&lt;/code&gt; response code.&lt;/li&gt;
&lt;li&gt;Copying from a non-existent key (or from a non-existent bucket) to another bucket now returns the proper &lt;code&gt;NoSuchKey&lt;/code&gt; / &lt;code&gt;NoSuchBucket&lt;/code&gt; response.&lt;/li&gt;
&lt;li&gt;The S3 API now returns the proper &lt;code&gt;Content-Type: application/xml&lt;/code&gt; response header on relevant endpoints.&lt;/li&gt;
&lt;li&gt;Multipart uploads now have a &lt;code&gt;-N&lt;/code&gt; suffix on the etag representing the number of parts the file was published with.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;UploadPart&lt;/code&gt; and &lt;code&gt;UploadPartCopy&lt;/code&gt; now return proper error messages, such as &lt;code&gt;TooMuchConcurrency&lt;/code&gt; or &lt;code&gt;NoSuchUpload&lt;/code&gt;, instead of &amp;#39;internal error&amp;#39;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;UploadPart&lt;/code&gt; can now be sent a 0-length part.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Fri, 06 May 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-05-05</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-05-05</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-05-05</guid><description>&lt;ul&gt;
&lt;li&gt;When using the S3 API, an empty string and &lt;code&gt;us-east-1&lt;/code&gt; will now alias to the &lt;code&gt;auto&lt;/code&gt; region for compatibility with external tools.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GetBucketEncryption&lt;/code&gt;, &lt;code&gt;PutBucketEncryption&lt;/code&gt; and &lt;code&gt;DeleteBucketEncrypotion&lt;/code&gt; are now supported (the only supported value currently is &lt;code&gt;AES256&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Unsupported operations are explicitly rejected as unimplemented rather than implicitly converting them into &lt;code&gt;ListObjectsV2&lt;/code&gt;/&lt;code&gt;PutBucket&lt;/code&gt;/&lt;code&gt;DeleteBucket&lt;/code&gt; respectively.&lt;/li&gt;
&lt;li&gt;S3 API &lt;code&gt;CompleteMultipartUploads&lt;/code&gt; requests are now properly escaped.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Thu, 05 May 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-05-03</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-05-03</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-05-03</guid><description>&lt;ul&gt;
&lt;li&gt;Pagination cursors are no longer returned when the keys in a bucket is the same as the &lt;code&gt;MaxKeys&lt;/code&gt; argument.&lt;/li&gt;
&lt;li&gt;The S3 API &lt;code&gt;ListBuckets&lt;/code&gt; operation now accepts &lt;code&gt;cf-max-keys&lt;/code&gt;, &lt;code&gt;cf-start-after&lt;/code&gt; and &lt;code&gt;cf-continuation-token&lt;/code&gt; headers behave the same as the respective URL parameters.&lt;/li&gt;
&lt;li&gt;The S3 API &lt;code&gt;ListBuckets&lt;/code&gt; and &lt;code&gt;ListObjects&lt;/code&gt; endpoints now allow &lt;code&gt;per_page&lt;/code&gt; to be 0.&lt;/li&gt;
&lt;li&gt;The S3 API &lt;code&gt;CopyObject&lt;/code&gt; source parameter now requires a leading slash.&lt;/li&gt;
&lt;li&gt;The S3 API &lt;code&gt;CopyObject&lt;/code&gt; operation now returns a &lt;code&gt;NoSuchBucket&lt;/code&gt; error when copying to a non-existent bucket instead of an internal error.&lt;/li&gt;
&lt;li&gt;Enforce the requirement for &lt;code&gt;auto&lt;/code&gt; in SigV4 signing and the &lt;code&gt;CreateBucket&lt;/code&gt; &lt;code&gt;LocationConstraint&lt;/code&gt; parameter.&lt;/li&gt;
&lt;li&gt;The S3 API &lt;code&gt;CreateBucket&lt;/code&gt; operation now returns the proper &lt;code&gt;location&lt;/code&gt; response header.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Tue, 03 May 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-04-14</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-04-14</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-04-14</guid><description>&lt;ul&gt;
&lt;li&gt;The S3 API now supports unchunked signed payloads.&lt;/li&gt;
&lt;li&gt;Fixed &lt;code&gt;.put()&lt;/code&gt; for the Workers R2 bindings.&lt;/li&gt;
&lt;li&gt;Fixed a regression where key names were not properly decoded when using the S3 API.&lt;/li&gt;
&lt;li&gt;Fixed a bug where deleting an object and then another object which is a prefix of the first could result in errors.&lt;/li&gt;
&lt;li&gt;The S3 API &lt;code&gt;DeleteObjects&lt;/code&gt; operation no longer returns an error even though an object has been deleted in some cases.&lt;/li&gt;
&lt;li&gt;Fixed a bug where &lt;code&gt;startAfter&lt;/code&gt; and &lt;code&gt;continuationToken&lt;/code&gt; were not working in list operations.&lt;/li&gt;
&lt;li&gt;The S3 API &lt;code&gt;ListObjects&lt;/code&gt; operation now correctly renders &lt;code&gt;Prefix&lt;/code&gt;, &lt;code&gt;Delimiter&lt;/code&gt;, &lt;code&gt;StartAfter&lt;/code&gt; and &lt;code&gt;MaxKeys&lt;/code&gt; in the response.&lt;/li&gt;
&lt;li&gt;The S3 API &lt;code&gt;ListObjectsV2&lt;/code&gt; now correctly honors the &lt;code&gt;encoding-type&lt;/code&gt; parameter.&lt;/li&gt;
&lt;li&gt;The S3 API &lt;code&gt;PutObject&lt;/code&gt; operation now works with &lt;code&gt;POST&lt;/code&gt; requests for &lt;code&gt;s3cmd&lt;/code&gt; compatibility.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Thu, 14 Apr 2022 00:00:00 GMT</pubDate></item><item><title>R2 - 2022-04-04</title><link>https://developers.cloudflare.com/r2/platform/release-notes/#2022-04-04</link><guid isPermaLink="true">https://developers.cloudflare.com/r2/platform/release-notes/#2022-04-04</guid><description>&lt;ul&gt;
&lt;li&gt;The S3 API &lt;code&gt;DeleteObjects&lt;/code&gt; request now properly returns a &lt;code&gt;MalformedXML&lt;/code&gt;
error instead of &lt;code&gt;InternalError&lt;/code&gt; when provided with more than 128 keys.&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Mon, 04 Apr 2022 00:00:00 GMT</pubDate></item></channel></rss>