Skip to content

Releases: ardatan/whatwg-node

February 25, 2025

25 Feb 19:14
59c1ccc
Compare
Choose a tag to compare

@whatwg-node/promise-helpers@1.2.0

Minor Changes

February 25, 2025

25 Feb 19:06
ec70df9
Compare
Choose a tag to compare

@whatwg-node/promise-helpers@1.1.0

Minor Changes

February 25, 2025

25 Feb 13:28
e0dcf3c
Compare
Choose a tag to compare

@whatwg-node/cookie-store@0.2.3

Patch Changes

@whatwg-node/disposablestack@0.0.6

Patch Changes

@whatwg-node/node-fetch@0.7.12

Patch Changes

@whatwg-node/promise-helpers@1.0.0

Major Changes

@whatwg-node/server@0.9.70

Patch Changes

February 24, 2025

24 Feb 11:01
1bd2f8f
Compare
Choose a tag to compare

@whatwg-node/fetch@0.10.5

Patch Changes

  • #2093
    31f021a
    Thanks @ardatan! - Fixes the
    TypeError: bodyInit.stream is not a function error thrown when @whatwg-node/server is used
    with node:http2 and attempts the incoming HTTP/2 request to parse with Request.json,
    Request.text, Request.formData, or Request.blob methods.

  • Updated dependencies
    [31f021a]:

    • @whatwg-node/node-fetch@0.7.11

@whatwg-node/node-fetch@0.7.11

Patch Changes

  • #2093
    31f021a
    Thanks @ardatan! - Fixes the
    TypeError: bodyInit.stream is not a function error thrown when @whatwg-node/server is used
    with node:http2 and attempts the incoming HTTP/2 request to parse with Request.json,
    Request.text, Request.formData, or Request.blob methods.

@whatwg-node/server@0.9.69

Patch Changes

  • #2093
    31f021a
    Thanks @ardatan! - Fixes the
    TypeError: bodyInit.stream is not a function error thrown when @whatwg-node/server is used
    with node:http2 and attempts the incoming HTTP/2 request to parse with Request.json,
    Request.text, Request.formData, or Request.blob methods.

  • Updated dependencies
    [31f021a]:

    • @whatwg-node/fetch@0.10.5

February 20, 2025

20 Feb 12:44
e266605
Compare
Choose a tag to compare

@whatwg-node/fetch@0.10.4

Patch Changes

  • #2082
    b217e30
    Thanks @ardatan! - dependencies updates:

  • #2079
    090b4b0
    Thanks @ardatan! - Fix the bug when set-cookies given is ignored
    in HeadersInit;

    import { Headers } from '@whatwg-node/fetch'
    
    const headers = new Headers([
      ['set-cookie', 'a=b'],
      ['set-cookie', 'c=d']
    ])
    expect(headers.getSetCookie()).toEqual(['a=b', 'c=d']) // Previously it was empty
  • Updated dependencies
    [090b4b0]:

    • @whatwg-node/node-fetch@0.7.10

@whatwg-node/node-fetch@0.7.10

Patch Changes

  • #2079
    090b4b0
    Thanks @ardatan! - Fix the bug when set-cookies given is ignored
    in HeadersInit;

    import { Headers } from '@whatwg-node/fetch'
    
    const headers = new Headers([
      ['set-cookie', 'a=b'],
      ['set-cookie', 'c=d']
    ])
    expect(headers.getSetCookie()).toEqual(['a=b', 'c=d']) // Previously it was empty

@whatwg-node/server@0.9.68

Patch Changes

@whatwg-node/server-plugin-cookies@1.0.4

Patch Changes

February 14, 2025

14 Feb 15:19
3826dc5
Compare
Choose a tag to compare

@whatwg-node/server@0.9.67

Patch Changes

  • #2057
    7d28669
    Thanks @ardatan! - When two plugins use the onResponse hook and
    the first one modifies the response, the second one should get the modified one;

    ;[
      {
        onResponse({ setResponse, fetchAPI }) {
          setResponse(
            fetchAPI.Response.json(
              {
                foo: 'bar'
              },
              { status: 418 }
            )
          )
        }
      },
      {
        onResponse({ response }) {
          console.log(response.status) // 418
        }
      }
    ]

February 13, 2025

13 Feb 12:56
0f6399a
Compare
Choose a tag to compare

@whatwg-node/node-fetch@0.7.9

Patch Changes

  • #2049
    7c95998
    Thanks @ardatan! - Redirect with correct status codes

  • #2051
    252f68b
    Thanks @ardatan! - Fix crash on null header values during inspect

  • #2009
    5b5ae5f
    Thanks @ardatan! - When fetch('file:///...') is used to read
    files;

    • 404 is returned if the file is missing
    • 403 is returned if the file is not accessible

February 05, 2025

05 Feb 16:11
aecdc2e
Compare
Choose a tag to compare

@whatwg-node/node-fetch@0.7.8

Patch Changes

  • 337e605
    Thanks @ardatan! - - Use native AbortSignal and AbortController for
    Request.signal
    • Remove custom AbortSignal implementation (ServerAdapterAbortSignal)

@whatwg-node/server@0.9.66

Patch Changes

  • 337e605
    Thanks @ardatan! - - Use native AbortSignal and AbortController for
    Request.signal
    • Remove custom AbortSignal implementation (ServerAdapterAbortSignal)

January 10, 2025

10 Jan 09:40
02c97ae
Compare
Choose a tag to compare

@whatwg-node/fetch@0.10.3

Patch Changes

  • #1961
    2785c80
    Thanks @ardatan! - ReadableStream's Symbol.asyncIterator now
    returns AsyncIterableIterator like before even if it is ok to return AsyncIterator right now.
    It is safer to return AsyncIterableIterator because it is a common mistake to use
    AsyncIterator as AsyncIterable.
  • Updated dependencies
    [2785c80]:
    • @whatwg-node/node-fetch@0.7.7

@whatwg-node/node-fetch@0.7.7

Patch Changes

  • #1961
    2785c80
    Thanks @ardatan! - ReadableStream's Symbol.asyncIterator now
    returns AsyncIterableIterator like before even if it is ok to return AsyncIterator right now.
    It is safer to return AsyncIterableIterator because it is a common mistake to use
    AsyncIterator as AsyncIterable.

January 10, 2025

10 Jan 07:33
6dc3d3f
Compare
Choose a tag to compare

@whatwg-node/fetch@0.10.2

Patch Changes

@whatwg-node/node-fetch@0.7.6

Patch Changes

  • #1929
    b88b85c
    Thanks @ardatan! - dependencies updates:

  • #1947
    9b39c3e
    Thanks @ardatan! - Remove the event listener on the provided
    AbortSignal when node-libcurl is used, the connection finishes to prevent potential memory
    leaks;

    const res = await fetch(URL, { signal: new AbortController().signal })
    // AbortController is never aborted, and HTTP request is done as expected successfully
  • #1929
    b88b85c
    Thanks @ardatan! - - Remove URL ponyfill implementation based on
    fast-url-parser and fast-querystring, because Node now uses Ada URL parser which is fast
    enough.

    • Fix ReadableStream[Symbol.asyncIterator]

    ReadableStream uses Readable so it uses Symbol.asyncIterator method of Readable but the
    returned iterator's .return method doesn't handle cancellation correctly. So we need to call
    readable.destroy(optionalError) manually to cancel the stream.

    This allows ReadableStream to use implementations relying on AsyncIterable.cancel to handle
    cancellation like Readable.from

    Previously the following was not handling cancellation;

    const res = new ReadableStream({
      start(controller) {
        controller.enqueue('Hello')
        controller.enqueue('World')
      },
      cancel(reason) {
        console.log('cancelled', reason)
      }
    })
    
    const readable = Readable.from(res)
    
    readable.destroy(new Error('MY REASON'))
    
    // Should log 'cancelled MY REASON'