diff --git a/CHANGELOG.md b/CHANGELOG.md index 91e2ead2f..4b6bd59d0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,29 @@ +## Nuke 6.0-beta1 + +> About 8 months ago I've started using Nuke in production. The project matured from being a playground for experimenting with Swift features to something that I rely on in my days work. The primary goal behind Nuke 6 is to simplify the project even further, and to get rid of the implementation details leaking into a public API. + +Nuke is now Swift 4 only. It's simpler, smaller (< 1000 lines of code) , and faster. It features progress reporting and makes it simpler to create custom data loader (e.g. [Alamofire data loader](https://github.com/kean/Nuke-Alamofire-Plugin)). + +### Features + +- Implements progress reporting https://github.com/kean/Nuke/issues/81 + +### Removed APIs + +- Remove global `loadImage(...)` functions https://github.com/kean/Nuke/issues/142 +- Remove `Deduplicator` class, make this functionality part of `Loader`. This has a number of benefits: reduced API surface, improves performance by reducing number of queue switching, enables new features like progress reporting. +- Remove `Scheduler`, `AsyncScheduler`, `Loader.Schedulers`, `DispatchQueueScheduler`, `OperationQueueScheduler`. This whole infrastructure was way too excessive. +- Make `RateLimiter` private. + +### Improvements + +- Replace `Foundation.OperationQueue` & custom `Foundation.Operation` subclass with a new `Queue` type. It's simpler, faster, and gets rid of pesky Thread Sanitizer warnings https://github.com/kean/Nuke/issues/141 +- `DataLoader` now works with `URLRequest`, not `Request` +- `Loader` now always call completion on the main thread. +- Move `URLResponse` validation from `DataDecoder` to `DataLoader` +- Make use of some Swift 4 feature like nested types inside generic types. + + ## Nuke 5.2 Add support for both Swift 3.2 and 4.0. diff --git a/Nuke.podspec b/Nuke.podspec index cd93c29b7..611095941 100644 --- a/Nuke.podspec +++ b/Nuke.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'Nuke' - s.version = '5.2' + s.version = '6.0-beta1' s.summary = 'A powerful image loading and caching framework' s.description = <<-EOS A powerful image loading and caching framework which allows for hassle-free image loading in your app - often in one line of code. diff --git a/Supporting Files/Info.plist b/Supporting Files/Info.plist index fe44c6e1a..8ec951d44 100644 --- a/Supporting Files/Info.plist +++ b/Supporting Files/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 5.2 + 6.0-beta1 CFBundleSignature ???? CFBundleVersion