Skip to content

2.5.27

Pre-release
Pre-release
Compare
Choose a tag to compare
@NickCraver NickCraver released this 10 Jan 21:44
· 235 commits to main since this release
cbc7cc9
  • 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 via options.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 instead EVALSHA (#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, and SPOP (#1993 by @NickCraver)