Skip to content

Releases: aschuch/AwesomeCache

5.0: Swift 3

15 Nov 21:28
Compare
Choose a tag to compare

Compatibility for Swift 3.0

4.0: Swift 2.3 support

18 Sep 09:35
Compare
Choose a tag to compare
  • Add support for Swift 2.3

3.0.1: Small bug bashing

27 Jun 19:27
Compare
Choose a tag to compare

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

03 Jun 15:56
Compare
Choose a tag to compare

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 internal NSFileManager. 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

27 May 08:35
Compare
Choose a tag to compare
  • An Obj-C NSKeyedUnarchiver was added since it can throw exceptions which can't be caught in Swift (Thanks @JaviSoto)
  • Use a concurrent queue to allow multiple simultaneous reads from the cache. (Thanks @JaviSoto)

2.1: Watching TV

21 Mar 21:28
Compare
Choose a tag to compare
  • Support for watchOS
  • Support for tvOS

2.0: The right Path

17 Oct 07:55
Compare
Choose a tag to compare
  • 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

09 Jul 18:24
Compare
Choose a tag to compare
  • fixes a deadlock in objectForKey (thanks @alenofx)
  • keys are now sanitized to make sure the file system is able to persist the cache object

1.0.1: Swift 1.2 support

24 Mar 09:29
Compare
Choose a tag to compare

v1.0

31 Jan 00:34
Compare
Choose a tag to compare

Rename AwesomeCache class to Cache.
(It is still as awesome as before. ✨)