View Source Changelog
2.0.0 (2026-07-10)
Port to Hammer 7 (breaking).
- The backend is now
Hammer.EredisCluster, a Hammer v7__before_compile__backend used viause Hammer, backend: Hammer.EredisCluster— the v6 GenServer backendHammer.Backend.EredisCluster(and theHammer.Backendbehaviour it implemented) is gone. - No process in the request path anymore:
hit/3,4,inc/2,3,set/3,get/2andexpires_at/2talk to eredis_cluster's pools directly (pipelinedINCRBY+PEXPIREAT). The process started bystart_link/1only establishes the cluster connection. - Deny tuples now carry the retry timeout in ms (
{:deny, retry_ms}), not the limit, per the Hammer v7 contract; there is no{:error, _}return — Redis errors raise. - Keys keep the
{key}hash-tag slotting (all windows of a key on one cluster slot) but the key layout changed toprefix:{key}:window; v6 keys are simply left to expire. delete_buckets/2is gone (v7 has no equivalent); useset(key, scale, 0)to zero the current window.- Requires hammer
~> 7.0. Works with Redis >= 2.6 (noEXPIREAT ... NXusage).
1.0.0 (2023-12-12)
Initial release.