Storage Release Notes

Last updated: Feb 5, 2026

  • Feb 4, 2026
    • Date parsed from source:
      Feb 4, 2026
    • First seen by Releasebot:
      Feb 5, 2026

    Storage by Cloudflare

    Cloudflare Queues now available on Workers Free plan

    Cloudflare Queues lands on the Workers free plan with guaranteed delivery across up to 10,000 queues and 10,000 operations per day. All Queues features remain on the free tier, including unlimited event subscriptions, but retention is capped at 24 hours. Newbies can follow guides to get started.

    Cloudflare Queues on the Workers free plan

    Cloudflare Queues is now part of the Workers free plan, offering guaranteed message delivery across up to 10,000 queues to either Cloudflare Workers or HTTP pull consumers. Every Cloudflare account now includes 10,000 operations per day across reads, writes, and deletes. For more details on how each operation is defined, refer to Queues pricing ↗.

    All features of the existing Queues functionality are available on the free plan, including unlimited event subscriptions. Note that the maximum retention period on the free tier, however, is 24 hours rather than 14 days.

    Getting started with Cloudflare Queues

    If you are new to Cloudflare Queues, follow this guide ↗ or try one of our tutorials to get started.

    Original source Report a problem
  • Feb 3, 2026
    • Date parsed from source:
      Feb 3, 2026
    • First seen by Releasebot:
      Feb 3, 2026

    Storage by Cloudflare

    Improve Global Upload Performance with R2 Local Uploads - Now in Open Beta

    Local Uploads is now in open beta, enabling near-client writes to a bucket with asynchronous replication for fast, strongly consistent uploads. Global users gain up to 75% faster TTLB and no traffic interruption, with no extra cost.

    Local Uploads is now available in open beta. Enable it on your R2 bucket to improve upload performance when clients upload data from a different region than your bucket. With Local Uploads enabled, object data is written to storage infrastructure near the client, then asynchronously replicated to your bucket. The object is immediately accessible and remains strongly consistent throughout. Refer to How R2 works for details on how data is written to your bucket.

    In our tests, we observed up to 75% reduction in Time to Last Byte (TTLB) for upload requests when Local Uploads is enabled.

    This feature is ideal when:

    • Your users are globally distributed
    • Upload performance and reliability is critical to your application
    • You want to optimize write performance without changing your bucket's primary location

    To enable Local Uploads on your bucket, find Local Uploads in your bucket settings in the Cloudflare Dashboard, or run:

    npx wrangler r2 bucket local-uploads enable <BUCKET_NAME>
    

    Enabling Local Uploads on a bucket is seamless: existing uploads will complete as expected and there’s no interruption to traffic. There is no additional cost to enable Local Uploads. Upload requests incur the standard Class A operation costs same as upload requests made without Local Uploads.

    For more information, refer to Local Uploads.

    Original source Report a problem
  • All of your release notes in one feed

    Join Releasebot and get updates from Cloudflare and hundreds of other software products.

  • Jan 30, 2026
    • Date parsed from source:
      Jan 30, 2026
    • First seen by Releasebot:
      Jan 31, 2026

    Storage by Cloudflare

    Reduced minimum cache TTL for Workers KV to 30 seconds

    Workers KV lowers the minimum cacheTtl to 30 seconds for get and getWithMetadata, enabling faster data refreshes. Default stays 60 seconds; upgrade Wrangler to use 30s TTL. Applies to all KV read operations; see docs for details.

    The minimum cacheTtl parameter for Workers KV has been reduced from 60 seconds to 30 seconds. This change applies to both get() and getWithMetadata() methods.

    This reduction allows you to maintain more up-to-date cached data and have finer-grained control over cache behavior. Applications requiring faster data refresh rates can now configure cache durations as low as 30 seconds instead of the previous 60-second minimum.

    The cacheTtl parameter defines how long a KV result is cached at the global network location it is accessed from:

    // Read with custom cache TTL
    const value = await env.NAMESPACE.get("my-key", {
      cacheTtl: 30, // Cache for minimum 30 seconds (previously 60)
    });
    

    getWithMetadata also supports the reduced cache TTL

    const valueWithMetadata = await env.NAMESPACE.getWithMetadata("my-key", {
      cacheTtl: 30, // Cache for minimum 30 seconds
    });
    

    The default cache TTL remains unchanged at 60 seconds. Upgrade to the latest version of Wrangler to be able to use 30 seconds cacheTtl.

    This change affects all KV read operations using the binding API. For more information, consult the Workers KV cache TTL documentation.

    Original source Report a problem
  • Jan 23, 2026
    • Date parsed from source:
      Jan 23, 2026
    • First seen by Releasebot:
      Jan 24, 2026

    Storage by Cloudflare

    Vectorize indexes now support up to 10 million vectors

    Vectorize limits and capabilities

    You can now store up to 10 million vectors in a single Vectorize index, doubling the previous limit of 5 million vectors. This enables larger-scale semantic search, recommendation systems, and retrieval-augmented generation (RAG) applications without splitting data across multiple indexes.

    Vectorize continues to support indexes with up to 1,536 dimensions per vector at 32-bit precision. Refer to the Vectorize limits documentation for complete details.

    Original source Report a problem
  • Jan 20, 2026
    • Date parsed from source:
      Jan 20, 2026
    • First seen by Releasebot:
      Jan 21, 2026

    Storage by Cloudflare

    New Workers KV Dashboard UI

    Workers KV updated dashboard UI

    Workers KV has an updated dashboard UI with new dashboard styling that makes it easier to navigate and see analytics and settings for a KV namespace.

    The new dashboard features a streamlined homepage for easy access to your namespaces and key operations, with consistent design with the rest of the dashboard UI updates. It also provides an improved analytics view.

    The updated dashboard is now available for all Workers KV users. Log in to the Cloudflare Dashboard to start exploring the new interface.

    Original source Report a problem
  • Jan 9, 2026
    • Date parsed from source:
      Jan 9, 2026
    • First seen by Releasebot:
      Jan 10, 2026

    Storage by Cloudflare

    Get notified when your Workers builds succeed or fail

    Cloudflare Workers adds event driven Build notifications via Event Subscriptions. Publish build events to a Queue and route alerts to Slack, Discord, email, or any webhook. Deploy the template to your account for real time build status, errors, and metadata.

    Notifications for Workers' Builds

    You can now receive notifications when your Workers' builds start, succeed, fail, or get cancelled using Event Subscriptions.
    Workers Builds publishes events to a Queue that your Worker can read messages from, and then send notifications wherever you need — Slack, Discord, email, or any webhook endpoint.
    You can deploy this Worker ↗ to your own Cloudflare account to send build notifications to Slack:

    Deploy to Cloudflare

    The template includes:

    • Build status with Preview/Live URLs for successful deployments
    • Inline error messages for failed builds
    • Branch, commit hash, and author name

    Slack notifications showing build events

    For setup instructions, refer to the template README ↗ or the Event Subscriptions documentation.

    Original source Report a problem
  • Dec 18, 2025
    • Date parsed from source:
      Dec 18, 2025
    • First seen by Releasebot:
      Dec 19, 2025
    • Modified by Releasebot:
      Jan 21, 2026

    Storage by Cloudflare

    R2 Data Catalog now supports automatic snapshot expiration

    R2 Data Catalog adds automatic snapshot expiration for Apache Iceberg tables, reducing metadata bloat and storage costs while speeding up operations. Snapshots expire by age and count with safeguards to keep recent history, complementing automatic compaction.

    R2 Data Catalog Snapshot Expiration for Apache Iceberg

    R2 Data Catalog now supports automatic snapshot expiration for Apache Iceberg tables.

    In Apache Iceberg, a snapshot is metadata that represents the state of a table at a given point in time. Every mutation creates a new snapshot which enable powerful features like time travel queries and rollback capabilities but will accumulate over time.

    Without regular cleanup, these accumulated snapshots can lead to:

    • Metadata overhead
    • Slower table operations
    • Increased storage costs.

    Snapshot expiration in R2 Data Catalog automatically removes old table snapshots based on your configured retention policy, improving performance and storage costs.

    Snapshot expiration uses two parameters to determine which snapshots to remove:

    • --older-than-days: age threshold in days
    • --retain-last: minimum snapshot count to retain

    Both conditions must be met before a snapshot is expired, ensuring you always retain recent snapshots even if they exceed the age threshold.

    This feature complements automatic compaction, which optimizes query performance by combining small data files into larger ones. Together, these automatic maintenance operations keep your Iceberg tables performant and cost-efficient without manual intervention.

    To learn more about snapshot expiration and how to configure it, visit our table maintenance documentation or see how to manage catalogs.

    Original source Report a problem
  • Dec 15, 2025
    • Date parsed from source:
      Dec 15, 2025
    • First seen by Releasebot:
      Dec 16, 2025

    Storage by Cloudflare

    New Best Practices guide for Durable Objects

    New Rules of Durable Objects guide debuts with best practices for design, storage, concurrency, and anti-patterns, plus a refreshed testing guide using Vitest pool workers. Learn one Durable Object per logical unit, SQLite storage with RPC, and wake-friendly WebSockets to cut costs.

    Rules of Durable Objects guide

    A new Rules of Durable Objects guide is now available, providing opinionated best practices for building effective Durable Objects applications. This guide covers design patterns, storage strategies, concurrency, and common anti-patterns to avoid.

    Key guidance includes:

    • Design around your "atom" of coordination — Create one Durable Object per logical unit (chat room, game session, user) instead of a global singleton that becomes a bottleneck.
    • Use SQLite storage with RPC methods — SQLite-backed Durable Objects with typed RPC methods provide the best developer experience and performance.
    • Understand input and output gates — Learn how Cloudflare's runtime prevents data races by default, how write coalescing works, and when to use blockConcurrencyWhile().
    • Leverage Hibernatable WebSockets — Reduce costs for real-time applications by allowing Durable Objects to sleep while maintaining WebSocket connections.

    The testing documentation has also been updated with modern patterns using @cloudflare/vitest-pool-workers, including examples for testing SQLite storage, alarms, and direct instance access:

    Original source Report a problem
  • December 2025
    • No date parsed from source.
    • First seen by Releasebot:
      Dec 11, 2025

    Storage by Cloudflare

    Billing for SQLite Storage

    Storage billing for SQLite-backed Durable Objects starts January 2026, with a target date of January 7. View usage on the Durable Objects page and prune data to reduce costs before billing kicks in. Free plan users won’t be charged; paid plan users pay per SQLite storage pricing.

    Storage billing for SQLite-backed Durable Objects will be enabled in January 2026, with a target date of January 7, 2026 (no earlier).

    To view your SQLite storage usage, go to the Durable Objects page

    Go to Durable Objects

    If you do not want to incur costs, please take action such as optimizing queries or deleting unnecessary stored data in order to reduce your SQLite storage usage ahead of the January 7th target. Only usage on and after the billing target date will incur charges.

    Developers on the Workers Paid plan with Durable Object's SQLite storage usage beyond included limits will incur charges according to SQLite storage pricing announced in September 2024 with the public beta. Developers on the Workers Free plan will not be charged.

    Compute billing for SQLite-backed Durable Objects has been enabled since the initial public beta. SQLite-backed Durable Objects currently incur charges for requests and duration, and no changes are being made to compute billing.

    For more information about SQLite storage pricing and limits, refer to the Durable Objects pricing documentation.

    Original source Report a problem
  • Dec 4, 2025
    • Date parsed from source:
      Dec 4, 2025
    • First seen by Releasebot:
      Dec 5, 2025
    • Modified by Releasebot:
      Jan 21, 2026

    Storage by Cloudflare

    Connect to remote databases during local development with wrangler dev

    Local development with Hyperdrive

    You can now connect directly to remote databases and databases requiring TLS with wrangler dev. This lets you run your Worker code locally while connecting to remote databases, without needing to use wrangler dev --remote.

    The localConnectionString field and CLOUDFLARE_HYPERDRIVE_LOCAL_CONNECTION_STRING_ environment variable can be used to configure the connection string used by wrangler dev.

    Learn more about local development with Hyperdrive.

    Original source Report a problem

Related products