diff --git a/CHANGELOG.md b/CHANGELOG.md index 2126568..d50d976 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. SPTPersiste -- +## [1.1.0](https://github.com/spotify/SPTPersistentCache/releases/tag/1.1.0) +_Released on 2016-11-18._ + +### Added +* Added ability to track the caches performance in time. + +### Fixed +* When deleting or adding a large amount of items, the cache can now be configured prioritise these insertions compared to normal reads/writes. + +### Removed +* Removed support for iOS 7.x. +* Removed support for OSX 10.9.x. + +### Changed +* Now uses NSOperationQueues rather than GCD for prioritisation reasons. +* Large removes, prunes and garbage collection routines are now asynchronous (this is an API breakage). ## [1.0.0](https://github.com/spotify/SPTPersistentCache/releases/tag/1.0.0) _Released on 2015-03-11._ diff --git a/README.md b/README.md index 02adc33..bcb9b52 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ Everyone tries to implement a cache at some point in their app’s lifecycle, and this is ours. This is a library that allows people to cache `NSData` with time to live (TTL) values and semantics for disk management. - [x] 📱 iOS 8.0+ -- [x] 💻 OS X 10.9+ +- [x] 💻 OS X 10.10+ ## Architecture :triangular_ruler: `SPTPersistentCache` is designed as an LRU cache which makes use of the file system to store files as well as inserting a cache header into each file. This cache header allows us to track the TTL, last updated time, the redundancy check and more. This allows the cache to know how often a file is accessed, when it was made, whether it has become corrupt and allows decisions to be made on whether the cache is stale. @@ -34,7 +34,7 @@ $ gem install cocoapods ``` Then simply add `SPTPersistentCache` to your `Podfile`. ``` -pod 'SPTPersistentCache', '~> 1.0' +pod 'SPTPersistentCache', '~> 1.1.0' ``` Lastly let CocoaPods do its thing by running: ```shell @@ -49,7 +49,7 @@ $ brew install carthage ``` You will also need to add `SPTPersistentCache` to your `Cartfile`: ``` -github 'spotify/SPTPersistentCache' ~> 1.0 +github 'spotify/SPTPersistentCache' ~> 1.1.0 ``` After that is all said and done, let Carthage pull in SPTPersistentCache like so: ```shell diff --git a/SPTPersistentCache.podspec b/SPTPersistentCache.podspec index 78a5773..03f6ce7 100644 --- a/SPTPersistentCache.podspec +++ b/SPTPersistentCache.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "SPTPersistentCache" - s.version = "1.0.0" + s.version = "1.1.0" s.summary = "SPTPersistentCache is a fast, binary, LRU cache used in the Spotify iOS app" s.description = <<-DESC @@ -10,8 +10,8 @@ Pod::Spec.new do |s| with TTL values and semantics for disk management. DESC - s.ios.deployment_target = "7.0" - s.osx.deployment_target = "10.8" + s.ios.deployment_target = "8.0" + s.osx.deployment_target = "10.10" s.homepage = "https://github.com/spotify/SPTPersistentCache" s.social_media_url = "https://twitter.com/spotifyeng" diff --git a/SPTPersistentCache.xcodeproj/project.pbxproj b/SPTPersistentCache.xcodeproj/project.pbxproj index bf560c1..9fc379a 100644 --- a/SPTPersistentCache.xcodeproj/project.pbxproj +++ b/SPTPersistentCache.xcodeproj/project.pbxproj @@ -101,6 +101,7 @@ 0595F3381C50117B0052328B /* SPTPersistentCacheGarbageCollector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPTPersistentCacheGarbageCollector.h; sourceTree = ""; }; 0595F3391C50117B0052328B /* SPTPersistentCacheGarbageCollector.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPTPersistentCacheGarbageCollector.m; sourceTree = ""; }; 0595F33B1C5011E30052328B /* SPTPersistentCache+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "SPTPersistentCache+Private.h"; sourceTree = ""; }; + 05C0B6531DDF7F9C00DDC99A /* CHANGELOG.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = CHANGELOG.md; sourceTree = ""; }; 696CD7841C4707E20071DD18 /* crc32iso3309.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crc32iso3309.c; sourceTree = ""; }; 696CD7851C4707E20071DD18 /* crc32iso3309.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crc32iso3309.h; sourceTree = ""; }; 696CD7861C4707E20071DD18 /* SPTPersistentCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPTPersistentCache.m; sourceTree = ""; }; @@ -250,6 +251,7 @@ 055725EE1C651EF200EF6787 /* CONTRIBUTING.md */, 055725ED1C651ED600EF6787 /* LICENSE */, 055725EB1C6519B700EF6787 /* README.md */, + 05C0B6531DDF7F9C00DDC99A /* CHANGELOG.md */, ); name = "Supporting Files"; sourceTree = ""; diff --git a/SPTPersistentCacheFramework/Info.plist b/SPTPersistentCacheFramework/Info.plist index 7f43224..53d180f 100644 --- a/SPTPersistentCacheFramework/Info.plist +++ b/SPTPersistentCacheFramework/Info.plist @@ -19,9 +19,9 @@ CFBundleSignature ???? CFBundleVersion - $(CURRENT_PROJECT_VERSION) + 1.1.0 NSHumanReadableCopyright - Copyright © 2016 Will Sackfield. All rights reserved. + Copyright © 2016 Spotify. All rights reserved. NSPrincipalClass diff --git a/Tests/Info.plist b/Tests/Info.plist index ba72822..b8b260e 100644 --- a/Tests/Info.plist +++ b/Tests/Info.plist @@ -15,10 +15,10 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 1.0 + 1.1.0 CFBundleSignature ???? CFBundleVersion - 1 + 1.1.0 diff --git a/Viewer/Info.plist b/Viewer/Info.plist index 47db5cc..2010352 100644 --- a/Viewer/Info.plist +++ b/Viewer/Info.plist @@ -25,7 +25,7 @@ LSMinimumSystemVersion $(MACOSX_DEPLOYMENT_TARGET) NSHumanReadableCopyright - Copyright © 2014 Dmitry Ponomarev. All rights reserved. + Copyright © 2014 Spotify. All rights reserved. NSMainNibFile MainMenu NSPrincipalClass