<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Changelog · D1</title><link>https://developers.cloudflare.com/d1/platform/changelog/</link><description>Updates to D1</description><language>en-us</language><atom:link href="https://developers.cloudflare.com/d1/platform/changelog/index.xml" rel="self"/><lastBuildDate>Fri, 26 Jul 2024 08:00:00 EST</lastBuildDate><item><title>Fixed bug in TypeScript typings for run() API</title><link>https://developers.cloudflare.com/d1/platform/changelog/#fixed-bug-in-typescript-typings-for-run-api</link><description>&lt;p>The &lt;code>run()&lt;/code> method as part of the &lt;a href=https://developers.cloudflare.com/d1/build-with-d1/d1-client-api/ class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">D1 Client API&lt;/span>&lt;/a> had an incorrect (outdated) type definition, which has now been addressed as of &lt;a href="https://www.npmjs.com/package/@cloudflare/workers-types" class="DocsMarkdown--link" target="_blank" rel="noopener">
&lt;span class="DocsMarkdown--link-content">&lt;code>@cloudflare/workers-types&lt;/code>&lt;/span>&lt;span class="DocsMarkdown--link-external-icon" aria-hidden="true">
&lt;svg fill="none" stroke="currentColor" stroke-width="1.5" width="23px" height="12px" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 16 16" role="img" aria-labelledby="title-4744738674102027" xmlns="http://www.w3.org/2000/svg">
&lt;title id="title-4744738674102027">External link icon&lt;/title>
&lt;path d="M6.75,1.75h-5v12.5h12.5v-5m0,-4v-3.5h-3.5M8,8l5.5-5.5">&lt;/path>
&lt;/svg>
&lt;span is-visually-hidden>&lt;/span>
&lt;/span>&lt;/a> version &lt;code>4.20240725.0&lt;/code>.&lt;/p>
&lt;p>The correct type definition is &lt;code>stmt.run&lt;T>(): D1Result&lt;/code>, as &lt;code>run()&lt;/code> returns the result rows of the query. The previously &lt;em>incorrect&lt;/em> type definition was &lt;code>stmt.run(): D1Response&lt;/code>, which only returns query metadata and no results.&lt;/p></description><pubDate>Fri, 26 Jul 2024 08:00:00 EST</pubDate></item><item><title>HTTP API now returns a HTTP 429 error for overloaded D1 databases</title><link>https://developers.cloudflare.com/d1/platform/changelog/#http-api-now-returns-a-http-429-error-for-overloaded-d1-databases</link><description>&lt;p>Previously, D1’s &lt;a href="https://developers.cloudflare.com/api/operations/cloudflare-d1-query-database" class="DocsMarkdown--link" target="_blank" rel="noopener">
&lt;span class="DocsMarkdown--link-content">HTTP API&lt;/span>&lt;span class="DocsMarkdown--link-api-icon" aria-hidden="true">
&lt;svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="23px" height="12px" viewBox="0 0 23 12" version="1.1">
&lt;title>API link label&lt;/title>
&lt;g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
&lt;g id="Group">
&lt;rect id="Rectangle" fill="#e06d10" x="0" y="0" width="23" height="12" rx="2"/>
&lt;path d="M8.12890625,10 L9.58984375,10 L6.83984375,2.24951172 L5.27685547,2.24951172 L2.52685547,10 L3.95556641,10 L4.61621094,7.99658203 L7.46826172,7.99658203 L8.12890625,10 Z M6.0234375,3.61914062 L6.06103516,3.61914062 L7.140625,6.92773438 L4.93847656,6.92773438 L6.0234375,3.61914062 Z M10.9169922,2.24951172 L10.9169922,10 L12.3027344,10 L12.3027344,7.43798828 L13.8710938,7.43798828 C15.4394531,7.43798828 16.5405273,6.390625 16.5405273,4.84375 C16.5405273,3.296875 15.4716797,2.24951172 13.9301758,2.24951172 L10.9169922,2.24951172 Z M12.3027344,3.3828125 L13.5649414,3.3828125 C14.5585938,3.3828125 15.1333008,3.91455078 15.1333008,4.84375 C15.1333008,5.78369141 14.5532227,6.32080078 13.5595703,6.32080078 L12.3027344,6.32080078 L12.3027344,3.3828125 Z M19.4360352,10 L18.050293,10 L18.050293,2.24951172 L19.4360352,2.24951172 L19.4360352,10 Z" id="API" fill="#FFFFFF" fill-rule="nonzero"/>
&lt;/g>
&lt;/g>
&lt;/svg>
&lt;span is-visually-hidden>Open API docs link&lt;/span>
&lt;/span>&lt;/a> returned a HTTP &lt;code>500 Internal Server&lt;/code> error for queries that came in while a D1 database was overloaded. These requests now correctly return a &lt;code>HTTP 429 Too Many Requests&lt;/code> error.&lt;/p>
&lt;p>D1’s &lt;a href=https://developers.cloudflare.com/d1/build-with-d1/d1-client-api/ class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">Workers API&lt;/span>&lt;/a> is unaffected by this change.&lt;/p></description><pubDate>Mon, 17 Jun 2024 08:00:00 EST</pubDate></item><item><title>D1 alpha databases will stop accepting live SQL queries on August 15, 2024</title><link>https://developers.cloudflare.com/d1/platform/changelog/#d1-alpha-databases-will-stop-accepting-live-sql-queries-on-august-15-2024</link><description>&lt;p>Previously &lt;a href=https://developers.cloudflare.com/d1/platform/changelog/#2024-04-05 class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">deprecated alpha&lt;/span>&lt;/a> D1 databases need to be migrated by August 15, 2024 to accept new queries.&lt;/p>
&lt;p>Refer to &lt;a href=https://developers.cloudflare.com/d1/platform/alpha-migration/ class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">alpha database migration guide&lt;/span>&lt;/a> to migrate to the new, generally available, database architecture.&lt;/p></description><pubDate>Tue, 30 Apr 2024 08:00:00 EST</pubDate></item><item><title>HTTP API now returns a HTTP 400 error for invalid queries</title><link>https://developers.cloudflare.com/d1/platform/changelog/#http-api-now-returns-a-http-400-error-for-invalid-queries</link><description>&lt;p>Previously, D1’s &lt;a href="https://developers.cloudflare.com/api/operations/cloudflare-d1-query-database" class="DocsMarkdown--link" target="_blank" rel="noopener">
&lt;span class="DocsMarkdown--link-content">HTTP API&lt;/span>&lt;span class="DocsMarkdown--link-api-icon" aria-hidden="true">
&lt;svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="23px" height="12px" viewBox="0 0 23 12" version="1.1">
&lt;title>API link label&lt;/title>
&lt;g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
&lt;g id="Group">
&lt;rect id="Rectangle" fill="#e06d10" x="0" y="0" width="23" height="12" rx="2"/>
&lt;path d="M8.12890625,10 L9.58984375,10 L6.83984375,2.24951172 L5.27685547,2.24951172 L2.52685547,10 L3.95556641,10 L4.61621094,7.99658203 L7.46826172,7.99658203 L8.12890625,10 Z M6.0234375,3.61914062 L6.06103516,3.61914062 L7.140625,6.92773438 L4.93847656,6.92773438 L6.0234375,3.61914062 Z M10.9169922,2.24951172 L10.9169922,10 L12.3027344,10 L12.3027344,7.43798828 L13.8710938,7.43798828 C15.4394531,7.43798828 16.5405273,6.390625 16.5405273,4.84375 C16.5405273,3.296875 15.4716797,2.24951172 13.9301758,2.24951172 L10.9169922,2.24951172 Z M12.3027344,3.3828125 L13.5649414,3.3828125 C14.5585938,3.3828125 15.1333008,3.91455078 15.1333008,4.84375 C15.1333008,5.78369141 14.5532227,6.32080078 13.5595703,6.32080078 L12.3027344,6.32080078 L12.3027344,3.3828125 Z M19.4360352,10 L18.050293,10 L18.050293,2.24951172 L19.4360352,2.24951172 L19.4360352,10 Z" id="API" fill="#FFFFFF" fill-rule="nonzero"/>
&lt;/g>
&lt;/g>
&lt;/svg>
&lt;span is-visually-hidden>Open API docs link&lt;/span>
&lt;/span>&lt;/a> returned a HTTP &lt;code>500 Internal Server&lt;/code> error for an invalid query. An invalid SQL query now correctly returns a &lt;code>HTTP 400 Bad Request&lt;/code> error.&lt;/p>
&lt;p>D1’s &lt;a href=https://developers.cloudflare.com/d1/build-with-d1/d1-client-api/ class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">Workers API&lt;/span>&lt;/a> is unaffected by this change.&lt;/p></description><pubDate>Fri, 12 Apr 2024 08:00:00 EST</pubDate></item><item><title>D1 alpha databases are deprecated</title><link>https://developers.cloudflare.com/d1/platform/changelog/#d1-alpha-databases-are-deprecated</link><description>&lt;p>Now that D1 is generally available and production ready, alpha D1 databases are deprecated and should be migrated for better performance, reliability, and ongoing support.&lt;/p>
&lt;p>Refer to &lt;a href=https://developers.cloudflare.com/d1/platform/alpha-migration/ class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">alpha database migration guide&lt;/span>&lt;/a> to migrate to the new, generally available, database architecture.&lt;/p></description><pubDate>Fri, 05 Apr 2024 08:00:00 EST</pubDate></item><item><title>D1 is generally available</title><link>https://developers.cloudflare.com/d1/platform/changelog/#d1-is-generally-available</link><description>&lt;p>D1 is now generally available and production ready. Read the &lt;a href="https://blog.cloudflare.com/building-d1-a-global-database/" class="DocsMarkdown--link" target="_blank" rel="noopener">
&lt;span class="DocsMarkdown--link-content">blog post&lt;/span>&lt;span class="DocsMarkdown--link-external-icon" aria-hidden="true">
&lt;svg fill="none" stroke="currentColor" stroke-width="1.5" width="23px" height="12px" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 16 16" role="img" aria-labelledby="title-4744738674102027" xmlns="http://www.w3.org/2000/svg">
&lt;title id="title-4744738674102027">External link icon&lt;/title>
&lt;path d="M6.75,1.75h-5v12.5h12.5v-5m0,-4v-3.5h-3.5M8,8l5.5-5.5">&lt;/path>
&lt;/svg>
&lt;span is-visually-hidden>&lt;/span>
&lt;/span>&lt;/a> for more details on new features in GA and to learn more about the upcoming D1 read replication API.&lt;/p>
&lt;ul>
&lt;li>Developers with a Workers Paid plan now have a 10GB GB per-database limit (up from 2GB), which can be combined with existing limit of 50,000 databases per account.&lt;/li>
&lt;li>Developers with a Workers Free plan retain the 500 MB per-database limit and can create up to 10 databases per account.&lt;/li>
&lt;li>D1 databases can be &lt;a href=https://developers.cloudflare.com/d1/build-with-d1/import-export-data/#export-an-existing-d1-database class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">exported&lt;/span>&lt;/a> as a SQL file.&lt;/li>
&lt;/ul></description><pubDate>Mon, 01 Apr 2024 08:00:00 EST</pubDate></item><item><title>Change in `wrangler d1 execute` default</title><link>https://developers.cloudflare.com/d1/platform/changelog/#change-in-wrangler-d1-execute-default</link><description>&lt;p>As of &lt;code>wrangler@3.33.0&lt;/code>, &lt;code>wrangler d1 execute&lt;/code> and &lt;code>wrangler d1 migrations apply&lt;/code> now default to using a local database, to match the default behavior of &lt;code>wrangler dev&lt;/code>.&lt;/p>
&lt;p>It is also now possible to specify one of &lt;code>--local&lt;/code> or &lt;code>--remote&lt;/code> to explicitly tell wrangler which environment you wish to run your commands against.&lt;/p></description><pubDate>Tue, 12 Mar 2024 08:00:00 EST</pubDate></item><item><title>Billing for D1 usage</title><link>https://developers.cloudflare.com/d1/platform/changelog/#billing-for-d1-usage</link><description>&lt;p>As of 2024-03-05, D1 usage will start to be counted and may incur charges for an account’s future billing cycle.&lt;/p>
&lt;p>Developers on the Workers Paid plan with D1 usage beyond &lt;a href=https://developers.cloudflare.com/d1/platform/pricing/#billing-metrics class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">included limits&lt;/span>&lt;/a> will incur charges according to &lt;a href=https://developers.cloudflare.com/d1/platform/pricing class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">D1’s pricing&lt;/span>&lt;/a>.&lt;/p>
&lt;p>Developers on the Workers Free plan can use up to the included limits. Usage beyond the limits below requires signing up for the $5/month Workers Paid plan.&lt;/p>
&lt;p>Account billable metrics are available in the &lt;a href="https://dash.cloudflare.com" class="DocsMarkdown--link" target="_blank" rel="noopener">
&lt;span class="DocsMarkdown--link-content">Cloudflare Dashboard&lt;/span>&lt;span class="DocsMarkdown--link-external-icon" aria-hidden="true">
&lt;svg fill="none" stroke="currentColor" stroke-width="1.5" width="23px" height="12px" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 16 16" role="img" aria-labelledby="title-4744738674102027" xmlns="http://www.w3.org/2000/svg">
&lt;title id="title-4744738674102027">External link icon&lt;/title>
&lt;path d="M6.75,1.75h-5v12.5h12.5v-5m0,-4v-3.5h-3.5M8,8l5.5-5.5">&lt;/path>
&lt;/svg>
&lt;span is-visually-hidden>&lt;/span>
&lt;/span>&lt;/a> and &lt;a href=https://developers.cloudflare.com/d1/observability/metrics-analytics/#metrics class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">GraphQL API&lt;/span>&lt;/a>.&lt;/p></description><pubDate>Tue, 05 Mar 2024 08:00:00 EST</pubDate></item><item><title>API changes to `run()`</title><link>https://developers.cloudflare.com/d1/platform/changelog/#api-changes-to-run</link><description>&lt;p>A previous change (made on 2024-02-13) to the &lt;code>run()&lt;/code> &lt;a href=https://developers.cloudflare.com/d1/build-with-d1/d1-client-api/#await-stmtrun class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">query statement method&lt;/span>&lt;/a> has been reverted.&lt;/p>
&lt;p>&lt;code>run()&lt;/code> now returns a &lt;code>D1Result&lt;/code>, including the result rows, matching its original behaviour prior to the change on 2024-02-13.&lt;/p>
&lt;p>Future change to &lt;code>run()&lt;/code> to return a &lt;a href=https://developers.cloudflare.com/d1/build-with-d1/d1-client-api/#return-object class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">&lt;code>D1ExecResult&lt;/code>&lt;/span>&lt;/a>, as originally intended and documented, will be gated behind a &lt;a href=https://developers.cloudflare.com/workers/configuration/compatibility-dates/ class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">compatibility date&lt;/span>&lt;/a> as to avoid breaking existing Workers relying on the way &lt;code>run()&lt;/code> currently works.&lt;/p></description><pubDate>Fri, 16 Feb 2024 08:00:00 EST</pubDate></item><item><title>API changes to `raw()`, `all()` and `run()`</title><link>https://developers.cloudflare.com/d1/platform/changelog/#api-changes-to-raw-all-and-run</link><description>&lt;p>D1’s &lt;code>raw()&lt;/code>, &lt;code>all()&lt;/code> and &lt;code>run()&lt;/code> &lt;a href=https://developers.cloudflare.com/d1/build-with-d1/d1-client-api/#query-statement-methods class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">query statement methods&lt;/span>&lt;/a> have been updated to reflect their intended behaviour and improve compatibility with ORM libraries.&lt;/p>
&lt;p>&lt;code>raw()&lt;/code> now correctly returns results as an array of arrays, allowing the correct handling of duplicate column names (such as when joining tables), as compared to &lt;code>all()&lt;/code>, which is unchanged and returns an array of objects. To include an array of column names in the results when using &lt;code>raw()&lt;/code>, use &lt;code>raw({columnNames: true})&lt;/code>.&lt;/p>
&lt;p>&lt;code>run()&lt;/code> no longer incorrectly returns a &lt;code>D1Result&lt;/code> and instead returns a &lt;a href=https://developers.cloudflare.com/d1/build-with-d1/d1-client-api/#return-object class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">&lt;code>D1ExecResult&lt;/code>&lt;/span>&lt;/a> as originally intended and documented.&lt;/p>
&lt;p>This may be a breaking change for some applications that expected &lt;code>raw()&lt;/code> to return an array of objects.&lt;/p>
&lt;p>Refer to &lt;a href=https://developers.cloudflare.com/d1/build-with-d1/d1-client-api/ class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">D1 client API&lt;/span>&lt;/a> to review D1’s query methods, return types and TypeScript support in detail.&lt;/p></description><pubDate>Tue, 13 Feb 2024 08:00:00 EST</pubDate></item><item><title>Support for LIMIT on UPDATE and DELETE statements</title><link>https://developers.cloudflare.com/d1/platform/changelog/#support-for-limit-on-update-and-delete-statements</link><description>D1 now supports adding a &lt;code>LIMIT&lt;/code> clause to &lt;code>UPDATE&lt;/code> and &lt;code>DELETE&lt;/code> statements, which allows you to limit the impact of a potentially dangerous operation.</description><pubDate>Thu, 18 Jan 2024 08:00:00 EST</pubDate></item><item><title>Legacy alpha automated backups disabled</title><link>https://developers.cloudflare.com/d1/platform/changelog/#legacy-alpha-automated-backups-disabled</link><description>&lt;p>Databases using D1’s legacy alpha backend will no longer run automated &lt;a href=https://developers.cloudflare.com/d1/reference/backups/ class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">hourly backups&lt;/span>&lt;/a>. You may still choose to take manual backups of these databases.&lt;/p>
&lt;p>The D1 team recommends moving to D1’s new &lt;a href=https://developers.cloudflare.com/d1/platform/changelog/#the-d1-public-beta-is-here class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">production backend&lt;/span>&lt;/a>, which will require you to export and import your existing data. D1’s production backend is faster than the original alpha backend. The new backend also supports &lt;a href=https://developers.cloudflare.com/d1/reference/time-travel/ class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">Time Travel&lt;/span>&lt;/a>, which allows you to restore your database to any minute in the past 30 days without relying on hourly or manual snapshots.&lt;/p></description><pubDate>Mon, 18 Dec 2023 08:00:00 EST</pubDate></item><item><title>Create up to 50,000 D1 databases</title><link>https://developers.cloudflare.com/d1/platform/changelog/#create-up-to-50000-d1-databases</link><description>&lt;p>Developers using D1 on a Workers Paid plan can now create up to 50,000 databases as part of ongoing increases to D1’s limits.&lt;/p>
&lt;ul>
&lt;li>This further enables database-per-user use-cases and allows you to isolate data between customers.&lt;/li>
&lt;li>Total storage per account is now 50 GB.&lt;/li>
&lt;li>D1’s &lt;a href=https://developers.cloudflare.com/d1/observability/metrics-analytics/ class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">analytics and metrics&lt;/span>&lt;/a> provide per-database usage data.&lt;/li>
&lt;/ul>
&lt;p>If you need to create more than 50,000 databases or need more per-account storage, &lt;a href=https://developers.cloudflare.com/d1/platform/limits/ class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">reach out&lt;/span>&lt;/a> to the D1 team to discuss.&lt;/p></description><pubDate>Tue, 03 Oct 2023 08:00:00 EST</pubDate></item><item><title>The D1 public beta is here</title><link>https://developers.cloudflare.com/d1/platform/changelog/#the-d1-public-beta-is-here</link><description>&lt;p>D1 is now in public beta, and storage limits have been increased:&lt;/p>
&lt;ul>
&lt;li>Developers with a Workers Paid plan now have a 2 GB per-database limit (up from 500 MB) and can create 25 databases per account (up from 10). These limits will continue to increase automatically during the public beta.&lt;/li>
&lt;li>Developers with a Workers Free plan retain the 500 MB per-database limit and can create up to 10 databases per account.&lt;/li>
&lt;/ul>
&lt;p>Databases must be using D1’s &lt;a href=https://developers.cloudflare.com/d1/platform/changelog/#new-default-storage-subsystem class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">new storage subsystem&lt;/span>&lt;/a> to benefit from the increased database limits.&lt;/p>
&lt;p>Read the &lt;a href="https://blog.cloudflare.com/d1-open-beta-is-here/" class="DocsMarkdown--link" target="_blank" rel="noopener">
&lt;span class="DocsMarkdown--link-content">announcement blog&lt;/span>&lt;span class="DocsMarkdown--link-external-icon" aria-hidden="true">
&lt;svg fill="none" stroke="currentColor" stroke-width="1.5" width="23px" height="12px" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 16 16" role="img" aria-labelledby="title-4744738674102027" xmlns="http://www.w3.org/2000/svg">
&lt;title id="title-4744738674102027">External link icon&lt;/title>
&lt;path d="M6.75,1.75h-5v12.5h12.5v-5m0,-4v-3.5h-3.5M8,8l5.5-5.5">&lt;/path>
&lt;/svg>
&lt;span is-visually-hidden>&lt;/span>
&lt;/span>&lt;/a> for more details about what is new in the beta and what is coming in the future for D1.&lt;/p></description><pubDate>Thu, 28 Sep 2023 08:00:00 EST</pubDate></item><item><title>Row count now returned per query</title><link>https://developers.cloudflare.com/d1/platform/changelog/#row-count-now-returned-per-query</link><description>&lt;p>D1 now returns a count of &lt;code>rows_written&lt;/code> and &lt;code>rows_read&lt;/code> for every query executed, allowing you to assess the cost of query for both &lt;a href=https://developers.cloudflare.com/d1/platform/pricing/ class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">pricing&lt;/span>&lt;/a> and &lt;a href=https://developers.cloudflare.com/d1/build-with-d1/use-indexes/ class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">index optimization&lt;/span>&lt;/a> purposes.&lt;/p>
&lt;p>The &lt;code>meta&lt;/code> object returned in &lt;a href=https://developers.cloudflare.com/d1/build-with-d1/d1-client-api/ class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">D1’s Client API&lt;/span>&lt;/a> contains a total count of the rows read (&lt;code>rows_read&lt;/code>) and rows written (&lt;code>rows_written&lt;/code>) by that query. For example, a query that performs a full table scan (for example, &lt;code>SELECT * FROM users&lt;/code>) from a table with 5000 rows would return a &lt;code>rows_read&lt;/code> value of &lt;code>5000&lt;/code>:&lt;/p>
&lt;div class="code-container">
&lt;unparsed-codeblock data-language="json" data-code="%22meta%22%3A+%7B%0A++%22duration%22%3A+0.20472300052642825%2C%0A++%22size_after%22%3A+45137920%2C%0A++%22rows_read%22%3A+5000%2C%0A++%22rows_written%22%3A+0%0A%7D">&lt;/unparsed-codeblock>
&lt;vue-component name="CodeCopy">&lt;/vue-component>
&lt;/div>&lt;p>Refer to &lt;a href=https://developers.cloudflare.com/d1/platform/pricing/ class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">D1 pricing documentation&lt;/span>&lt;/a> to understand how reads and writes are measured. D1 remains free to use during the alpha period.&lt;/p></description><pubDate>Sat, 19 Aug 2023 08:00:00 EST</pubDate></item><item><title>Bind D1 from the Cloudflare dashboard</title><link>https://developers.cloudflare.com/d1/platform/changelog/#bind-d1-from-the-cloudflare-dashboard</link><description>&lt;p>You can now &lt;a href=https://developers.cloudflare.com/d1/get-started/#4-bind-your-worker-to-your-d1-database class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">bind a D1 database&lt;/span>&lt;/a> to your Workers directly in the &lt;a href="https://dash.cloudflare.com" class="DocsMarkdown--link" target="_blank" rel="noopener">
&lt;span class="DocsMarkdown--link-content">Cloudflare dashboard&lt;/span>&lt;span class="DocsMarkdown--link-external-icon" aria-hidden="true">
&lt;svg fill="none" stroke="currentColor" stroke-width="1.5" width="23px" height="12px" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 16 16" role="img" aria-labelledby="title-4744738674102027" xmlns="http://www.w3.org/2000/svg">
&lt;title id="title-4744738674102027">External link icon&lt;/title>
&lt;path d="M6.75,1.75h-5v12.5h12.5v-5m0,-4v-3.5h-3.5M8,8l5.5-5.5">&lt;/path>
&lt;/svg>
&lt;span is-visually-hidden>&lt;/span>
&lt;/span>&lt;/a>. To bind D1 from the Cloudflare dashboard, select your Worker project -> &lt;strong>Settings&lt;/strong> -> &lt;strong>Variables&lt;/strong> -> and select &lt;strong>D1 Database Bindings&lt;/strong>.&lt;/p>
&lt;p>Note: If you have previously deployed a Worker with a D1 database binding with a version of &lt;code>wrangler&lt;/code> prior to &lt;code>3.5.0&lt;/code>, you must upgrade to &lt;a href="https://github.com/cloudflare/workers-sdk/releases/tag/wrangler%403.5.0" class="DocsMarkdown--link" target="_blank" rel="noopener">
&lt;span class="DocsMarkdown--link-content">&lt;code>wrangler v3.5.0&lt;/code>&lt;/span>&lt;span class="DocsMarkdown--link-external-icon" aria-hidden="true">
&lt;svg fill="none" stroke="currentColor" stroke-width="1.5" width="23px" height="12px" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 16 16" role="img" aria-labelledby="title-4744738674102027" xmlns="http://www.w3.org/2000/svg">
&lt;title id="title-4744738674102027">External link icon&lt;/title>
&lt;path d="M6.75,1.75h-5v12.5h12.5v-5m0,-4v-3.5h-3.5M8,8l5.5-5.5">&lt;/path>
&lt;/svg>
&lt;span is-visually-hidden>&lt;/span>
&lt;/span>&lt;/a> first before you can edit your D1 database bindings in the Cloudflare dashboard. New Workers projects do not have this limitation.&lt;/p>
&lt;p>Legacy D1 alpha users who had previously prefixed their database binding manually with &lt;code>__D1_BETA__&lt;/code> should remove this as part of this upgrade. Your Worker scripts should call your D1 database via &lt;code>env.BINDING_NAME&lt;/code> only. Refer to the latest &lt;a href=https://developers.cloudflare.com/d1/get-started/#4-bind-your-worker-to-your-d1-database class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">D1 getting started guide&lt;/span>&lt;/a> for best practices.&lt;/p>
&lt;p>We recommend all D1 alpha users begin using wrangler &lt;code>3.5.0&lt;/code> (or later) to benefit from improved TypeScript types and future D1 API improvements.&lt;/p></description><pubDate>Wed, 09 Aug 2023 08:00:00 EST</pubDate></item><item><title>Per-database limit now 500 MB</title><link>https://developers.cloudflare.com/d1/platform/changelog/#per-database-limit-now-500-mb</link><description>&lt;p>Databases using D1’s &lt;a href=https://developers.cloudflare.com/d1/platform/changelog/#new-default-storage-subsystem class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">new storage subsystem&lt;/span>&lt;/a> can now grow to 500 MB each, up from the previous 100 MB limit. This applies to both existing and newly created databases.&lt;/p>
&lt;p>Refer to &lt;a href=https://developers.cloudflare.com/d1/platform/limits/ class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">Limits&lt;/span>&lt;/a> to learn about D1’s limits.&lt;/p></description><pubDate>Tue, 01 Aug 2023 08:00:00 EST</pubDate></item><item><title>New default storage subsystem</title><link>https://developers.cloudflare.com/d1/platform/changelog/#new-default-storage-subsystem</link><description>&lt;p>Databases created via the Cloudflare dashboard and Wrangler (as of &lt;code>v3.4.0&lt;/code>) now use D1’s new storage subsystem by default. The new backend can &lt;a href="https://blog.cloudflare.com/d1-turning-it-up-to-11/" class="DocsMarkdown--link" target="_blank" rel="noopener">
&lt;span class="DocsMarkdown--link-content">be 6 - 20x faster&lt;/span>&lt;span class="DocsMarkdown--link-external-icon" aria-hidden="true">
&lt;svg fill="none" stroke="currentColor" stroke-width="1.5" width="23px" height="12px" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 16 16" role="img" aria-labelledby="title-4744738674102027" xmlns="http://www.w3.org/2000/svg">
&lt;title id="title-4744738674102027">External link icon&lt;/title>
&lt;path d="M6.75,1.75h-5v12.5h12.5v-5m0,-4v-3.5h-3.5M8,8l5.5-5.5">&lt;/path>
&lt;/svg>
&lt;span is-visually-hidden>&lt;/span>
&lt;/span>&lt;/a> than D1’s original alpha backend.&lt;/p>
&lt;p>To understand which storage subsystem your database uses, run &lt;code>wrangler d1 info YOUR_DATABASE&lt;/code> and inspect the version field in the output.&lt;/p>
&lt;p>Databases with &lt;code>version: beta&lt;/code> use the new storage backend and support the &lt;a href=https://developers.cloudflare.com/d1/reference/time-travel/ class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">Time Travel&lt;/span>&lt;/a> API. Databases with &lt;code>version: alpha&lt;/code> only use D1’s older, legacy backend.&lt;/p></description><pubDate>Thu, 27 Jul 2023 08:00:00 EST</pubDate></item><item><title>Time Travel</title><link>https://developers.cloudflare.com/d1/platform/changelog/#time-travel</link><description>&lt;p>&lt;a href=https://developers.cloudflare.com/d1/reference/time-travel/ class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">Time Travel&lt;/span>&lt;/a> is now available. Time Travel allows you to restore a D1 database back to any minute within the last 30 days (Workers Paid plan) or 7 days (Workers Free plan), at no additional cost for storage or restore operations.&lt;/p>
&lt;p>Refer to the &lt;a href=https://developers.cloudflare.com/d1/reference/time-travel/ class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">Time Travel&lt;/span>&lt;/a> documentation to learn how to travel backwards in time.&lt;/p>
&lt;p>Databases using D1’s &lt;a href="https://blog.cloudflare.com/d1-turning-it-up-to-11/" class="DocsMarkdown--link" target="_blank" rel="noopener">
&lt;span class="DocsMarkdown--link-content">new storage subsystem&lt;/span>&lt;span class="DocsMarkdown--link-external-icon" aria-hidden="true">
&lt;svg fill="none" stroke="currentColor" stroke-width="1.5" width="23px" height="12px" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 16 16" role="img" aria-labelledby="title-4744738674102027" xmlns="http://www.w3.org/2000/svg">
&lt;title id="title-4744738674102027">External link icon&lt;/title>
&lt;path d="M6.75,1.75h-5v12.5h12.5v-5m0,-4v-3.5h-3.5M8,8l5.5-5.5">&lt;/path>
&lt;/svg>
&lt;span is-visually-hidden>&lt;/span>
&lt;/span>&lt;/a> can use Time Travel. Time Travel replaces the &lt;a href=https://developers.cloudflare.com/d1/reference/backups/ class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">snapshot-based backups&lt;/span>&lt;/a> used for legacy alpha databases.&lt;/p></description><pubDate>Thu, 27 Jul 2023 08:00:00 EST</pubDate></item><item><title>Metrics and analytics</title><link>https://developers.cloudflare.com/d1/platform/changelog/#metrics-and-analytics</link><description>&lt;p>You can now view &lt;a href=https://developers.cloudflare.com/d1/observability/metrics-analytics/ class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">per-database metrics&lt;/span>&lt;/a> via both the &lt;a href="https://dash.cloudflare.com/" class="DocsMarkdown--link" target="_blank" rel="noopener">
&lt;span class="DocsMarkdown--link-content">Cloudflare dashboard&lt;/span>&lt;span class="DocsMarkdown--link-external-icon" aria-hidden="true">
&lt;svg fill="none" stroke="currentColor" stroke-width="1.5" width="23px" height="12px" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 16 16" role="img" aria-labelledby="title-4744738674102027" xmlns="http://www.w3.org/2000/svg">
&lt;title id="title-4744738674102027">External link icon&lt;/title>
&lt;path d="M6.75,1.75h-5v12.5h12.5v-5m0,-4v-3.5h-3.5M8,8l5.5-5.5">&lt;/path>
&lt;/svg>
&lt;span is-visually-hidden>&lt;/span>
&lt;/span>&lt;/a> and the &lt;a href=https://developers.cloudflare.com/analytics/graphql-api/ class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">GraphQL Analytics API&lt;/span>&lt;/a>.&lt;/p>
&lt;p>D1 currently exposes read &amp; writes per second, query response size, and query latency percentiles.&lt;/p></description><pubDate>Wed, 28 Jun 2023 08:00:00 EST</pubDate></item><item><title>Generated columns documentation</title><link>https://developers.cloudflare.com/d1/platform/changelog/#generated-columns-documentation</link><description>New documentation has been published on how to use D1’s support for &lt;a href=https://developers.cloudflare.com/d1/reference/generated-columns/ class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">generated columns&lt;/span>&lt;/a> to define columns that are dynamically generated on write (or read). Generated columns allow you to extract data from &lt;a href=https://developers.cloudflare.com/d1/build-with-d1/query-json/ class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">JSON objects&lt;/span>&lt;/a> or use the output of other SQL functions.</description><pubDate>Fri, 16 Jun 2023 08:00:00 EST</pubDate></item><item><title>Deprecating Error.cause</title><link>https://developers.cloudflare.com/d1/platform/changelog/#deprecating-errorcause</link><description>&lt;p>As of &lt;a href="https://github.com/cloudflare/workers-sdk/releases/tag/wrangler%403.1.1" class="DocsMarkdown--link" target="_blank" rel="noopener">
&lt;span class="DocsMarkdown--link-content">&lt;code>wrangler v3.1.1&lt;/code>&lt;/span>&lt;span class="DocsMarkdown--link-external-icon" aria-hidden="true">
&lt;svg fill="none" stroke="currentColor" stroke-width="1.5" width="23px" height="12px" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 16 16" role="img" aria-labelledby="title-4744738674102027" xmlns="http://www.w3.org/2000/svg">
&lt;title id="title-4744738674102027">External link icon&lt;/title>
&lt;path d="M6.75,1.75h-5v12.5h12.5v-5m0,-4v-3.5h-3.5M8,8l5.5-5.5">&lt;/path>
&lt;/svg>
&lt;span is-visually-hidden>&lt;/span>
&lt;/span>&lt;/a> the &lt;a href=https://developers.cloudflare.com/d1/build-with-d1/d1-client-api/ class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">D1 client API&lt;/span>&lt;/a> now returns &lt;a href=https://developers.cloudflare.com/d1/build-with-d1/d1-client-api/#errors class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">detailed error messages&lt;/span>&lt;/a> within the top-level &lt;code>Error.message&lt;/code> property, and no longer requires developers to inspect the &lt;code>Error.cause.message&lt;/code> property.&lt;/p>
&lt;p>To facilitate a transition from the previous &lt;code>Error.cause&lt;/code> behaviour, detailed error messages will continue to be populated within &lt;code>Error.cause&lt;/code> as well as the top-level &lt;code>Error&lt;/code> object until approximately July 14th, 2023. Future versions of both &lt;code>wrangler&lt;/code> and the D1 client API will no longer populate &lt;code>Error.cause&lt;/code> after this date.&lt;/p></description><pubDate>Mon, 12 Jun 2023 08:00:00 EST</pubDate></item><item><title>New experimental backend</title><link>https://developers.cloudflare.com/d1/platform/changelog/#new-experimental-backend</link><description>&lt;p>D1 has a new experimental storage back end that dramatically improves query throughput, latency and reliability. The experimental back end will become the default back end in the near future. To create a database using the experimental backend, use &lt;code>wrangler&lt;/code> and set the &lt;code>--experimental-backend&lt;/code> flag when creating a database:&lt;/p>
&lt;div class="code-container">
&lt;unparsed-codeblock data-language="sh" data-code="%24+wrangler+d1+create+your-database+--experimental-backend">&lt;/unparsed-codeblock>
&lt;vue-component name="CodeCopy">&lt;/vue-component>
&lt;/div>&lt;p>Read more about the experimental back end in the &lt;a href="https://blog.cloudflare.com/d1-turning-it-up-to-11/" class="DocsMarkdown--link" target="_blank" rel="noopener">
&lt;span class="DocsMarkdown--link-content">announcement blog&lt;/span>&lt;span class="DocsMarkdown--link-external-icon" aria-hidden="true">
&lt;svg fill="none" stroke="currentColor" stroke-width="1.5" width="23px" height="12px" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 16 16" role="img" aria-labelledby="title-4744738674102027" xmlns="http://www.w3.org/2000/svg">
&lt;title id="title-4744738674102027">External link icon&lt;/title>
&lt;path d="M6.75,1.75h-5v12.5h12.5v-5m0,-4v-3.5h-3.5M8,8l5.5-5.5">&lt;/path>
&lt;/svg>
&lt;span is-visually-hidden>&lt;/span>
&lt;/span>&lt;/a>.&lt;/p></description><pubDate>Fri, 19 May 2023 08:00:00 EST</pubDate></item><item><title>Location hints</title><link>https://developers.cloudflare.com/d1/platform/changelog/#location-hints</link><description>You can now provide a &lt;a href=https://developers.cloudflare.com/d1/configuration/data-location/ class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">location hint&lt;/span>&lt;/a> when creating a D1 database, which will influence where the leader (writer) is located. By default, D1 will automatically create your database in a location close to where you issued the request to create a database. In most cases this allows D1 to choose the optimal location for your database on your behalf.</description><pubDate>Fri, 19 May 2023 08:00:00 EST</pubDate></item><item><title>Query JSON</title><link>https://developers.cloudflare.com/d1/platform/changelog/#query-json</link><description>&lt;a href=https://developers.cloudflare.com/d1/build-with-d1/query-json/ class="DocsMarkdown--link">&lt;span class="DocsMarkdown--link-content">New documentation&lt;/span>&lt;/a> has been published that covers D1’s extensive JSON function support. JSON functions allow you to parse, query and modify JSON directly from your SQL queries, reducing the number of round trips to your database, or data queried.</description><pubDate>Wed, 17 May 2023 08:00:00 EST</pubDate></item></channel></rss>