Skip to content

Update dependency StackExchange.Redis to v3 - #1363

Open
renovate[bot] wants to merge 1 commit into
dev8from
renovate/stackexchange.redis-3.x
Open

renovate[bot] wants to merge 1 commit into
dev8from
renovate/stackexchange.redis-3.x

Conversation

@renovate

@renovate renovate Bot commented Jun 15, 2026 •

Copy link
Copy Markdown
Contributor

Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
StackExchange.Redis (source) 2.8.37 → 3.4.20 age confidence

Release Notes

StackExchange/StackExchange.Redis (StackExchange.Redis)

v3.4.20

Compare Source

Stability improvements

  • Do not abandon a connection attempt before ConnectTimeout has elapsed by @​mgravell in #​3277
  • Read HELLO "server" before trusting "version" as the Redis API version by @​mgravell in #​3279
  • Sentinel soft-fail follow-ups: discovery failure as RedisConnectionException, late sentinel init, clear LastException by @​mgravell in #​3280
  • Sentinel: re-resolve the primary when it is demoted on a healthy connection by @​rebaseandpanic in #​3281
  • Route as a cluster only with a slot map; take HELLO mode/role from the interactive connection only by @​mgravell in #​3285
  • Fail connection-dropped commands with RedisConnectionException, never a raw transport exception or a cancellation by @​mgravell in #​3287
  • Connection groups: a member answering LOADING triggers an immediate re-probe and re-select by @​mgravell in #​3289
  • IBatch: complete commands refused by a poisoned connection; divert a batch's tail on reconnect by @​mgravell in #​3286
  • Give multi-message sub-commands and injected prefix commands a write time by @​mgravell in #​3293
  • Send primary-only commands to the primary when the caller prefers a replica by @​AsadIqbal-Dev in #​3291

Maintenance

New Contributors

Full Changelog: StackExchange/StackExchange.Redis@3.4.5...3.4.20

v3.4.5

Compare Source

What's Changed

New Contributors

Full Changelog: StackExchange/StackExchange.Redis@3.4.0...3.4.5

v3.4.0

Compare Source

Major Changes

  • In RESP3, by default the library now uses separate connections for pub/sub; see #​3264
  • Smart-client-handoffs is now enabled by default on Redis Enterprise and AMR; see #​3248
  • Some logging events incorrectly used duplicated ids - resolved; see #​3266

All Changes

Tooling

  • docs(agents): add create-implementation-plan-for-redis-api-change skill by @​uglide in #​3268

New Contributors

Full Changelog: StackExchange/StackExchange.Redis@3.3.1...3.4.0

v3.3.1

Compare Source

What's Changed
New Contributors
  • When SslHost is specified, it is always used for SNI
  • Otherwise, for endpoints discovered at runtime:
    • If they are advertised with a host name, that host name is used for SNI
    • Otherwise the declared host name in the configuration is used

(previously, the declared host name in configuration would take precedence over an advertised host name if SslHost was not specified)

Full Changelog: StackExchange/StackExchange.Redis@3.3.0...3.3.1

v3.3.0

Compare Source

Features

The primary feature in 3.3.0 is "smart-client-handoffs" (aka "hitless"), whereby the client responds to server maintenance notifications on suitable environments. This feature is currently opt-in, and is planned to be automatic (opt-out) in most supported cases in an upcoming release.

Documentation

Opt in through configuration;

my-redis.internal.example.com:6379,maintNotifications=Auto

or in code:

options.MaintenanceNotifications = MaintenanceNotificationMode.Auto;
Changes
  • Server-native maintenance notifications: opt in, react, hand off, and recover when nothing is announced by @​mgravell in #​3191
Maintenance

Full Changelog: StackExchange/StackExchange.Redis@3.2.15...3.3.0

v3.2.15

Compare Source

What's Changed
connection stability
fixes
background / engineering

Full Changelog: StackExchange/StackExchange.Redis@3.2.1...3.2.15

v3.2.1

Compare Source

What's Changed

Full Changelog: StackExchange/StackExchange.Redis@3.2.0...3.2.1

v3.2.0

Compare Source

Highlights
  • .NET 6 dropped from TFMs; .NET 6 users will still get support via .NET Standard, but note that this does not include unix domain socket endpoint support
  • Add BITFIELD support
  • Add EVAL_RO / EVALSHA_RO support (gated by server-version)
  • New ExecuteResp and ScriptEvaluateResp APIs for performing ad-hoc commands much more efficiently
  • Stability and performance fixes
  • Cluster definition moved from CLUSTER NODES to CLUSTER SLOTS, improving life-cycle and identity
What's Changed
Background work
New Contributors

Full Changelog: StackExchange/StackExchange.Redis@3.1.31...3.2.0

v3.1.31

Compare Source

What's Changed

Features
Internal bits
Auxiliary bits

New Contributors

Full Changelog: StackExchange/StackExchange.Redis@3.1.13...3.1.31

v3.1.13

Compare Source

What's Changed

New Contributors

Full Changelog: StackExchange/StackExchange.Redis@3.1.11...3.1.13

v3.1.11

Compare Source

What's Changed

Internal pieces

Full Changelog: StackExchange/StackExchange.Redis@3.1.3...3.1.11

v3.1.3

Compare Source

This release should be considered a minor tweak to the much more significant 3.1.0 - please see the release notes for 3.1.0.

What's Changed

New Contributors

Full Changelog: StackExchange/StackExchange.Redis@3.1.0...3.1.3

v3.1.0

Compare Source

What's Changed

This is a major feature, with extensive documentation.

Note that it currently has an [Experimental] marker, linking here, but: this is purely for an abundance of caution; it is considered released and fully supported.

(engineering)

  • CI: stop dpkg starting redis-server (Windows/WSL install hang on 8.10) by @​mgravell in #​3145
  • Make the previous "we will remove this in 3.0" features errors rather than warnings, and reframe as "...in 3.2"

available on NuGet

Full Changelog: StackExchange/StackExchange.Redis@3.0.25...3.1.0

v3.0.25

Compare Source

What's Changed

New Contributors

Full Changelog: StackExchange/StackExchange.Redis@3.0.17...3.0.25

v3.0.17

Compare Source

What's Changed
New Contributors

Full Changelog: StackExchange/StackExchange.Redis@3.0.11...3.0.17

v3.0.11

Compare Source

What's Changed

Full Changelog: StackExchange/StackExchange.Redis@3.0.7...3.0.11

v3.0.7

Compare Source

What's Changed
  • avoid unobserved task exceptions during connection teardown by @​mgravell in #​3108
  • use MemoryPool<byte> sources for request/response buffering by @​mgravell in #​3107
    • see ConfigurationOptions.RequestBufferPool and ConfigurationOptions.ResponseBufferPool
  • Stabilize CI, especially on Windows by @​mgravell in #​3109

Full Changelog: StackExchange/StackExchange.Redis@3.0.0_main...3.0.7

v3.0.0

Compare Source

3.0.0 represents an overhaul of the internal IO logic, for both performance and stability reasons.

Intentionally, there are no† API changes in this release; it is a direct mirror of 2.13.17, but with the new IO core.

Additionally, v3 uses RESP3 by default; see notes here

† addendum, one change discovered:

  • Execute[Async] now detects and respects "admin" commands, i.e. those protected by AllowAdmin; for example, in 2.x, db.Execute("FLUSHALL"); would work even if AllowAdmin was not enabled - this will now throw at the client without issuing the command to the server
What is the aim of the internals rewrite?

SE.Redis v2 made use of a few concepts internally:

  • the "pipelines" IO layer from System.IO.Pipelines, via Pipelines.Sockets.Unoficial
  • a DOM-based parser built on top of a custom arena allocator

v3 fundamentally revises these engineering decisions:

  • IO and buffer control is taken back directly into the library, allowing for greater control of IO boundaries and the threading model
  • the parser is re-written as a reader-based implementation

This allows for significant performance improvement, especially when processing large / complex results - for example, if we use the LRANGE_600 test from redis-benchmark (or resp-benchmark):

### classic SE.Redis 2.13.17.28173 ###
LRANGE_600:     7,579 requests per second
LRANGE_600:     7,554 requests per second
LRANGE_600:     7,284 requests per second
LRANGE_600:     7,158 requests per second
LRANGE_600:     7,174 requests per second

vs

### classic SE.Redis 3.0.0.11234 ###
LRANGE_600:     16,408 requests per second
LRANGE_600:     17,681 requests per second
LRANGE_600:     17,331 requests per second
LRANGE_600:     17,317 requests per second
LRANGE_600:     16,665 requests per second

(for tests with simpler results, like INCR, results of over 1M requests per second are achievable)


3.0 is the first part of a wave of planned IO work; a future 3.x release will revise the "write" part of the write loop, moving message serialization out of the critical serialized core of the multiplexer. All of this work is based on extensive prototyping and benchmarking, demonstrating that these approaches, when combined, provide significant throughput and stability improvements.

This release has undergone extensive testing. If you experience problems, please let us know!

v2.13.17

Compare Source

What's Changed
New Contributors

Full Changelog: StackExchange/StackExchange.Redis@2.13.10...2.13.17

v2.13.10

Compare Source

This release is marked inactive due to a critical bug when using TCP keep-alives on DNS (i.e. named, not IP) endpoints; this is specific to non-Windows platforms, before .NET 10. See #​3086 and #​3090


What's Changed

Full Changelog: StackExchange/StackExchange.Redis@2.13.1...2.13.10

v2.13.1

Compare Source

IMPORTANT: This release changes the default protocol from RESP2 to RESP3 for Azure Managed Redis (AMR) endpoints (only); this
has scalability and feature advantages, but if you are using modules or ad-hoc commands, please see the RESP3 notes, which includes:

  • the purpose of RESP3
  • scenarios where RESP2 vs RESP3 may be visible
  • how to explicitly choose to remain on RESP2
  • notes on additional libraries such as NRedisStack

What's Changed

Full Changelog: StackExchange/StackExchange.Redis@2.12.27...2.13.1

v2.12.14

Compare Source

What's Changed

Impact: "high" if using cluster and high-integrity-mode together (resolves an issue that can mis-report -MOVED responses as integrity failures)

NuGet link

New Contributors

Full Changelog: StackExchange/StackExchange.Redis@2.12.8...2.12.14

v2.12.8

Compare Source

What's Changed

Full Changelog: StackExchange/StackExchange.Redis@2.12.4...2.12.8

v2.12.4

Compare Source

What's Changed

Full Changelog: StackExchange/StackExchange.Redis@2.12.1...2.12.4

v2.12.1

Compare Source

What's Changed

Full Changelog: StackExchange/StackExchange.Redis@2.11.8...2.12.1

v2.11.8

Compare Source

What's Changed

New Contributors

Full Changelog: StackExchange/StackExchange.Redis@2.11.3...2.11.8

v2.11.3

Compare Source

What's Changed

Full Changelog: StackExchange/StackExchange.Redis@2.11.0...2.11.3

v2.11.0

Compare Source

get 2.11.0 on NuGet

What's Changed

For Redis 8.6:

The time-series changes for 8.6 are over in NRedisStack 1.3.0

Other features:
Internal bits:

New Contributors

Full Changelog: StackExchange/StackExchange.Redis@2.10.14...2.11.0

v2.10.14

Compare Source

Priority: high; the backlog fix (#​3002) is rare and niche (specific to low-memory scenarios), but fixes a problem where the client can get into a non-recoverable state.

What's Changed

New Contributors

Full Changelog: StackExchange/StackExchange.Redis@2.10.1...2.10.14

v2.10.1

Adds support for Redis 8.4 features

  • support multi-string-set with expiration MSETEX ...; details controlled via new Expiration API
  • support checked string-set SET ... IFEQ/IFNE/IFDEQ/IFDNE digestOrValue; details controlled via new ValueCondition API; also uses Expiration for expiry
  • support checked string-delete DELEX ... IFEQ/IFNE/IFDEQ/IFDNE digestOrValue (again via ValueCondition)
  • use checked string-set/delete to implement LockExtend[Async]/LockRelease[Async] when possible
  • support XREADGROUP ... CLAIM minIdleTime for simplified stream processing

Note that niche StringSet[Async] scenarios may require trivial build changes due to removing default parameter values; this simplify means explicitly specifying keepTtl, or using the new Expiration API. There is no impact to already compiled code (no methods have been removed).

8.4 also includes "hybrid search"; this is not currently exposed in SE.Redis, and will be added to NRedisStack ASAP.

What's Changed

  • docker image: use client-libs-test by [@​mgravell](http

[!IMPORTANT]
✂ PR body was truncated to here.


Configuration

📅 Schedule: (in timezone Asia/Shanghai)

  • Branch creation
    • "before 1am,before 5am,before 9am"
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

♻ Rebasing: Whenever PR is behind base branch, 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/stackexchange.redis-3.x branch 2 times, most recently from c158f24 to 3c588a5 Compare June 29, 2026 04:54
@renovate
renovate Bot force-pushed the renovate/stackexchange.redis-3.x branch from 3c588a5 to 513769b Compare July 10, 2026 23:36
@renovate
renovate Bot force-pushed the renovate/stackexchange.redis-3.x branch 3 times, most recently from ffe0a98 to eed0388 Compare August 3, 2026 11:48
@renovate
renovate Bot force-pushed the renovate/stackexchange.redis-3.x branch 2 times, most recently from 1cde9cf to 62a4cad Compare August 6, 2026 17:46
@renovate
renovate Bot force-pushed the renovate/stackexchange.redis-3.x branch from 62a4cad to 7d7cdab Compare August 21, 2026 11:58
@renovate
renovate Bot force-pushed the renovate/stackexchange.redis-3.x branch 3 times, most recently from b72d6b5 to 6f735d5 Compare September 17, 2026 21:21
@renovate
renovate Bot force-pushed the renovate/stackexchange.redis-3.x branch 2 times, most recently from c7084f8 to fde5741 Compare September 22, 2026 17:00
@renovate
renovate Bot force-pushed the renovate/stackexchange.redis-3.x branch 3 times, most recently from d52b404 to 9afe809 Compare October 13, 2026 16:27
@renovate
renovate Bot force-pushed the renovate/stackexchange.redis-3.x branch from 9afe809 to bfc0288 Compare October 23, 2026 15:08

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants