Skip to content

Releases: redis-store/redis-store

v1.10.0

03 Oct 22:08
Compare
Choose a tag to compare

What's Changed

Other Changes

New Contributors

Full Changelog: v1.9.1...v1.10.0

v1.9.2

24 Feb 03:28
6bb545e
Compare
Choose a tag to compare

What's Changed

Other Changes

New Contributors

Full Changelog: v1.9.1...v1.9.2

v1.8.2

24 Feb 20:28
Compare
Choose a tag to compare

This release adds namespacing for the following Redis commands:

  • zincrby
  • zscore
  • zadd
  • zrem

Add Namespacing to All Hash Methods

29 Oct 19:39
Compare
Choose a tag to compare

The methods for manipulating Redis hashes were partially namespaced, but some of them weren't. This rounds out all those extra methods that need namespacing.

Support Redis Cluster

29 Oct 19:40
Compare
Choose a tag to compare

Enable support for Redis Cluster by passing the :cluster setting. Cluster support is now in Redis.rb, so we're taking advantage of it! Yay!

Secure Redis URL (redis://) Support

29 Oct 19:35
Compare
Choose a tag to compare

Add support for rediss:// URLs for TLS encryption to the Redis server.

Support for Distributed Redis

16 Apr 15:08
Compare
Choose a tag to compare

We're happy to announce the release of v1.5.0 of redis-store, which has 4 new features mostly related to using Redis::Store in distributed setups. Redis, and the redis.rb client that we depend on, has added support for connecting to a group of Redis servers that make up the total cache store, and you can now use that support directly in Redis::Store and all of the redis-store gems that are in use in your Ruby applications.

New Features

Support for distributed mget/read_multi

Allows using the read_multi and fetch_multi methods in Rails cache with a DistributedStore.

PR: #282

Support for Redis v4.x

We now test against Redis.rb v4. There were no changes to the codebase as a result, but since the dependency was bumped we are now recommending the usage of the highest version of Redis client that your application will support.

PR: #292
Issue: #277

Support for UNIX path connections

Since one can in theory connect to Redis over a UNIX socket, we now have support for doing so within Redis::Store. This caused some errors previously.

PR: #298

Add tests for Namespace#flushdb

PR: #299

Allow configuring the HashRing for a distributed store

Uses the Redis::HashRing for selecting the proper server in a DistributedStore.

PR: #304

Bug Fixes

Fix inefficient use of KEYS when calling FLUSHDB without a namespace

We can rely on the base command FLUSHDB when there is no namespace, since this command should actually clear everything in the database.

PR: #297

Replace marshalling with serialization

25 Aug 18:19
Compare
Choose a tag to compare

Due to concerns over a possible vulnerability (should someone obtain write access to the Redis database the application is using) related to marshalling in #289 , we've replaced the Marshalling feature with Serialization, allowing the user to specify their own serializer responding to the .dump and .load methods. This is similar to how Dalli works.

Using an alternative serializer like YAML or JSON means if your Redis server becomes compromised in any way, the compromise cannot affect your running app. However, not all objects serialize cleanly to YAML and/or JSON. In order to achieve backwards compatibility, we have supplied Marshal as the default serializer object, and released a minor version of this gem. All recent versions of redis-store gems (like redis-activesupport and redis-actionpack) that depend on this gem allow for redis-store up to but not including 2.0.0, so to get this version you can run:

bundle update redis-store

A CVE has been filed, CVE-2017-1000248, so that this issue is easier to refer to.

Improvements to marshalling

05 Oct 21:07
Compare
Choose a tag to compare

This is a minor release due to an additional marshalling feature,
support for marshalling on the mset method. Some bug fixes also
surrounding marshalling have also been included.

  • Forward new Hash, not nil, when options are unset John Guidry
  • Enable cache and move to containerized build. Omer Katz
  • Add support for marshalling mset John Guidry
  • Set :raw => true if marshalling Tom Scott

Shoutouts to @tvjg and @thedrow who contributed (most of) the code for this release!