From 6ec99c9134c7eef2c10a93a80bd26db33f921bb4 Mon Sep 17 00:00:00 2001 From: Jon Shier Date: Sun, 29 Mar 2020 16:48:58 -0400 Subject: [PATCH] Prepare 4.0.0. (#4527) --- AFNetworking/AFURLSessionManager.m | 1 - CHANGELOG.md | 79 ++++++++++++++++++++++++++++++ README.md | 9 +--- 3 files changed, 81 insertions(+), 8 deletions(-) diff --git a/AFNetworking/AFURLSessionManager.m b/AFNetworking/AFURLSessionManager.m index a976c51191..d23bd33c27 100644 --- a/AFNetworking/AFURLSessionManager.m +++ b/AFNetworking/AFURLSessionManager.m @@ -85,7 +85,6 @@ static dispatch_group_t url_session_manager_completion_group() { typedef void (^AFURLSessionTaskCompletionHandler)(NSURLResponse *response, id responseObject, NSError *error); - #pragma mark - @interface AFURLSessionManagerTaskDelegate : NSObject diff --git a/CHANGELOG.md b/CHANGELOG.md index 3699a0bb58..e2e7617e27 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,85 @@ All notable changes to this project will be documented in this file. --- +## [4.0.0](https://github.com/AFNetworking/AFNetworking/releases/tag/4.0.0) (03/29/2020) +Released on Sunday, March 29, 2020. All issues associated with this milestone can be found using this [filter](https://github.com/AFNetworking/AFNetworking/milestone/16?closed=1). + +#### Added +* Notificate when a downloaded file has been moved successfully. + * Implemented by xingheng in [#4393](https://github.com/AFNetworking/AFNetworking/pull/4393). +* Specific error for certificate pinning failure. + * Implemented by 0xced in [#3425](https://github.com/AFNetworking/AFNetworking/pull/3425). +* `WKWebView` extensions. + * Implemented by tjanela in [#4439](https://github.com/AFNetworking/AFNetworking/pull/4439). +* Automatic location of certificates in the main bundle for certificate pinning. + * Implemented by 0xced in [#3752](https://github.com/AFNetworking/AFNetworking/pull/3752). +* User-Agent support for tvOS. + * Implemented by ghking in [#4014](https://github.com/AFNetworking/AFNetworking/pull/4014). +* Ability for `AFHTTPSessionManager` to recreate its underlying `NSURLSession`. + * Implemented by Kaspik in [#4256](https://github.com/AFNetworking/AFNetworking/pull/4256). +* Ability to set HTTP headers per request. + * Implemented by stnslw in [#4113](https://github.com/AFNetworking/AFNetworking/pull/4113). +* Ability to capture `NSURLSessionTaskMetrics`. + * Implemented by Caelink in [#4237](https://github.com/AFNetworking/AFNetworking/pull/4237). + +#### Updated +* `dataTaskWithHTTPMethod` to be public. + * Implemented by smartinspereira in [#4007](https://github.com/AFNetworking/AFNetworking/pull/4007). +* Reachability notification to include the instance which issued the notification. + * Implemented by LMsgSendNilSelf in [#4051](https://github.com/AFNetworking/AFNetworking/pull/4051). +* `AFJSONObjectByRemovingKeysWithNullValues` to be public. + * Implemented by ashfurrow in [#4051](https://github.com/AFNetworking/AFNetworking/pull/4051). +* `AFJSONObjectByRemovingKeysWithNullValues` to remove `NSNull` values from `NSArray`s. + * Implemented by ashfurrow in [#4052](https://github.com/AFNetworking/AFNetworking/pull/4052). + +#### Changed +* Automated CI to GitHub Actions. + * Implemented by jshier in [#4523](https://github.com/AFNetworking/AFNetworking/pull/4523). + +#### Fixed +* Explicit `NSSecureCoding` support. + * Implemented by jshier in [#4523](https://github.com/AFNetworking/AFNetworking/pull/4523). +* Deprecated API usage on Catalyst. + * Implemented by jshier in [#4523](https://github.com/AFNetworking/AFNetworking/pull/4523). +* Nullability annotations. + * Implemented by jshier in [#4523](https://github.com/AFNetworking/AFNetworking/pull/4523). +* `AFImageDownloader` to more accurately cancel downloads. + * Implemented by kinarobin in [#4407](https://github.com/AFNetworking/AFNetworking/pull/4407). +* Double KVO notifications in `AFNetworkActivityManager`. + * Implemented by kinarobin in [#4406](https://github.com/AFNetworking/AFNetworking/pull/4406). +* Availability annotations around `NSURLSessionTaskMetrics`. + * Implemented by ElfSundae in [#4516](https://github.com/AFNetworking/AFNetworking/pull/4516). +* Issues with `associated_object` and subclasses. + * Implemented by welcommand in [#3872](https://github.com/AFNetworking/AFNetworking/pull/3872). +* Memory leak in example application. + * Implemented by svoit in [#4196](https://github.com/AFNetworking/AFNetworking/pull/4196). +* Crashes in mulithreaded scenarios and `dispatch_barrier`. + * Implemetned by streeter in [#4474](https://github.com/AFNetworking/AFNetworking/pull/4474). +* Issues with `NSSecureCoding`. + * Implemented by ElfSudae in [#4409](https://github.com/AFNetworking/AFNetworking/pull/4409). +* Code style issues. + * Implemented by svoit in [#4200](https://github.com/AFNetworking/AFNetworking/pull/4200). +* Race condition in `AFImageDownloader`. + * Implemented by bbeversdorf in [#4246](https://github.com/AFNetworking/AFNetworking/pull/4246). +* Coding style issues. + * Implemented by LeeHongHwa in [#4002](https://github.com/AFNetworking/AFNetworking/pull/4002). + +#### Removed +* Support for iOS < 9, macOS < 10.10. + * Implemented by jshier in [#4523](https://github.com/AFNetworking/AFNetworking/pull/4523). +* All previously deprecated APIs. + * Implemented by jshier in [#4523](https://github.com/AFNetworking/AFNetworking/pull/4523). +* Unnecessary `__block` capture. + * Implemented by kinarobin in [#4526](https://github.com/AFNetworking/AFNetworking/pull/4526). +* Workaround for `NSURLSessionUploadTask` creation on iOS 7. + * Implemented by kinarobin in [#4525](https://github.com/AFNetworking/AFNetworking/pull/4525). +* Workaround for safe `NSURLSessionTask` creation on iOS < 8. + * Implemented by kinarobin in [#4401](https://github.com/AFNetworking/AFNetworking/pull/4401). +* `UIWebView` extensions. + * Implemented by tjanela in [#4439](https://github.com/AFNetworking/AFNetworking/pull/4439). + +--- + ## [3.2.1](https://github.com/AFNetworking/AFNetworking/releases/tag/3.2.1) (05/04/2018) Released on Friday, May 04, 2018. All issues associated with this milestone can be found using this [filter](https://github.com/AFNetworking/AFNetworking/issues?q=milestone%3A3.2.1+is%3Aclosed). diff --git a/README.md b/README.md index f416c949ad..b5bdae9a79 100644 --- a/README.md +++ b/README.md @@ -12,8 +12,6 @@ AFNetworking is a delightful networking library for iOS, macOS, watchOS, and tvO Perhaps the most important feature of all, however, is the amazing community of developers who use and contribute to AFNetworking every day. AFNetworking powers some of the most popular and critically-acclaimed apps on the iPhone, iPad, and Mac. -Choose AFNetworking for your next project, or migrate over your existing projects—you'll be happy you did! - ## How To Get Started - [Download AFNetworking](https://github.com/AFNetworking/AFNetworking/archive/master.zip) and try out the included Mac and iPhone example apps @@ -39,7 +37,6 @@ To integrate AFNetworking into your Xcode project using CocoaPods, specify it in pod 'AFNetworking', '~> 4.0' ``` - ### Installation with Swift Package Manager Once you have your Swift package set up, adding AFNetworking as a dependency is as easy as adding it to the `dependencies` value of your `Package.swift`. @@ -54,19 +51,17 @@ dependencies: [ ### Installation with Carthage -[Carthage](https://github.com/Carthage/Carthage) is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks. +[Carthage](https://github.com/Carthage/Carthage) is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks. To integrate AFNetworking, add the following to your `Cartfile`. ```ogdl github "AFNetworking/AFNetworking" ~> 4.0 ``` -Run `carthage` to build the framework and drag the built `AFNetworking.framework` into your Xcode project. - ## Requirements | AFNetworking Version | Minimum iOS Target | Minimum macOS Target | Minimum watchOS Target | Minimum tvOS Target | Notes | |:--------------------:|:---------------------------:|:----------------------------:|:----------------------------:|:----------------------------:|:-------------------------------------------------------------------------:| -| 4.x | iOS 9 | macOS 10.10 | watchOS 2.0 | tvOS 9.0 | Xcode +9+ is required. | +| 4.x | iOS 9 | macOS 10.10 | watchOS 2.0 | tvOS 9.0 | Xcode 11+ is required. | | 3.x | iOS 7 | OS X 10.9 | watchOS 2.0 | tvOS 9.0 | Xcode 7+ is required. `NSURLConnectionOperation` support has been removed. | | 2.6 -> 2.6.3 | iOS 7 | OS X 10.9 | watchOS 2.0 | n/a | Xcode 7+ is required. | | 2.0 -> 2.5.4 | iOS 6 | OS X 10.8 | n/a | n/a | Xcode 5+ is required. `NSURLSession` subspec requires iOS 7 or OS X 10.9. |