All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
- Support for Promises in
get
,set
,del
andpopulate
(#5)
6.0.1 - 2015-07-17
namespace
as the second argument of theCacheClient
create
event.
6.0.0 - 2015-07-17
- Robust events, to be used for debugging and collecting stats (see the Events docs for more info).
- ESLint validation on
npm test
. Also runs vianpm run lint
.
- (!) Event propagation from
Cache
toCacheClient
. The only remaining propagated event is theerror
event. If you're interested in capturing events from all caches of a single client, you may subscribe to thecreate
event of theCacheClient
and then listen to specific events emitted by the created cache.
5.1.0 - 2015-07-04
- Namespace in unhandled error messages.
5.0.0 - 2015-06-01
- (!)
Cache#set()
no longer returns the provided value.
- Support
config.optimizeForBuffers
to skip marshalling / unmarshalling, as it is redundant when caching buffers.
- Improved README and package.json metadata.
4.0.0 - 2015-05-06
- (!) Major refactoring of the store API for extensibility.
- Support
config.populateInAttempts
to control the maximum number of attempts.
- Release the lease regardless of populate errors.
- Clean up long populate stack traces.
3.1.0 - 2015-04-24
- Support
config.timeoutPopulateIn
and increase the lease-expire timeout totimeoutPopulateIn + 1 sec
.
3.0.3 - 2015-03-23
- Refactored timer strategy.
3.0.2 - 2015-03-23
- Returned (lost in datastore transition) cache namespace.
- Marshall undefined value as
null
.
3.0.1 - 2015-03-19
- Log possible errors while attempting to delete an expired value.
3.0.0 - 2015-03-18
- (!) Distribucache is now datastore independent! There are two backing stores available: Redis and Memory.
2.6.2 - 2015-02-20
- Ensure that the hash is only set after the value is set. Otherwise, it was possible for the hash to be update and the value not updated, causing stale values to appear for longer than desired.
2.6.1 - 2014-12-18
- Proxy Redis errors to the CacheClient.
2.6.0 - 2014-12-12
- Log uncaught error to
stderr
instead of throwing. Alternatively you may subscribe to theerror
event on the client.
2.5.0 - 2014-12-11
- Support events for the CacheClient:
get
,set
,del
,stale
anderror
.
2.3.1 - 2014-12-04
- Fixed Redis connection mode issue.
2.3.0 - 2014-12-04
- Support environments with no "configure" (e.g., Amazon elasticache). This is done
by attempting to configure, and if that fails
console.warn
a message to the client stating that manual configuration is required.
2.2.0 - 2014-12-04
- (Improved performance) The populate method that is called when a value is stale will now be run through a time-released lock (lease). This ensures that only one client is involved in updating on a stale at any given time, instead of all clients attacking the datastore when their values are stale.
2.1.2 - 2014-12-04
- Further simplify the marshaller.
2.1.1 - 2014-12-04
- Refactoring of the marshaller.
2.1.0 - 2014-12-04
- Added built-in marshalling of values.
2.0.0 - 2014-12-03
- (!) Enforce a
namespace
in thecacheClient.create
API. - Improved README by including the
optimizeForSmallValues
explanation.
1.0.0 - 2014-12-02
- Initial release of a Redis-backed automatically-repopulating cache.