Skip to content

Upcoming Release Changes - #3685

Merged
ardatan merged 1 commit into
masterfrom
changeset-release/master
Oct 22, 2026
Merged

ardatan merged 1 commit into
masterfrom
changeset-release/master

Conversation

@github-actions

@github-actions github-actions Bot commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

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 master, this PR will be updated.

Releases

@whatwg-node/node-fetch@0.9.2

Patch Changes

  • #3694
    f927bd2
    Thanks @dependabot! - dependencies
    updates:

  • #3715
    06e7013
    Thanks @ardatan! - Fulfill pending
    reader.read() as { done: true } when cancel(reason) runs, matching the
    WHATWG ReadableStream cancel algorithm (and native undici).

    Previously cancel() called readable.destroy() without ending the stream
    first, so an in-flight read() rejected with ERR_STREAM_PREMATURE_CLOSE /
    Premature close instead of settling as done. The cancel reason still
    reaches underlyingSource.cancel(reason).

@whatwg-node/server@0.13.1

Patch Changes

  • #3672
    978ebed
    Thanks @renovate! - Drain unread request
    bodies correctly when the adapter uses the platform (native undici) Request
    on Node.js HTTPS.

    discardUnreadNodeRequestBody previously only called
    IncomingMessage#resume(). That is enough for the @whatwg-node/node-fetch
    ponyfill and for plain node:http, but native undici keeps an unused
    IncomingMessage body paused. On node:https the TLS upload then stalls
    mid-response: readableFlowing stays false, buffered unread bytes remain, and
    keep-alive / early-response paths hang or fail Node 26 unit coverage
    (discard-unread-request-body).

    For fetchAPI.Request === globalThis.Request on HTTPS
    (socket.encrypted), normalizeNodeRequest wraps the socket stream in a
    platform ReadableStream (via fetchAPI.ReadableStream). Listeners attach on
    first pull; discard runs a sync drain helper (detach +
    IncomingMessage#resume) instead of body.cancel(), so unread TLS bytes
    drain without destroying keep-alive and without a runtime node:stream /
    PassThrough import or a floating cancel promise. Plain HTTP and ponyfill
    paths are unchanged (IncomingMessage + resume() only). Paths that reuse
    request.body as the response body still skip discard via the existing
    identity checks.

  • #3717
    02e1834
    Thanks @ardatan! - Pick the native Fetch API for
    Request subclasses and proxies of them, such as Next.js NextRequest.

    Constructor identity treated those requests as the ponyfill, so
    useLimitRequestBodySize piped a native body through
    PonyfillTransformStream and Node threw
    The "transform.readable" property must be an instance of ReadableStream.

@coderabbitai

coderabbitai Bot commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 1bb7a475-69b1-4c64-910c-845ee2404344

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions
github-actions Bot force-pushed the changeset-release/master branch 2 times, most recently from 816285f to 37b9c99 Compare October 15, 2026 23:41
@github-actions

Copy link
Copy Markdown
Contributor Author

🚀 Snapshot Release (rc)

The latest changes of this PR are available as rc on npm (based on the declared changesets):

Package Version Info
@whatwg-node/server 0.13.1-rc-20261016084928-37b9c99ead24898b1677924f2ac0e2537e42734d npm ↗︎ unpkg ↗︎
@whatwg-node/server 0.13.1-rc-20261016084928-37b9c99ead24898b1677924f2ac0e2537e42734d npm ↗︎ unpkg ↗︎

@github-actions

github-actions Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor Author

✅ @benchmarks/node-fetch results (noConsumeBody)

     █ setup

   ✓ active_handles.................: avg=144     min=107      med=150     max=204      p(90)=162.5   p(95)=165.5  
     data_received..................: 25 MB  812 kB/s
     data_sent......................: 19 MB  621 kB/s
     http_req_blocked...............: avg=2.31µs  min=310ns    med=872ns   max=8.27ms   p(90)=1.49µs  p(95)=1.71µs 
     http_req_connecting............: avg=960ns   min=0s       med=0s      max=4.2ms    p(90)=0s      p(95)=0s     
     http_req_duration..............: avg=16.62ms min=462.36µs med=15.91ms max=531.89ms p(90)=21.01ms p(95)=23.05ms
       { expected_response:true }...: avg=16.62ms min=462.36µs med=15.91ms max=531.89ms p(90)=21.01ms p(95)=23.05ms
     http_req_failed................: 0.00%  ✓ 0           ✗ 180031
     http_req_receiving.............: avg=27.16µs min=5.3µs    med=14.34µs max=17.09ms  p(90)=30.27µs p(95)=39.09µs
     http_req_sending...............: avg=8.2µs   min=1.7µs    med=4.54µs  max=16.74ms  p(90)=7.92µs  p(95)=11.75µs
     http_req_tls_handshaking.......: avg=0s      min=0s       med=0s      max=0s       p(90)=0s      p(95)=0s     
     http_req_waiting...............: avg=16.58ms min=429.76µs med=15.88ms max=531.83ms p(90)=20.95ms p(95)=22.98ms
     http_reqs......................: 180031 5970.125884/s
     iteration_duration.............: avg=16.67ms min=3.98ms   med=15.95ms max=532.05ms p(90)=21.05ms p(95)=23.1ms 
     iterations.....................: 179831 5963.493553/s
     vus............................: 100    min=100       max=100 
     vus_max........................: 101    min=101       max=101 

@github-actions

github-actions Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor Author

✅ @benchmarks/node-fetch results (consumeBody)

     █ setup

   ✓ active_handles.................: avg=144.192308 min=107      med=149    max=167      p(90)=163.5   p(95)=164    
     data_received..................: 42 MB  1.4 MB/s
     data_sent......................: 31 MB  1.0 MB/s
     http_req_blocked...............: avg=1.15µs     min=210ns    med=541ns  max=3ms      p(90)=1.16µs  p(95)=1.5µs  
     http_req_connecting............: avg=113ns      min=0s       med=0s     max=1.02ms   p(90)=0s      p(95)=0s     
     http_req_duration..............: avg=9.77ms     min=412.16µs med=9.26ms max=396.06ms p(90)=12.9ms  p(95)=14.66ms
       { expected_response:true }...: avg=9.77ms     min=412.16µs med=9.26ms max=396.06ms p(90)=12.9ms  p(95)=14.66ms
     http_req_failed................: 0.00%  ✓ 0            ✗ 305772
     http_req_receiving.............: avg=24.96µs    min=3.51µs   med=7.96µs max=23.39ms  p(90)=20.69µs p(95)=38.93µs
     http_req_sending...............: avg=9.02µs     min=1.06µs   med=2.71µs max=22.32ms  p(90)=5.31µs  p(95)=8.79µs 
     http_req_tls_handshaking.......: avg=0s         min=0s       med=0s     max=0s       p(90)=0s      p(95)=0s     
     http_req_waiting...............: avg=9.74ms     min=394.84µs med=9.24ms max=396.02ms p(90)=12.85ms p(95)=14.58ms
     http_reqs......................: 305772 10143.048558/s
     iteration_duration.............: avg=9.81ms     min=644.79µs med=9.29ms max=396.79ms p(90)=12.94ms p(95)=14.7ms 
     iterations.....................: 305572 10136.414172/s
     vus............................: 100    min=100        max=100 
     vus_max........................: 101    min=101        max=101 

@github-actions

github-actions Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor Author

✅ @benchmarks/server results (ponyfill)

     ✓ response code was 200
     ✓ valid response structure

     █ setup

   ✓ checks.........................: 100.00% ✓ 1936202      ✗ 0     
     data_received..................: 191 MB  2.1 MB/s
     data_sent......................: 144 MB  1.6 MB/s
     http_req_blocked...............: avg=508ns   min=220ns   med=440ns   max=5.37ms  p(90)=661ns    p(95)=791ns   
     http_req_connecting............: avg=0ns     min=0s      med=0s      max=132.5µs p(90)=0s       p(95)=0s      
     http_req_duration..............: avg=66.31µs min=38.03µs med=64.93µs max=5.72ms  p(90)=78.19µs  p(95)=84.66µs 
       { expected_response:true }...: avg=66.31µs min=38.03µs med=64.93µs max=5.72ms  p(90)=78.19µs  p(95)=84.66µs 
     http_req_failed................: 0.00%   ✓ 0            ✗ 968301
     http_req_receiving.............: avg=10.13µs min=3.47µs  med=9.83µs  max=4.78ms  p(90)=12.9µs   p(95)=15.49µs 
     http_req_sending...............: avg=2.57µs  min=1.33µs  med=2.35µs  max=5.47ms  p(90)=3.37µs   p(95)=3.86µs  
     http_req_tls_handshaking.......: avg=0s      min=0s      med=0s      max=0s      p(90)=0s       p(95)=0s      
     http_req_waiting...............: avg=53.6µs  min=32.28µs med=51.97µs max=5.29ms  p(90)=63.74µs  p(95)=69.44µs 
     http_reqs......................: 968301  10753.790179/s
     iteration_duration.............: avg=90.45µs min=53.92µs med=87.52µs max=42.41ms p(90)=104.95µs p(95)=113.73µs
     iterations.....................: 968101  10751.569012/s
     vus............................: 1       min=1          max=1   
     vus_max........................: 1       min=1          max=1   

@github-actions

github-actions Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor Author

✅ @benchmarks/server results (undici)

     ✓ response code was 200
     ✓ valid response structure

     █ setup

   ✓ checks.........................: 100.00% ✓ 638198      ✗ 0     
     data_received..................: 64 MB   705 kB/s
     data_sent......................: 48 MB   528 kB/s
     http_req_blocked...............: avg=1.18µs   min=822ns    med=1.05µs   max=5.19ms   p(90)=1.26µs   p(95)=1.5µs   
     http_req_connecting............: avg=0ns      min=0s       med=0s       max=144.19µs p(90)=0s       p(95)=0s      
     http_req_duration..............: avg=227.24µs min=181.58µs med=214.73µs max=17.35ms  p(90)=242.8µs  p(95)=255.26µs
       { expected_response:true }...: avg=227.24µs min=181.58µs med=214.73µs max=17.35ms  p(90)=242.8µs  p(95)=255.26µs
     http_req_failed................: 0.00%   ✓ 0           ✗ 319299
     http_req_receiving.............: avg=24.71µs  min=13.82µs  med=24.45µs  max=2.57ms   p(90)=27.5µs   p(95)=29.11µs 
     http_req_sending...............: avg=6.48µs   min=4.93µs   med=5.89µs   max=1.66ms   p(90)=6.94µs   p(95)=7.69µs  
     http_req_tls_handshaking.......: avg=0s       min=0s       med=0s       max=0s       p(90)=0s       p(95)=0s      
     http_req_waiting...............: avg=196.05µs min=149.52µs med=183.24µs max=17.24ms  p(90)=209.64µs p(95)=221.73µs
     http_reqs......................: 319299  3542.969715/s
     iteration_duration.............: avg=277.37µs min=222.96µs med=263.91µs max=121.41ms p(90)=297.94µs p(95)=313.23µs
     iterations.....................: 319099  3540.750497/s
     vus............................: 1       min=1         max=1   
     vus_max........................: 1       min=1         max=1   

@github-actions

github-actions Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor Author

✅ @benchmarks/server results (native)

     ✓ response code was 200
     ✓ valid response structure

     █ setup

   ✓ checks.........................: 100.00% ✓ 909290      ✗ 0     
     data_received..................: 91 MB   1.0 MB/s
     data_sent......................: 68 MB   752 kB/s
     http_req_blocked...............: avg=787ns    min=461ns    med=681ns    max=173.38µs p(90)=981ns    p(95)=1.23µs  
     http_req_connecting............: avg=0ns      min=0s       med=0s       max=123.75µs p(90)=0s       p(95)=0s      
     http_req_duration..............: avg=157.77µs min=125.86µs med=146.08µs max=9.6ms    p(90)=178.47µs p(95)=190.41µs
       { expected_response:true }...: avg=157.77µs min=125.86µs med=146.08µs max=9.6ms    p(90)=178.47µs p(95)=190.41µs
     http_req_failed................: 0.00%   ✓ 0           ✗ 454845
     http_req_receiving.............: avg=18.08µs  min=7.88µs   med=16.22µs  max=2.49ms   p(90)=23.65µs  p(95)=26.65µs 
     http_req_sending...............: avg=4.48µs   min=3.03µs   med=3.92µs   max=5.12ms   p(90)=5.67µs   p(95)=7.39µs  
     http_req_tls_handshaking.......: avg=0s       min=0s       med=0s       max=0s       p(90)=0s       p(95)=0s      
     http_req_waiting...............: avg=135.2µs  min=106.46µs med=124.49µs max=9.54ms   p(90)=150.92µs p(95)=160.28µs
     http_reqs......................: 454845  5048.674043/s
     iteration_duration.............: avg=194.22µs min=154.6µs  med=181.67µs max=91.59ms  p(90)=222.09µs p(95)=237.28µs
     iterations.....................: 454645  5046.454089/s
     vus............................: 1       min=1         max=1   
     vus_max........................: 1       min=1         max=1   

@github-actions

github-actions Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor Author

✅ @benchmarks/server results (uws)

     ✓ response code was 200
     ✓ valid response structure

     █ setup

   ✓ checks.........................: 100.00% ✓ 759880      ✗ 0     
     data_received..................: 64 MB   705 kB/s
     data_sent......................: 57 MB   629 kB/s
     http_req_blocked...............: avg=1.32µs   min=851ns    med=1.13µs   max=5.28ms   p(90)=1.49µs   p(95)=1.76µs  
     http_req_connecting............: avg=0ns      min=0s       med=0s       max=181.25µs p(90)=0s       p(95)=0s      
     http_req_duration..............: avg=175.02µs min=125µs    med=168.82µs max=9.67ms   p(90)=192.82µs p(95)=199.65µs
       { expected_response:true }...: avg=175.02µs min=125µs    med=168.82µs max=9.67ms   p(90)=192.82µs p(95)=199.65µs
     http_req_failed................: 0.00%   ✓ 0           ✗ 380140
     http_req_receiving.............: avg=23.86µs  min=11.79µs  med=24.01µs  max=5.47ms   p(90)=28.9µs   p(95)=30.91µs 
     http_req_sending...............: avg=7.46µs   min=4.86µs   med=6.42µs   max=5.54ms   p(90)=8.47µs   p(95)=11.74µs 
     http_req_tls_handshaking.......: avg=0s       min=0s       med=0s       max=0s       p(90)=0s       p(95)=0s      
     http_req_waiting...............: avg=143.69µs min=96.03µs  med=136.36µs max=9.62ms   p(90)=159.17µs p(95)=164.52µs
     http_reqs......................: 380140  4220.890606/s
     iteration_duration.............: avg=231.39µs min=168.05µs med=225.2µs  max=60.98ms  p(90)=252.2µs  p(95)=262.25µs
     iterations.....................: 379940  4218.669903/s
     vus............................: 1       min=1         max=1   
     vus_max........................: 1       min=1         max=1   

@github-actions

github-actions Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor Author

✅ @benchmarks/server results (vanilla)

     ✓ response code was 200
     ✓ valid response structure

     █ setup

   ✓ checks.........................: 100.00% ✓ 2342900      ✗ 0      
     data_received..................: 213 MB  2.4 MB/s
     data_sent......................: 175 MB  1.9 MB/s
     http_req_blocked...............: avg=473ns   min=210ns   med=420ns   max=5.46ms   p(90)=591ns   p(95)=711ns  
     http_req_connecting............: avg=0ns     min=0s      med=0s      max=164.05µs p(90)=0s      p(95)=0s     
     http_req_duration..............: avg=52.73µs min=30.51µs med=52.65µs max=5.85ms   p(90)=59.11µs p(95)=63.63µs
       { expected_response:true }...: avg=52.73µs min=30.51µs med=52.65µs max=5.85ms   p(90)=59.11µs p(95)=63.63µs
     http_req_failed................: 0.00%   ✓ 0            ✗ 1171650
     http_req_receiving.............: avg=8.6µs   min=3.52µs  med=9.11µs  max=1.6ms    p(90)=11.15µs p(95)=12.49µs
     http_req_sending...............: avg=2.57µs  min=1.28µs  med=2.12µs  max=5.72ms   p(90)=3.7µs   p(95)=6.41µs 
     http_req_tls_handshaking.......: avg=0s      min=0s      med=0s      max=0s       p(90)=0s      p(95)=0s     
     http_req_waiting...............: avg=41.55µs min=22.61µs med=40.77µs max=5.39ms   p(90)=45.82µs p(95)=49.06µs
     http_reqs......................: 1171650 13014.212694/s
     iteration_duration.............: avg=74.46µs min=45.49µs med=73.14µs max=28.14ms  p(90)=84.07µs p(95)=89.51µs
     iterations.....................: 1171450 13011.991175/s
     vus............................: 1       min=1          max=1    
     vus_max........................: 1       min=1          max=1    

@github-actions
github-actions Bot force-pushed the changeset-release/master branch 19 times, most recently from 9d373aa to 9f6b4c1 Compare October 20, 2026 18:31
@github-actions
github-actions Bot force-pushed the changeset-release/master branch 7 times, most recently from ae601fa to 53e08d5 Compare October 22, 2026 20:12
@github-actions
github-actions Bot force-pushed the changeset-release/master branch from 53e08d5 to e409795 Compare October 22, 2026 20:13
@ardatan
ardatan merged commit 64578a0 into master Oct 22, 2026
4 checks passed
@ardatan
ardatan deleted the changeset-release/master branch October 22, 2026 20:36
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.

1 participant