3.0.0-wip
- BREAKING CHANGE: Remove
shouldUseExtendedBackgroundIdleMode from URLSessionConfiguration. - BREAKING CHANGE: Require Dart 3.10+.
- 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.taskDelegate setter and URLSessionTask.delegate builder 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.
2.4.0
- Switch to
package:objective_c 9.1.0 and package:ffigen 20.1.0. - Add URL to thrown
RequestAbortedException.
2.3.0
- Add the ability to abort requests.
- Make
ConnectionException.toString more helpful.
2.2.0
- Cancel requests when the response stream is cancelled.
- Add a new exception type
NSErrorClientException that contains the NSError associated with the failure.
2.1.1
- Support
package:web_socket 1.0.0.
2.1.0
- Remove some unnecessary native code.
- Upgrade to
package:objective_c 7.0. - Upgrade to
package:ffigen 18.0. - Fix a bug where
package:cupertino_http did not work with package:firebase_performance enabled.
2.0.2
- Upgrade to
package:objective_c 4.1. - Upgrade to
package:ffigen 16.1. - Fixes a bug where responses were not processed correctly:
2.0.1
- Fix a bug where
package:cupertino_http only worked with iOS 17+.
2.0.0
- The behavior of
CupertinoClient and CupertinoWebSocket has not changed. - Breaking:
MutableURLRequest.httpBodyStream now takes a NSInputStream instead of a Stream<List<int>>. - Breaking: The following enums/classes previous defined by
package:cupertino_http are now imported from package:objective_c:NSDataNSErrorNSHTTPCookieAcceptPolicyNSMutableDataNSURLRequestCachePolicyNSURLRequestNetworkServiceTypeNSURLSessionMultipathServiceTypeNSURLSessionResponseDispositionNSURLSessionTaskStateNSURLSessionWebSocketCloseCodeNSURLSessionWebSocketMessageType
- Breaking:
URLSession.dataTaskWithCompletionHandler is no longer supported for background sessions.
1.5.1
- Allow
1000 as a code argument in CupertinoWebSocket.close. - Fix a bug where the
Content-Length header would not be set under certain circumstances.
1.5.0
- Add integration to the DevTools Network View.
- Upgrade to
package:ffigen 11.0.0. - Bring
WebSocket behavior in line with the documentation by throwing WebSocketConnectionClosed rather than StateError when attempting to send data to or close an already closed CupertinoWebSocket. - 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().
1.4.0
- Experimental support for the
package:web_socket WebSocket interface.
1.3.0
- Use
package:http_image_provider in the example application. - Support
BaseResponseWithUrl.
1.2.0
- Add support for setting additional http headers in
URLSessionConfiguration.
1.1.0
- Add websocket support to
cupertino_api. - Add streaming upload support, i.e., if
CupertinoClient.send() is called with a StreamedRequest then the data will be sent to the server incrementally. - Deprecate
Data.fromUint8List in favor of Data.fromList, which accepts any List<int>. - Disable additional analyses for generated Objective-C bindings to prevent errors from
dart analyze. - Throw
ClientException when the 'Content-Length' header is invalid. - Add support for configurable caching through
URLSessionConfiguration.cache.
1.0.1
- Remove experimental status from “Readme”
1.0.0
- Require Dart 3.0
- Require Flutter 3.10.0
0.1.2
0.1.1
- Add a
URLSession.sessionDescription field.
0.1.0
- Restructure
package:cupertino_http to offer a single import.
0.0.11
- Fix a bug where the images in the example would be loaded using
dart:io HttpClient. CupertinoClient throws an exception if send is called after close.
0.0.10
0.0.9
- Add a more complete implementation for
URLSessionTask:priority property - hint for host prioritization.currentRequest property - the current request for the task (will be different than originalRequest in the face of redirects).originalRequest property - the original request for the task.error property - an Error object if the request failed.taskDescription property - a developer-set description of the task.countOfBytesExpectedToSend property - the size of the body bytes that will be sent.countOfBytesSent property - the number of body bytes sent in the request.prefersIncrementalDelivery property - whether to deliver the response body in one chunk (if possible) or many.
- Upgrade to ffigen ^7.2.0 and remove unnecessary casts.
0.0.8
- Make timeout and caching policy configurable on a per-request basis.
0.0.7
0.0.6
0.0.5
0.0.4
- Add the ability to control caching policy.
0.0.3
- Follow the project style in the example app.
- Use
runWithClient in the example app. - Add another README example
0.0.2
- A single comment adjustment.
0.0.1
- Initial development release.