Drop what a queued stream enqueues once every consumer is collected
Fixes an issue where a push source continues to enqueue into a queue with no cursor after all consumers are collected
34 substantial PRs (20 merged, 15 open/draft). 23 in workerd, 11 in node.
Fixes an issue where a push source continues to enqueue into a queue with no cursor after all consumers are collected
Errors both halves of a transform pair from the Node.js interop hook to handle abort signals correctly
Fixes a transform sink's write algorithm to wait for backpressure only once, improving performance
Improves the safety of TS streams by filling gaps in primordial/prototype pollution protection
Replaces internal arrays with a ring buffer to improve performance of streams' internal queues
Fixes issue with identity stream aborts waiting for a read, preventing abort and write from settling.
Prevents native pipes from consuming a destination with pending writes, fixing issue with released descriptors and hung reads.
Fixes handling of pipe draining backpressure by introducing a private hook and removing unnecessary promises and awaits.
Applies fixes to byob handling with tee and partially filled responses in TS streams.
Destroys Readable.fromWeb on a chunk it cannot push, with additional streams tests and fixes.
Added support for web streams in stream.compose() with additional tests and fixes.
Added more tests and fixes for node:streams
Added node:http client suite for streams tests and fixes
Added node:http server test suite for streams-related tests and fixes
Added node:net suite for streams-related tests and fixes
Expanded test coverage for js-rpc streams to improve reliability
Added support for web streams in stream.pipeline() to improve stream handling
Added a new test suite for node:stream web-interop to ensure compatibility
Fixed readable stream behavior to pin error() during pending close, aligning with spec
Add --process-timeout=N flag to set a time limit on a Node.js process
Add --allow-env permission to control environment variables when --permission is on
Ensure Socket(fd) respects --allow-net permission when using --permission
Add options to monitorEventLoopDelay() to tune histogram parameters
Allow RecordableHistogram to record 0 values
Added histogram snapshot and diff functionality to perf_hooks, allowing for capturing and comparing histogram states.
Improved histogram CBOR import validation by introducing version 2, which supports optional unknown fields.
Fixed PerformanceObserver handling to prevent counts from getting out of sync, which could lead to segfaults.
Optimize StreamQueue cursor iteration by walking by index and skipping the pinned cursor.
Buffer compression stage output in blocks to reduce memory usage and prevent unbounded chunks.
Improve body consumption by copying bytes out as they arrive and canceling the source when consumed.
Implemented another round of fixes for streams and iterators to improve their reliability and performance.
Implement proper JS RPC stream cancel propagation to address defects in readable stream handling.
Applied additional stream and iterator fixes to improve stability and functionality.
Implement a structured logging API with a provider model, including four built-in providers.