v1.0.0
Woohoo, v1.0.0! This release marks the first stable version of Cachex and should be good to use in production systems. Many things have changed since v0.9.1, including:
Fixes:
- Corrected an issue with remote nodes and replication
- Corrected an issue with
Cachex.abort!/3
not returning correctly - Corrected an issue with
Cachex.start_link/2
not linking all components to the parent process - Corrected an issue with
Cachex.purge/2
requests not being sent to hooks - Corrected several issues with incrementing non-numeric values
Improvements:
- Added a new set of Mix tasks to spin up remote test nodes automatically
- Added better internal tools to remove a lot of code overhead
- Added inspection utilities for checking expirations
- Added inspection utilities to check Janitor information
- Added test coverage of remote nodes
- Added the ability to access a cache from within a hook
- Added the ability to create a
Stream
of a cache - Added the ability to disable on-demand expiration
- Added the ability to start Cachex without linking to a process via
Cachex.start/2
Breaking Changes:
- The
transactional
option has been removed in favour of purely theremote
option.- If you wish to use a transactional approach, please manually wrap your cache calls using
Cachex.transaction/3
. This lowers the code overhead inside Cachex and means that the user can be more selective of when to actually use transactions (sometimes it doesn't make sense to wrap a read in a transaction).
- If you wish to use a transactional approach, please manually wrap your cache calls using
Please make sure to file any issues found and they'll be addressed as soon as possible - as it stands, Cachex is now being used in production applications without any obvious issues - so feel free to give it a try!