All Versions
28
Latest Version
Avg Release Cycle
49 days
Latest Release
2518 days ago
Changelog History
Page 1
Changelog History
Page 1
-
v2.2.0 Changes
January 14, 2018- โ Added:
Cache#clear
now supportsasync
, available on Redis 4.0+ - โ Added: Documentation for serializers and expanders
- ๐ Fixed: Preserve existing expiration value when incrementing or decrementing keys. There is also additional documentation about the non-atomicity of the increment and decrement methods. See readthis#59 for discussion.
- ๐ Fixed: Uniformly force key encodings to binary. Not all methods forced encoding of the key, which would cause incomatible encoding errors.
- ๐ Changed: Automatically duplicate frozen strings when expanding keys.
- โ Added:
-
v2.1.0 Changes
October 07, 2017- ๐ Changed: Allow any redis client version between 3.0 and 5.0
-
v2.0.2 Changes
December 12, 2016- ๐ Fixed: Properly handle writing when the key and value are both UTF-8. Setting both the key and value to UTF-8 strings caused differing encodings to be sent to Redis. The key was UTF-8 but the value would be ASCII-8BIT, because it was compressed and then packed as 8bit integers. The workaround is to force the encoding of both strings to binary, something that will always be compatible.
This makes Readthis actually usable with Non-English keys.
-
v2.0.1 Changes
July 27, 2016- ๐ Fixed: The 2.0.0 release had a typo that rendered it useless.
-
v2.0.0 Changes
July 27, 2016- ๐ฅ Breaking:
nil
values are now rejected fromread_multi
output by default. Previouslynil
values were always preserved when fetching withread_multi
. This differed from theActiveSupport::Cache
base behaviour and caused bugs in Rails 5.0. More details can be seen at readthis#39.
The old fetching behaviour, with
nil
intact, can be achieved by passing theretain_nils
flag:cache.read_multi('a', 'b', retain_nils: true)
This can also be set as a global option to retain backward compatibility:
config.cache_store = :readthis_store, { retain_nils: true }
- ๐ฅ Breaking:
-
v1.5.0 Changes
July 18, 2016- โ Added:
Cache#delete_matched
has been added in a resource efficient way that avoids using the "evil"KEYS
command.
- โ Added:
-
v1.4.1 Changes
July 05, 2016- ๐ Fixed: Require lua files relative to the
Script
file itself. This fixes loading scripts from Rails or other applications.
- ๐ Fixed: Require lua files relative to the
-
v1.4.0 Changes
July 04, 2016- โ Added:
Readthis::Script
, for dynamically loading and executing lua scripts. - โ Added: Use custom
mexpire
to boost refresh performance with multiple keys. It is still slower than raw read performance, but much faster than naivemulti
expire (~1.5x faster). - ๐ Changed: Generally tighten inline documentation.
- ๐ Fixed: Duplicate objects during
dump
operation when using the passthrough. When usingfetch
the original value was returned, including any encoding information that was prepended. From readthis#44 by @kagux - ๐ Fixed: Only account for 3 bits when detecting serialized values, which fixes detection with 4 or more serializers configured. From readthis#45 by @kagux.
- ๐ Fixed: The max serializer guard would allow up to 8 serializers, which wasn't caught by an improper spec. From readthis#46 by @epilgrim.
- โ Added:
-
v1.3.0 Changes
June 08, 2016- โ Added: Key expiration refreshing on read. When
refresh: true
is set as an instance or method option all read operations will refresh the expiration. - ๐ Fixed: Convert float
expires_in
values to the nearest valid integer. Typically any value less than 1 was rounded down to 0, which is an invalid expiration. Now a value of0.1
will be rounded up to1
, the lowest possible expiration.
- โ Added: Key expiration refreshing on read. When
-
v1.2.1 Changes
April 06, 2016- ๐ Fixed: Splat arguments passed to
mget
within Readthis::Cache#read_multi. From readthis#34 submitted by @kyohei-shimada.
- ๐ Fixed: Splat arguments passed to