Skip to content

Update dependency redis to v6 - #7297

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/redis-6.x
Open

Update dependency redis to v6#7297
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/redis-6.x

Conversation

@renovate

@renovate renovate Bot commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
redis (changelog) ">= 3", "< 5"">= 3", "< 6.0.1" age confidence

Release Notes

redis/redis-rb (redis)

v6.0.0

Compare Source

Breaking changes

  • Use RESP3 (HELLO 3) by default; pass protocol: 2 to keep RESP2. GEOPOS and
    GEOSEARCH/GEORADIUS with WITHCOORD now return coordinates as Float instead of String.
    See specs/migration-resp3.md. (#​1351)
  • Require Ruby 3.2+. (#​1353, #​1365)

New features

  • Add support for the Redis Query Engine (RediSearch, FT.*): ft_create, ft_alter,
    ft_dropindex, ft_info, ft_search, ft_aggregate, vector and hybrid search, suggestions,
    dictionaries, synonyms, aliases, and spellcheck. Not supported by Redis::Distributed.
    (#​1356, #​1359, #​1360, #​1361)
  • Add support for the JSON module: json_set, json_get, json_mset, json_mget, json_del,
    json_forget, json_clear, json_merge, json_arr*, json_obj*, json_str*,
    json_numincrby, json_toggle, json_type, json_debug_memory. (#​1346, #​1347, #​1348, #​1349)
  • Add lmovem and blmovem (Redis 8.10). (#​1363)
  • Add sunioncard and sdiffcard (Redis 8.10). (#​1357)
  • xread and xreadgroup now accept max_count: and max_size: (Redis 8.10). (#​1358)
  • Add hexpire, hpexpire, httl and hpttl (Redis 7.4). (#​1324, #​1325, #​1331)
  • hscan and hscan_each now accept novalues: true (Redis 7.4). (#​1327)
  • Add geosearch and geosearchstore (Redis 6.2); geo commands are now available on
    Redis::Distributed. (#​1342)
  • geoadd now accepts nx:, xx: and ch:; geo radius searches accept count_any:; xadd
    accepts limit: (Redis 6.2). (#​1345)
  • Redis::Distributed now implements hscan, hscan_each and hstrlen. (#​1319)
  • Identify the client to the server via CLIENT SETINFO (lib-name=redis-rb,
    lib-ver=<version>). Extend the reported name with driver_info:, or disable with
    driver_info: false. See the README "Client identification" section. (#​1369)

Experimental

  • Add himport_prepare, himport_set, himport_discard and himport_discard_all
    (Redis 8.10 HIMPORT). Lost fieldsets are re-prepared and retried automatically; disable with
    himport_auto_prepare: false. The API may change in a future minor release. See the README
    "Bulk hash ingestion (HIMPORT)" section. (#​1364)

Bug fixes

  • Fix FloatifyPairs to not re-transform already transformed replies. (#​1354)
  • unlink now returns 0 for an empty keyset, consistent with del. (#​1316)

Maintenance

  • Pin redis-client to the exact version 0.30.1 (previously >= 0.22.0); includes the
    reply-desynchronization fix from 0.26.4. (#​1350, #​1352)
  • Maintainership change: redis-rb is now maintained by the Redis Ltd company.
  • Run the test suite against prebuilt redislabs/client-libs-test Docker images; CI now covers
    MRI 3.2/3.3/3.4/4.0 and TruffleRuby against Redis 7.2–8.10; JRuby removed. (#​1317, #​1318, #​1344)
  • Drop the unused executables config from the gemspec. (#​1322)

v5.4.1

Compare Source

  • Properly handle NOSCRIPT errors.

v5.4.0

Compare Source

  • Fix blmpop method to actually use BLMPOP, it was mistakenly issuing LMPOP commands.
  • xadd now accepts a minid: argument.
  • zrank and zrevrank now accepts with_score: argument.
  • Redis#call now accept a block, allowing to use Redis instances where RedisClient is expected.

v5.3.0

Compare Source

  • Fix the return type of hgetall when used inside a multi transaction which is itself inside a pipeline.

v5.2.0

Compare Source

  • Now require Ruby 2.6 because redis-client does.
  • Eagerly close subscribed connection when using subscribe_with_timeout. See #​1259.
  • Add exception flag in pipelined allowing failed commands to be returned in the result array when set to false.

v5.1.0

Compare Source

  • multi now accept a watch keyword argument like redis-client. See #​1236.
  • bitcount and bitpos now accept a scale: argument on Redis 7+. See #​1242
  • Added expiretime and pexpiretime. See #​1248.

v5.0.8

Compare Source

  • Fix Redis#without_reconnect for sentinel clients. Fix #​1212.
  • Add sentinel_username, sentinel_password for sentinel clients. Bump redis-client to >=0.17.0. See #​1213

v5.0.7

Compare Source

  • Fix compatibility with redis-client 0.15.0 when using Redis Sentinel. Fix #​1209.

v5.0.6

Compare Source

  • Wait for an extra config.read_timeout in blocking commands rather than an arbitrary 100ms. See #​1175.
  • Treat ReadOnlyError as ConnectionError. See #​1168.

v5.0.5

Compare Source

  • Fix automatic disconnection when the process was forked. See #​1157.

v5.0.4

Compare Source

  • Cast ttl argument to integer in expire, setex and a few others.

v5.0.3

Compare Source

  • Add OutOfMemoryError as a subclass of CommandError

v5.0.2

Compare Source

  • Fix Redis#close to properly reset the fork protection check.

v5.0.1

Compare Source

  • Added a fake Redis::Connections.drivers method to be compatible with older sidekiq versions.

v5.0.0

Compare Source

  • Default client timeout decreased from 5 seconds to 1 second.
  • Eagerly and strictly cast Integer and Float parameters.
  • Allow to call subscribe, unsubscribe, psubscribe and punsubscribe from a subscribed client. See #​1131.
  • Use MD5 for hashing server nodes in Redis::Distributed. This should improve keys distribution among servers. See #​1089.
  • Changed sadd and srem to now always return an Integer.
  • Added sadd? and srem? which always return a Boolean.
  • Added support for IDLE paramter in xpending.
  • Cluster support has been moved to a redis-clustering companion gem.
  • select no longer record the current database. If the client has to reconnect after select was used, it will reconnect to the original database.
  • Better support Float timeout in blocking commands. See #​977.
  • Redis.new will now raise an error if provided unknown options.
  • Removed positional timeout in blocking commands (BLPOP, etc). Timeout now must be passed as an option: r.blpop("key", timeout: 2.5)
  • Removed logger option.
  • Removed reconnect_delay_max and reconnect_delay, you can pass precise sleep durations to reconnect_attempts instead.
  • Require Ruby 2.5+.
  • Removed the deprecated queue and commit methods. Use pipelined instead.
  • Removed the deprecated Redis::Future#==.
  • Removed the deprecated pipelined and multi signature. Commands now MUST be called on the block argument, not the original redis instance.
  • Removed Redis.current. You shouldn't assume there is a single global Redis connection, use a connection pool instead,
    and libaries using Redis should accept a Redis instance (or connection pool) as a config. E.g. MyLibrary.redis = Redis.new(...).
  • Removed the synchrony driver.
  • Removed Redis.exists_returns_integer, it's now always enabled.

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot force-pushed the renovate/redis-6.x branch 3 times, most recently from 7be362f to e541c61 Compare August 25, 2026 17:49
@renovate
renovate Bot force-pushed the renovate/redis-6.x branch from e541c61 to 2cc107f Compare August 25, 2026 21:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants