2.5.27
Pre-release
Pre-release
NickCraver
released this
10 Jan 21:44
·
235 commits
to main
since this release
- Adds: a backlog/retry mechanism for commands issued while a connection isn't available (#1912 by @NickCraver)
- Commands will be queued if a multiplexer isn't yet connected to a Redis server.
- Commands will be queued if a connection is lost and then sent to the server when the connection is restored.
- All commands queued will only remain in the backlog for the duration of the configured timeout.
- To revert to previous behavior, a new
ConfigurationOptions.BacklogPolicy
is available - old behavior is configured viaoptions.BacklogPolicy = BacklogPolicy.FailFast
. This backlogs nothing and fails commands immediately if no connection is available.
- Adds: Makes
StreamEntry
constructor public for better unit test experience (#1923 by @WeihanLi) - Fix: Integer overflow error (issue #1926) with 2GiB+ result payloads (#1928 by @mgravell)
- Change: Update assumed redis versions to v2.8 or v4.0 in the Azure case (#1929 by @NickCraver)
- Fix: Profiler showing
EVAL
insteadEVALSHA
(#1930 by @martinpotter) - Performance: Moved tiebreaker fetching in connections into the handshake phase (streamline + simplification) (#1931 by @NickCraver)
- Stability: Fixed potential disposed object usage around Arenas (pulling in Piplines.Sockets.Unofficial#63 by @mgravell)
- Adds: Thread pool work item stats to exception messages to help diagnose contention (#1964 by @NickCraver)
- Fix/Performance: Overhauls pub/sub implementation for correctness (#1947 by @NickCraver)
- Fixes a race in subscribing right after connected
- Fixes a race in subscribing immediately before a publish
- Fixes subscription routing on clusters (spreading instead of choosing 1 node)
- More correctly reconnects subscriptions on connection failures, including to other endpoints
- Adds "(vX.X.X)" version suffix to the default client ID so server-side
CLIENT LIST
can more easily see what's connected (#1985 by @NickCraver) - Fix: Properly including or excluding key names on some message failures (#1990 by @NickCraver)
- Fix: Correct return of nil results in
LPOP
,RPOP
,SRANDMEMBER
, andSPOP
(#1993 by @NickCraver)