Browse Source

Prepare 4.0.0. (#4527)

Jon Shier 5 years ago
parent
commit
6ec99c9134
3 changed files with 81 additions and 8 deletions
  1. 0 1
      AFNetworking/AFURLSessionManager.m
  2. 79 0
      CHANGELOG.md
  3. 2 7
      README.md

+ 0 - 1
AFNetworking/AFURLSessionManager.m

@@ -85,7 +85,6 @@ typedef void (^AFURLSessionTaskProgressBlock)(NSProgress *);
 
 typedef void (^AFURLSessionTaskCompletionHandler)(NSURLResponse *response, id responseObject, NSError *error);
 
-
 #pragma mark -
 
 @interface AFURLSessionManagerTaskDelegate : NSObject <NSURLSessionTaskDelegate, NSURLSessionDataDelegate, NSURLSessionDownloadDelegate>

+ 79 - 0
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).
 

+ 2 - 7
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. |