Storage Release Notes
Last updated: Mar 20, 2026
- Mar 19, 2026
- Date parsed from source:Mar 19, 2026
- First seen by Releasebot:Mar 20, 2026
Hyperdrive now supports custom TLS/SSL certificates for MySQL
Storage adds custom TLS/SSL certificates for MySQL in Hyperdrive, bringing certificate verification and mTLS support to MySQL connections.
Hyperdrive now supports custom TLS/SSL certificates for MySQL databases, bringing the same certificate options previously available for PostgreSQL to MySQL connections.
You can now configure:
- Server certificate verification with VERIFY_CA or VERIFY_IDENTITY SSL modes to verify that your MySQL database server's certificate is signed by the expected certificate authority (CA).
- Client certificates (mTLS) for Hyperdrive to authenticate itself to your MySQL database with credentials beyond username and password.
Create a Hyperdrive configuration with custom certificates for MySQL
# Upload a CA certificate npx wrangler cert upload certificate-authority --ca-cert your-ca-cert.pem --name your-custom-ca-name # Create a Hyperdrive with VERIFY_IDENTITY mode npx wrangler hyperdrive create your-hyperdrive-config \ --connection-string="mysql://user:password@hostname:port/database" \ --ca-certificate-id <CA_CERT_ID> \ --sslmode VERIFY_IDENTITYFor more information, refer to SSL/TLS certificates for Hyperdrive and MySQL TLS/SSL modes.
Original source - Mar 16, 2026
- Date parsed from source:Mar 16, 2026
- First seen by Releasebot:Mar 16, 2026
Return up to 50 query results with values or metadata
Storage releases higher topK limit to 50 for Vectorize queries returning values or metadata, expanding previous 20.
You can now set
topKup to50when a Vectorize query returns values or full metadata. This raises the previous limit of20for queries that usereturnValues: trueorreturnMetadata: "all".Use the higher limit when you need more matches in a single query response without dropping values or metadata. Refer to the Vectorize API reference for query options and current
Original sourcetopKlimits. All of your release notes in one feed
Join Releasebot and get updates from Cloudflare and hundreds of other software products.
- Mar 6, 2026
- Date parsed from source:Mar 6, 2026
- First seen by Releasebot:Mar 10, 2026
Workflow steps now expose retry attempt number via step context
Cloudflare unveils per-step retry tracking in Workflows, exposing ctx.attempt for logging, backoff, and conditional logic.
Cloudflare Workflows allows you to configure specific retry logic for each step in your workflow execution. Now, you can access which retry attempt is currently executing for calls to step.do():
await step.do( "my-step", async (ctx) => { // ctx.attempt is 1 on first try, 2 on first retry, etc. console.log(`Attempt ${ctx.attempt}`); } );You can use the step context for improved logging & observability, progressive backoff, or conditional logic in your workflow definition.
Note that the current attempt number is 1-indexed. For more information on retry behavior, refer to Sleeping and Retrying.
Original source - Mar 6, 2026
- Date parsed from source:Mar 6, 2026
- First seen by Releasebot:Mar 6, 2026
Region Filtering, AS Traffic Volume, and Navigation Improvements on Cloudflare Radar
Radar rolls out region filtering for location pages, adds traffic volume by top AS and locations, expands AS and location dimensions in the Data Explorer, and introduces breadcrumb navigation for easier browsing. These updates boost visibility, insights, and usability across networks.
Region filtering
All location-aware pages now support filtering by region, including continents, geographic subregions (Middle East, Eastern Asia, etc.), political regions (EU, African Union), and US Census regions/divisions (for example, New England, US Northeast).
Traffic volume by top autonomous systems and locations
A new traffic volume view shows the top autonomous systems and countries/territories for a given location. This is useful for quickly determining which network providers in a location may be experiencing connectivity issues, or how traffic is distributed across a region.
The new AS and location dimensions have also been added to the Data Explorer for the HTTP, DNS, and NetFlows datasets. Combined with other available filters, this provides a powerful tool for generating unique insights.
Finally, breadcrumb navigation is now available on most pages, allowing easier navigation between parent and related pages.
Check out these features on Cloudflare Radar.
Original source - Mar 4, 2026
- Date parsed from source:Mar 4, 2026
- First seen by Releasebot:Mar 5, 2026
- Modified by Releasebot:Mar 6, 2026
Browser Rendering: 3x higher REST API request rate
Browser Rendering REST API rate limits for Workers Paid plans increased from 3 to 10 requests per second, enabling faster tasks like HTML fetch, screenshots, PDFs, and more via endpoints such as /content, /screenshot, /pdf, /markdown, /snapshot, /scrape, /json, and /links. No action needed to benefit.
Browser Rendering REST API rate limits
Browser Rendering REST API rate limits for Workers Paid plans have been increased from 3 requests per second (180/min) to 10 requests per second (600/min). No action is needed to benefit from the higher limit.
The REST API lets you perform common browser tasks with a single API call, and you can now do it at a higher rate.
Available endpoints
- /content - Fetch HTML
- /screenshot - Capture screenshot
- /pdf - Render PDF
- /markdown - Extract Markdown from a webpage
- /snapshot - Take a webpage snapshot
- /scrape - Scrape HTML elements
- /json - Capture structured data using AI
- /links - Retrieve links from a webpage
If you use the Workers Bindings method, increases to concurrent browser and new browser limits are coming soon. Stay tuned.
For full details, refer to the Browser Rendering limits page.
Original source - Mar 4, 2026
- Date parsed from source:Mar 4, 2026
- First seen by Releasebot:Mar 5, 2026
User risk score selector in Access policies
You can now use user risk scores in your Access policies. The new User Risk Score selector allows you to create Access policies that respond to user behavior patterns detected by Cloudflare's risk scoring system, including impossible travel, high DLP policy matches, and more.
For more information, refer to Use risk scores in Access policies.
Original source - Mar 4, 2026
- Date parsed from source:Mar 4, 2026
- First seen by Releasebot:Mar 4, 2026
Gateway Authorization Proxy and hosted PAC files (open beta)
Cloudflare unveils open beta for Gateway Authorization Proxy and PAC hosting, shifting from IP to identity-based access via Cloudflare Access. Users log in with Okta, Entra ID, Google Workspace and more, with Cloudflare-hosted PAC files and per-user billing.
The Gateway Authorization Proxy and PAC file hosting are now in open beta for all plan types.
Previously, proxy endpoints relied on static source IP addresses to authorize traffic, providing no user-level identity in logs or policies. The new authorization proxy replaces IP-based authorization with Cloudflare Access authentication, verifying who a user is before applying Gateway filtering without installing the WARP client.
This is ideal for environments where you cannot deploy a device client, such as virtual desktops (VDI), mergers and acquisitions, or compliance-restricted endpoints.Key capabilities
- Identity-aware proxy traffic — Users authenticate through your identity provider (Okta, Microsoft Entra ID, Google Workspace, and others) via Cloudflare Access. Logs now show exactly which user accessed which site, and you can write identity-based policies like "only the Finance team can access this accounting tool."
- Multiple identity providers — Display one or multiple login methods simultaneously, giving flexibility for organizations managing users across different identity systems.
- Cloudflare-hosted PAC files — Create and host PAC files directly in Cloudflare One with pre-configured templates for Okta and Azure, hosted at https://pac.cloudflare-gateway.com// on Cloudflare's global network.
- Simplified billing — Each user occupies a seat, exactly like they do with the Cloudflare One Client. No new metrics to track.
Get started
- In Cloudflare One ↗ Cloudflare One ↗, go to Networks > Resolvers & Proxies > Proxy endpoints.
- Create an authorization proxy endpoint and configure Access policies.
- Create a hosted PAC file or write your own.
- Configure browsers to use the PAC file URL.
- Install the Cloudflare certificate for HTTPS inspection.
For more details, refer to the proxy endpoints documentation and the announcement blog post ↗ announcement blog post ↗.
Original source - Mar 3, 2026
- Date parsed from source:Mar 3, 2026
- First seen by Releasebot:Mar 4, 2026
Workflows step limit increased to 25,000 steps per instance
Cloudflare Workers Workflows now supports up to 10k steps by default, configurable to 25k via wrangler.jsonc for longer, more complex executions. Persisted state limits remain 100 MB on Free and 1 GB on Paid, with no extra recursion needed.
Release notes
Each Workflow on Workers Paid now supports 10,000 steps by default, configurable up to 25,000 steps in your wrangler.jsonc file:
{ "workflows": [ { "name": "my-workflow", "binding": "MY_WORKFLOW", "class_name": "MyWorkflow", "limits": { "steps": 25000 } } ] }Previously, each instance was limited to 1,024 steps. Now, Workflows can support more complex, long-running executions without the additional complexity of recursive or child workflow calls.
Note that the maximum persisted state limit per Workflow instance remains 100 MB for Workers Free and 1 GB for Workers Paid. Refer to Workflows limits for more information.
Original source - Mar 3, 2026
- Date parsed from source:Mar 3, 2026
- First seen by Releasebot:Mar 4, 2026
Real-time file watching in Sandboxes
Sandbox now supports real-time filesystem watching with sandbox.watch(), delivering an SSE stream backed by inotify for create, modify, delete and move events inside the container. Use a path and options to filter, and parseSSEStream for server‑side consumption; upgrade with npm i @cloudflare/sandbox@latest.
Sandboxes now support real-time filesystem watching via sandbox.watch()
The method returns a Server-Sent Events ↗ Server-Sent Events ↗ stream backed by native inotify, so your Worker receives create, modify, delete, and move events as they happen inside the container.
sandbox.watch(path, options)Pass a directory path and optional filters. The returned stream is a standard ReadableStream you can proxy directly to a browser client or consume server-side.
Server-side consumption with parseSSEStream
Use parseSSEStream to iterate over events inside a Worker without forwarding them to a client.
Each event includes a type field (create, modify, delete, or move) and the affected path. Move events also include a from field with the original path.
Options
Option Type Description recursive boolean Watch subdirectories. Defaults to false. include string[] Glob patterns to filter events. Omit to receive all events.Upgrade
To update to the latest version:
npm i @cloudflare/sandbox@latestFor full API details, refer to the Sandbox file watching reference.
Original source - Mar 3, 2026
- Date parsed from source:Mar 3, 2026
- First seen by Releasebot:Mar 4, 2026
Network Quality Test on Cloudflare Radar
Network Quality Test
Radar now includes a Network Quality Test ↗ Network Quality Test ↗ page. The tool measures Internet connection quality and performance, showing connection details such as IP address, server location, network (ASN), and IP version. For more detailed speed test results, the page links to speed.cloudflare.com ↗ speed.cloudflare.com ↗.
Original source - Mar 2, 2026
- Date parsed from source:Mar 2, 2026
- First seen by Releasebot:Mar 4, 2026
Copy Cloudflare One resources as JSON or POST requests
Cloudflare One now lets you copy resources as JSON or a ready to use POST request from the dashboard. This makes it easy to convert workflows to API calls, automation scripts, or infrastructure as code. Initial support covers several resources with more coming in 2026.
You can now copy Cloudflare One resources as JSON or as a ready-to-use API POST request directly from the dashboard. This makes it simple to transition workflows into API calls, automation scripts, or infrastructure-as-code pipelines.
To use this feature, click the overflow menu (⋮) on any supported resource and select Copy as JSON or Copy as POST request. The copied output includes only the fields present on your resource, giving you a clean and minimal starting point for your own API calls.
Initially supported resources
- Access applications
- Access policies
- Gateway policies
- Resolver policies
- Service tokens
- Identity providers
We will continue to add support for more resources throughout 2026.
Original source - Mar 2, 2026
- Date parsed from source:Mar 2, 2026
- First seen by Releasebot:Mar 4, 2026
WAF Release - 2026-03-02
This week adds new detections for SmarterMail vulnerabilities CVE-2025-52691 and CVE-2026-23760 and enhances the nslookup command injection rule. The updates boost coverage and block exploits. Administrators should apply vendor patches promptly.
Key Findings
- CVE-2025-52691: SmarterTools SmarterMail mail server is vulnerable to Arbitrary File Upload, allowing an unauthenticated attacker to upload files to any location on the mail server, potentially enabling remote code execution.
- CVE-2026-23760: SmarterTools SmarterMail versions prior to build 9511 contain an authentication bypass vulnerability in the password reset API permitting unaunthenticated to reset system administrator accounts failing to verify existing password or reset token.
Impact
Successful exploitation of these SmarterMail vulnerabilities could lead to full system compromise or unauthorized administrative access to mail servers. Administrators are strongly encouraged to apply vendor patches without delay.
Rules
Ruleset Rule ID Legacy Rule ID Description Previous Action New Action Comments Cloudflare Managed Ruleset ...966ec6b1 N/A SmarterMail - Arbitrary File Upload - CVE-2025-52691 Log Block This is a new detection. Cloudflare Managed Ruleset ...ee964a8c N/A SmarterMail - Authentication Bypass - CVE-2026-23760 Log Block This is a new detection. Cloudflare Managed Ruleset ...75b64d99 N/A Command Injection - Nslookup - Beta Log Block This rule is merged into the original rule "Command Injection - Nslookup" (ID: ...b090ba9a) Original source - Mar 2, 2026
- Date parsed from source:Mar 2, 2026
- First seen by Releasebot:Mar 4, 2026
WAF Release - Scheduled changes for 2026-03-09
Announcement Date Release Date Release Behavior Legacy Rule ID Rule ID Description Comments 2026-03-02 2026-03-09 Log N/A ...796ea2f6 Ivanti EPMM - Code Injection - CVE:CVE-2026-1281 CVE:CVE-2026-1340 This is a new detection. Original source - Mar 2, 2026
- Date parsed from source:Mar 2, 2026
- First seen by Releasebot:Mar 2, 2026
- Modified by Releasebot:Mar 4, 2026
Agents SDK v0.7.0: Observability rewrite, keepAlive, and waitForMcpConnections
The Agents SDK rolls out a complete observability rewrite with diagnostics channels, adds a keepAlive heartbeat to prevent Durable Object eviction during long tasks, and waits for MCP connections to settle before onChatMessage. Other MCP improvements are included for reliability and security.
Observability rewrite
The previous observability system used console.log() with a custom Observability.emit() interface. v0.7.0 replaces it with structured events published to diagnostics channels — silent by default, zero overhead when nobody is listening.
Every event has a type, payload, and timestamp. Events are routed to seven named channels:Channel | Event types
agents:state | state:update
agents:rpc | rpc, rpc:error
agents:message | message:request, message:response, message:clear, message:cancel, message:error, tool:result, tool:approval
agents:schedule | schedule:create, schedule:execute, schedule:cancel, schedule:retry, schedule:error, queue:retry, queue:error
agents:lifecycle | connect, destroy
agents:workflow | workflow:start, workflow:event, workflow:approved, workflow:rejected, workflow:terminated, workflow:paused, workflow:resumed, workflow:restarted
agents:mcp | mcp:client:preconnect, mcp:client:connect, mcp:client:authorize, mcp:client:discoverUse the typed subscribe() helper from agents/observability for type-safe access.
In production, all diagnostics channel messages are automatically forwarded to Tail Workers — no subscription code needed in the agent itself.
The custom Observability override interface is still supported for users who need to filter or forward events to external services.
For the full event reference, refer to the Observability documentation.keepAlive() and keepAliveWhile()
Durable Objects are evicted after a period of inactivity (typically 70-140 seconds with no incoming requests, WebSocket messages, or alarms). During long-running operations — streaming LLM responses, waiting on external APIs, running multi-step computations — the agent can be evicted mid-flight.
keepAlive() prevents this by creating a 30-second heartbeat schedule. The alarm firing resets the inactivity timer. Returns a disposer function that cancels the heartbeat when called.Key details:
- Multiple concurrent callers — Each keepAlive() call returns an independent disposer. Disposing one does not affect others.
- AIChatAgent built-in — AIChatAgent automatically calls keepAlive() during streaming responses. You do not need to add it yourself.
- Uses the scheduling system — The heartbeat does not conflict with your own schedules. It shows up in getSchedules() if you need to inspect it.
keepAlive() is marked @experimental and may change between releases.
For the full API reference and when-to-use guidance, refer to Schedule tasks — Keeping the agent alive.waitForMcpConnections
AIChatAgent now waits for MCP server connections to settle before calling onChatMessage. This ensures this.mcp.getAITools() returns the full set of tools, especially after Durable Object hibernation when connections are being restored in the background.
Other improvements
- MCP deduplication by name and URL — addMcpServer with HTTP transport now deduplicates on both server name and URL. Calling it with the same name but a different URL creates a new connection. URLs are normalized before comparison (trailing slashes, default ports, hostname case).
- callbackHost optional for non-OAuth servers — addMcpServer no longer requires callbackHost when connecting to MCP servers that do not use OAuth.
- MCP URL security — Server URLs are validated before connection to prevent SSRF. Private IP ranges, loopback addresses, link-local addresses, and cloud metadata endpoints are blocked.
- Custom denial messages — addToolOutput now supports state: "output-error" with errorText for custom denial messages in human-in-the-loop tool approval flows.
- requestId in chat options — onChatMessage options now include a requestId for logging and correlating events.
Upgrade
To update to the latest version:
Original source
npm i agents@latest @cloudflare/ai-chat@latest - Mar 2, 2026
- Date parsed from source:Mar 2, 2026
- First seen by Releasebot:Mar 2, 2026
- Modified by Releasebot:Mar 4, 2026
Get started with AI Gateway automatically
Launch of AI Gateway: a zero-setup, single-call gateway that auto-creates a gateway ID and routes to multiple AI providers. It bundles logging, caching, and rate limiting behind one endpoint with clear try-it instructions.
AI Gateway
You can now start using AI Gateway with a single API call — no setup required. Use default as your gateway ID, and AI Gateway creates one for you automatically on the first request.
To try it out, create an API token with AI Gateway - Read, AI Gateway - Edit, and Workers AI - Read permissions, then run:
curl -X POST https://gateway.ai.cloudflare.com/v1/$CLOUDFLARE_ACCOUNT_ID/default/compat/chat/completions \ --header "cf-aig-authorization: Bearer $CLOUDFLARE_API_TOKEN" \ --header 'Content-Type: application/json' \ --data '{ "model": "workers-ai/@cf/meta/llama-3.3-70b-instruct-fp8-fast", "messages": [ { "role": "user", "content": "What is Cloudflare?" } ] }'AI Gateway gives you logging, caching, rate limiting, and access to multiple AI providers through a single endpoint. For more information, refer to Get started.
Original source