- Add feature to 'touch' elements in the cache #103
localstorage
and Safari Private Browsing #107
- Fixed duplicate keys when using localStorage #106
- Fixed missing reference to DSBinaryHeap #105
maxAge
anddeleteOnExpire
are no longer overridable for individual items- Renamed angular module to
angular-data.DSCacheFactory
. Angular-cache is now part of theangular-data
namespace - The
verifyIntegrity
option has been completely removed due to a cache being exclusively in-memory OR in web storage #96 - Supported values for the
storageMode
option are now:"memory"
,"localStorage"
or"sessionStorage"
with the default being"memory"
DSCache#put(key, value)
no longer accepts a thirdoptions
argumentDSCache#removeExpired()
no longer accepts anoptions
argument and thus no longer supports returning removed expired items as an arrayDSCache#remove(key)
no longer accepts anoptions
argumentDSCache#setOptions(options[, strict])
no longer acceptsstorageMode
andstorageImpl
as part of theoptions
argumentstorageMode
is no longer dynamically configurablestorageImpl
is no longer dynamically configurable
- Added
DSCache#enable()
- Added
DSCache#disable()
- Added
DSCache#setCapacity(capacity)
- Added
DSCache#setMaxAge(maxAge)
- Added
DSCache#setCacheFlushInterval(cacheFlushInterval)
- Added
DSCache#setRecycleFreq(recycleFreq)
- Added
DSCache#setDeleteOnExpire(deleteOnExpire)
- Added
DSCache#setOnExpire(onExpire)
- Added option
storagePrefix
for customizing the prefix used inlocalStorage
, etc. #98 - Refactored to be in-memory OR webStorage, never both #96
- I might have missed something...
- *sigh Fixed #102 (regression from #100)
- Fixed #100 (regression from #89)
- Fixed #89
- Caches can now be disabled #82
- The
options
object ($angularCacheFactory()
,AngularCache#setOptions()
, and$angularCacheFactoryProvider.setCacheDefaults()
) now accepts adisabled
field, which can be set totrue
and defaults tofalse
. $angularCacheFactory.enableAll()
will enable any disabled caches.$angularCacheFactory.disableAll()
will disable all caches.- A disabled cache will operate as normal, except
AngularCache#get()
andAngularCache#put()
will both immediately returnundefined
instead of performing their normal functions.
removeExpired()
now returns an object (or array) of the removed items.
removeExpired()
now removes all expired items.
removeExpired()
now returns an object (or array) of the removed items.
removeExpired()
now removes all expired items.
- Allow number keys, but stringify them #76
- Fix "Uncaught TypeError: Cannot read property 'maxAge' of null" #77 (thanks @evngeny-o)
- Modify .get(key, options) to accept multiple keys #71 (thanks @roryf)
- Run tests against multiple versions of Angular.js #72
- Add banner to dist/angular-cache.min.js #68
- Not all methods of AngularCache and $angularCacheFactory are in README #61
- Fix demo to work with 2.0.0-rc.1 #62
- Using Bower to install this package, the dist filenames change per version? #63
- Swapped
aggressiveDelete
option fordeleteOnExpire
option. #30, #47 - Changed
$angularCacheFactory.info()
to return an object similar toAngularCache.info()
#45 - Namespaced angular-cache module under
jmdobry
so it is now "jmdobry.angular-cache". #42 - Substituted
storageImpl
andsessionStorageImpl
options for juststorageImpl
option.
- Added
recycleFreq
to specify how frequently to check for expired items (no more $timeout). #28, #57 - Added ability to set global cache defaults in $angularCacheFactoryProvider. #55
- cacheFlushInterval doesn't clear web storage when storageMode is used. #52
- AngularCache#info(key) should return 'undefined' if the key isn't in the cache #53
- Fixed timespan issues in README.md. #59
- Refactored angular-cache
setOptions()
internals to be less convoluted and to have better validation. #46 - Re-wrote documentation to be clearer and more organized. #56
- Fixed documentation where time spans were incorrectly labeled. #59
- Added AngularCache#info(key) #43
- Fixed #39, #44, #49, #50
- Added
onExpire
callback hook #27 - Added
$angularCacheFactory.removeAll()
and$angularCacheFactory.clearAll()
convenience methods #37, #38
- Fixed #36
- Closed #31 (Improved documentation)
- Closed #32
- Added localStorage feature #26, #29
- Fixed #25
- Added a changelog #13
- Added documentation for installing with bower
- Added ability to set option
aggressiveDelete
when creating cache and when adding items - Cleaned up README.md
- Switched the demo to use Bootstrap 3
- Added CONTRIBUTING.md #22
- Cleaned up meta data in bower.json and package.json
- Added .jshintrc
- Cleaned up the docs a bit
bower.json
now usessrc/angular-cache.js
instead of the versioned output files #21- From now on the tags for the project will be named using semver
- Added
AngularCache.setOptions()
, the ability to dynamically change the configuration of a cache #20 - Added
AngularCache.keys()
, which returns an array of the keys in a cache #19 - Added
AngularCache.keySet()
, which returns a hash of the keys in a cache #19
- Added
angular-cache
to bower registry #7 - Created a working demo #9 #17
- Fixed the size not being reset to 0 when the cache clears itself #14 #16
- Added
$angularCacheFactory.keys()
, which returns an array of the keys (the names of the caches) in $angularCacheFactory #18 - Added
$angularCacheFactory.keySet()
, which returns a hash of the keys (the names of the caches) in $angularCacheFactory #18
- Got the project building on TravisCI
- Renamed the project to
angular-cache
#5
- Added a roadmap to README.md #4
- Clarify usage documentation #3
- Wrote unit tests #2
- Added Grunt build tasks #1