StackExchange.Redis Versions Save

General purpose redis client

2.5.43

1 year ago
  • Adds: Bounds checking for ExponentialRetry backoff policy (#1921 by @gliljas)
  • Adds: DefaultOptionsProvider support for endpoint-based defaults configuration (#1987 by @NickCraver)
  • Adds: Envoy proxy support (#1989 by @rkarthick)
  • Performance: When SUBSCRIBE is disabled, give proper errors and connect faster (#2001 by @NickCraver)
  • Adds: GET on SET command support (present in Redis 6.2+ - #2003 by @martinekvili)
  • Performance: Improves concurrent load performance when backlogs are utilized (#2008 by @NickCraver)
  • Stability: Improves cluster connections when CLUSTER command is disabled (#2014 by @tylerohlsen)
  • Logging: Improves connection logging and adds overall timing to it (#2019 by @NickCraver)

2.5.27-prerelease

1 year ago
  • 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)

2.2.88

1 year ago
  • Change: Connection backoff default is now exponential instead of linear (#1896 by @lolodi)
  • Adds: Support for NodeMaintenanceScaleComplete event (handles Redis cluster scaling) (#1902 by @NickCraver)

2.2.79

1 year ago
  • NRediSearch: Support on json index (#1808 by @AvitalFineRedis)
  • NRediSearch: Support sortable TagFields and unNormalizedForm for Tag & Text Fields (#1862 by @slorello89 & @AvitalFineRedis)
  • Fix: Potential errors getting socket bytes (#1836 by @NickCraver)
  • Logging: Adds (.NET Version and timestamps) for better debugging (#1796 by @philon-msft)
  • Adds: Condition APIs (transactions), now supports StreamLengthEqual and variants (#1807 by @AlphaGremlin)
  • Adds: Support for count argument to ListLeftPop, ListLeftPopAsync, ListRightPop, and ListRightPopAsync (#1850 by @jjfmarket)
  • Fix: Potential task/thread exhaustion from the backlog processor (#1854 by @mgravell)
  • Adds: Support for listening to Azure Maintenance Events (#1876 by @amsoedal)
  • Adds: StringGetDelete/StringGetDeleteAsync APIs for Redis GETDEL command(#1840 by @WeihanLi)

2.2.62

1 year ago
  • Stability: Sentinel potential memory leak fix in OnManagedConnectionFailed handler (#1710 by @alexSatov)
  • Fix: GetOutstandingCount could obscure underlying faults by faulting itself (#1792 by @mgravell)
  • Fix #1719: With backlog messages becoming reordered (#1779 by @TimLovellSmith)

2.2.50

1 year ago
  • Performance: Optimization for PING accuracy (#1714 by @eduardobr)
  • Fix: Improvement to reconnect logic (exponential backoff) (#1735 by @deepakverma)
  • Adds: Refresh replica endpoint list on failover (#1684 by @laurauzcategui)
  • Fix: ReconfigureAsync re-entrancy (caused connection issues) ([1772 by @NickCraver)
  • Fix: ReconfigureAsync Sentinel race resulting in NoConnectionAvailable when using DemandMaster (#1773 by @NickCraver)
  • Stability: Resolve race in AUTH and other connection reconfigurations (#1759 by @TimLovellSmith and NickCraver)

2.2.4

1 year ago
  • Fix: Ambiguous signature of the new RPUSHX/LPUSHX methods (#1620 by @stefanloerwald)

2.2.3

1 year ago
  • Adds: .NET 5 target
  • Fix: Mutex race condition (#1585 by @arsnyder16)
  • Adds: CheckCertificateRevocation can be controlled via the config string (#1591 by @lwlwalker)
  • Fix: Range end-value inversion (#1573 by @tombatron)
  • Adds: ROLE support (#1551 by @zmj)
  • Adds: varadic RPUSHX/LPUSHX support (#1557 by @dmytrohridin)
  • Fix: Server-selection strategy race condition (#1532 by @deepakverma)
  • Fix: Sentinel default port (#1525 by @ejsmith)
  • Fix: Int64 parse scenario (#1568 by @arsnyder16)
  • Add: Force replication check during failover (#1563 by @aravindyeduvaka & @joroda)
  • Documentation tweaks (multiple)
  • Fix: Backlog contention issue (#1612 by @mgravell, see also #1574 by @devbv)

2.1.58

1 year ago
  • Fix: [*]SCAN - fix possible NRE scenario if the iterator is disposed with an incomplete operation in flight (by @mgravell)
  • Fix: [*]SCAN - treat the cursor as an opaque value whenever possible, for compatibility with redis-cluster-proxy (by @mgravell)
  • Adds: [*]SCAN - include additional exception data in the case of faults (by @mgravell)

2.1.55

1 year ago
  • Adds: Identification of assembly binding problem on .NET Framework. Drops System.IO.Pipelines to 4.7.1, and identifies new System.Buffers binding failure on 4.7.2 (by @mgravell)