All Versions
Latest Version
Avg Release Cycle
49 days
Latest Release
1591 days ago

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. For fetch operations that means the block will yielded, if provided. readthis#26
  • 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 to fetch.
    • ๐Ÿ”„ 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.
  • 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 and expires_in. Instead, the exposed options hash is used as the fallback for all operations. For ActiveSupport 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 by ActionDispatch. 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 of nil within fetch or fetch_multi, where a cached nil 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.
  • v0.8.0 Changes

    August 26, 2015
    • ๐Ÿ’ฅ Breaking: The initializer now takes a single options argument instead of a url and options 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 faster hiredis driver you need to pass it in during construction. See readthis#9 for more discussion.
  • 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 a driver: :ruby option through to the constructor.
  • v0.6.2 Changes

    April 28, 2015
    • Fixed: Set expiration during write_multi, primarily effecting fetch_multi. This fixes the real issue underlying the change in v0.6.1.
  • 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.