Releases: aschuch/AwesomeCache
Releases · aschuch/AwesomeCache
5.0: Swift 3
4.0: Swift 2.3 support
- Add support for Swift 2.3
3.0.1: Small bug bashing
Fixes a bug that would lead to a crash if a new cache is created with the NSFileProtection
option (Thanks @niklassaers)
3.0: Sync by default
AwesomeCache 3 is designed to have a sync API, making it easy to reason about the actual contents of the cache. This decision has been made based on feedback from the community, to keep the API of AwesomeCache small and easy to use.
The internals of the cache use a concurrent dispatch queue, that syncs reads and writes for thread safety. In case a particular caching operation blocks your main thread for too long, consider offloading the read and write operations to a different thread.
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) {
cache["name"] = "Alex"
}
Further improvements
- Added a new way to return an expired object in
objectForKey:
if present (#31) - Adds a way to set the
NSFileProtectionKey
value on the internalNSFileManager
. This may be necessary in case you observe odd behaviour when accessing the cache in the background. (#64) - Adds a new method to get
allObjects
from the cache (optionally, expired objects may be queried as well)
2.2: More reads, more joy
2.1: Watching TV
- Support for watchOS
- Support for tvOS
2.0: The right Path
- Support for Swift 2
- Updated documentation
- Changes the internal implementation to use the new
NSURL
APIs instead of paths
1.0.2: A dead lock is a bad lock
- fixes a deadlock in
objectForKey
(thanks @alenofx) - keys are now sanitized to make sure the file system is able to persist the cache object