-
-
Notifications
You must be signed in to change notification settings - Fork 1k
Description
General stuff
v3 may have been short lived, cuz of how long time we dragged out on esm.
We already have a milestone for v4 with few issues in it.
NodeJS v12 will soon end its LTS version in April, so i was thinking of dropping support any prior version and remove all the hacks we have around it in the current branch.
I was thinking about setting the lowest supported node version to v14.17.0
not 14.13.1 as we have today that is meant for ESM
why? cuz http.request supports signal in v14.17.0
then we can also use finalizers that got introduced in v14.6.0 and cleanup the response (and the cloned res) when it's forgotten and not consumed
Is there any bug/issue/features we would like to finish or complete before we branch out of v3 and start working on v4?
- General
- Create a v4 update guide
- create some "next/beta" release on npm
- signal
- Start depending on NodeJS own built in AbortController
- Every request should have a new associated AbortSignal #1439
- Don't check if AbortSignals tag name match EventTarget #1469
- forward this signal to
http.request(url { signal }) - remove the abort & finalize logic and use this 👆 abort signal to abort the request.
- Headers
- chore: replace headers class #1484
- remove some own test around headers (as ☝️ runs against wpt, + some own misc test)
- whatwg streams
- start depend on web-stream-polyfill (as fetch-blob have start depending on it)
- Impl whatwg streams #1213
- Allow request take AsyncIterable body? whatwg/fetch#1291
- convert node's incoming http stream and the unpacking br, deflate logic to a whatwg stream
- set
.bodyto be a whatwg stream
- URLSearchParam
- remove isURLSearchParam and only accept global URLSearchParam introduced in v10
- package
- Drop support for v12 and set target version to
^ 14.17.0 || >=16.0.0"? - fix(package): Add exports field in package.json #1347
- Drop support for v12 and set target version to
- cleanup
- Remove async iterator fix when Node 12 goes EOL #1223
- remove the current stream clone logic and use
ReadableStream.prototype.teeinstead - chore: completely remove support for form-data package #1486
- chore: completely remove
.buffer()#1485 - remove support for
sizeoption (fixes Deprecate size option #1438) - make use of finalizers to cleanup
- remove some old test cases
- We can also start using optional chaining
cc @bitinn @TimothyGu @jkantr @gr2m @Richienb @ronag @LinusU