Skip to content

v1.0.0

Compare
Choose a tag to compare
@whitfin whitfin released this 23 Apr 00:47

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 the remote 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).

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!