Developer Platform Release Notes

Last updated: Dec 22, 2025

  • Dec 22, 2025
    • Parsed from source:
      Dec 22, 2025
    • Detected by Releasebot:
      Dec 22, 2025

    Developer Platform by Cloudflare

    Agents SDK v0.3.0, workers-ai-provider v3.0.0, and ai-gateway-provider v3.0.0 with AI SDK v6 support

    Agents SDK v0.3.0 ships with AI SDK v6 compatibility, unified tool pattern, dynamic tool approval, and improved React hooks and streaming. It strengthens tool support, error handling, and human‑in‑the‑loop workflows, plus a smooth migration from v5. Providers updated to v3.0.0 for Cloudflare AI models and AI Gateway.

    Agents SDK v0.3.0 release

    We've shipped a new release for the Agents SDK ↗ Agents SDK v0.3.0 bringing full compatibility with AI SDK v6 ↗ AI SDK v6 and introducing the unified tool pattern, dynamic tool approval, and enhanced React hooks with improved tool handling.

    This release includes improved streaming and tool support, dynamic tool approval (for "human in the loop" systems), enhanced React hooks with onToolCall callback, improved error handling for streaming responses, and seamless migration from v5 patterns.

    This makes it ideal for building production AI chat interfaces with Cloudflare Workers AI models, agent workflows, human-in-the-loop systems, or any application requiring reliable tool execution and approval workflows.

    Additionally, we've updated workers-ai-provider v3.0.0, the official provider for Cloudflare Workers AI models, and ai-gateway-provider v3.0.0, the provider for Cloudflare AI Gateway, to be compatible with AI SDK v6.

    Original source Report a problem
  • Dec 19, 2025
    • Parsed from source:
      Dec 19, 2025
    • Detected by Releasebot:
      Dec 19, 2025
    • Modified by Releasebot:
      Dec 27, 2025

    Developer Platform by Cloudflare

    Static prerendering support for TanStack Start

    TanStack Start apps can now prerender routes to static HTML at build time with access to build time environment variables and bindings, and serve them as static assets. To enable prerendering, configure the prerender option of the TanStack Start plugin in your Vite config.

    Original source Report a problem
  • Dec 18, 2025
    • Parsed from source:
      Dec 18, 2025
    • Detected by Releasebot:
      Dec 18, 2025

    Developer Platform by Cloudflare

    Build image policies for Workers Builds and Cloudflare Pages

    Cloudflare publishes build image policies for Workers Builds and Pages, outlining how minor updates happen, major version bumps with notice, and deprecation timelines. It confirms automatic migration to v3 and options to override versions.

    Build image policies for Workers Builds and Cloudflare Pages

    We've published build image policies for Workers Builds and Cloudflare Pages, which establish:

    • Minor version updates: We typically update preinstalled software to the latest available minor version without notice. For tools that don't follow semantic versioning (e.g., Bun or Hugo), we provide 3 months’ notice.
    • Major version updates: Before preinstalled software reaches end-of-life, we update to the next stable LTS version with 3 months’ notice.
    • Build image version deprecation (Pages only): We provide 6 months’ notice before deprecation. Projects on v1 or v2 will be automatically moved to v3 on their specified deprecation dates.

    To prepare for updates, monitor the Cloudflare Changelog ↗, dashboard notifications, and email. You can also override default versions to maintain specific versions.

    Original source Report a problem
  • Dec 18, 2025
    • Parsed from source:
      Dec 18, 2025
    • Detected by Releasebot:
      Dec 19, 2025

    Developer Platform by Cloudflare

    R2 Data Catalog now supports automatic snapshot expiration

    R2 Data Catalog adds automatic snapshot expiration for Apache Iceberg, trimming old table snapshots to boost performance and cut storage costs. Users set aging and retention rules (--older-than-days and --retain-last) to keep recent history while preserving stability. Complements automatic compaction for faster queries.

    Snapshot expiration

    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 18, 2025
    • Parsed from source:
      Dec 18, 2025
    • Detected by Releasebot:
      Dec 19, 2025

    Developer Platform by Cloudflare

    Workers for Platforms - Dashboard Improvements

    Cloudflare's Workers for Platforms now offers in-dashboard UI features: namespace management, dispatch worker templates, tag management, and binding visibility. A one-click deploy of the Vibe Coding Platform starter kit accelerates multi-tenant AI deployments.

    Workers for Platforms

    Workers for Platforms lets you build multi-tenant platforms on Cloudflare Workers, allowing your end users to deploy and run their own code on your platform. It's designed for anyone building an AI vibe coding platform, e-commerce platform, website builder, or any product that needs to securely execute user-generated code at scale.

    Previously, setting up Workers for Platforms required using the API. Now, the Workers for Platforms UI supports namespace creation, dispatch worker templates, and tag management, making it easier for Workers for Platforms customers to build and manage multi-tenant platforms directly from the Cloudflare dashboard.

    Key improvements:

    • Namespace Management: You can now create and configure dispatch namespaces directly within the dashboard to start a new platform setup.

    • Dispatch Worker Templates: New Dispatch Worker templates allow you to quickly define how traffic is routed to individual Workers within your namespace. Refer to the Dynamic Dispatch documentation for more examples.

    • Tag Management: You can now set and update tags on User Workers, making it easier to group and manage your Workers.

    • Binding Visibility: Bindings attached to User Workers are now visible directly within the User Worker view.

    • Deploy Vibe Coding Platform in one-click: Deploy a reference implementation of an AI vibe coding platform directly from the dashboard. Powered by the Cloudflare's VibeSDK, this starter kit integrates with Workers for Platforms to handle the deployment of AI-generated projects at scale.

    To get started, go to Workers for Platforms under Compute & AI in the Cloudflare dashboard.

    Original source Report a problem
  • Dec 16, 2025
    • Parsed from source:
      Dec 16, 2025
    • Detected by Releasebot:
      Dec 17, 2025

    Developer Platform by Cloudflare

    Configure your framework for Cloudflare automatically

    Wrangler gains experimental automatic configuration for popular web frameworks, making it easier to deploy apps to Cloudflare Workers. Use npx wrangler deploy --x-autoconfig or setup to review changes, with support for Next.js, Astro, Nuxt, SvelteKit and more, plus static sites.

    Automatic configuration (experimental)

    Wrangler now supports automatic configuration for popular web frameworks in experimental mode, making it even easier to deploy to Cloudflare Workers.

    Previously, if you wanted to deploy an application using a popular web framework like Next.js or Astro, you had to follow tutorials to set up your application for deployment to Cloudflare Workers. This usually involved creating a Wrangler file, installing adapters, or changing configuration options.

    Now

    wrangler deploy
    

    does this for you. Starting with Wrangler 4.55, you can use

    npx wrangler deploy --x-autoconfig
    

    in the directory of any web application using one of the supported frameworks. Wrangler will then proceed to configure and deploy it to your Cloudflare account.

    You can also configure your application without deploying it by using the new

    npx wrangler setup
    

    command. This enables you to easily review what changes we are making so your application is ready for Cloudflare Workers.

    The following application frameworks are supported starting today:

    • Next.js
    • Astro
    • Nuxt
    • TanStack Start
    • SolidStart
    • React Router
    • SvelteKit
    • Docusaurus
    • Qwik
    • Analog

    Automatic configuration also supports static sites by detecting the assets directory and build command. From a single index.html file to the output of a generator like Jekyll or Hugo, you can just run

    npx wrangler deploy --x-autoconfig
    

    to upload to Cloudflare.

    We're really excited to bring you automatic configuration so you can do more with Workers. Please let us know if you run into challenges using this experimentally. We've opened a GitHub discussion and would love to hear your feedback.

    Original source Report a problem
  • Dec 15, 2025
    • Parsed from source:
      Dec 15, 2025
    • Detected by Releasebot:
      Dec 16, 2025
    • Modified by Releasebot:
      Dec 18, 2025

    Developer Platform by Cloudflare

    New Best Practices guide for Durable Objects

    New Durable Objects guide debuts with practical best practices for design patterns, storage, concurrency and anti patterns. It covers one object per logical unit, SQLite storage with RPC, input/output gates and hibernatable WebSockets, plus updated testing docs using vitest-pool-workers.

    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
  • Dec 12, 2025
    • Parsed from source:
      Dec 12, 2025
    • Detected by Releasebot:
      Dec 12, 2025
    • Modified by Releasebot:
      Dec 18, 2025

    Developer Platform by Cloudflare

    R2 SQL now supports aggregations and schema discovery

    R2 SQL adds powerful SQL analytics with aggregation functions, GROUP BY and HAVING on Iceberg tables. It also introduces schema discovery commands to explore data catalogs and table structures, boosting ease of discovery and querying.

    R2 SQL now supports aggregation functions, GROUP BY, HAVING, along with schema discovery commands to make it easy to explore your data catalog.

    Aggregation Functions

    You can now perform aggregations on Apache Iceberg tables in R2 Data Catalog using standard SQL functions including COUNT(*), SUM(), AVG(), MIN(), and MAX(). Combine these with GROUP BY to analyze data across dimensions, and use HAVING to filter aggregated results.

    Schema Discovery

    New metadata commands make it easy to explore your data catalog and understand table structures:

    • SHOW DATABASES or SHOW NAMESPACES - List all available namespaces
    • SHOW TABLES IN namespace_name - List tables within a namespace
    • DESCRIBE namespace_name.table_name - View table schema and column types

    To learn more about the new aggregation capabilities and schema discovery commands, check out the SQL reference. If you're new to R2 SQL, visit our getting started guide to begin querying your data.

    Original source Report a problem
  • Dec 8, 2025
    • Parsed from source:
      Dec 8, 2025
    • Detected by Releasebot:
      Dec 8, 2025
    • Modified by Releasebot:
      Dec 17, 2025

    Developer Platform by Cloudflare

    Configure Workers programmatically using the Vite plugin

    Cloudflare's Vite plugin now lets you configure Workers entirely in code, without a Wrangler file. You can merge, override, or replace config from your Vite config, and Auxiliary Workers can be defined without separate config files.

    The Cloudflare Vite plugin

    The Cloudflare Vite plugin now supports programmatic configuration of Workers without a Wrangler configuration file. You can use the config option to define Worker settings directly in your Vite configuration, or to modify existing configuration loaded from a Wrangler config file. This is particularly useful when integrating with other build tools or frameworks, as it allows them to control Worker configuration without needing users to manage a separate config file.

    The config option

    The config option The config option The Vite plugin's new config option accepts either a partial configuration object or a function that receives the current configuration and returns overrides. This option is applied after any config file is loaded, allowing the plugin to override specific values or define Worker configuration entirely in code.

    Example usage

    Setting config to an object to provide configuration values that merge with defaults and config file settings:

    import { defineConfig } from "vite";
    import { cloudflare } from "@cloudflare/vite-plugin";
    export default defineConfig({
      plugins: [
        cloudflare({
          config: {
            name: "my-worker",
            compatibility_flags: ["nodejs_compat"],
            send_email: [
              {
                name: "EMAIL",
              },
            ],
          },
        }),
      ],
    });
    

    Use a function to modify the existing configuration:

    import { defineConfig } from "vite";
    import { cloudflare } from "@cloudflare/vite-plugin";
    export default defineConfig({
      plugins: [
        cloudflare({
          config: (userConfig) => {
            delete userConfig.compatibility_flags;
          },
        }),
      ],
    });
    

    Return an object with values to merge:

    import { defineConfig } from "vite";
    import { cloudflare } from "@cloudflare/vite-plugin";
    export default defineConfig({
      plugins: [
        cloudflare({
          config: (userConfig) => {
            if (!userConfig.compatibility_flags.includes("no_nodejs_compat")) {
              return {
                compatibility_flags: ["nodejs_compat"]
              };
            }
          },
        }),
      ],
    });
    

    Auxiliary Workers

    Auxiliary Workers also support the config option, enabling multi-Worker architectures without config files. Define auxiliary Workers without config files using config inside the auxiliaryWorkers array:

    Original source Report a problem
  • Dec 8, 2025
    • Parsed from source:
      Dec 8, 2025
    • Detected by Releasebot:
      Dec 8, 2025

    Developer Platform by Cloudflare

    Wrangler config is optional when using Vite plugin

    Cloudflare's Vite plugin now auto-generates sensible defaults for assets-only sites when no Wrangler config is found, easing static site builds. Defaults derive from package.json or project folder name and the latest Miniflare date. SPAs still require assets.not_found_handling for routing.

    Cloudflare Vite plugin

    When using the Cloudflare Vite plugin to build and deploy Workers, a Wrangler configuration file is now optional for assets-only (static) sites. If no wrangler.toml, wrangler.json, or wrangler.jsonc file is found, the plugin generates sensible defaults for an assets-only site. The name is based on the package.json or the project directory name, and the compatibility_date uses the latest date supported by your installed Miniflare version.

    This allows easier setup for static sites using Vite. Note that SPAs will still need to set assets.not_found_handling to single-page-application in order to function correctly.

    Original source Report a problem

Related products