Releases: StackExchange/StackExchange.Redis
2.12.8
What's Changed
- Filter out 'temporary placeholder' cluster nodes with a handshake flag by @TimLovellSmith in #3043
- Support multi-DB cluster usage on valkey by @mgravell in #3040
- Implement GRCA by @mgravell in #3041
Full Changelog: 2.12.4...2.12.8
2.12.4
2.12.1
What's Changed
- Add missing
LCSoutputs and missingRedisType.VectorSet(#3028 by @mgravell) - Track and report multiplexer count (#3030 by @mgravell)
- (docs) Add Entra ID authentication docs (#3023 by @philon-msft)
- (eng) Improve test infrastructure (toy-server) (#3021 by @mgravell, #3022 by @mgravell, #3027 by @mgravell, #3028 by @mgravell)
- (eng) Pre-V2 work: bring RESPite down, toy-server, migrate to
AsciiHash(#3028 by @mgravell)
Full Changelog: 2.11.8...2.12.1
2.11.8
2.11.3
2.11.0
What's Changed
For Redis 8.6:
- (docs) Add support for write-at-most-once with streams by @mgravell in #3006
- (docs) Add support for
HOTKEYSby @mgravell in #3008 - (docs) Add documentation for client certificate authentication by @mgravell in #3009
The time-series changes for 8.6 are over in NRedisStack 1.3.0
Other features:
- (docs) Add support for keyspace notifications including cluster support by @mgravell in #2995
- Update README to include Azure Managed Redis by @redis-phil in #3005
Internal bits:
- Options: Split out AMR to its own options provider by @NickCraver in #2986
- Update CI to 8.6 by @mgravell in #3010
New Contributors
- @redis-phil made their first contribution in #3005
Full Changelog: 2.10.14...2.11.0
2.10.14
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
- fix: Handle Backlog Processor Startup Failures by @nathan-miller23 in #3002
- fix: Propagate PhysicalBridge backlog to ServerCounters by @nathan-miller23 in #2996
- fix incorrect debug assertion in
HGETEX; no impact to release build by @mgravell in #2999 - (eng) CI trivia - docker image, codeql, enable manual CI runs (@mgravell)
New Contributors
- @nathan-miller23 made their first contribution in #2996
Full Changelog: 2.10.1...2.10.14
2.10.1
Adds support for Redis 8.4 features
- support multi-string-set with expiration
MSETEX ...; details controlled via newExpirationAPI - support checked string-set
SET ... IFEQ/IFNE/IFDEQ/IFDNE digestOrValue; details controlled via newValueConditionAPI; also usesExpirationfor expiry - support checked string-delete
DELEX ... IFEQ/IFNE/IFDEQ/IFDNE digestOrValue(again viaValueCondition) - use checked string-set/delete to implement
LockExtend[Async]/LockRelease[Async]when possible - support
XREADGROUP ... CLAIM minIdleTimefor 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 in #2976
- Support MSETEX by @mgravell in #2977
- propose support for XREADGROUP CLAIM by @mgravell in #2972
- Support 8.4 CAS/CAD (IF*) operations by @mgravell in #2978
- Combine fixups from 8.4 changes by @mgravell in #2979
Full Changelog: 2.9.32...2.10.1
2.9.32
2.9.25
IMPORTANT: this release changes the distribution of pub/sub channels when using cluster; see 2.9.24 for more details.
What's Changed
This change is a critical fix that fixes a packaging failure in 2.9.24; for the relevant feature changes: see 2.9.24.
Full Changelog: 2.9.24...2.9.25