Skip to content

Version Packages#13096

Merged
dario-piotrowicz merged 1 commit intomainfrom
changeset-release/main
Mar 31, 2026
Merged

Version Packages#13096
dario-piotrowicz merged 1 commit intomainfrom
changeset-release/main

Conversation

@workers-devprod
Copy link
Copy Markdown
Contributor

@workers-devprod workers-devprod commented Mar 27, 2026

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

miniflare@4.20260329.0

Minor Changes

  • #13025 9eff028 Thanks @ruifigueira! - Add missing devtools endpoints to browser rendering local binding.

    The local browser rendering binding now implements the full set of devtools endpoints, matching the remote Browser Rendering API:

    • GET /v1/limits — returns local concurrency defaults
    • GET /v1/history — returns empty array (no persistence in local dev)
    • GET /v1/devtools/session - list and inspect active sessions
    • GET /v1/devtools/session/:id — list and inspect active session
    • GET /v1/devtools/browser/:id/json/version — Browser version metadata, includes webSocketDebuggerUrl
    • GET /v1/devtools/browser/:id/json/list — A list of all available websocket targets
    • GET /v1/devtools/browser/:id/json — Alias for GET /v1/devtools/browser/:id/json
    • GET /v1/devtools/browser/:id/json/protocol — The current devtools protocol, as JSON. Includes webSocketDebuggerUrl and devtoolsFrontendUrl
    • PUT /v1/devtools/browser/:id/json/new — Opens a new tab. Responds with the websocket target data for the new tab
    • GET /v1/devtools/browser/:id/json/activate/:target — Brings a page into the foreground (activate a tab)
    • GET /v1/devtools/browser/:id/json/close/:target — Closes the target page identified by targetId
    • GET /v1/devtools/browser/:id/page/:target — WebSocket connection to a page target
    • GET /v1/devtools/browser/:id — WebSocket connection to a previously acquired browser session
    • DELETE /v1/devtools/browser/:id — Closes a browser session
    • POST /v1/devtools/browser — Acquires a new session
    • GET /v1/devtools/browser — Acquire a new session and connect via WebSocket in one step, returning cf-browser-session-id header
  • #13086 d4c6158 Thanks @pombosilva! - Add Workflows support to the local explorer UI.

    The local explorer (/cdn-cgi/explorer/) now includes a full Workflows dashboard for viewing and managing workflow instances during local development.

    UI features:

    • Workflow instance list with status badges, creation time, action buttons, and pagination
    • Status summary bar with instance counts per status
    • Status filter dropdown and search
    • Instance detail page with step history, params/output cards, error display, and expandable step details
    • Create instance dialog with optional ID and JSON params

Patch Changes

  • #13111 f214760 Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"

    The following dependency versions have been updated:

    Dependency From To
    workerd 1.20260317.1 1.20260329.1
  • #13078 9282493 Thanks @penalosa! - Fix noisy EBUSY errors on Windows when disposing Miniflare instances

    On Windows, workerd may not release file handles immediately after disposal, causing EBUSY errors when Miniflare tries to remove its temporary directory during dispose(). Previously, this error propagated to the caller (e.g. vitest-pool-workers), producing repeated noisy error messages in test output. The cleanup is now best-effort — matching the existing exit hook behaviour — since the temporary directory lives in os.tmpdir() and will be cleaned up by the OS.

  • #13090 a532eea Thanks @edmundhung! - Remove LOCAL_EXPLORER_BASE_PATH and LOCAL_EXPLORER_API_PATH constants in favor of CorePaths.EXPLORER

    These were redundant aliases introduced before CorePaths was centralized. All internal consumers now use CorePaths.EXPLORER directly.

@cloudflare/vitest-pool-workers@0.14.0

Minor Changes

  • #12858 f05f2da Thanks @repository! - Add disableRetryDelays() to WorkflowInstanceModifier to skip retry backoff delays in tests

    When testing Workflows with retry configurations, the backoff delays between retry attempts of a failing step.do() caused real wall-clock waiting (e.g., 35 seconds for 3 retries with 5-second exponential backoff), even when step results were fully mocked. The new disableRetryDelays() method eliminates these delays while preserving retry behavior — all attempts still execute, just without waiting between them.

Patch Changes

  • #13091 6d58f0f Thanks @penalosa! - Use today's date for the RTTI compat date query instead of a hardcoded "2023-12-01", so newly added Node.js builtin modules are recognized by the module fallback service.

  • #13070 cdb9c88 Thanks @penalosa! - Suppress CODE_MOVED for unknown code block log spam from workerd

    These are internal workerd diagnostic messages not relevant to application developers. Miniflare's structured log handler already filters them, but vitest-pool-workers uses a custom handleRuntimeStdio that bypasses that pipeline. This adds the pattern to the pool's own ignore list.

  • #13069 6d0e329 Thanks @penalosa! - fix: suppress outputGateBroken stderr noise when testing Workflows

  • #13075 b8df076 Thanks @penalosa! - Support @voidzero-dev/vite-plus-test as an alternative to vitest

    Users running tests via Vite+ (@voidzero-dev/vite-plus-test) with the recommended pnpm overrides no longer hit spurious version warnings or Disallowed operation called within global scope errors.

  • Updated dependencies [ffbc268, 9eff028, ed20a9b, f214760, 746858a, 9aad27f, 1fc5518, b539dc7, 9282493, a532eea, cd0e971, d4c6158, 2565b1d]:

    • wrangler@4.79.0
    • miniflare@4.20260329.0

wrangler@4.79.0

Minor Changes

  • #12868 ffbc268 Thanks @danielgek! - Add wrangler ai-search command namespace for managing Cloudflare AI Search instances

    Introduces a CLI surface for the Cloudflare AI Search API (open beta), including:

    • Instance management: ai-search list, create, get, update, delete
    • Semantic search: ai-search search with repeatable --filter key=value flags
    • Instance stats: ai-search stats

    The create command uses an interactive wizard to guide configuration. All commands require authentication via wrangler login.

  • #13097 cd0e971 Thanks @pombosilva! - Add --local flag to Workflows commands for interacting with local dev

    All Workflows CLI commands now support a --local flag that targets a running wrangler dev session instead of the Cloudflare production API. This uses the /cdn-cgi/explorer/api/workflows endpoints served by the local dev server.

    wrangler workflows list --local
    wrangler workflows trigger my-workflow '{"key":"value"}' --local
    wrangler workflows instances describe my-workflow latest --local
    wrangler workflows instances pause my-workflow <id> --local --port 9000
    

    By default, commands continue to hit remote (production). Pass --local to opt in, and optionally --port to specify a custom dev server port (defaults to 8787).

Patch Changes

  • #13050 ed20a9b Thanks @dario-piotrowicz! - Add minimum and maximum version checks for frameworks during auto-configuration

    When Wrangler automatically configures a project, it now validates the installed version of the detected framework before proceeding:

    • If the version is below the minimum known-good version, the command exits with an error asking the user to upgrade the framework.
    • If the version is above the maximum known major version, a warning is emitted to let the user know the framework version has not been officially tested with this feature, and the command continues.
  • #13111 f214760 Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"

    The following dependency versions have been updated:

    Dependency From To
    workerd 1.20260317.1 1.20260329.1
  • #13079 746858a Thanks @penalosa! - Fix getPlatformProxy and unstable_getMiniflareWorkerOptions crashing when assets is configured without a directory

    getPlatformProxy and unstable_getMiniflareWorkerOptions now skip asset setup when the config has an assets block but no directory — instead of throwing "missing required directory property". This happens when an external tool like @cloudflare/vite-plugin handles asset serving independently.

  • #13112 9aad27f Thanks @dario-piotrowicz! - Fix autoconfig failing on waku projects that use hono

    Waku has a tight integration with Hono, causing both to be detected simultaneously and triggering a "multiple frameworks found" error. Hono is now filtered out when Waku is also detected.

  • #13113 1fc5518 Thanks @dario-piotrowicz! - Skip lock file warning for static projects during autoconfig

    Previously, running autoconfig on a static project (one with no framework detected) would emit a misleading warning about a missing lock file, suggesting the project might be in a workspace. Since static projects don't require a lock file, this warning is now suppressed for them.

  • #13072 b539dc7 Thanks @jbwcloudflare! - Skip unnecessary GET /versions?deployable=true API call in wrangler versions deploy when all version IDs are explicitly provided and --yes is passed

    When deploying a specific version non-interactively (e.g. wrangler versions deploy <id> --yes), Wrangler previously always fetched the full list of deployable versions to populate the interactive selection prompt — even though the prompt is skipped entirely when --yes is used and all versions are already specified. The deployable-versions list is now only fetched when actually needed (i.e. when no version IDs are provided, or when running interactively).

  • #13115 2565b1d Thanks @dario-piotrowicz! - Improve error message when the assets directory path points to a file instead of a directory

    Previously, if the path provided as the assets directory (via --assets flag or assets.directory config) pointed to an existing file rather than a directory, Wrangler would throw an unhelpful ENOTDIR system error when trying to read the _redirects file inside it. Now Wrangler detects this condition earlier and throws a clear user error.

  • Updated dependencies [9eff028, f214760, 9282493, a532eea, d4c6158]:

    • miniflare@4.20260329.0

create-cloudflare@2.66.1

Patch Changes

  • #13106 c8c44a7 Thanks @dependabot! - Update dependencies of "create-cloudflare"

    The following dependency versions have been updated:

    Dependency From To
    create-react-router 7.13.1 7.13.2
  • #13107 687f144 Thanks @dependabot! - Update dependencies of "create-cloudflare"

    The following dependency versions have been updated:

    Dependency From To
    create-astro 5.0.3 5.0.4
  • #13108 3a8a24c Thanks @dependabot! - Update dependencies of "create-cloudflare"

    The following dependency versions have been updated:

    Dependency From To
    @angular/create 21.2.3 21.2.5
  • #13109 9deba25 Thanks @dependabot! - Update dependencies of "create-cloudflare"

    The following dependency versions have been updated:

    Dependency From To
    create-waku 0.12.5-1.0.0-alpha.5-0 0.12.5-1.0.0-alpha.6-0
  • #13110 71059be Thanks @dependabot! - Update dependencies of "create-cloudflare"

    The following dependency versions have been updated:

    Dependency From To
    create-vue 3.22.0 3.22.1

@cloudflare/pages-shared@0.13.120

Patch Changes

@cloudflare/vite-plugin@1.30.3

Patch Changes

  • #13111 f214760 Thanks @dependabot! - Add missing connect key to WorkerEntrypoint and DurableObject key lists in the runner worker

    The connect method was added to the WorkerEntrypoint and DurableObject types in workerd 1.20260329.1 but was missing from the WORKER_ENTRYPOINT_KEYS and DURABLE_OBJECT_KEYS arrays used for RPC property access in the Vite plugin runner worker. This caused the compile-time exhaustiveness check to fail with the updated workers-types.

  • Updated dependencies [ffbc268, 9eff028, ed20a9b, f214760, 746858a, 9aad27f, 1fc5518, b539dc7, 9282493, a532eea, cd0e971, d4c6158, 2565b1d]:

    • wrangler@4.79.0
    • miniflare@4.20260329.0

@cloudflare/cli@1.3.0

Minor Changes

  • #13068 e631a94 Thanks @dario-piotrowicz! - Add runCommand and quoteShellArgs, installPackages and installWrangler utilities to @cloudflare/cli/command

    These utilities are now available from @cloudflare/cli as dedicated sub-path exports: runCommand and quoteShellArgs via @cloudflare/cli/command, and installPackages and installWrangler via @cloudflare/cli/packages. This makes them reusable across packages in the SDK without duplication.

@cloudflare/codemod@1.1.0

Minor Changes

  • #13102 e200179 Thanks @dario-piotrowicz! - First release of new package

    Add @cloudflare/codemod package with internal AST-based codemod utilities (parseJs, parseTs, parseFile, transformFile, mergeObjectProperties) built on recast.

@cloudflare/workers-playground@0.4.3

Patch Changes

  • #13105 ff41b07 Thanks @petebacondarwin! - fix: resolve TypeError: createRenderer is not a function when built with Vite 8

    Vite 8 switched its bundler from Rollup to rolldown. The @cloudflare/style-provider package ships a hybrid ESM+CJS build (its es/ directory uses require() internally), which rolldown mishandles by generating an anonymous, unreachable module initializer — leaving createRenderer as undefined at runtime.

    Fixed by aliasing @cloudflare/style-provider to its CJS entry (lib/index.js) in vite.config.ts. Rolldown handles plain CJS correctly via its interop layer.

@cloudflare/workflows-shared@0.7.2

Patch Changes

  • #13086 d4c6158 Thanks @pombosilva! - Add Workflows support to the local explorer UI.

    The local explorer (/cdn-cgi/explorer/) now includes a full Workflows dashboard for viewing and managing workflow instances during local development.

    UI features:

    • Workflow instance list with status badges, creation time, action buttons, and pagination
    • Status summary bar with instance counts per status
    • Status filter dropdown and search
    • Instance detail page with step history, params/output cards, error display, and expandable step details
    • Create instance dialog with optional ID and JSON params

@workers-devprod workers-devprod requested a review from a team as a code owner March 27, 2026 16:10
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 27, 2026

⚠️ Issues found

.changeset/vitest-outputgate-noise.md

Missing body/description.

The changeset contains only a title and no body:

fix: suppress `outputGateBroken` stderr noise when testing Workflows

Per the guidelines, the body should include "one or more paragraphs explaining the reason for the change and anything notable about the approach." There is no explanation of what outputGateBroken is, why it produces noise, or how it was fixed. A brief body similar to the suppress-code-moved-logs.md changeset would be appropriate.


.changeset/warm-foxes-shave.md

Possible breaking change marked as patch.

The changeset removes two named exports (LOCAL_EXPLORER_BASE_PATH and LOCAL_EXPLORER_API_PATH) from miniflare:

Remove LOCAL_EXPLORER_BASE_PATH and LOCAL_EXPLORER_API_PATH constants in favor of CorePaths.EXPLORER

If these constants were part of miniflare's public API surface (i.e., exported from the package's entry point), removing them is a breaking change and should be at minimum minor (or major if they are considered stable API). Please verify whether these symbols appear in miniflare's public exports. If they are purely internal (not re-exported from the package index), patch is fine — but the changeset should clarify that they were internal-only to make the intent clear.


All other changesets look good.

@ask-bonk
Copy link
Copy Markdown
Contributor

ask-bonk bot commented Mar 27, 2026

LGTM

github run

Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Open in Devin Review

@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new bot commented Mar 27, 2026

create-cloudflare

npm i https://pkg.pr.new/create-cloudflare@13096

@cloudflare/kv-asset-handler

npm i https://pkg.pr.new/@cloudflare/kv-asset-handler@13096

miniflare

npm i https://pkg.pr.new/miniflare@13096

@cloudflare/pages-shared

npm i https://pkg.pr.new/@cloudflare/pages-shared@13096

@cloudflare/unenv-preset

npm i https://pkg.pr.new/@cloudflare/unenv-preset@13096

@cloudflare/vite-plugin

npm i https://pkg.pr.new/@cloudflare/vite-plugin@13096

@cloudflare/vitest-pool-workers

npm i https://pkg.pr.new/@cloudflare/vitest-pool-workers@13096

@cloudflare/workers-editor-shared

npm i https://pkg.pr.new/@cloudflare/workers-editor-shared@13096

wrangler

npm i https://pkg.pr.new/wrangler@13096

commit: 39349be

@workers-devprod workers-devprod force-pushed the changeset-release/main branch 24 times, most recently from 7ed522b to dba31fd Compare March 30, 2026 14:01
@workers-devprod workers-devprod force-pushed the changeset-release/main branch 5 times, most recently from df89bb0 to ba65f88 Compare March 31, 2026 09:41
@workers-devprod workers-devprod force-pushed the changeset-release/main branch from ba65f88 to 39349be Compare March 31, 2026 09:43
@dario-piotrowicz dario-piotrowicz merged commit d927ee3 into main Mar 31, 2026
52 checks passed
@dario-piotrowicz dario-piotrowicz deleted the changeset-release/main branch March 31, 2026 11:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants