v2.0.0 (2021-02-20)
Added features:
- Added
delete_all/2
andcount_all/2
functions to the Cache API #100 - Added
decr/3
to the Cache API.
Implemented enhancements:
- Added
join_cluster
andleave_cluster
functions to the distributed adapters #104 - Removed
Nebulex.Time.expiry_tine/2
; use:timer.(seconds|minutes|hours)/1
instead.
Closed issues:
- Migrating to v2 link is broken #103
- Fixed replicated adapter to work properly with dynamic caches #101
v2.0.0-rc.2 (2021-01-06)
Added features:
Implemented enhancements:
- Improved replicated adapter to ensure better consistency across the nodes #99
- Refactored Nebulex task for generating caches #97
- Added
Nebulex.Adapter.Stats
behaviour as optional #95 - Added
Nebulex.Adapter.Entry
andNebulex.Adapter.Storage
behaviours #93 - Added
:default
option to theincr/3
callback #92 - Fixed
Nebulex.RPC
to use:erpc
when depending on OTP 23 or higher, otherwise use current implementation #91
Fixed bugs:
- Fixed stats to update evictions when a new generation is created and the older is deleted #98
Closed issues:
- Is there a way to disable caching entirely? #87
- Slow cache under moderate simultaneous load #80
mix nebulex.gen.cache
replaces everything in folder #75- Replicated hash_slots for partitioned adapter #65
Merged pull requests:
- Overall fixes and enhancements for adapter behaviours #94 (cabol)
- Typo in code example 👀 #89 (Awlexus)
v2.0.0-rc.1 (2020-11-15)
Implemented enhancements:
- Made the local adapter completely agnostic to the cache name
- Added documentation in local adapter for eviction settings, caveats and recommendations.
- Added support for new
:pg
module since OTP 23 #84
Closed issues:
- Error on
cache.import
using ReplicatedCache #86 {:EXIT, #PID<0.2945.0>, :normal}
#79opts[:stats]
not getting through to the adapter #78- Partitioned Cache + stats + multiple nodes causes failure #77
- Recommended gc settings? #76
Merged pull requests:
- Add test for unflushed messages with exits trapped #85 (garthk)
- Misc doc changes #83 (kianmeng)
- Use TIDs for the generation tables instead of names #82 (cabol)
- Update
:shards
dependency to the latest version #81 (cabol)
v2.0.0-rc.0 (2020-07-05)
Closed issues:
- Asynchronous testing struggles #72
MyCache.ttl/0
is undefined or private #71- Add telemetry integration #62
Merged pull requests:
v1.2.2 (2020-06-11)
Closed issues:
Merged pull requests:
- Fix: Dialyzer useless control flow #73 (filipeherculano)
v1.2.1 (2020-04-12)
Fixed bugs:
- Fix issue when memory check is ran for the generation manager #69
v1.2.0 (2020-03-30)
Implemented enhancements:
- Refactor
Nebulex.Caching
in order to use annotated functions via decorators #66
Fixed bugs:
- Sporadic
:badarg
error #52
Closed issues:
- Question: disabling cache conditionally in defcacheable #63
- Support for persistence operations #61
- Implement adapter for replicated topology #60
Merged pull requests:
- [#66] Refactor
Nebulex.Caching
to use annotated functions via decorators #67 (cabol) - Fixes and enhancements for
v1.2.0
#64 (cabol) - Features for next release (
v1.2.0
) #59 (cabol)
v1.1.1 (2019-11-11)
Implemented enhancements:
- Add capability to limit cache size #53
- Ability to "get or set" a key #49
- Multilevel Cache: transaction/3 is attempting to change all levels multiple times. #35
Closed issues:
- Pre Expire Hook #57
- Add matching option on returned result to Nebulex.Caching #55
- Multi Level with dist not working as expected #54
- Adapter for FoundationDB #51
Merged pull requests:
v1.1.0 (2019-05-11)
Implemented enhancements:
- Refactor flush action in the local adapter to delete all objects instead of deleting all generation tables #48
- Write a guide for
Nebulex.Caching
#45 - Turn
Nebulex.Adapter.NodeSelector
into a generic hash behaviorNebulex.Adapter.Hash
#44 - Turn
Nebulex.Adapters.Dist.RPC
into a reusable utility #43 - Add support to evict multiple keys from cache in
defevict
#42
Fixed bugs:
- custom ttl on mulltilevel cache gets overwritten #46
Closed issues:
- Will nebulex support replicating cache partitions? #47
- Add support to define
:opts
indefcacheable
anddefupdatable
#40 - Random test failure - UndefinedFunctionError #28
- Adapter for Memcached #22
- Invalidate keys cluster-wide #18
Merged pull requests:
v1.0.1 (2019-01-11)
Fixed bugs:
- The
:infinity
atom is being set for unexpired object when is retrieved from an older generation #37
Closed issues:
- Caching utility macros:
defcacheable
,defevict
anddefupdatable
#39 - Multilevel Cache:
replicate/2
is attempting to subtract from:infinity
#34 has_key?/1
does not respect ttl #33- Add dialyzer and credo checks to the CI pipeline #31
- Fix documentation about hooks #30
- FAQ list #25
Merged pull requests:
- typo in transaction docs #38 (fredr)
- Handle an :infinity expiration in multilevel replication. #36 (sdost)
- Add missing coma in conf section of readme file #32 (Kociamber)
v1.0.0 (2018-10-31)
Implemented enhancements:
- Refactor
Nebulex.Adapters.Dist
to useTask
instead of:rpc
#24 - Create first cache generation by default when the cache is started #21
Closed issues:
- Performance Problem. #27
- Cache Failing to Start on Production #26
- Adapter for Redis #23
- For
update
andget_and_update
functions, the :ttl is being overridden #19 - TTL and EXPIRE functions? #17
- Publish a rc.3 release #16
- Replicated cache adapter #15
- Fulfil the open-source checklist #1
v1.0.0-rc.3 (2018-01-10)
Closed issues:
- Add stream #10
v1.0.0-rc.2 (2017-11-25)
Closed issues:
- Atom exhaustion from generations #8
- Custom ttl for every cache record? #7
- Load/Stress Tests #6
- Update Getting Started guide #4
- Add counters support – increments and decrements by a given amount #3
v1.0.0-rc.1 (2017-07-30)
Closed issues:
- Implement mix task to automate cache generation #2
* This Changelog was automatically generated by github_changelog_generator