Releases: cloudflare/workers-sdk
@cloudflare/pages-shared@0.13.119
@cloudflare/containers-shared@0.13.1
Patch Changes
-
#13049
7a5be20Thanks @nikitassharma! - add library-push flag to containers registries credentialsThis flag is not available for public use.
wrangler@4.77.0
Minor Changes
-
#13023
593c4dbThanks @jamesopstad! - Addwrangler versions uploadsupport for the experimentalsecretsconfiguration propertyWhen the new
secretsproperty is defined,wrangler versions uploadnow validates that all secrets declared insecrets.requiredare configured on the Worker before the upload succeeds. If any required secrets are missing, the upload fails with a clear error listing which secrets need to be set.When
secretsis not defined, the existing behavior is unchanged.// wrangler.jsonc { "secrets": { "required": ["API_KEY", "DB_PASSWORD"] } }
-
#12732
c2e9163Thanks @jamesopstad! - Add deploy support for the experimentalsecretsconfiguration propertyWhen the new
secretsproperty is defined,wrangler deploynow validates that all secrets declared insecrets.requiredare configured on the Worker before the deploy succeeds. If any required secrets are missing, the deploy fails with a clear error listing which secrets need to be set.When
secretsis not defined, the existing behavior is unchanged.// wrangler.jsonc { "secrets": { "required": ["API_KEY", "DB_PASSWORD"] } }
Patch Changes
-
#12896
451dae3Thanks @petebacondarwin! - fix: Add retry and timeout protection to remote preview API callsRemote preview sessions (
wrangler dev --remote) now automatically retry transient 5xx API errors (up to 3 attempts with linear backoff) and enforce a 30-second per-request timeout. Previously, a single hung or failed API response during session creation or worker upload could block the dev session reload indefinitely. -
#12569
379f2a2Thanks @MattieTK! - Useqwik add cloudflare-workersinstead ofqwik add cloudflare-pagesfor Workers targetsBoth the wrangler autoconfig and C3 Workers template for Qwik were running
qwik add cloudflare-pageseven when targeting Cloudflare Workers. This caused the wrong adapter directory structure to be scaffolded (adapters/cloudflare-pages/instead ofadapters/cloudflare-workers/), and required post-hoc cleanup of Pages-specific files like_routes.json.Qwik now provides a dedicated
cloudflare-workersadapter that generates the correct Workers configuration, includingwrangler.jsoncwithmainandassetsfields, apublic/.assetsignorefile, and the correctadapters/cloudflare-workers/vite.config.ts.Also adds
--skipConfirmation=trueto allqwik addinvocations so the interactive prompt is skipped in automated contexts. -
#11899
9a1cf29Thanks @hoodmane! - Remove cf-requirements support for Python workers. It hasn't worked with the runtime for a while now. -
#11800
875da60Thanks @southpolesteve! - Add upgrade hint to unexpected configuration field warnings when an update is availableWhen Wrangler encounters unexpected fields in the configuration file and a newer version of Wrangler is available, it now displays a message suggesting to update. This helps users who may be using configuration options that were added in a newer version of Wrangler.
-
Updated dependencies [
b8f3309,5aaaab2,5aaaab2,f8516dd,9c9fe30,6a6449e]:- miniflare@4.20260317.2
miniflare@4.20260317.2
Patch Changes
-
#11753
b8f3309Thanks @ruifigueira! - Added the following improvements to local Browser Rendering binding in Miniflare:- Local Chrome version upgraded to 126.0.6478.182
- Reciprocate browser websocket close events
-
#12986
5aaaab2Thanks @petebacondarwin! - fix: allow mixedd1Databasesrecords containing both string and object entriesPreviously, passing a
d1Databasesconfig that mixed plain string values and object entries (e.g.{ MY_DB: "db-name", OTHER_DB: { id: "...", remoteProxyConnectionString: ... } }) would cause Miniflare to throw an error. Both forms are now accepted and normalised correctly. -
#12986
5aaaab2Thanks @petebacondarwin! - fix: allow mixedkvNamespacesrecords containing both string and object entriesPreviously, passing a
kvNamespacesconfig that mixed plain string values and object entries (e.g.{ MY_NS: "ns-name", OTHER_NS: { id: "...", remoteProxyConnectionString: ... } }) would cause Miniflare to throw an error. Both forms are now accepted and normalised correctly. -
#12987
f8516ddThanks @petebacondarwin! - fix: allow mixedpipelinesrecords containing both string and object entriesPreviously, passing a
pipelinesconfig that mixed plain string values and object entries (e.g.{ MY_PIPELINE: "pipeline-name", OTHER_PIPELINE: { pipeline: "...", remoteProxyConnectionString: ... } }) would cause Miniflare to throw an error. Both forms are now accepted and normalised correctly. -
#12952
9c9fe30Thanks @petebacondarwin! - fix: allow mixedr2Bucketsrecords containing both string and object entriesPreviously, passing an
r2Bucketsconfig that mixed plain string values and object entries (e.g.{ MY_BUCKET: "bucket-name", OTHER_BUCKET: { ... } }) would cause Miniflare to throw an error. Both forms are now accepted and normalised correctly. -
#13015
6a6449eThanks @petebacondarwin! - fix: disable undici Pool request timeouts for local devMiniflare's undici
Poolinstances were using the defaultheadersTimeoutandbodyTimeoutof 300 seconds (5 minutes). Any request taking longer than that — streaming responses, large uploads, long-polling, or compute-heavy Workers — would be silently killed with a "request failed" error.Setting both timeouts to
0disables them entirely, which is the correct behaviour for a local development tool where there is no reason to enforce request timeouts.
create-cloudflare@2.65.0
Minor Changes
-
#12741
e8f62bbThanks @penalosa! - Enableupload_source_mapsby default for new projectsAll new projects created with C3 now have
upload_source_mapsset totruein their Wrangler configuration. This means source maps are automatically uploaded when you deploy, giving you meaningful stack traces in your Worker's logs and error reports without any extra setup.
Patch Changes
-
#12904
88c9471Thanks @dependabot! - Update dependencies of "create-cloudflare"The following dependency versions have been updated:
Dependency From To create-vike 0.0.592 0.0.599 -
#13003
ea13a78Thanks @dependabot! - Update dependencies of "create-cloudflare"The following dependency versions have been updated:
Dependency From To create-solid 0.6.13 0.7.0 -
#13004
44d8f22Thanks @dependabot! - Update dependencies of "create-cloudflare"The following dependency versions have been updated:
Dependency From To create-next-app 16.1.6 16.2.1 -
#13005
9a742b1Thanks @dependabot! - Update dependencies of "create-cloudflare"The following dependency versions have been updated:
Dependency From To @angular/create 21.2.2 21.2.3 -
#13006
554d68bThanks @dependabot! - Update dependencies of "create-cloudflare"The following dependency versions have been updated:
Dependency From To create-astro 5.0.0 5.0.3 -
#12569
379f2a2Thanks @MattieTK! - Useqwik add cloudflare-workersinstead ofqwik add cloudflare-pagesfor Workers targetsBoth the wrangler autoconfig and C3 Workers template for Qwik were running
qwik add cloudflare-pageseven when targeting Cloudflare Workers. This caused the wrong adapter directory structure to be scaffolded (adapters/cloudflare-pages/instead ofadapters/cloudflare-workers/), and required post-hoc cleanup of Pages-specific files like_routes.json.Qwik now provides a dedicated
cloudflare-workersadapter that generates the correct Workers configuration, includingwrangler.jsoncwithmainandassetsfields, apublic/.assetsignorefile, and the correctadapters/cloudflare-workers/vite.config.ts.Also adds
--skipConfirmation=trueto allqwik addinvocations so the interactive prompt is skipped in automated contexts.
@cloudflare/workflows-shared@0.7.1
Patch Changes
-
#12985
17a57e6Thanks @pombosilva! - FixwaitForEventdelivering events to stale waiters after timeout.When a
step.waitForEvent()call timed out, its resolver was not removed from the workflow's internal waiters map. This meant the nextstep.waitForEvent()for the same event type would have its incoming event consumed by the dead resolver instead of the live one, causing the workflow to hang indefinitely.
@cloudflare/workers-playground@0.4.2
@cloudflare/vitest-pool-workers@0.13.4
@cloudflare/vite-plugin@1.30.1
Patch Changes
-
#12851
86a40f0Thanks @jamesopstad! - Fix a bug that prevented using subpath imports for additional module typesYou can now use subpath imports for additional module types (
.html,.txt,.sql,.bin,.wasm) by defining them in yourpackage.jsonimportsfield:// package.json { "imports": { "#templates/page": "./src/templates/page.html" } }
import page from "#templates/page"; export default { fetch() { return new Response(page, { headers: { "Content-Type": "text/html" }, }); }, } satisfies ExportedHandler;
-
Updated dependencies [
593c4db,b8f3309,451dae3,5aaaab2,5aaaab2,f8516dd,9c9fe30,379f2a2,c2e9163,6a6449e,9a1cf29,875da60]:- wrangler@4.77.0
- miniflare@4.20260317.2
@cloudflare/playground-preview-worker@0.3.2
Patch Changes
-
#12753
ea8b1a4Thanks @petebacondarwin! - Replace deprecatedpromjslibrary withMetricsRegistryfrom@cloudflare/workers-utils/prometheus-metricsThe
promjslibrary has been unmaintained since 2022 and has a brokenpackage.jsonrequiring workarounds. It has been replaced with a lightweightMetricsRegistryclass in@cloudflare/workers-utils/prometheus-metricsthat produces byte-identical Prometheus text exposition format output.