github.com-cloudflare-workers-sdk
all · 53 devs · built 2026-06-13
Repository snapshot
Monthly reports
Highlights
- Introduced comprehensive support for `web_search` bindings in *Miniflare* and *Wrangler*, enabling streamlined integration with the Web Search API ([a2ef1a32 · Gabriel Massadas]).
- Added full support for `agent_memory` bindings in *Wrangler* and *Miniflare*, including new CLI commands for namespace management ([cbb39bdc · Pete Bacon Darwin]).
- Enhanced the *Wrangler* CLI by enabling `wrangler containers ssh` to function as an SSH `ProxyCommand` ([4c0da7be · Gregory Anders]) and aggregating multiple trigger deployment failures into a single, clear error message ([408432ae · Pete Bacon Darwin]).
- Improved the *Miniflare* developer experience with JSON output for the `/cdn-cgi/handler/scheduled` endpoint ([972d13d7 · Edmund Hung]) and explicit warnings when remote bindings are blocked by Cloudflare Access ([420e4578 · Pete Bacon Darwin]).
- Undertook significant architectural refactoring by extracting the `esbuild`-based development server into a new `@cloudflare/wrangler-bundler` package ([13cbadbd · Somhairle MacLeòid]) and introducing a new `deploy-helpers` package for shared deployment logic ([d042705c · emily-shen]).
- Implemented critical security hardening for GitHub Actions workflows by pinning all third-party actions to specific SHAs and disabling credential persistence by default ([8efb713b · Ben]).
Observations
- Total output decreased by 34% compared to the 2-month average (33 vs 50), indicating a notable reduction in overall development velocity.
- New feature development (Grow score) experienced a significant 53% drop, from a 2-month average of 21 to 10 in the current period.
- Commit volume was 212, a 16% decrease from the 2-month average of 251, aligning with the overall reduction in output.
- The Waste score decreased by 15% compared to the 2-month average (11 vs 13), suggesting a slight improvement in efficiency despite the lower output.
- Multiple bug fixes and enhancements focused on *Wrangler*'s developer experience, including improved error reporting for invalid API tokens ([e4c8fd97 · Danyal Ahmed]), better autoconfiguration for Vite projects without explicit config files ([37176e52 · Matt ‘TK’ Taylor]), and clearer error messages for Pages CLI commands ([b3962ffa · Dario Piotrowicz]).
- Several fixes addressed stability and compatibility issues in *Miniflare* and *vite-plugin-cloudflare*, such as handling missing `require.cache` in Yarn PnP environments ([0ce88ead · Daniel]) and preventing erroneous 'Tunnel closed' log messages ([ec70cf1e · Edmund Hung]).
- Continuous dependency updates for core components like `workerd` and `@cloudflare/workers-types` were observed across multiple commits ([c647ccc7 · dependabot[bot]], [97d7d81e · dependabot[bot]], [ce4eb208 · Dario Piotrowicz], [c1fd2fd3 · dependabot[bot]]), reflecting ongoing efforts to maintain compatibility with the latest Cloudflare ecosystem.
- Significant code quality improvements were made by removing most `@ts-ignore` directives ([bfb6229a · Dario Piotrowicz]) and enforcing a new linting rule (`require-description-when-disabling`) within the *Wrangler* package ([42ae2d4a · Dario Piotrowicz]), enhancing type safety and maintainability.
Performance over time
ETV stacked by Growth, Maintenance and Fixes — 90-day moving average, normalized to ETV / month.
Average performance per developer
ETV per active developer per month — 30-day moving average.
Active developers over time
Unique developers committing each day — 90-day moving average.
Knowledge concentration
How dependent is this repo on a small number of contributors? Higher top-1 share = higher key-person risk.
Pete Bacon Darwin owns 17.8 % of commits.
Top contributors
Most impactful commits
Top 20 by ETV in the all-time window.
- 4.4ETV[Workflows] Fix: implement workflows instance methods (#12881)Olga Silva · 8729f3d0 · 2026-03-19
- 3.6ETVfeat(local-explorer-ui): Added initial data studio (#12453) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Wrangler automated PR updater <wrangler@cloudflare.com> Co-authored-by: Victor Berchet <victor@suumit.com> Co-authored-by: Pete Bacon Darwin <pete@bacondarwin.com>Ben · 9764ea09 · 2026-03-04
- 3.1ETVfeat(local-explorer-ui): Added initial data studio plumbing (#12518) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Wrangler automated PR updater <wrangler@cloudflare.com> Co-authored-by: Edmund Hung <edmund@cloudflare.com> Co-authored-by: James Opstad <13586373+jamesopstad@users.noreply.github.com> Co-authored-by: Matt ‘TK’ Taylor <matttaylor@cloudflare.com>Ben · 323f14e1 · 2026-02-12
- 2.7ETV[explorer] add the UI for the dev resource explorer (#12288)emily-shen · 60eaf16d · 2026-02-04
- 2.5ETV[wrangler] Read OAuth state from disk lazily so env auth takes priority (#13954) Co-authored-by: Dario Piotrowicz <dario@cloudflare.com>Pete Bacon Darwin · 62abf970 · 2026-05-19
- 2.4ETV[Workflows] Implement Workflows instance methods (#12814)Olga Silva · 8d4ef788 · 2026-03-12
- 2.4ETVComplete refactoring Vite plugin into separate plugins (#11166) * Move ctx to module scope * Move miniflare into ctx * Move remaining module state into ctx * Create config plugin * Rename containers variables * Use single instance of debuglog * Moved dev to separate plugin * Moved preview to separate plugin * Simplified and moved trigger handlers plugin * Add debug plugin * Reintroduce inspector port * Add JSDoc * Tweaks * Create new PluginContext instance on server restarts * More refactoring * Add more JSDoc * Add comment about middleware placementJames Opstad · 3b6186e5 · 2025-11-04
- 2.1ETV[Local-Explorer-UI] Add Workflows support (#13086) Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>Olga Silva · d4c61587 · 2026-03-27
- 2.0ETVAdded new pipelines commands (pipelines, streams, sinks, setup) [do not merge until 9/22] (#10612) * Added new pipelines commands (pipelines, streams, sinks, setup), moved old pipelines commands behind --legacy * Changed default cors origins in setup command * Updated behavior for legacy pipelines, remove --legacy arg * updated types, made rollover policy more clear, updated path copy, feedback * Addressed PR comments, further isolated legacy behavior * Now uses updateConfigFile to display workers/bindings instructions * Updated stream/setup wrangler output to reflect pipelines binding now points to stream id * Fixed pipelines get command, now consistent with others with --json argPhillip Jones · 97a72ccd · 2025-09-22
- 2.0ETVUse vitest#expect from the local context (#12347)Victor Berchet · 1a1f9e48 · 2026-02-02
- 2.0ETVAdd experimental new config and opt in Vite plugin support (#14013)James Opstad · 3cf9d0e9 · 2026-06-04
- 1.8ETVfeat(local-explorer-ui): Add data studio table explorer tab (#12599)Ben · 3649d3e4 · 2026-02-24
- 1.8ETVMake remote dev `exchange_url` optional (#12771)Somhairle MacLeòid · b8c33f55 · 2026-03-10
- 1.8ETVrefactor: run C3 e2e tests more easily locally and individually (#9533) * fix: ensure that the `sourcemap-codec` library has been transformed correctly to be imported in workerd during Vitest runs Prior to this the inline snapshot tests were failing because they use the `magic-string` library, which in turn relies upon the `sourcemap-codec` library. This resulted in errors that look like: ``` Error running worker: SyntaxError: The requested module '@jridgewell/sourcemap-codec' does not provide an export named 'encode' ``` * refactor: run C3 e2e tests more easily locally and individually * fixup! refactor: run C3 e2e tests more easily locally and individually * move to-exist helper back to setup file * rename the filtering env vars * fixup! refactor: run C3 e2e tests more easily locally and individually * fix c3 e2e ci groups * remove unnecessary step * skip gatsby on yarn * Run windows tests in a normal directory * skip Workers tests on Windows * match the previous test descriptionsPete Bacon Darwin · 0a5bb5a6 · 2025-07-01
- 1.8ETVRemove vitest globals from all tests (#11462)Dario Piotrowicz · 76083d1c · 2025-11-29
- 1.7ETVimplement r2 bulk put (#11285)Victor Berchet · d014fa72 · 2025-11-17
- 1.7ETVUse tsdown to bundle the Vite plugin (#10866) * Use tsdown to bundle Vite plugin * Move Workers into separate directory * Add changesetJames Opstad · f62d0b66 · 2025-10-03
- 1.7ETV[workers-auth] Extract OAuth 2.0 + PKCE flow into a new package (#14121)Pete Bacon Darwin · 7539a9bf · 2026-06-02
- 1.6ETVAdd cross-process support to local explorer (#12754)emily-shen · e4d9510c · 2026-03-09
- 1.6ETVSupport `CLOUDFLARE_ENV` environment variable for selecting the active environment (#11228) * Make BundleController tests able to run on non-unix OSs * ignore generated files from eslint * fix home directory mocking * Improve isolation of containers push tests * use logger.loggerLevel rather than recomputing it in Wrangler The startup-profiling test was leaking the logger level between tests, so that got fixed in here too. * move environment variable handling from `wrangler` to `@cloudflare/workers-utils` * Support `CLOUDFLARE_ENV` environment variable for selecting the active environment This change enables users to select the environment for commands such as `CLOUDFLARE_ENV=prod wrangler versions upload`. The `--env` command line argument takes precedence. The `CLOUDFLARE_ENV` enviroment variable is mostly used with the `@cloudflare/vite-plugin` to select the environment for building the Worker to be deployed. This build also generates a "redirected deploy config" that is flattened to only contain the active environment. To avoid accidentally deploying a version that is built for one environment to a different environment, there is an additional check to ensure that if the user specifies an environment in Wrangler it matches the original selected environment from the build. * fix error message when both CLOUDFLARE_ENV and --env are provided * fix "via" part of the validation error * fixups after James' review * send the errors to Sentry so we can ascertain how often this occurs * fixups from DarioPete Bacon Darwin · 43903a38 · 2025-11-24