All Versions
28
Latest Version
Avg Release Cycle
49 days
Latest Release
2292 days ago
Changelog History
Page 2
Changelog History
Page 2
-
v1.2.0 Changes
December 16, 2015- โ Added: Global connection fault tolerance. Any Redis connection error will
raise be caught and a
nil
value will be returned instead. Forfetch
operations that means the block will yielded, if provided. readthis#26
- โ Added: Global connection fault tolerance. Any Redis connection error will
raise be caught and a
-
v1.1.0 Changes
December 07, 2015- ๐ Fixed: Stop overwriting specific options with the default options. issue-28. Discovered and fixed by @tobinibot.
- ๐ Fixed: Handle the case when
nil
is explicitly passed as options tofetch
. - ๐ Changed: All errors now extend from a base
ReadthisError
.
-
v1.0.0 Changes
October 05, 2015- ๐ Changed: Remove internal
Notifications
module as part of instrumentation cleanup.
- ๐ Changed: Remove internal
-
v1.0.0-rc.1 Changes
September 27, 2015- ๐ Fixed: Custom serializers would be encoded correcty, but would be ignored when the value was read back out, leaving the encoding flags prefixed to the value.
- ๐ Changed: There are no longer direct accessors for
namespace
andexpires_in
. Instead, the exposedoptions
hash is used as the fallback for all operations. ForActiveSupport
compliance options must be exposed, so this prevents configuration drift after initialization. readthis#21 - โ Added: More helpful errors are raised when attempting to use a serializer that hasn't been configured. readthis#22.
-
v1.0.0-beta Changes
September 18, 2015- ๐ฅ Breaking: This change is necessary for the consistency and portability of values going forward. All entities are now written with a set of option flags as the initial byte. This flag is later used to determine whether the entity was compressed and what was used to marshal it. There are a number of advantages to this approach, consistency and reliability being the most important. See readthis#17 for additional background.
- โ Added: Per-entity options can be passed through to any cache method that
writes a value (
write
,fetch
, etc). For example, this allows certain entities to be cached as JSON while all other entities are cached using Marshal. Thanks to @fabn. - ๐ Fixed: A hash containing the cache key is passed as the payload for
ActiveSupport::Notifications
instrumentation, rather than the key directly. This moves the implementation in-line with the tests for the code, and prevents errors from being masked when an error occurs inside an instrumented block. readthis#20. Discovered by @banister and fixed by @workmad3.
-
v0.8.1 Changes
September 04, 2015- ๐ Changed:
Readthis::Cache
now has an accessor for the options that were passed during initialization. This is primarily to support the session store middleware provided byActionDispatch
. See readthis#16. - ๐ Fixed: Caching
nil
values is now possible. Previously the value would be converted into a blank string, causing a Marshal error when loading the data. There is still some non-standard handling ofnil
withinfetch
orfetch_multi
, where a cachednil
value will always result in a cache miss. See readthis#15. - ๐ Fixed: Entity compression was broken, it wouldn't unload data when the compressed size was below the compression limit. Data is now decompressed when it can the value looks to be compressed, falling back to the initial value when decompression fails. See readthis#13 for details.
- ๐ Changed:
-
v0.8.0 Changes
August 26, 2015- ๐ฅ Breaking: The initializer now takes a single options argument instead of a
url
andoptions
separately. This allows the underlying redis client to accept any options, rather than just the driver. For example, it's now possible to use Readthis with sentinel directly through the configuration. - 0๏ธโฃ Changed: The
hiredis
driver is no longer the default. In order to use the vastly fasterhiredis
driver you need to pass it in during construction. See readthis#9 for more discussion.
- ๐ฅ Breaking: The initializer now takes a single options argument instead of a
-
v0.7.0 Changes
August 11, 2015- ๐ Changed: Entity initialization uses an options hash rather than keyword arguments. This allows flexibility with older Ruby versions (1.9) that aren't officially supported.
- ๐ Changed: There is no longer a hard dependency on
hiredis
, though it is the default. The redis driver can be configured by passing adriver: :ruby
option through to the constructor.
-
v0.6.2 Changes
April 28, 2015- Fixed: Set expiration during
write_multi
, primarily effectingfetch_multi
. This fixes the real issue underlying the change inv0.6.1
.
- Fixed: Set expiration during
-
v0.6.1 Changes
April 28, 2015- ๐ Changed: Expiration values are always cast to an integer before use in write
operations. This prevents subtle ActiveSupport bugs where the value would be
ignored by
setex
.
- ๐ Changed: Expiration values are always cast to an integer before use in write
operations. This prevents subtle ActiveSupport bugs where the value would be
ignored by