miniflare@4.20260702.0
Breaking Changes📦 cloudflare-workersView on GitHub →
⚠ 1 breaking✨ 1 features🐛 2 fixes🔧 5 symbols
Summary
This release introduces support for Queues across separate local development processes and updates local rate limiting logic to key counters by `namespace_id` for production parity. Internal dependencies were also refactored to improve ESM compatibility.
⚠️ Breaking Changes
- Local rate limit counters are now keyed by `namespace_id` instead of binding name. If you had multiple bindings referencing the same namespace ID, they will now share a single rate limit counter locally, matching production behavior. Previously, they were treated as separate limiters.
Migration Steps
- Review local rate limiting setup if you relied on distinct rate limiters for bindings sharing the same `namespace_id`; they will now share a limit.
- If you are using internal utilities, note that Miniflare and create-cloudflare now consume shared helpers from `@cloudflare/workers-utils`, importing node-only leaf entry points like `@cloudflare/workers-utils/fs-helpers` or `@cloudflare/workers-utils/global-wrangler-config-path` when ESM bundling requires it.
✨ New Features
- Support for Queues across separate local development processes, where messages produced before the consumer registers or while it is down are now dropped (with a debug log) instead of buffered.
🐛 Bug Fixes
- The `reset()` function from `cloudflare:test` now correctly resets ratelimit binding state between tests, preventing stale rate-limit exhaustion state from affecting subsequent tests.
- Fixed an issue where rate limit bindings were stripped from secondary Workers in multiworker `wrangler dev` sessions to avoid startup crashes; they are now correctly supported by keying counters by `namespace_id`.