Skip to content

Releases: nodejs/undici

v2.0.1

12 Sep 11:29
Compare
Choose a tag to compare

Fixes:

  • Cleanup abort signal listeners (#415).
  • Fix doc typo (#414).
  • Catch invalid arg type body (#410).
  • Document that keep alive can be turned off.

Improvements:

  • Add notes about pipelining (#408).
  • Faster keep-alive header parsing.
  • Improved benchmark to use pipelining + domain sockets (#406).

v2.0.0

05 Sep 15:30
Compare
Choose a tag to compare

Breaking

  • Client.dispatch provides headers and trailers as an array of values (#337).
  • Client.dispatch adds a onConnect handler to handle abort once dispatched on socket.
  • Client.dispatch expects request body to be handled by caller until onConnect has been called.
  • Removed signal option in Client.dispatch.
  • Removed requestTimeout option in new Client(url, opts). Provide requestTimeout as an option for each individual request (#383).
  • Client.busy behavior slightly changed (#366).
  • Rename maxKeepAliveTimeout option in new Client(url, opts) to keepAliveMaxTimeout (#359).
  • requestTimeout monitors time from request having been sent instead of from when it was queued (#343).
  • Error body on premature close (#336).

Fixes

  • Unhandled exception (#372).
  • Destroy request body on invalid callback (#382).
  • Run Client.upgrade & Client.connect callbacks in async scope.
  • CONNECT calls onUpgrade multiple times (#348).
  • Don't reset socket until pipeline is empty (#334).
  • Allow throwing from handler (#335).

Improvements

  • Reuse TLS sessions (#358).
  • ESM wrapper for named imports (#369).
  • Pool queued requests and dispatch on first available client.
  • Added keepAlive option (#357).
  • Try to avoid slow net.isIP (#330).
  • Various refactoring and performance improvements.

Upgrade & Connect

10 Aug 12:24
Compare
Choose a tag to compare
  • Added new API's, dispatch, connect, upgrade.
  • Callbacks with error now also receive a { opaque } object as value.
  • stream(opts, handler, callback) callback now receive a { trailers, opaque } object as value.
  • Misc refactoring and perf improvements.
  • Async scope is no longer propagated across events.
  • Added idleTimeout option to differentiate timeout of active vs inactive sockets.
  • Added support for keep-alive response header timeout hint as well as maxKeepAliveTimeout, keepAliveTimeoutThreshold options.

v1.2.6

29 Jul 18:51
Compare
Choose a tag to compare

📚 PR:

  • refactor: cleanup
  • add assertion
  • fix: ignored body is not aborted
  • cosmetics
  • add comment about nextTick
  • Compatibility with IncomingMessage (#270)

v1.2.2

28 Jul 15:41
Compare
Choose a tag to compare
1.2.2

v1.2.0

14 Jul 12:33
Compare
Choose a tag to compare
  • Improved stream compat.
  • Reset connection after requests with body where the method does not expect a payload.
  • Validate user provided content-length and transfer-encoding headers.
  • Error if content-length header and body length does not match.
  • Avoid chunked transfer if request body stream is ended in same tick.
  • Added InformationalError for 'disconnect' event for when a disconnect was expected.
  • Refactoring.

v1.1.0 - Native HTTP Parser

06 Jul 07:11
Compare
Choose a tag to compare
  • Uses Node native HTTP parser. Improves performance and security. Removes dependency on http-parser-js.
  • Added headersTimeout option.
  • Fixed an assertion when using client.pipeline and the server does not consume the entire request body.
  • Replace client.full with client.busy property.
  • Improved support for legacy streams.
  • Added support for IPC (e.g. unix sockets) through socketPath option.
  • Refactoring and simplification.
  • Throw not supported error for CONNECT method.