Skip to content

Commit

Permalink
Prepare 4.0.0. (AFNetworking#4527)
Browse files Browse the repository at this point in the history
  • Loading branch information
jshier authored Mar 29, 2020
1 parent c9d0684 commit 6ec99c9
Show file tree
Hide file tree
Showing 3 changed files with 81 additions and 8 deletions.
1 change: 0 additions & 1 deletion AFNetworking/AFURLSessionManager.m
Original file line number Diff line number Diff line change
Expand Up @@ -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 <NSURLSessionTaskDelegate, NSURLSessionDataDelegate, NSURLSessionDownloadDelegate>
Expand Down
79 changes: 79 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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).

Expand Down
9 changes: 2 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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`.
Expand All @@ -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. |
Expand Down

0 comments on commit 6ec99c9

Please sign in to comment.