NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #1272 most downloaded on pub.dev
JavaScript bindings for Fetch API, flexible HTTP requests, redirects, streaming and more.
Last release 1 years ago
24 Apr 2025
Ships unpredictably
gaps range from 9 days to 10 months
Nearly every release is documented
notes for 9 of 9 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
15 releases · first in 2023
One column per quarter.
Use package:zekfad_lints/lib.yaml which aligns with core lints.
package:zekfad_lints/lib.yaml which aligns with core lints.Add missing docs to public API.
Requires Dart 3.6
File and JSDataView to RequestBody union.JSDataView to ResponseBody union.ReadableStreamSourceCancelMethodFunction returns JSPromiseOr, because thisReadableStreamSource.fromStream cancel after error (#6)canStreamRequests function to check if streaming is supported inCurrent usage is mostly limited to package:fetch_client and these changes restores WASM support, therefore no major version bump was made.
Current usage is mostly limited to
package:fetch_clientand these changes
restores WASM support, therefore no major version bump was made.
ReadableStreamDefaultReader.readAsStream is now generic asReadableStream.fromTypedDataStream now have 2 genericT extends TypedData and AbortType extends JSAny instead ofAbortType.ReadableStream<JSUint8Array, AbortType>,TypedData is re-viewed to be Uint8List.RequestBody and ResponseBody now constructable only fromfromByteBuffer instead added fromJSArrayBuffer.fromTypedData instead added fromJSTypedArray.fromString instead added fromJSString.fromReadableStream tightened type to ReadableStream<JSUint8Array, JSAny>Uint8Arrays.RequestDestination.sharedworker toRequestDestination.sharedWorker.Response and Request not working in WASM: this happened due to JSJSString as String isResponse and Request now uses precise typeReadableStream<JSUint8Array, JSAny>package:fetch_api/enums.dart fetch_api.enums package with enumerationsDOMException from package:web instead of alias toJSObject.if (dart.library.io) '' for documentation-only imports,package:web with WASM support.extension types - no more InstanceMembers.Headers uses (String, String) in entries instead of List<String>.FetchOptions and RequestOptions are now inherited from RequestInitReadableStreamSource start, pull and cancel are now only callableIteratorInstanceMembers to support old languageIteratorResult falls back to dynamicAdd package:fetch_api/enums.dart fetch_api.enums package with enumerations available for all platforms (including VM).
package:fetch_api/enums.dart fetch_api.enums package with enumerations
available for all platforms (including VM).DOMException from package:web instead of alias toJSObject.if (dart.library.io) '' for documentation-only imports,
this allows to use them in non-JS environments.BREAKING: migrate to package:web with WASM support.
package:web with WASM support.extension types - no more InstanceMembers.Headers now use (String, String) in entries instead of List<String>.FetchOptions and RequestOptions are now inherited from RequestInit
and interchangeable.ReadableStreamSource start, pull and cancel are now only callable
via JS interop, as they require binding to parent object.Nothing published for this version
Remove type from IteratorInstanceMembers to support old language version. Technically this is a breaking, and IteratorResult falls back to dynamic now
IteratorInstanceMembers to support old language
version.
Technically this is a breaking, and IteratorResult falls back to dynamic
now, but it isn't exposed via public API and wrapper still works the same.Change Iterator to static interop. Workaround for sdk#53532 .
Iterator to static interop.Downgraded js dependency to ^0.6.5 ( #2 ).
js dependency to ^0.6.5 (#2).Public stable release. Bumped js to 0.6.7.
js to 0.6.7.js dependency to ^0.6.7.BREAKING : Renamed RequestInit to FetchOptions . This is done to make emphasis, that fetch and Request have different (default) behaviors.
RequestInit to FetchOptions.fetch and Request have differentRequest.RequestDuplex. This adds support for request streaming in supportedReadableStreamSource. This allows you to create customReadableStreams, that is required for request streaming.ReadableStreamDefaultController.ReadableStreamSource class that helps you to create custom sourceReadableStreams. It can be created from Dart'sStream.RequestCache.RequestDestination.RequestMode and added docs.FetchOptions and RequestOptions with corresponding docs from MDN.createRequestInit to createFetchOptionscreateRequestOptions.createReadableStream.createReadableStreamSourceFromStream.Fixes for js.Iterator with Arrays. (Resolves issue with Headers ).
js.Iterator with Arrays. (Resolves issue with Headers).BREAKING : Renamed extensions from <Class>Extension to <Class>InstanceMembers .
<Class>Extension to <Class>InstanceMembers.fetch_api.compatibility_layer library to support Dart 2.19.
createHeadersFromMapcreateHeadersFromArraycreateRequestInitcreateAbortSignalTimeoutBREAKING: Renamed extensions from <Class>Extension to
<Class>InstanceMembers.
Added fetch_api.compatibility_layer library to support Dart 2.19.
createHeadersFromMapcreateHeadersFromArraycreateRequestInitcreateAbortSignalTimeoutAbortSignal
timeout constructor-like method.abort constructor-like method.aborted property.reason property.throwIfAborted method.AbortController
fetch() added docs.
Response
_formData method.Headers
Iterator and IteratorResult
ReadableStreamDefaultReader and ReadableStreamDefaultReaderChunk
Downgraded js dependency to ^0.6.5 .
js dependency to ^0.6.5.- Initial version.
Your coding agent can read these notes before it upgrades. Set up the MCP server →