Skip to content

Commit

Permalink
Version 6.0-beta1
Browse files Browse the repository at this point in the history
  • Loading branch information
kean committed Nov 27, 2017
1 parent 727ee7a commit 9e9969d
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 2 deletions.
26 changes: 26 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
2 changes: 1 addition & 1 deletion Nuke.podspec
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
2 changes: 1 addition & 1 deletion Supporting Files/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>5.2</string>
<string>6.0-beta1</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
Expand Down

0 comments on commit 9e9969d

Please sign in to comment.