cupertino_http
A macOS/iOS Flutter plugin that provides access to the Foundation URL Loading System.
3.0.2
239K downloads/mo
#781 most downloaded on pub.dev
dart-lang/http
What this package is like to depend on
Last release 2 months ago
29 May 2026
Ships fairly regularly
a new release about every 2 months
Nearly every release is documented
notes for 32 of 32 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
32 releases · first in 2022
4 releases in the last 12 months
see the full history below
Release timeline
32 releases · Aug 2022 to May 2026
2023
2024
2025
2026
Releases
latest 32-
3.0.229 May 2026Release notes
Open source →- Fix a bug where code assets were built on non-code-assets hook invocations.
-
3.0.128 May 2026Release notes
Open source →- Fix a bug where native assets were built on non-Apple platforms.
- Support the latest semver-major versions of the native assets packages.
- Fix some code examples.
- Remove
README.mdtext saying that the package is a Flutter plugin.
-
3.0.026 May 2026Release notes
Open source →- Require Dart SDK
3.7.0. - Add support for providing custom message when terminating a connection.
Release notes
Open source →- BREAKING CHANGE: Remove
shouldUseExtendedBackgroundIdleModefromURLSessionConfiguration. - Support usage in Dart SDK projects.
- Fix a bug where close reasons not containing valid UTF-8 would cause an uncatchable exception to be thrown.
- Exclude unnecessary generated code. Slightly reduces disk space requirements.
- Add
URLSessionTask.taskDelegatesetter andURLSessionTask.delegatebuilder to enable use of task-level delegates. - BREAKING: Update minimum supported versions to iOS 15 (released on September 20, 2022) and macOS 12 (released October 25, 2021).
- Updated the example to not require Flutter.
- Make
closethrow if there are pending requests when called.
- Require Dart SDK
-
2.4.019 Nov 2025Release notes
Open source →- Switch to
package:objective_c9.1.0andpackage:ffigen20.1.0. - Add URL to thrown
RequestAbortedException.
- Switch to
-
2.3.008 Aug 2025Release notes
Open source →- Add the ability to abort requests.
- Make
ConnectionException.toStringmore helpful.
-
2.2.006 May 2025Release notes
Open source →- Cancel requests when the response stream is cancelled.
- Add a new exception type
NSErrorClientExceptionthat contains theNSErrorassociated with the failure.
-
2.1.117 Apr 2025 -
2.1.013 Mar 2025Release notes
Open source →- Remove some unnecessary native code.
- Upgrade to
package:objective_c7.0. - Upgrade to
package:ffigen18.0. - Fix a bug where
package:cupertino_httpdid not work withpackage:firebase_performanceenabled.
-
2.0.216 Jan 2025 -
2.0.105 Nov 2024 -
2.0.028 Oct 2024Release notes
Open source →- The behavior of
CupertinoClientandCupertinoWebSockethas not changed. - Breaking:
MutableURLRequest.httpBodyStreamnow takes aNSInputStreaminstead of aStream<List<int>>. - Breaking: The following enums/classes previous defined by
package:cupertino_httpare now imported frompackage:objective_c:NSDataNSErrorNSHTTPCookieAcceptPolicyNSMutableDataNSURLRequestCachePolicyNSURLRequestNetworkServiceTypeNSURLSessionMultipathServiceTypeNSURLSessionResponseDispositionNSURLSessionTaskStateNSURLSessionWebSocketCloseCodeNSURLSessionWebSocketMessageType
- Breaking:
URLSession.dataTaskWithCompletionHandleris no longer supported for background sessions.
- The behavior of
-
1.5.112 Jul 2024Release notes
Open source →- Allow
1000as acodeargument inCupertinoWebSocket.close. - Fix a bug where the
Content-Lengthheader would not be set under certain circumstances.
- Allow
-
1.5.023 May 2024Release notes
Open source →- Fixed a bug in
IOClientwhere theHttpClient's response stream was
cancelled after the response stream was completed. - Added support for aborting requests before they complete.
- Clarify that some header names may not be sent/received.
Release notes
Open source →- Add integration to the DevTools Network View.
- Upgrade to
package:ffigen11.0.0. - Bring
WebSocketbehavior in line with the documentation by throwingWebSocketConnectionClosedrather thanStateErrorwhen attempting to send data to or close an already closedCupertinoWebSocket. - Update minimum supported iOS/macOS versions to be in sync with the minimum (best effort) supported for Flutter: iOS 12, macOS 10.14.
- Eagerly free resources on
CupertinoClient.close().
- Fixed a bug in
-
1.4.022 Mar 2024 -
1.3.017 Jan 2024Release notes
Open source →- Fixed unintended HTML tags in doc comments.
- Switched
BrowserClientto use Fetch API instead ofXMLHttpRequest.
Release notes
Open source →- Use
package:http_image_providerin the example application. - Support
BaseResponseWithUrl.
-
1.2.019 Dec 2023Release notes
Open source →- Add support for setting additional http headers in
URLSessionConfiguration.
- Add support for setting additional http headers in
-
1.1.019 Sep 2023Release notes
Open source →- Add websocket support to
cupertino_api. - Add streaming upload support, i.e., if
CupertinoClient.send()is called with aStreamedRequestthen the data will be sent to the server incrementally. - Deprecate
Data.fromUint8Listin favor ofData.fromList, which accepts anyList<int>. - Disable additional analyses for generated Objective-C bindings to prevent
errors from
dart analyze. - Throw
ClientExceptionwhen the'Content-Length'header is invalid. - Add support for configurable caching through
URLSessionConfiguration.cache.
- Add websocket support to
-
1.0.131 May 2023 -
1.0.031 May 2023 -
0.1.209 Mar 2023 -
0.1.025 Jan 2023 -
0.0.1103 Jan 2023Release notes
Open source →- Fix a bug where the images in the example would be loaded using
dart:ioHttpClient. CupertinoClientthrows an exception ifsendis called afterclose.
- Fix a bug where the images in the example would be loaded using
-
0.0.1022 Nov 2022 -
0.0.911 Nov 2022Release notes
Open source →- Add a more complete implementation for
URLSessionTask:priorityproperty - hint for host prioritization.currentRequestproperty - the current request for the task (will be different thanoriginalRequestin the face of redirects).originalRequestproperty - the original request for the task.errorproperty - anErrorobject if the request failed.taskDescriptionproperty - a developer-set description of the task.countOfBytesExpectedToSendproperty - the size of the body bytes that will be sent.countOfBytesSentproperty - the number of body bytes sent in the request.prefersIncrementalDeliveryproperty - whether to deliver the response body in one chunk (if possible) or many.
- Upgrade to ffigen ^7.2.0 and remove unnecessary casts.
- Add a more complete implementation for
-
0.0.802 Nov 2022 -
0.0.719 Sep 2022 -
0.0.613 Sep 2022Release notes
Open source →- Make the number of simultaneous connections allowed to the same host configurable.
- Fixes cupertino_http: Failure calling Dart_PostCObject_DL.
-
0.0.507 Sep 2022Release notes
Open source →- Add the ability to set network service type.
- Add the ability to control multipath TCP connections.
- Set
StreamedResponse.reasonPhraseandStreamedResponse.request. Fixes cupertino_http: BaseResponse.request is null.
-
0.0.431 Aug 2022 -
0.0.305 Aug 2022Release notes
Open source →- Follow the project style in the example app.
- Use
runWithClientin the example app. - Add another README example
-
0.0.204 Aug 2022 -
0.0.104 Aug 2022