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

AI Gateway: User Agent in Logs sichtbar

AI-Gateway-Logs erfassen nun den User Agent des anfragenden Clients und lassen sich im Dashboard danach filtern (gleich, ungleich, enthält).

AI Gateway logs now capture the user agent of the client that made each request, making it easier to identify which SDK, library, or application sent the traffic flowing through your gateway. For example, you can tell apart requests coming from openai-python versus a custom application or a Cloudflare Worker.

The user agent appears alongside the other details in each log entry, and you can filter logs by user agent (equals, does not equal, or contains) in the dashboard.

For more information, refer to Logging.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

Durable-Objects-Metriken nach Objekt-ID oder Name filtern

Im Cloudflare-Dashboard lässt sich der Metrics-Tab eines Durable-Objects-Namespace nun nach der ID oder dem Namen einzelner Objekte filtern, statt nur aggregierte Daten zu zeigen.

You can now filter the Metrics tab for a Durable Objects namespace by an individual Durable Object's ID or name in the Cloudflare dashboard. Previously, metrics charts only showed aggregate, namespace-level data, making it difficult to isolate the behavior of a specific object.

Go to Durable Objects ↗ The Durable Objects Metrics tab filtered to a single object by ID, showing per-object requests and errors by invocation status.

Start typing an ID or name into the filter and select a match from the autocomplete dropdown. The autocomplete only shows objects with invocations during the selected time range, so an object that does not appear has not been invoked in that window. This does not necessarily mean the object has been deleted. Every chart on the page updates to reflect only the selected object. This makes it easier to identify and investigate a single Durable Object when debugging a high-traffic object, an error spike, or unexpected storage usage. Clear the filter to return to namespace-level metrics. …

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

Kimi K2.7 Code von Moonshot AI jetzt auf Workers AI

Das Modell @cf/moonshotai/kimi-k2.7-code ist auf Workers AI verfügbar und bietet gegenüber K2.6 bessere Coding- und Agenten-Benchmarks, 30 % weniger Reasoning-Tokens, Vision-Eingaben und ein Kontextfenster von 262,1k Token.

@cf/moonshotai/kimi-k2.7-code is now available on Workers AI. Kimi K2.7 Code is a code-optimized variant of the Kimi K2 family, built on a Mixture-of-Experts architecture with 1T total parameters and 32B active per token.

Improved coding and agent performance

K2.7 Code delivers meaningful gains over K2.6 on coding and agentic benchmarks:

  • +21.8% on Kimi Code Bench v2
  • +11.0% on Program Bench
  • +31.5% on MLS Bench Lite

Reasoning efficiency

K2.7 Code uses 30% fewer reasoning tokens compared to K2.6, reducing overthinking and lowering inference cost for reasoning-heavy workloads.

Key capabilities

  • 262.1k token context window for retaining full conversation history, tool definitions, and codebases across long-running agent sessions
  • Long-horizon coding with improved instruction following and higher end-to-end coding task success rates
  • Vision inputs for processing images alongside text
  • Thinking mode with configurable reasoning depth via chat_template_kwargs.thinking
  • Multi-turn tool calling for building agents that invoke tools across multiple conversation turns
  • Structured outputs with JSON schema support

Differences from Kimi K2.6

If you are migrating from Kimi K2.6, note the following: …

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

Browser Run: Neuer formats-Parameter für den /snapshot-Endpunkt

Der /snapshot-Endpunkt von Browser Run unterstützt nun den Parameter formats, mit dem neben HTML und Screenshot auch Markdown und der Accessibility Tree in einem einzigen Aufruf zurückgegeben werden können.

Browser Run's /snapshot endpoint now supports a formats parameter that lets you return multiple page formats in a single API call. Previously, /snapshot returned only HTML content and a screenshot. You can now also include Markdown and the accessibility tree in the same response.

These formats are particularly useful for AI agent workflows:

  • Markdown provides a token-efficient representation of page content that LLMs can process directly, without parsing HTML markup.
  • The accessibility tree provides a structured representation of a page's elements, including roles, labels, and hierarchy, helping LLMs understand page structure and navigate its contents.

The following example returns a screenshot, Markdown, and the accessibility tree in one call:

curl -X POST 'https://api.cloudflare.com/client/v4/accounts/<accountId>/browser-rendering/snapshot' \
  -H 'Authorization: Bearer <apiToken>' \
  -H 'Content-Type: application/json' \
  -d '{
    "url": "https://example.com/",
    "formats": ["screenshot", "markdown", "accessibilityTree"]
  }'
import Cloudflare from "cloudflare";

const client = new Cloudflare({
	apiToken: process.env["CLOUDFLARE_API_TOKEN"],
});

const snapshot = await client.browserRendering.snapshot.create({
	account_id: process.env["CLOUDFLARE_ACCOUNT_ID"],
	url: "https://example.com/", …

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

Nutzung von Dynamic Workers in Dashboard und GraphQL API einsehbar

Die Anzahl der im Abrechnungszeitraum aufgerufenen Dynamic Workers wird nun auf der Workers-Übersichtsseite angezeigt und ist über die GraphQL Analytics API per distinctDynamicWorkerCount abfragbar, mit Daten ab dem 1. Juni 2026.

Dynamic Workers usage on the Workers overview page

Customers can now view the number of Dynamic Workers invoked during their billing period from the Workers overview page in the Cloudflare dashboard.

This count reflects the number of Dynamic Workers that Cloudflare would bill for during the selected billing period. Dynamic Workers usage data only goes back to June 1, 2026.

You can also query this count through the GraphQL Analytics API by using workersInvocationsByOwnerAndScriptGroups and selecting distinctDynamicWorkerCount:

query getDynamicWorkersCount(
	$accountTag: string!
	$filter: AccountWorkersInvocationsByOwnerAndScriptGroupsFilter_InputObject
) {
	viewer {
		accounts(filter: { accountTag: $accountTag }) {
			workersInvocationsByOwnerAndScriptGroups(limit: 10000, filter: $filter) {
				uniq {
					distinctDynamicWorkerCount
				}
			}
		}
	}
}

Use variables to set the account and billing-period date range:

{
	"accountTag": "<ACCOUNT_ID>",
	"filter": {
		"date_geq": "2026-06-01",
		"date_leq": "2026-06-30"
	}
}

For more information, refer to Dynamic Workers pricing.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

AI Search: Namespaces per Wrangler CLI verwalten

Neue Befehle wrangler ai-search namespace zum Auflisten, Erstellen, Abrufen, Aktualisieren und Löschen von Namespaces sowie ein --namespace-Flag für Instanz-Befehle sind verfügbar.

AI Search now supports namespace-level Wrangler commands, making it easier to manage namespaces from your terminal, scripts, and agent workflows.

The following commands are available:

Command

Description

wrangler ai-search namespace list

List AI Search namespaces

wrangler ai-search namespace create

Create a new AI Search namespace

wrangler ai-search namespace get

Get details for a namespace

wrangler ai-search namespace update

Update a namespace description

wrangler ai-search namespace delete

Delete an AI Search namespace

Create a namespace for a new application or tenant directly from the CLI:

wrangler ai-search namespace create docs-production --description "Production documentation search"

List namespaces with pagination or filter by name or description:

wrangler ai-search namespace list --search docs --page 1 --per-page 10

Use --json with list, create, get, and update to return structured output that automation and AI agents can parse directly.

Instance-level commands also now support a --namespace flag, so you can interact with instances inside a specific namespace from the CLI:

wrangler ai-search list --namespace docs-production

For full usage details, refer to the AI Search Wrangler commands documentation.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

Flagship API-Referenz jetzt verfügbar

Die Flagship-API-Referenz ist verfügbar, sodass Apps und Feature Flags per Cloudflare API ohne Dashboard erstellt, aktualisiert, gelöscht und aufgelistet werden können.

The Flagship API reference is now available. You can use the Cloudflare API to create and update apps, and to create, update, delete, and list feature flags without using the dashboard.

For example, create a new boolean flag with the API:

curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/flagship/apps/$APP_ID/flags \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
  -d '{
    "key": "new-checkout",
    "enabled": true,
    "default_variation": "off",
    "variations": {
      "off": false,
      "on": true
    },
    "rules": []
  }'

To create an API token, go to Account API Tokens ↗︎ in the Cloudflare dashboard and search for Flagship.

The API reference includes endpoints for Flagship apps, flags, changelog entries, and flag evaluation. Agents can also use the Flagship reference in the Cloudflare skill ↗︎ to create and manage Flagship resources.

Refer to the Flagship documentation to learn more about evaluating feature flags from your applications.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

Gehostete Bilder mit dem Images-Binding verwalten

Über den Namespace env.IMAGES.hosted können Worker gehostete Bilder direkt hochladen, auflisten, abrufen, aktualisieren und löschen, ohne API-Tokens oder HTTP-Anfragen.

Use the Images binding to upload, list, retrieve, update, and delete images stored in Images directly from your Worker without managing API tokens or making HTTP requests.

The env.IMAGES.hosted namespace supports the following storage and management operations:

For example, you can upload an image from a request body and return its metadata:

const image = await env.IMAGES.hosted.upload(request.body, {
	filename: "upload.jpg",
	metadata: { source: "worker" },
});

return Response.json(image);

Or retrieve and serve the original bytes of a hosted image:

const bytes = await env.IMAGES.hosted.image("IMAGE_ID").bytes(); …

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

Sandbox SDK: Mehrere Funktionen werden eingestellt

Cloudflare kündigt die Einstellung mehrerer Sandbox-SDK-Funktionen an, darunter HTTP- und WebSocket-Transports, die nicht mehr für neue Projekte genutzt werden sollen; eine Migrationsanleitung und eine Vorschau auf Sandbox SDK 1.0 stehen bereit.

Sandbox SDK 1.0 preview

A preview of Sandbox SDK 1.0 is available on @cloudflare/sandbox@next. For new projects, or to move past these deprecations in one migration, refer to the Sandbox SDK 1.0 preview and Migrate.

Today we are announcing the deprecation of several features from the Sandbox SDK. The SDK has grown and matured substantially since it first launched. As agent workflows have developed, we have shipped many new features and experiments so developers can easily integrate secure, isolated code execution into their workflows.

We want the SDK to continue providing a stable foundation for agentic workflows while we iterate quickly on the codebase. These deprecated features have either been superseded by newer capabilities or seen low adoption. Do not build new work on them. Migrate using the 2026 deprecation migration guide, or move to the Sandbox SDK 1.0 preview when you can.

HTTP and WebSocket transports

…

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

R2 SQL unterstützt UNION, INTERSECT, EXCEPT und SELECT DISTINCT

R2 SQL unterstützt nun die Mengenoperationen UNION, UNION ALL, INTERSECT und EXCEPT sowie SELECT DISTINCT für Abfragen auf Apache-Iceberg-Tabellen im R2 Data Catalog.

R2 SQL now supports set operations (UNION, INTERSECT, EXCEPT) and SELECT DISTINCT, expanding the range of analytical queries you can run directly on Apache Iceberg ↗︎ tables in R2 Data Catalog.

Set operations

Combine the results of multiple SELECT statements:

  • UNION — returns all rows from both queries, removing duplicates
  • UNION ALL — returns all rows from both queries, including duplicates
  • INTERSECT — returns only rows that appear in both queries
  • EXCEPT — returns rows from the first query that do not appear in the second
-- Find zones that had either firewall blocks OR high-risk requests
SELECT zone_id FROM my_namespace.firewall_events WHERE action = 'block'
UNION
SELECT zone_id FROM my_namespace.http_requests WHERE risk_score > 0.8
-- Find zones with both firewall blocks AND high traffic
SELECT zone_id FROM my_namespace.firewall_events WHERE action = 'block'
INTERSECT
SELECT zone_id FROM my_namespace.http_requests
GROUP BY zone_id
HAVING COUNT(*) > 10000
-- Find enterprise zones that have not been compacted
SELECT zone_id FROM my_namespace.zones WHERE plan = 'enterprise'
EXCEPT
SELECT zone_id FROM my_namespace.compaction_history

Select distinct

Eliminate duplicate rows from query results:

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

Email Service: Authentifizierte SMTP-Übermittlung als Beta

Cloudflare Email Service ermöglicht in der Beta nun das Senden von E-Mails per authentifiziertem SMTP über smtp.mx.cloudflare.net:465 zusätzlich zu REST API und Workers-Binding.

You can now send emails through Cloudflare Email Service using authenticated SMTP submission on smtp.mx.cloudflare.net:465. SMTP joins the REST API and the Workers binding as a third way to send transactional email — useful for existing applications that already speak SMTP and language-native SMTP libraries (Nodemailer, smtplib, PHPMailer, JavaMail).

Setting

Value

Host

smtp.mx.cloudflare.net

Port

465 (implicit TLS)

AUTH

PLAIN or LOGIN

Username

api_token

Password

A Cloudflare API token (account-owned or user-owned) with Email Sending: Edit

Submissions enter the same delivery pipeline as the REST API and Workers binding: identical limits, automatic DKIM and ARC signing, and shared dashboard logs.

Send your first email with a single command:

curl --ssl-reqd \
  --url "smtps://smtp.mx.cloudflare.net:465" \
  --user "api_token:<API_TOKEN>" \
  --mail-from "welcome@yourdomain.com" \
  --mail-rcpt "user@example.com" \
  --upload-file mail.txt

Refer to the SMTP reference for authentication details, response codes, and language-specific examples.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

RealtimeKit: Transkription nach Meetings allgemein verfügbar

Die Post-Meeting-Transkription in RealtimeKit ist allgemein verfügbar und erzeugt nach Meetings automatisch Transkripte mit Whisper Large v3 Turbo, die auch für KI-Zusammenfassungen genutzt und per Webhook oder REST API abgerufen werden können.

RealtimeKit lets you build products where people meet over live audio and video — such as HealthTech, EdTech, proctoring, and other real-time platforms — on Cloudflare's global WebRTC infrastructure.

Post-meeting transcription is now Generally Available, so completed RealtimeKit meetings can automatically produce full transcript files after they end. Those transcripts can also power AI-generated summaries for meeting notes, review workflows, and follow-up tasks after the transcript is available.

Post-meeting transcription is a managed service powered by Workers AI using Whisper Large v3 Turbo. RealtimeKit handles transcription processing and can return transcript and summary files through webhooks or the REST API, so you do not need to run your own transcription infrastructure.

Generate transcripts and summaries

…

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

Workflows unterstützt Rollbacks im Saga-Stil

Workflows unterstützt jetzt Saga-Rollbacks, bei denen pro step.do() Kompensationslogik hinterlegt werden kann, die bei einem Fehler in umgekehrter Reihenfolge ausgeführt wird, mit eigener Retry- und Timeout-Konfiguration sowie Rollback-Status in Instanzantworten und Analytics-Ereignissen.

Workflows now supports saga-style rollbacks, allowing you to add compensating logic to each step.do() in case of downstream failures. If the instance fails, the rollback handlers will execute in reverse step-start order.

This is useful for multi-step operations that touch external systems, such as inventory reservations, payment authorization, ticket creation, or infrastructure provisioning. Instead of writing all cleanup logic in a top-level catch, you can keep each compensating action next to the step it undoes.

Rollback handlers support their own retry and timeout configuration, and Workflows now exposes rollback outcomes in instance status responses. Workflows analytics also emits rollback lifecycle events, making it easier to distinguish a forward execution failure from a rollback failure when debugging production workflows.

await step.do(
	"provision resource",
	async () => {
		const resource = await provisionResource();
		return { resourceId: resource.id };
	},
	{
		rollback: async ({ output }) => {
			const { resourceId } = output;
			await deleteResource(resourceId);
		},
		rollbackConfig: {
			retries: { limit: 3, delay: "15 seconds", backoff: "linear" },
			timeout: "2 minutes",
		},
	},
);
await step.do(
	"provision resource",
	async () => {
		const resource = await provisionResource();
		return { resourceId: resource.id };
	},
	{
		rollback: async ({ output }) => { …

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

AI Gateway: Ausgabenlimits zur Kostenkontrolle

AI Gateway unterstützt jetzt Ausgabenlimits, die kumulierte Dollar-Kosten nach Modell, Anbieter oder Metadaten erfassen und Anfragen blockieren, sobald das Budget überschritten ist, sowohl mit Unified Billing als auch mit BYOK.

AI Gateway now supports spend limits — cost-based budgets that track cumulative dollar spend and block requests when the budget is exceeded. Unlike rate limiting, which caps the number of requests, spend limits track actual cost based on token usage and model pricing.

You can scope limits by model, provider, or custom metadata dimensions. For example, give each user a $200/day budget, cap total gateway spend at $10,000/day, or limit a specific model to $50/day per user. Each rule uses a configurable time window with fixed or sliding enforcement.

Spend limits work with both Unified Billing and BYOK requests for models with known pricing.

For more details, refer to the Spend limits documentation.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

Öffentlicher Internetverkehr von Workers läuft über Gateway-Richtlinien

Workers mit einem VPC-Network-Binding mit network_id: "cf1:network" leiten Verkehr zu öffentlichen Zielen nun über Cloudflare Gateway, sodass DNS-, HTTP-, Network- und Egress-Richtlinien auch dafür gelten.

Workers using a VPC Network binding with network_id: "cf1:network" now egress to public Internet destinations through Cloudflare Gateway. This means your existing Zero Trust traffic policies — DNS, HTTP, Network, and egress — extend to traffic that originates from your Workers, the same way they do for WARP users today.

  1. Worker

    Calls env.EGRESS.fetch()

  2. VPC binding↓

  3. Cloudflare Mesh

    Bind via cf1:network

  4. ↓

  5. Cloudflare Gateway

    Policies applied:

    DNSHTTPNetwork

  6. ↓

  7. ↗Public Internet

    Any public hostname or IP

Gateway logsDNSHTTPNetwork

What you get by default: …

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

Pipelines-Binding: Feld pipeline heißt jetzt stream

In der Wrangler-Konfiguration wurde das Feld pipeline im pipelines-Binding in stream umbenannt, das alte Feld ist veraltet, wird aber weiterhin akzeptiert.

The pipeline field inside the pipelines binding configuration in your Wrangler configuration file has been renamed to stream. The old field is deprecated but still accepted.

Update your configuration to use stream to avoid the deprecation warning.

Before (deprecated):

{
  "$schema": "./node_modules/wrangler/config-schema.json",
  "pipelines": [
    {
      "binding": "MY_PIPELINE",
      "pipeline": "<STREAM_ID>"
    }
  ]
}
[[pipelines]]
binding = "MY_PIPELINE"
pipeline = "<STREAM_ID>"

After:

{
  "$schema": "./node_modules/wrangler/config-schema.json",
  "pipelines": [
    {
      "binding": "MY_PIPELINE",
      "stream": "<STREAM_ID>"
    }
  ]
}
[[pipelines]]
binding = "MY_PIPELINE"
stream = "<STREAM_ID>"

No other changes are required. The binding name, TypeScript types, and runtime API (env.MY_PIPELINE.send(...)) remain the same.

For more information on configuring pipeline bindings, refer to Writing to streams.

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

Abrechnungsnutzung und Budgetwarnungen in Produkt-Seitenleisten

Pay-as-you-go-Kunden sehen in den Übersichtsseiten mehrerer Produkte wie Workers, D1, R2 und Containers nun über ein Seitenleisten-Widget die aktuellen Kosten und können dort Budgetwarnungen erstellen, wobei Enterprise-Vertragskonten noch nicht unterstützt werden.

Pay-as-you-go customers can now view billable usage and create budget alerts directly from the product overview pages for Workers & Pages, D1, R2, Workers KV, Queues, Vectorize, Durable Objects, and Containers. A new sidebar widget shows current-period spend and the billing cycle date range, alongside a button to create a budget alert.

The widget pulls from the same data as the Billable Usage dashboard and aligns to your billing cycle (or the current day on Free plans), so the numbers match your invoice. Enterprise contract accounts are not yet supported.

Billable usage widget in the Durable Objects product sidebar showing current-period spend and a breakdown by service …

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

Neuer Bulk-Secrets-API-Endpunkt für Workers

Über den neuen Bulk-Endpunkt oder wrangler secret bulk lassen sich mehrere Secrets eines Workers in einer Anfrage anlegen, aktualisieren oder löschen, mit bis zu 100 Operationen pro Anfrage.

You can now create, update, or delete multiple secrets for your Worker in a single request using the bulk secrets endpoint.

  • Include a secret with a value to create or update.
  • Set a secret to null to delete.
  • Secrets not included in the request are left unchanged.

The following example creates API_KEY, updates the already existing DB_PASSWORD, and deletes OLD_SECRET:

{
  "secrets": {
    "API_KEY": { "type": "secret_text", "name": "API_KEY", "text": "my-api-key" },
    "DB_PASSWORD": { "type": "secret_text", "name": "DB_PASSWORD", "text": "my-db-password" },
    "OLD_SECRET": null
  }
}

You can do the same from the command line using wrangler secret bulk:

npx wrangler secret bulk < secrets.json

To delete a key, set its value to null in the JSON file. Deletion is not supported with .env files.

Each request supports up to 100 total operations (creates, updates, and deletes combined).

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

Wrangler kann OAuth-Zugangsdaten im OS-Schlüsselbund absichern

Mit wrangler login --use-keyring speichert Wrangler OAuth-Zugangsdaten optional in einer AES-256-GCM-verschlüsselten Datei, deren Schlüssel im Schlüsselbund des Betriebssystems liegt, während das Standardverhalten unverändert bleibt.

Wrangler can now store the OAuth credentials returned by wrangler login in an AES-256-GCM ↗︎-encrypted file, with the encryption key held in your operating system keychain. The default behavior is unchanged — credentials still live in a plaintext TOML file unless you opt in.

To opt in, run:

npx wrangler login --use-keyring

The choice is persisted across Wrangler invocations. Opt back out with npx wrangler login --no-use-keyring, or override the preference for a single command with the CLOUDFLARE_AUTH_USE_KEYRING environment variable.

wrangler whoami now reports where credentials are stored:

🔐 Credentials are stored in: Encrypted file (~/.config/.wrangler/config/default.enc) with key in macOS Keychain (service=wrangler, account=default)

Per-platform backends:

  • macOS uses the built-in Keychain via /usr/bin/security.
  • Linux uses libsecret ↗︎ via the secret-tool CLI from the libsecret-tools package.
  • Windows uses Credential Manager via @napi-rs/keyring ↗︎, installed on-demand the first time you opt in. …

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

Developer Platform von Cloudflare

Workflow-Instanzen per Cron direkt am Workflow-Binding planen

In wrangler.jsonc lassen sich Cron-Zeitpläne direkt an ein Workflow-Binding hängen, sodass jeder geplante Lauf automatisch eine neue Workflow-Instanz erzeugt, ohne einen separaten Worker mit scheduled-Handler.

You can now attach cron schedules directly to a Workflow binding in wrangler.jsonc. Each scheduled run creates a new Workflow instance automatically, so you do not need to define a separate Worker with a scheduled handler just to trigger your Workflow on an interval.

For example, you can configure hourly, every-15-minute, or weekday schedules on the same Workflow:

{
	"workflows": [
		{
			"name": "my-scheduled-workflow",
			"binding": "MY_WORKFLOW",
			"class_name": "MyScheduledWorkflow",
			"schedules": ["0 * * * *", "*/15 * * * *", "0 9 * * MON-FRI"],
		},
	],
}

Cron workloads get all the same benefits of Workflows with built-in retries, multi-step durable execution, and configurable timeouts of Workflows.

import {
	WorkflowEntrypoint,
	WorkflowEvent,
	WorkflowStep,
} from "cloudflare:workers";

// Runs automatically on each cron schedule defined for the MY_WORKFLOW binding in wrangler.jsonc.
export class MyScheduledWorkflow extends WorkflowEntrypoint<Env> {
	async run(event: WorkflowEvent, step: WorkflowStep) {
		const data = await step.do("fetch source data", async () => {
			return await fetchSourceData();
		});

		// If this step fails, only this step is retried with the custom logic below
		await step.do(
			"process and store results",
			{
				retries: { limit: 5, delay: "30 seconds", backoff: "exponential" },
				timeout: "10 minutes",
			},
			async () => {
				await processAndStore(data);
			},
		);
	}
}
``` …

Originalquelle(öffnet in neuem Tab)Problem melden