Zum Inhalt springen

Developer Platform Updates & Release Notes

580 Einträge aus 1 Quelle. Zuletzt aktualisiert:

Folge Developer Platform, um die Release Notes in deinen Feed zu holen.

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

R2 SQL unterstützt JOINs, Subqueries und Multi-Tabellen-Abfragen

R2 SQL kann nun mehrere Iceberg-Tabellen in einer Abfrage per JOINs, Subqueries, Multi-Table-CTEs, Self-Joins und Multi-Way-Joins verknüpfen.

R2 SQL is Cloudflare's serverless, distributed SQL engine for querying Apache Iceberg ↗︎ tables stored in R2 Data Catalog. R2 SQL runs directly on Cloudflare's global network with no infrastructure to manage, so you can analyze data in R2 without exporting it to an external warehouse.

R2 SQL now supports joining multiple Iceberg tables in a single query. You can combine tables with JOINs, filter with subqueries, and define multi-table CTEs to build complex analytical queries.

New capabilities

  • JOINs — INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN, CROSS JOIN, and implicit joins (comma-separated FROM with conditions in WHERE)
  • Subqueries — IN / NOT IN, EXISTS / NOT EXISTS, scalar subqueries in SELECT / WHERE / HAVING, and derived tables (subqueries in FROM)
  • Multi-table CTEs — WITH clauses can reference different tables and include JOINs
  • Self-joins — join a table with itself using different aliases
  • Multi-way joins — join three or more tables in a single query

Examples

Two-table JOIN with aggregation

SELECT z.domain, z.plan, COUNT(*) AS request_count
FROM my_namespace.zones z
INNER JOIN my_namespace.http_requests h ON z.zone_id = h.zone_id
WHERE z.plan = 'enterprise' …

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

Hyperdrive zeigt Metriken zur Verbindungspool-Größe

Die Größe der Hyperdrive-Datenbank-Verbindungspools ist jetzt im Dashboard über ein neues Diagramm "Pool connections" und über das GraphQL-Dataset hyperdrivePoolSizesAdaptiveGroups einsehbar, um Verbindungsprobleme selbst zu diagnostizieren.

You can now view the size of your Hyperdrive database connection pools, giving you the ability to self-diagnose connection issues. Using the Cloudflare dashboard or the hyperdrivePoolSizesAdaptiveGroups dataset in the GraphQL Analytics API, you can see waitingClients, currentPoolSize, availablePoolSlots, and maxPoolSize for each of your configurations.

A new Pool connections chart has been added to the Metrics tab of each Hyperdrive configuration in the Cloudflare dashboard ↗︎. You can use the location selector to drill down into specific locations hosting your connection pool by airport code.

Hyperdrive pool size metrics chart

The chart shows:

  • Waiting clients: Client requests waiting for an available connection.
  • Open connections: Active connections to your database.
  • Pool size maximum: Your configured origin connection limit. …

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

Neuer Domains-Tab im Workers-Dashboard

Im Dashboard eines Workers gibt es einen eigenen Domains-Tab, in dem sich Domains über Cloudflare Registrar kaufen und automatisch verbinden, bestehende Domains hinzufügen sowie workers.dev und Preview URLs verwalten und per Cloudflare Access schützen lassen.

In your Worker's dashboard, there is now a dedicated Domains tab where you can purchase a new domain through Cloudflare Registrar and have it automatically connected, add an existing domain, and manage all of your Worker's routing in one place.

The new Domains tab in the Workers dashboard

You can also enable or disable your workers.dev subdomain and Preview URLs, put them behind Cloudflare Access to require sign-in, and jump directly to analytics or domain overview for any connected domain.

To get started, go to Workers & Pages, select a Worker, and open the Domains tab.

Go to Workers & Pages ↗

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

Agents SDK Version 0.12.4

Das Agents SDK v0.12.4 bringt zuverlässigere Chat-Wiederherstellung, behebt Zustandssynchronisation bei Reconnects, ergänzt dauerhafte Submissions für Think, macht Routing-Retries konfigurierbar und fügt Verbindungssteuerung für Voice-Agents hinzu.

The latest release of the Agents SDK ↗︎ brings more reliable chat recovery, fixes Agent state synchronization during reconnects, adds durable submissions for Think, exposes routing retry configuration, and adds connection control for Voice agents.

Chat recovery improvements

@cloudflare/ai-chat now keeps server turns running when a browser or client stream is interrupted. This is useful for long-running AI responses where users refresh the page, close a tab, or temporarily lose connection. Calling stop() still cancels the server turn.

Set cancelOnClientAbort: true if browser or client aborts should also cancel the server turn:

const chat = useAgentChat({
	agent: "assistant",
	name: "user-123",
	cancelOnClientAbort: true,
});
const chat = useAgentChat({
	agent: "assistant",
	name: "user-123",
	cancelOnClientAbort: true,
});

Notable bug fixes:

  • Chat stream resume negotiation no longer throws when replay races with a closed WebSocket connection.
  • Recovered chat continuations no longer leave useAgentChat stuck in a streaming state when the original socket disconnects before a terminal response.
  • Approval auto-continuation preserves reasoning parts and persists continuation reasoning in the final message.
  • isServerStreaming now resets correctly when a resumed stream moves from the fallback observer path to a transport-owned stream. …

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

R2 Data Catalog liefert Metriken über die GraphQL Analytics API

Über zwei neue GraphQL-Datasets lassen sich Analysen zu Iceberg-REST-API-Anfragen und zu Tabellenwartungsjobs wie Compaction und Snapshot-Expiration für R2-Data-Catalog-Warehouses abfragen.

R2 Data Catalog is a managed Apache Iceberg data catalog built directly into your R2 bucket that allows you to connect query engines like R2 SQL, Spark, Snowflake, and DuckDB to your data in R2.

You can now query analytics for your R2 Data Catalog warehouses via Cloudflare's GraphQL Analytics API. Two new datasets are available:

  • r2CatalogDataOperationsAdaptiveGroups tracks Iceberg REST API requests made to your catalog, including operation type, request duration, HTTP status, and request body bytes. Use this to monitor request volume and latency across warehouses, namespaces, and tables.
  • r2CatalogTableMaintenanceAdaptiveGroups tracks table maintenance jobs such as compaction and snapshot expiration. Use this to monitor job success rates, files processed, bytes read and written, and job duration.

Both datasets support filtering by warehouse name, namespace, table name, and time range. They also include percentile aggregations for duration metrics.

For detailed schema information and example queries, refer to the R2 Data Catalog metrics and analytics documentation.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

SSH über Wrangler für Containers standardmäßig aktiviert

SSH über Wrangler ist für Containers nun standardmäßig aktiviert, ohne öffentliche Ports zu öffnen, und lässt sich weiterhin über ssh.enabled auf false deaktivieren; für den Zugriff ist weiterhin ein ssh-ed25519-Public-Key in authorized_keys nötig.

SSH through Wrangler is now enabled by default for Containers. Previously, you had to set ssh.enabled to true in your Container configuration before you could connect.

This change does not expose any publicly accessible ports on your Container. The SSH service is reachable only through wrangler containers ssh, which authenticates against your Cloudflare account. You also need to add an ssh-ed25519 public key to authorized_keys before anyone can connect, so enabling SSH alone does not grant access.

To connect, add a public key to your Container configuration and run wrangler containers ssh <INSTANCE_ID>:

{
	"containers": [
		{
			"authorized_keys": [
				{
					"name": "<NAME>",
					"public_key": "<YOUR_PUBLIC_KEY_HERE>",
				},
			],
		},
	],
}
[[containers]]
[[containers.authorized_keys]]
name = "<NAME>"
public_key = "<YOUR_PUBLIC_KEY_HERE>"

To disable SSH, set ssh.enabled to false in your Container configuration:

{
	"containers": [
		{
			"ssh": {
				"enabled": false,
			},
		},
	],
}
[[containers]]
[containers.ssh]
enabled = false

For more information, refer to the SSH documentation.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

Geplante Modell-Abkündigungen bei Workers AI

Der Modellkatalog von Workers AI wird bereinigt; die Abkündigung von Kimi K2.5 wurde auf den 30. Mai 2026 verschoben, ab dann werden Anfragen automatisch auf das teurere Kimi K2.6 umgeleitet, und Nutzer sollen Verweise auf betroffene Modelle rechtzeitig ersetzen.

We are refreshing the Workers AI model catalog to make room for newer releases. Please update your apps to remove references to the models listed below before the deprecation date.

Recommended replacements

For pricing, refer to the Workers AI pricing page.

Kimi K2.5

We originally stated Kimi K2.5 would be deprecated on May 10, 2026, however we have extended the deprecation date to May 30, 2026. Requests will be automatically aliased to Kimi K2.6 on May 30, 2026, which has a higher price. Please review the @cf/moonshotai/kimi-k2.6 pricing and model capabilities prior to May 30, 2026 to ensure that the model suits your needs.

Models deprecated on May 30, 2026

  • @cf/moonshotai/kimi-k2.5 --> @cf/moonshotai/kimi-k2.6 …

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

WAF-Schutz für React- und Next.js-Schwachstellen

Nach mehreren Sicherheitslücken in React Server Components und Next.js wird dringend das Update auf gepatchte Versionen (React 19.0.6, 19.1.7, 19.2.6; Next.js 15.5.16, 16.2.5) empfohlen, während bestehende Cloudflare-WAF-Regeln die neuen Denial-of-Service-Lücken standardmäßig blockieren.

Multiple security vulnerabilities were disclosed by the React team and Vercel affecting React Server Components and Next.js. These include denial of service, middleware and proxy bypass, server-side request forgery, cross-site scripting, and cache poisoning issues across a range of severity levels.

We strongly recommend updating your application and its dependencies immediately. Patched versions are available for React (react-server-dom-webpack, react-server-dom-parcel, and react-server-dom-turbopack 19.0.6, 19.1.7, and 19.2.6) and Next.js (15.5.16 and 16.2.5).

WAF protections

Cloudflare WAF rules deployed in response to prior React Server Component CVEs (CVE-2025-55184 ↗︎ and CVE-2026-23864 ↗︎) already provide coverage for the newly disclosed denial-of-service vulnerabilities. These rules are enabled by default with a Block action for all customers using the Cloudflare Managed Ruleset, including Free plan customers using the Free Managed Ruleset.

Ruleset

Rule description

Rule ID

Default action

Cloudflare Managed Ruleset

React - DoS - CVE-2025-55184 ↗︎

2694f1610c0b471393b21aef102ec699

Block

Cloudflare Managed Ruleset …

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

Stream Bindings für Workers

Neue Stream-Bindings erlauben es, aus einem Worker heraus ohne authentifizierte API-Aufrufe Videos hochzuladen, Direct Uploads bereitzustellen, Videos zu verwalten und signierte URLs bzw. Playback-Tokens zu erzeugen.

You can now interact with your Stream video library using new bindings for Workers! This allows customers to upload content to Stream, provision direct uploads, manage videos, and generate signed URLs from a Worker without making authenticated API calls. We're excited to bring Stream and Workers closer together to empower more programmatic pipelines, tighter integrations, and support generative AI and inference workloads.

Use the Stream binding when you want to:

  • Upload videos from URLs or create basic direct upload links for end users
  • Generate signed playback tokens without managing signing keys
  • Manage video metadata, captions, downloads, and watermarks
  • Build video pipelines entirely within Workers

To get started, add the Stream binding to your Wrangler configuration:

{
  "$schema": "./node_modules/wrangler/config-schema.json",
  "stream": {
    "binding": "STREAM"
  }
}
[stream]
binding = "STREAM"

Generate a video with AI and upload directly to Stream or send a URL of a file you already have:

const aiResponse = await env.AI.run(
	"google/veo-3.1",
	{
		prompt: "A dog walking next to a river",
		duration: "10s",
		aspect_ratio: "16:9",
		resolution: "1080p",
		generate_audio: true,
	},
	{
		gateway: { id: "experiments" },
	},
);

// Veo will return a URL of the generated asset.
const videoUrl = aiResponse.result.video;

// Alternative option: a video of the Austin Office mobile …

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

Automatisches Tracing über Durable Objects und Worker-Subrequests

Automatisches Tracing erzeugt nun einen einheitlichen Trace über Worker-zu-Worker-Subrequests, wobei Service-Binding- und Durable-Object-Aufrufe als verschachtelte Child Spans erscheinen, sofern Tracing in der Wrangler-Konfiguration aktiviert ist.

You can now get a single unified trace across Worker-to-Worker subrequests, with trace context propagating automatically. Previously, automatic tracing produced disconnected traces when a Worker called another Worker through a service binding or Durable Object.

Unified trace showing nested spans across a Durable Object subrequest and a service binding call

This means you can:

  • Follow a request through your entire Worker architecture in one trace view
  • See service binding and Durable Object calls as nested child spans instead of separate traces
  • Debug cross-Worker request flows in the Cloudflare dashboard or in an external observability platform via OpenTelemetry

Tracing must be enabled in your Wrangler configuration for traces to be recorded. Checkout Workers tracing to get started. …

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

Pipelines und R2 Data Catalog jetzt in Terraform

Cloudflare Pipelines und R2 Data Catalog lassen sich mit dem Cloudflare Terraform provider v5.19.0 über vier neue Ressourcen (Data Catalog, Stream, Sink, Pipeline) als Infrastructure-as-Code verwalten.

Cloudflare Pipelines ingests streaming data via Workers or HTTP endpoints, transforms it with SQL, and writes it to R2 as Apache Iceberg tables. R2 Data Catalog manages those Iceberg tables, compaction, and compatibility with query engines like R2 SQL, Spark, and DuckDB.

You can now create and manage both products using Terraform, supported in the Cloudflare Terraform provider v5.19.0 ↗︎.

This adds four new resources that let you define your entire data pipeline as infrastructure-as-code: a data catalog, a stream for ingestion, a sink that writes to R2 Data Catalog or R2, and a pipeline that connects them with SQL.

The new Terraform resources are:

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

Workflows in Dynamic Workers mit @cloudflare/dynamic-workflows

Die Bibliothek @cloudflare/dynamic-workflows ermöglicht es, Workflows innerhalb von Dynamic Workers dauerhaft auszuführen, indem sie Workflow-Instanzen mit Metadaten markiert und den passenden Dynamic Worker beim Fortsetzen über den Worker Loader neu lädt.

You can now use @cloudflare/dynamic-workflows ↗︎ to run a Workflow inside a Dynamic Worker, ensuring durable execution for code that is loaded at runtime.

The Worker Loader loads Dynamic Workers on demand, which previously made durability challenging. Even within a Dynamic Worker, a Workflow might sleep for hours or days between steps, and by the time it resumes, the original Dynamic Worker code would no longer be in memory.

The library solves this by tagging each Workflow instance with metadata that identifies which Dynamic Worker to load — for example, a tenant ID — then reloading the matching Dynamic Worker through the Worker Loader whenever a Workflow awakens.

Because Dynamic Workers are created on-demand, you do not have to register each Workflow up front or manage them individually. Load the Workflow code in the Dynamic Worker when it is needed, and the Workflows engine handles persistence and retries behind the scenes. Your Workflow code itself is unaffected by the routing and behaves as normal.

This unlocks patterns where the Workflow code itself is dynamic. For example, this is useful with:

  • SaaS platforms where each tenant defines their own automation, such as onboarding sequences, approval chains, or billing retry logic. …

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

R2-Buckets leeren und Ordner im Dashboard löschen

Im R2-Dashboard lassen sich nun ganze Buckets mit einer Aktion leeren, was vor dem Löschen eines Buckets nötig ist, sowie einzelne oder mehrere Ordner samt aller Objekte unter dem Präfix löschen.

You can now empty an entire R2 bucket or delete folders directly from the dashboard. Emptying a bucket is required before you can delete it. Previously, this required scripting or configuring lifecycle rules. Now, the dashboard can handle it in a single action.

Empty a bucket

Go to your bucket's Settings tab and select Empty under the Empty Bucket section. This deletes all objects in the bucket while preserving the bucket and its configuration. For large buckets, the operation runs in the background and the dashboard displays progress.

Emptying a bucket is also a prerequisite for deleting it. The dashboard now guides you through both steps in one place.

Empty Bucket and Delete Bucket sections in the R2 dashboard Settings tab

Delete folders

R2 uses a flat object structure. The dashboard groups objects that share a common prefix into folders when the View prefixes as directories checkbox is selected. Deleting a folder removes every object under that prefix.

From the Objects tab, you can select one or more folders and delete them alongside individual objects. …

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

Hyperdrive unterstützt private Datenbanken über Workers VPC

Hyperdrive lässt sich jetzt über einen Workers-VPC-Service mit einer privaten, nicht öffentlich erreichbaren Datenbank verbinden, per Dashboard oder über wrangler hyperdrive create.

You can now connect Hyperdrive to a private database through a Workers VPC service. This is the recommended way to connect Hyperdrive to a private database that is not exposed to the public Internet.

When creating a Hyperdrive configuration in the Cloudflare dashboard, choose Connect to private database and then Workers VPC. From there, you can select an existing VPC service or create a new one inline by picking a Cloudflare Tunnel and entering your origin host and TCP port.

You can also create a Hyperdrive configuration backed by a Workers VPC service from the command line:

npx wrangler hyperdrive create my-vpc-database \
  --service-id <YOUR_VPC_SERVICE_ID> \
  --database <DATABASE_NAME> \
  --user <DATABASE_USER> \
  --password <DATABASE_PASSWORD> \
  --scheme postgresql

Workers VPC services are reusable across Hyperdrive configurations and can also be bound directly to Workers, so you can share the same private connection across multiple products.

To get started, refer to Connect Hyperdrive to a private database using Workers VPC.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

Realtime-Backlog-Metriken für Queues verfügbar

Queues liefert über Dashboard, REST API und JavaScript API nun Echtzeit-Backlog-Metriken (backlog_count, backlog_bytes, oldest_message_timestamp_ms) und gibt bei send() und sendBatch() ein Metrics-Objekt zurück.

Queues, Cloudflare's managed message queue, now exposes realtime backlog metrics via the dashboard, REST API, and JavaScript API. Three new fields are available:

  • backlog_count — the number of unacknowledged messages in the queue
  • backlog_bytes — the total size of those messages in bytes
  • oldest_message_timestamp_ms — the timestamp of the oldest unacknowledged message

The following endpoints also now include a metadata.metrics object on the result field after successful message consumption:

  • /accounts/{account_id}/queues/{queue_id}/messages/pull
  • /accounts/{account_id}/queues/{queue_id}/messages
  • /accounts/{account_id}/queues/{queue_id}/messages/batch

Javascript APIs

Call env.QUEUE.metrics() to get realtime backlog metrics:

const {
	backlogCount, // number
	backlogBytes, // number
	oldestMessageTimestamp, // Date | undefined
} = await env.QUEUE.metrics();

env.QUEUE.send() and env.QUEUE.sendBatch() also now return a metrics object on the response.

You can also query these fields via the GraphQL Analytics API or view realtime backlog on the dashboard ↗︎. …

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

R2 Data Catalog entfernt bei Snapshot-Ablauf nicht referenzierte Datendateien

Das automatische Ablaufen von Snapshots im R2 Data Catalog löscht nun neben Metadaten auch nicht mehr referenzierte Datendateien, sodass keine manuellen Wartungsjobs zur Speicherfreigabe mehr nötig sind.

R2 Data Catalog, a managed Apache Iceberg ↗︎ catalog built into R2, now removes unreferenced data files during automatic snapshot expiration. This improvement reduces storage costs and eliminates the need to run manual maintenance jobs to reclaim space from deleted data.

Previously, snapshot expiration only cleaned up Iceberg metadata files such as manifests and manifest lists. Data files that were no longer referenced by active snapshots remained in R2 storage until you manually ran remove_orphan_files or expire_snapshots through an engine like Spark. This required extra operational overhead and left stale data files consuming storage.

Snapshot expiration now handles both metadata and data file cleanup automatically. When a snapshot is expired, any data files that are no longer referenced by retained snapshots are removed from R2 storage.

# Enable catalog-level snapshot expiration
npx wrangler r2 bucket catalog snapshot-expiration enable my-bucket \
  --older-than-days 7 \
  --retain-last 10

For more information, refer to the table maintenance documentation.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

Mehr Step-Kontext und ReadableStream-Support in Workflows step.do()

Der Callback von step.do() erhält in Workflows zusätzlich step.name, step.count und config, und Steps können ReadableStream zurückgeben, um Ausgaben über dem 1-MiB-Limit zu verarbeiten.

Workflows now provides additional context inside step.do() callbacks and supports returning ReadableStream to handle larger step outputs.

Step context properties

The step.do() callback receives a context object with new properties alongside attempt:

  • step.name — The name passed to step.do()
  • step.count — How many times a step with that name has been invoked in this instance (1-indexed)
    • Useful when running the same step in a loop.
  • config — The resolved step configuration, including timeout and retries with defaults applied
type ResolvedStepConfig = {
	retries: {
		limit: number;
		delay: WorkflowDelayDuration | number;
		backoff?: "constant" | "linear" | "exponential";
	};
	timeout: WorkflowTimeoutDuration | number;
};

type WorkflowStepContext = {
	step: {
		name: string;
		count: number;
	};
	attempt: number;
	config: ResolvedStepConfig;
};

ReadableStream support in step.do()

Steps can now return a ReadableStream directly. Although non-stream step outputs are limited to 1 MiB, streamed outputs support much larger payloads.

const largePayload = await step.do("fetch-large-file", async () => { …

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

Container-Logs zeigen auch Worker- und Durable-Object-Logs

Die Container-Logs-Seite zeigt nun zugehörige Worker- und Durable-Object-Logs neben den Container-Logs an und erlaubt das Filtern nach einzelner Quelle.

The Container logs page now displays related Worker and Durable Object logs alongside container logs. This co-locates all relevant log events for a container application in one place, making it easier to trace requests and debug issues.

Container logs page showing Worker and Durable Object logs alongside container logs

You can filter to a single source when you need to isolate Container, Worker, or Durable Object output.

For information on configuring container logging, refer to How do Container logs work?.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

Neu: Billable-Usage-Dashboard und Budget-Alerts

Pay-as-you-go-Kunden können nutzungsbasierte Kosten nun täglich im Billable-Usage-Dashboard einsehen und per Budget-Alerts E-Mail-Benachrichtigungen erhalten, wenn die prognostizierten Monatskosten einen festgelegten Schwellenwert erreichen.

Pay-as-you-go customers can now monitor usage-based costs and configure spend alerts through two new features: the Billable Usage dashboard and Budget alerts.

Billable Usage dashboard

The Billable Usage dashboard provides daily visibility into usage-based costs across your Cloudflare account. The data comes from the same system that generates your monthly invoice, so the figures match your bill.

The dashboard displays:

  • A bar chart showing daily usage charges for your billing period
  • A sortable table breaking down usage by product, including total usage, billable usage, and cumulative costs
  • Ability to view previous billing periods

Usage data aligns to your billing cycle, not the calendar month. The total usage cost shown at the end of a completed billing period matches the usage overage charges on your corresponding invoice.

To access the dashboard, go to Manage Account > Billing > Billable Usage.

Screenshot of the Billable Usage dashboard in the Cloudflare dashboard

Budget alerts

Budget alerts allow you to set dollar-based thresholds for your account-level usage spend. You receive an email notification when your projected monthly spend reaches your configured threshold, giving you proactive visibility into your bill before month-end. …

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

WebSocket-Binärnachrichten kommen in Workers standardmäßig als Blob

Binäre WebSocket-Frames werden in Workers mit Compatibility Date ab 2026-03-17 standardmäßig als Blob statt als ArrayBuffer geliefert, was sich über binaryType vor accept() wieder auf ArrayBuffer umstellen lässt.

Binary frames received on a WebSocket are now delivered to the message event as Blob ↗︎ objects by default. This matches the WebSocket specification ↗︎ and standard browser behavior. Previously, binary frames were always delivered as ArrayBuffer ↗︎. The binaryType property on WebSocket controls the delivery type on a per-WebSocket basis.

This change has been active for Workers with compatibility dates on or after 2026-03-17, via the websocket_standard_binary_type compatibility flag. We should have documented this change when it shipped but didn't. We're sorry for the trouble that caused. If your Worker handles binary WebSocket messages and assumes event.data is an ArrayBuffer, the frames will arrive as Blob instead, and a naive instanceof ArrayBuffer check will silently drop every frame.

To opt back into ArrayBuffer delivery, assign binaryType before calling accept(). This works regardless of the compatibility flag:

const resp = await fetch("https://example.com", {
	headers: { Upgrade: "websocket" },
});
const ws = resp.webSocket; …

Originalquelle(öffnet in neuem Tab)Problem melden