workerd
1.20261021.1 · 21 Oct 2026Apache-2.019.8M / weekRepositoryHomepagenpmAtom feed
562 stable releases, newest first, by release line. Notes are quoted as the maintainers published them.
1.20261021.1
21 Oct 2026Allow queueMicrotask task to be minor gc'd
Let the embedder keep V8 code caches for worker code
Keep bundled Node module sources in one-byte strings
What's Changed
Allow queueMicrotask task to be minor gc'd
Let the embedder keep V8 code caches for worker code
Keep bundled Node module sources in one-byte strings
Document the formatters, linters, and pre-commit hook
Arm the HTTP completion timeout after receiving headers
Rust I18N Rewrite
Enable WebAssembly compact import section encoding
rust jsg-macros: do not use private module from
quoteMake Rust JSG instance properties native data properties
Add a compile-test harness for Rust
1.20261019.1
19 Oct 2026More deduplication and cleanup in TS streams
Test Expect: 100-continue on the hyper listener
1.20261018.1
18 Oct 2026[nfc] Add IWYU guidelines to AGENTS.md, Remove rust_io_link_check
Deflake server bench test
1.20261016.1
16 Oct 2026Fix lowercase letter in EXPERIMENTAL_ANNOTATION_ID
Account for pumped bytes in RPC stream EOF bookkeeping
Fix sanitizer CI annotations and timing-sensitive tests
What's Changed
Fix lowercase letter in EXPERIMENTAL_ANNOTATION_ID
Account for pumped bytes in RPC stream EOF bookkeeping
Fix sanitizer CI annotations and timing-sensitive tests
Give the wrapper allocation regression a suitable budget
Give metadata and RPC stream suites a suitable debug budget
Keep Pyodide's compiled Wasm module alive across isolates
[o11y] Make sure that exceptions are reported for the right request in actors
Test and cleanup of reading steps
Pin three tee() and detach divergences
Pin where closed settles at a native body's end
[nfc] Support strip_prefix for git repos in update script
1.20261015.1
15 Oct 2026Add basic instance type to container start options
Add more granular spans for Python workers bootstrap
server: Rust server follow-ups (Windows drain, connection reuse, dead code)
What's Changed
Add basic instance type to container start options
Add more granular spans for Python workers bootstrap
server: Rust server follow-ups (Windows drain, connection reuse, dead code)
Reject failed server startup readiness with actionable diagnostics
Give the persistent RPC storage suite a suitable test budget
Launch Windows wd-tests without an unnecessary PowerShell process
Collect zlib engines without conservative stack roots
Streams: lifetime and termination handling fixes, backward error propagation in pipeTo()
Pin late writes on the elided TransformStream path
fix new Function("") behaviour
Fixup streams cancelation regression
Pin shared-memory writes to IdentityTransformStream
Implement async trace mechanism
Pin how stream constructors convert their arguments
SQC-843 implements hyperdrive js binding
Copy of #7575
Stop the fetch cache option from overriding the origin's Cache-Control
1.20261014.1
14 Oct 2026server: replace the C++ server with a Rust server over a C++ factory
io: scope timer scheduling and clock clamping to input gates
Add Kitesurf backend to Browser Run types
What's Changed
server: replace the C++ server with a Rust server over a C++ factory
io: scope timer scheduling and clock clamping to input gates
Add Kitesurf backend to Browser Run types
Observe the stored alarm deadline before allowing delivery
Clear not-delivered when marking an actor connect delivered
Spread later actor call retries across the retry timeout
Wait for the late write in connect-neuter-test instead of sleeping
Begin deduplicating code in ts-streams
Cage Blob payload pointers relative to the JS heap
Move consumed timer queue head values
Propagate cache-operation user spans through CacheClient
Move per-isolate-bootstrap to api
Pin expectedLength conversion in the streams suites
1.20261013.1
13 Oct 2026Group queries in SRS by a top-level
queryIdAdd wasm_esm_integration_builtins compat flag for runtime-compiled Wasm
What's Changed
Group queries in SRS by a top-level
queryIdAdd wasm_esm_integration_builtins compat flag for runtime-compiled Wasm
1.20261012.1
12 Oct 20261.20261011.1
11 Oct 2026Consolidate streams-test.c++ into other tests
Cleanup after from the startup-snapshot and WrapGlobal changes
Do not install C++ streams when ts flag is on
What's Changed
Consolidate streams-test.c++ into other tests
Cleanup after from the startup-snapshot and WrapGlobal changes
Do not install C++ streams when ts flag is on
kj-hyper: hyper, rustls and kj's WebSockets behind kj-typed seams
1.20261010.1
10 Oct 2026Treat an undefined TS identity stream chunk as a no-op write
Use WrapGlobal for the global object
Use WrapGlobal for the global object
What's Changed
Treat an undefined TS identity stream chunk as a no-op write
Use WrapGlobal for the global object
Use WrapGlobal for the global object
Accept a bare SharedArrayBuffer chunk in TS TextDecoderStream
io: prevent parked move-later alarm from desynchronizing scheduled alarm
STOR-5615: Replace @retryable with retryable()
Settle a TS compression write or close cut short by a cancel
Release pipeline on rejected rpc promises
Jphillips/v8 15.6 compat
Start a native source pull or sink write before marking it in flight
Pin C++ IdentityTransformStream truncating a string chunk at NUL
use Rc for refcounted IoChannels
Read a TS streams strategy's highWaterMark once
types: return IteratorResult<T, undefined> in SqlStorageCursor.next
Internal build for #7549
Run fetch wpts with TS streams
1.20261009.1
9 Oct 2026Clamp the TS readable queue total at dequeue, as the spec does
Skip internal build in stacked PRs
Fix Node global declarations in workers types
What's Changed
Clamp the TS readable queue total at dequeue, as the spec does
Skip internal build in stacked PRs
Fix Node global declarations in workers types
Fix HTTP delivery and structured logging test fixtures
Handle tee branch close re-entrancy bugs
Observer hooks for isolate cost attribution and V8 internal histograms
Remove dead code from the TS readable stream
Add
fetch_setupspan with children for in-isolate fetch setup[WO-1578] Add spanContext
Introduce V8 startup-snapshot pipeline
Dcarney/6908 internal build
Explain the writable float queue total pin as spec double arithmetic
Handle multiple algorithm clearance/re-entrancy issues
Use precise utf8 length sizing
Close a detached TS native writable and reject its pending writes
1.20261008.1
8 Oct 2026Report wrapper cppgc allocations to V8 outside the no-GC scope
fix wd_rust_proc_macro.bzl to be used downstream
Contain exceptions thrown while releasing objects during GC
What's Changed
Report wrapper cppgc allocations to V8 outside the no-GC scope
fix wd_rust_proc_macro.bzl to be used downstream
Contain exceptions thrown while releasing objects during GC
Follow the spec's iterator protocol in TS ReadableStream.from
Mark all streams tests large to give longer timeouts
1.20261007.1
7 Oct 2026types: Support ReadonlyMap and ReadonlySet in RPC types
Add more spans and tags for Python workers
add generic Flagship binding types
What's Changed
types: Support ReadonlyMap and ReadonlySet in RPC types
Add more spans and tags for Python workers
add generic Flagship binding types
type structured Flagship evaluation context
CFSQL-1814: Support direct D1 JSRPC responses and structured errors
Add temporary actor retry diagnostics
upstream patch
kj-rs-tokio: a Runtime that lets Rust main own the KJ loop
capnproto update
remove own-util
1.20261006.1
6 Oct 2026Rust: keep unit tests in <module>-test.rs, outside the production crate
rust: deny unsafe and panicking code by default in every crate
tailStreamSession() request size hint
What's Changed
Rust: keep unit tests in <module>-test.rs, outside the production crate
rust: deny unsafe and panicking code by default in every crate
tailStreamSession() request size hint
Tune re-entrancy and microtask resolution timing
Pin SharedArrayBuffer view rejection across byte-stream entry points
Align the TS ReadableStream async iterator with WebIDL
1.20261005.1
5 Oct 2026worker: PromisedInterface, into_kj and notSupported for Rust interfaces
What's Changed
worker: PromisedInterface, into_kj and notSupported for Rust interfaces
Bump urllib3 from 2.6.3 to 2.8.0 in /src/pyodide/internal/sphinx
1.20261004.1
4 Oct 2026Expose Durable Object snapshot APIs
1.20261002.1
2 Oct 2026Prepare TLS changes
Workflows create batch overload
Restore the C++ exception boundary in console.* decorators
What's Changed
Prepare TLS changes
Workflows create batch overload
Restore the C++ exception boundary in console.* decorators
Accept an explicit onset parent span
Fix
reportQueryEventfails to cover prepare statementsinternal build for #7585
remove v8 nightly
1.20261001.1
1 Oct 2026Maintenance only: docs, tests, build or refactoring. Nothing changes in how you use it.
1.20260930.2
30 Sep 2026Update compat date for
durable_object_io_tasks_prevent_evictionFix spurious unhandled rejections from Durable Object fetch retries
1.20260930.1
30 Sep 2026STOR-5615: Add the @retryable Durable Object decorator
Enable debug for v8's heap.cc
[nfc] Clarify V8 compatibility audit requirements
What's Changed
STOR-5615: Add the @retryable Durable Object decorator
Enable debug for v8's heap.cc
[nfc] Clarify V8 compatibility audit requirements
Add Artifacts repository read types
Centralize TraceContext construction
Update compat date for
durable_object_io_tasks_prevent_eviction
1.20260929.1
29 Sep 2026Defer in-memory alarm task cancellation
Upstream internal patches (2026-09-27)
STOR-5615: Count full replay memory for JSRPC calls
What's Changed
Defer in-memory alarm task cancellation
Upstream internal patches (2026-09-27)
STOR-5615: Count full replay memory for JSRPC calls
Remove a ton of rolled out autogates
Run Bonk from ask-bonk main
Refactor console method decoration for snapshotting
Add ML-KEM and ML-DSA WebCrypto support
Set compat date for flag preventing eviction of DO with active I/O tasks.
1.20260928.1
28 Sep 2026memory-cache: remove the C++ implementation and the MEMORY_CACHE_V2 autogate
1.20260927.1
27 Sep 2026kj-rs: drop a KjOwn<T> through kj::Own<T>'s own destructor
Make Bonk reviews reliable and context-aware
Make Bonk reviews precise
1.20260926.1
26 Sep 2026handle exceptions thrown in TCP connect() handler
update capnp-cpp and use kj::StaticArrayPtr for static tables
Settle a TransformStream cancel from the writable's state
What's Changed
handle exceptions thrown in TCP connect() handler
update capnp-cpp and use kj::StaticArrayPtr for static tables
Settle a TransformStream cancel from the writable's state
STOR-5615: Apply retry policy to JSRPC calls
Add jsg support for shared-ownership module sources
Linting: reject more use-after-moves
Release the transformer once a TransformStream finishes
[Workers AI] Update model reasoning types
ts streams identity write settlement
Read detached and out-of-bounds DataView chunks as empty
1.20260925.2
25 Sep 2026Close a native stream at the handoff of its data
Lock a closed or errored native stream on tee()
Validate a writable chunk's size only when it is enqueued
What's Changed
Close a native stream at the handoff of its data
Lock a closed or errored native stream on tee()
Validate a writable chunk's size only when it is enqueued
STOR-5615: Add configurable Durable Object retries
Add runtime support for running same-worker Workflows
Adopt kj::StickyFlag to simplify basic promise and fulfiller use.
Sqlite: support adding specific error context to internal exceptions
1.20260925.1
25 Sep 2026Make workerd's entry point Rust
Document and pin slowest-branch tee backpressure
Take queued bytes whole on auto-allocate default reads
What's Changed
Make workerd's entry point Rust
Document and pin slowest-branch tee backpressure
bump reviewer to opus 5.5
Take queued bytes whole on auto-allocate default reads
Increase the SQLite row limit to 8 MiB
Keep a byobRequest held across tee() working
Queue the chunk before filling reads with released bytes
Add actor wait-until task lifetime tracking hook
add some deserialization diagnostics
Only run internal build for necessary paths
STOR-5489: Retry Durable Object RPC calls
Pin that a pipe waits for an erroring destination's in-flight write
Observe the pipe's AbortSignal through an abort algorithm
Claim DO retry tokens after actor construction
[WO-1581] Enable span status and renaming
Release the pipe source when validation fails after locking
1.20260924.1
24 Sep 2026Allow tee() of a native body with an abandoned read in flight
Pull local system images before create
Use fresh isolate groups when available.
What's Changed
Allow tee() of a native body with an abandoned read in flight
Pull local system images before create
Use fresh isolate groups when available.
Preserve VFS exceptions during SQLite open
Introduce env.AI.websearch to WorkerD
avoid initializing the UDP connect tracer twice
[tsan] increase tsan history
Accept a null source in MessageEventInit
Internal build for #7470
[o11y] Add
undefinedto tailStream return typesSTOR-5489: Account for RPC serializer capacity
capnproto update
Use weak self captures for refcounted continuations
Forward REST caller context to downstream AI Gateway
Error a tee branch or detached byte stream on a fractional fill at close
Skip building an unobservable XThreadWaitList rejection
Transfer byte-stream buffers to fixed length
Pin async iterator interleavings that follow WebIDL
1.20260923.1
23 Sep 2026[STOR-5489] Observe Durable Object RPC call attempts
r2-rpc.c++: Copy put bodies out of the sandbox for MPK
STOR-5489: Measure Durable Object RPC replay memory
What's Changed
[STOR-5489] Observe Durable Object RPC call attempts
r2-rpc.c++: Copy put bodies out of the sandbox for MPK
STOR-5489: Measure Durable Object RPC replay memory
Make skill reference links portable
Implement proper js rpc stream cancel propagation
Walk the queued stream's cursors by index and skip the pinned cursor
Linting: improve coroutine-hostile-raii test to check declaration nodes too
Settle the head read first when respond() leaves a remainder
Pin where closed settles relative to the below-min tail read
Return an empty view from read(view) on a cancelled byte stream
Deliver whole elements from native BYOB reads with multi-byte views
1.20260922.1
22 Sep 2026Add a bazel option to disable remote python snapshot when testing
[STOR-5489] Claim Durable Object RPC calls before dispatch
Deflake connect-handler tests
What's Changed
Add a bazel option to disable remote python snapshot when testing
[STOR-5489] Claim Durable Object RPC calls before dispatch
Deflake connect-handler tests
Use 2 isolates for tests to exercise cross-isolate
implement RPC support for inbound UDP connect() event
Support V8 15.5 API and test changes
Copy body bytes out as they arrive and cancel the source when consump…
Make snapshotContainer options optional
Remove the C++ I/O backend (--//:io_backend=cxx)
Buffer the compression stage's output in blocks released as they are …
1.20260921.1
21 Sep 20261.20260920.1
20 Sep 2026Error both halves of a transform pair from the Node.js interop hook
Drop what a queued stream enqueues once every consumer is collected
1.20260919.1
19 Sep 2026Transform a parked TransformStream write after one backpressure wait
Python: Hot fix for stack switching gc crash (upstream pyodide#6466)
Add Analytics SQL binding types
What's Changed
Transform a parked TransformStream write after one backpressure wait
Python: Hot fix for stack switching gc crash (upstream pyodide#6466)
Add Analytics SQL binding types
Split actor retry exhaustion outcomes and increase backoff
Document coroutine cleanup patterns
[nfc] Fix compiler warnings based on KJ_HEADER_WARNINGS
1.20260918.1
18 Sep 2026Keep native pipes from consuming a destination with pending writes
Stop identity stream aborts from waiting for a read
Wire the Rust I/O backend into workerd: --//:io_backend, on by default
What's Changed
Keep native pipes from consuming a destination with pending writes
Stop identity stream aborts from waiting for a read
Wire the Rust I/O backend into workerd: --//:io_backend, on by default
Fix container startup flags after cancellation
Add a ring buffer for the streams' internal queues
Clean up containers on graceful shutdown
Move retry claim before actor construction
Add
just format <files>,just format-headAbstract CrossThreadWaitList into SyncWaitList and introduce XThreadWaitList
update capnproto
Improve TS stream primordial safety
fix compile_flags.txt
update capnproto
Implement inbound UDP handler
Add coroutine-hostile-raii lint for UnwindDetector, and add fixes
1.20260917.1
17 Sep 2026kj-rs-tokio: timer test allows for the loop's cached time
Update WPT to wpt-b875b21fd
Expose hibernatable WebSocket count
What's Changed
kj-rs-tokio: timer test allows for the loop's cached time
Update WPT to wpt-b875b21fd
Expose hibernatable WebSocket count
.bazelrc: add native_arm64 no-op
Restrict GCs at inopportune moments.
container client: Add support for cloudflare/debian-trixie
types: add Browser Run binding methods
node:fs: open without O_CREAT is ENOENT for a missing path
node:fs: rename and copyFile replace an existing destination
Handful of TS streams byob and tee fixes
make actor maps own their keys
Fix handling of pipe draining backpressure
1.20260916.1
16 Sep 2026Add node:stream web-interop suite
server: facet channel UaF after alarm timeout
Disable retries for ineligible actor namespaces
What's Changed
Add node:stream web-interop suite
server: facet channel UaF after alarm timeout
Disable retries for ineligible actor namespaces
Report whether an actor fetch target supports retries
Support web streams in stream.pipeline()
CC-8364 Allow containers without imageName
Expand js-rpc streams test coverage
[STOR-5621] Prepare JS RPC call plans for retries
node:fs: fix offset/length bounds validation for buffer read/write
Add node:net suite
Add scheduling time to alarm storage spans
node:http server test suite
node:fs: honour O_TRUNC in open
Fix kj-rs waker result race during joined readiness
Python: More minor improvements to patch_pyodide_asm
Add clang-tidy check for stream creation
Add node:http client suite
thread-safe LOG_PERIODICALLY
kj-rs: arm the poll event directly on a same-thread stored-waker wake
Fix ScriptCompiler usage
kj-rs-io: KJ async I/O interfaces backed by tokio
[JSG] replace some recursive templates with auto deduce this
More node:streams tests and fixes
update capnp
Support web streams in stream.compose()
Destroy Readable.fromWeb on a chunk it cannot push
1.20260915.1
15 Sep 2026Python workers: Replace string Pyodide patches with ast patches
disable profiler tests under tsan
expose client IP and port as remoteAddress in TCP connect() handler
What's Changed
Python workers: Replace string Pyodide patches with ast patches
disable profiler tests under tsan
expose client IP and port as remoteAddress in TCP connect() handler
Update Cargo.toml dependencies and export Cargo.toml in BUILD.bazel
node: make the isolate the port namespace for http and net servers
Pin error() during a pending close in the readable stream suites
Fix memory snapshots with Python 3.14
1.20260914.1
14 Sep 20261.20260911.1
11 Sep 2026Build cleanups
Improve error message when top-level randomness is used in Python workers
Refactor Durable Object Retries to be fetch-agnostic
What's Changed
Build cleanups
Improve error message when top-level randomness is used in Python workers
Refactor Durable Object Retries to be fetch-agnostic
fix identity transform stream resolve/state change order
node:net: add net.BoundSocket
Python: Patch
workers.wait_untilas well asctx.waitUntil
1.20260910.1
10 Sep 2026Move Existing SQLite Sentry routing to exception details
Update capnp-cpp to v2 head (Executor::isCurrent + setRunnable ordering)
Upstream patches
What's Changed
Move Existing SQLite Sentry routing to exception details
Update capnp-cpp to v2 head (Executor::isCurrent + setRunnable ordering)
Upstream patches
Additional streams test consolidation gaps
Expose compatibility-date.capnp and add AGENTS.md guidance for new APIs
Remove experimental tag from auto_grpc_convert
web-socket: only log internal errors in abort task
cleanup: migrating cxx to wd_ rules
[tsan] fix rust std/tsan compatibility
[tsan] run all tests under tsan
Address multiple TS-streams defects / clarifications
1.20260908.1
8 Sep 2026Fix internal build for forks of org members
What's Changed
Fix internal build for forks of org members
1.20260906.1 – 1.20260907.12 releases without a noteShow each
- 1.20260907.17 Sep 2026no note
- 1.20260906.16 Sep 2026no note
1.20260905.1
5 Sep 2026tsan: support macOS arm64 hosts alongside Linux x86_64
Preserve predecessor rejection delivery state
Instrument LOG_EXCEPTION to observe a new Sentry disposition exception detail
What's Changed
tsan: support macOS arm64 hosts alongside Linux x86_64
Preserve predecessor rejection delivery state
Instrument LOG_EXCEPTION to observe a new Sentry disposition exception detail
tsan ci build
Tag SQLite errors with SENTRY_DO
Revert "Move wrapper handle to shim"
WO-1582 Add tracing getActiveSpan
Add cache, htmlrewriter, and formdata streams suites
Store references for internal and user span parents on call argument …
CC-8364 Expose configured container images to Durable Objects
Enable perfetto in workerd v8 build
1.20260904.1
4 Sep 2026workflows: add experimental subscribe support
Mark jsg::{Async}Generator visitable
Fix memory-cache/lib.rs to use try_update instead of fetch_update.
What's Changed
workflows: add experimental subscribe support
Mark jsg::{Async}Generator visitable
Fix memory-cache/lib.rs to use try_update instead of fetch_update.
Update capnp-cpp to pick up Executor::isCurrent()
Next large chunk of streams consolidation tests and fixes
Make cppgc sweeping synchronous
Fix validator internal error when getters throw
Internal build for !7224
STOR-5489: Observe Durable Object fetch retry activity
More streams test consolidation and gap filling
Revert "Merge pull request #7231 from cloudflare/erikcorry/cppgc-eager-sweeping"
tsan c++ and rust configurations
Revert WebAssembly memory.discard support
1.20260903.1
3 Sep 2026Switch pythonWorkers314 from compatEnableDate to impliedByAfterDate
STOR:5489: Retry replica actor fetches
STOR-5489: Count retried actor fetches once
What's Changed
Switch pythonWorkers314 from compatEnableDate to impliedByAfterDate
STOR:5489: Retry replica actor fetches
STOR-5489: Count retried actor fetches once
Upstream four patches
Call authorizer in default column expressions
tests lifetime fixes
WO-1582 Refactor tracing span implementations
WO-1582 Add span.recordException
1.20260902.1
2 Sep 2026- removed
Remove experimental flag from container.inspect()
Automatically inject python_workers flags for python entrypoints
Implement tryReadSync/tryWriteSync support
What's Changed
Automatically inject python_workers flags for python entrypoints
Implement tryReadSync/tryWriteSync support
Python: Development flag should always win over other Python flags
STOR-5552: Serialize WebSocket writes across hibernation
STOR-5489: Implement retry loop for actor fetch requests
- removed
Remove experimental flag from container.inspect()
STOR-5489: Propagate actor retry gate state
update capnp
Put snapshotDirectory API behind experimental flag
Ensure hibernated websockets handle code updates gracefully
Own legacy hibernation tag map keys
Materialize borrowed values before invalidating storage
Order owned storage before non-owning views
Own actor cache keys queued for erasure
switch SpanObserver to kj::Rc
Keep TLS option storage alive with its context
Update WPT
Add digest streams suite; migrate existing DigestStream tests
Add queuing strategies suite; migrate strategy tests
Fix dynamic library loading into base snapshot for Pyodide 3.14.x
1.20260901.1
1 Sep 2026Catch leaked SQLite handles during init failure
Implement FileSystemWritableFileStream in TypeScript
Add encoding streams suite; migrate existing TES/TDS tests
What's Changed
Catch leaked SQLite handles during init failure
Implement FileSystemWritableFileStream in TypeScript
Add encoding streams suite; migrate existing TES/TDS tests
Add compression streams suite; migrate existing CS/DS tests
1.20260830.1 – 1.20260831.12 releases without a noteShow each
- 1.20260831.131 Aug 2026no note
- 1.20260830.130 Aug 2026no note
1.20260829.1
29 Aug 2026Update deps
Use dynamic_cast to avoid type confusion
Fix UaF of in-flight buffers in internal.c++
What's Changed
Update deps
Use dynamic_cast to avoid type confusion
Fix UaF of in-flight buffers in internal.c++
Retain hibernatable WebSockets during active pumps
Use shims to find wrappables
streams: Cancel internal stream pumps before releasing their source
Fix EventSource use-after-free
Implements resource name arg in jsg-test's eval
SQC-900 create dynamic hyperdrive types
Increase timeouts for slow integration tests
add kitesurf option to browser run quick action
Create a WPT triage skill + bump WPT