Update dependency StackExchange.Redis to v2.7.33 #6

Merged
marco merged 1 commits from renovate/stackexchange.redis-2.x into main 2024-04-07 17:23:54 +00:00
Member

This PR contains the following updates:

Package Type Update Change
StackExchange.Redis (source) nuget minor 2.2.4 -> 2.7.33

Release Notes

StackExchange/StackExchange.Redis (StackExchange.Redis)

v2.7.33

Compare Source

What's Changed

Full Changelog: https://github.com/StackExchange/StackExchange.Redis/compare/2.7.27...2.7.33

v2.7.27

Compare Source

What's Changed

Full Changelog: https://github.com/StackExchange/StackExchange.Redis/compare/2.7.23...2.7.27

v2.7.23

Compare Source

What's Changed

  • Fix #​2653: Client library metadata should validate contents (#​2654 by @​mgravell)
  • Add HeartbeatConsistencyChecks option (opt-in) to enabled per-heartbeat (defaults to once per second) checks to be sent to ensure no network stream corruption has occurred (#​2656 by @​NickCraver)

Full Changelog: https://github.com/StackExchange/StackExchange.Redis/compare/2.7.20...2.7.23

v2.7.20

Compare Source

What's Changed

Full Changelog: https://github.com/StackExchange/StackExchange.Redis/compare/2.7.17...2.7.20

v2.7.17

Compare Source

What's Changed

Full Changelog: https://github.com/StackExchange/StackExchange.Redis/compare/2.7.10...2.7.17

v2.7.10

Compare Source

Full Changelog: https://github.com/StackExchange/StackExchange.Redis/compare/2.7.4...2.7.10

v2.7.4

Compare Source

Full Changelog: https://github.com/StackExchange/StackExchange.Redis/compare/2.6.122..2.7.4

v2.6.122

Compare Source

  • Change: Target net6.0 instead of net5.0, since net5.0 is end of life. (#​2497 by @​eerhardt)
  • Fix: Fix nullability annotation of IConnectionMultiplexer.RegisterProfiler (#​2494 by @​eerhardt)
  • Add: Timer.ActiveCount under POOL in timeout messages on .NET 6+ to help diagnose timer overload affecting timeout evaluations (#​2500 by @​NickCraver)
  • Add: LibraryName configuration option; allows the library name to be controlled at the individual options level (in addition to the existing controls in DefaultOptionsProvider) (#​2502 by @​mgravell)
  • Add: DefaultOptionsProvider.GetProvider allows lookup of provider by endpoint (#​2502 by @​mgravell)

Full Changelog: https://github.com/StackExchange/StackExchange.Redis/compare/2.6.116...2.6.122

v2.6.116

Compare Source

Full Changelog: https://github.com/StackExchange/StackExchange.Redis/compare/2.6.111...2.6.116

v2.6.111

Compare Source

New Contributors

Full Changelog: https://github.com/StackExchange/StackExchange.Redis/compare/2.6.104...2.6.111

v2.6.104

Compare Source

  • Fix #​2412: Critical (but rare) GC bug that can lead to async tasks never completing if the multiplexer is not held by the consumer (#​2408 by @​mgravell)
  • Fix #​2392: Dequeue all timed out messages from the backlog when not connected (including Fire+Forget) (#​2397 by @​kornelpal)
  • Fix #​2400: Expose ChannelMessageQueue as IAsyncEnumerable<ChannelMessage> (#​2402 by @​mgravell)
  • Adds: Better error messages (over generic timeout) when commands are backlogged and unable to write to any connection (#​2408 by @​NickCraver)
  • Adds: Support for CLIENT SETINFO (lib name/version) during handshake; opt-out is via ConfigurationOptions; also support read of resp, lib-ver and lib-name via CLIENT LIST (#​2414 by @​mgravell)
  • Documentation: clarify the meaning of RedisValue.IsInteger re #​2418 (#​2420 by @​mgravell)

New Contributors

Full Changelog: https://github.com/StackExchange/StackExchange.Redis/compare/2.6.96...2.6.104

v2.6.96

Compare Source

Full Changelog: https://github.com/StackExchange/StackExchange.Redis/compare/2.6.90...2.6.96

v2.6.90

Compare Source

  • Adds: Support for EVAL_RO and EVALSHA_RO via IDatabase.ScriptEvaluateReadOnly/IDatabase.ScriptEvaluateReadOnlyAsync (#​2168 by @​shacharPash)
  • Fix #​1458: Fixes a leak condition when a connection completes on the TCP phase but not the Redis handshake (#​2238 by @​NickCraver)
  • Internal: ServerSnapshot: Improve API and allow filtering with custom struct enumerator (#​2337 by @​mgravell)

v2.6.86

Compare Source

  • Fix #​1520 & #​1660: When MOVED is encountered from a cluster, a reconfigure will happen proactively to react to cluster changes ASAP (#​2286 by @​NickCraver)
  • Fix #​2249: Properly handle a fail state (new ClusterNode.IsFail property) for CLUSTER NODES and expose fail? as a property (IsPossiblyFail) as well (#​2288 by @​NickCraver)
  • Adds: IConnectionMultiplexer.ServerMaintenanceEvent (was on ConnectionMultiplexer but not the interface) (#​2306 by @​NickCraver)
  • Adds: To timeout messages, additional debug information: Sync-Ops (synchronous operations), Async-Ops (asynchronous operations), and Server-Connected-Seconds (how long the connection in question has been connected, or "n/a") (#​2300 by @​NickCraver)

v2.6.80

Compare Source

  • Adds: last-in and cur-in (bytes) to timeout exceptions to help identify timeouts that were just-behind another large payload off the wire (#​2276 by @​NickCraver)
  • Adds: general-purpose tunnel support, with HTTP proxy "connect" support included (#​2274 by @​mgravell)
  • Removes: Package dependency (System.Diagnostics.PerformanceCounter) (#​2285 by @​NickCraver)

v2.6.70

Compare Source

  • Fix: MOVED with NoRedirect (and other non-reachable errors) should respect the IncludeDetailInExceptions setting (#​2267 by @​mgravell)
  • Fix #​2251 & #​2265: Cluster endpoint connections weren't proactively connecting subscriptions in all cases and taking the full connection timeout to complete as a result (#​2268 by @​iteplov)

v2.6.66

Compare Source

  • Fix #​2182: Be more flexible in which commands are "primary only" in order to support users with replicas that are explicitly configured to allow writes (#​2183 by @​slorello89)
  • Adds: IConnectionMultiplexer now implements IAsyncDisposable (#​2161 by @​kimsey0)
  • Adds: IConnectionMultiplexer.GetServers() to get all IServer instances for a multiplexer (#​2203 by @​NickCraver)
  • Fix #​2016: Align server selection with supported commands (e.g. with writable servers) to reduce Command cannot be issued to a replica errors (#​2191 by @​slorello89)
  • Performance: Optimization around timeout processing to reduce lock contention in the case of many items that haven't yet timed out during a heartbeat (#​2217 by @​NickCraver)
  • Fix #​2223: Resolve sync-context issues (missing ConfigureAwait(false)) (#​2229 by @​mgravell)
  • Fix #​1968: Improved handling of EVAL scripts during server restarts and failovers, detecting and re-sending the script for a retry when needed (#​2170 by @​martintmk)
  • Adds: ConfigurationOptions.SslClientAuthenticationOptions (netcoreapp3.1/net5.0+ only) to give more control over SSL/TLS authentication (#​2224 by @​NickCraver)
  • Fix #​2240: Improve support for DNS-based IPv6 endpoints (#​2241 by @​NickCraver)
  • Adds: ConfigurationOptions.HeartbeatInterval (Advanced Setting - see docs) To allow more finite control of the client heartbeat, which encompases how often command timeouts are actually evaluated - still defaults to 1,000 ms (#​2243 by @​NickCraver)
  • Fix #​1879: Improve exception message when the wrong password is used (#​2246 by @​NickCraver)
  • Fix #​2233: Repeated connection to Sentinel servers using the same ConfigurationOptions would fail (#​2242 by @​NickCraver)

v2.6.48

Compare Source

v2.6.45

Compare Source

  • Adds: Nullable reference type annotations (#​2041 by @​NickCraver)
    • Adds annotations themselves for nullability to everything in the library
    • Fixes a few internal edge cases that will now throw proper errors (rather than a downstream null reference)
    • Fixes inconsistencies with null vs. empty array returns (preferring an not-null empty array in those edge cases)
    • Note: does not increment a major version (as these are warnings to consumers), because: they're warnings (errors are opt-in), removing obsolete types with a 3.0 rev would be binary breaking (this isn't), and reving to 3.0 would cause binding redirect pain for consumers. Bumping from 2.5 to 2.6 only for this change.
  • Adds: Support for COPY with .KeyCopy()/.KeyCopyAsync() (#​2064 by @​Avital-Fine)
  • Adds: Support for LMOVE with .ListMove()/.ListMoveAsync() (#​2065 by @​Avital-Fine)
  • Adds: Support for ZRANDMEMBER with .SortedSetRandomMember()/.SortedSetRandomMemberAsync(), .SortedSetRandomMembers()/.SortedSetRandomMembersAsync(), and .SortedSetRandomMembersWithScores()/.SortedSetRandomMembersWithScoresAsync() (#​2076 by @​Avital-Fine)
  • Adds: Support for SMISMEMBER with .SetContains()/.SetContainsAsync() (#​2077 by @​Avital-Fine)
  • Adds: Support for ZDIFF, ZDIFFSTORE, ZINTER, ZINTERCARD, and ZUNION with .SortedSetCombine()/.SortedSetCombineAsync(), .SortedSetCombineWithScores()/.SortedSetCombineWithScoresAsync(), and .SortedSetIntersectionLength()/.SortedSetIntersectionLengthAsync() (#​2075 by @​Avital-Fine)
  • Adds: Support for SINTERCARD with .SetIntersectionLength()/.SetIntersectionLengthAsync() (#​2078 by @​Avital-Fine)
  • Adds: Support for LPOS with .ListPosition()/.ListPositionAsync() and .ListPositions()/.ListPositionsAsync() (#​2080 by @​slorello89)
  • Adds: Support for ZMSCORE with .SortedSetScores()/.SortedSetScoresAsync() (#​2082 by @​ttingen)
  • Adds: Support for NX | XX | GT | LT to EXPIRE, EXPIREAT, PEXPIRE, and PEXPIREAT with .KeyExpire()/.KeyExpireAsync() (#​2083 by @​Avital-Fine)
  • Adds: Support for EXPIRETIME, and PEXPIRETIME with .KeyExpireTime()/.KeyExpireTimeAsync() (#​2083 by @​Avital-Fine)
  • Fix: For streams, properly hash XACK, XCLAIM, and XPENDING in cluster scenarios to eliminate MOVED retries (#​2085 by @​nielsderdaele)
  • Adds: Support for OBJECT REFCOUNT with .KeyRefCount()/.KeyRefCountAsync() (#​2087 by @​Avital-Fine)
  • Adds: Support for OBJECT ENCODING with .KeyEncoding()/.KeyEncodingAsync() (#​2088 by @​Avital-Fine)
  • Adds: Support for GEOSEARCH with .GeoSearch()/.GeoSearchAsync() (#​2089 by @​slorello89)
  • Adds: Support for GEOSEARCHSTORE with .GeoSearchAndStore()/.GeoSearchAndStoreAsync() (#​2089 by @​slorello89)
  • Adds: Support for HRANDFIELD with .HashRandomField()/.HashRandomFieldAsync(), .HashRandomFields()/.HashRandomFieldsAsync(), and .HashRandomFieldsWithValues()/.HashRandomFieldsWithValuesAsync() (#​2090 by @​slorello89)
  • Adds: Support for LMPOP with .ListLeftPop()/.ListLeftPopAsync() and .ListRightPop()/.ListRightPopAsync() (#​2094 by @​slorello89)
  • Adds: Support for ZMPOP with .SortedSetPop()/.SortedSetPopAsync() (#​2094 by @​slorello89)
  • Adds: Support for XAUTOCLAIM with .StreamAutoClaim()/.StreamAutoClaimAsync() and .StreamAutoClaimIdsOnly()/.StreamAutoClaimIdsOnlyAsync() (#​2095 by @​ttingen)
  • Fix #​2071: Add .StringSet()/.StringSetAsync() overloads for source compat broken for 1 case in 2.5.61 (#​2098 by @​NickCraver)
  • Fix #​2086: Correct HashSlot calculations for XREAD and XREADGROUP commands (#​2093 by @​nielsderdaele)
  • Adds: Support for LCS with .StringLongestCommonSubsequence()/.StringLongestCommonSubsequence(), .StringLongestCommonSubsequenceLength()/.StringLongestCommonSubsequenceLengthAsync(), and .StringLongestCommonSubsequenceWithMatches()/.StringLongestCommonSubsequenceWithMatchesAsync() (#​2104 by @​Avital-Fine)
  • Adds: Support for OBJECT FREQ with .KeyFrequency()/.KeyFrequencyAsync() (#​2105 by @​Avital-Fine)
  • Performance: Avoids allocations when computing cluster hash slots or testing key equality (#​2110 by @​mgravell)
  • Adds: Support for SORT_RO with .Sort()/.SortAsync() (#​2111 by @​slorello89)
  • Adds: Support for BIT | BYTE to BITCOUNT and BITPOS with .StringBitCount()/.StringBitCountAsync() and .StringBitPosition()/.StringBitPositionAsync() (#​2116 by @​Avital-Fine)
  • Adds: Support for pub/sub payloads that are unary arrays (#​2118 by @​mgravell)
  • Fix: Sentinel timer race during dispose (#​2133 by @​ewisuri)
  • Adds: Support for GT, LT, and CH on ZADD with .SortedSetAdd()/.SortedSetAddAsync() and .SortedSetUpdate()/.SortedSetUpdateAsync() (#​2136 by @​Avital-Fine)
  • Adds: Support for COMMAND COUNT, COMMAND GETKEYS, and COMMAND LIST, with .CommandCount()/.CommandCountAsync(), .CommandGetKeys()/.CommandGetKeysAsync(), and .CommandList()/.CommandListAsync() (#​2143 by @​shacharPash)

v2.5.61

Compare Source

  • Adds: GETEX support with .StringGetSetExpiry()/.StringGetSetExpiryAsync() (#​1743 by @​benbryant0)
  • Fix #​1988: Don't issue SELECT commands if explicitly disabled (#​2023 by @​NickCraver)
  • Adds: KEEPTTL support on SET operations (#​2029 by @​NickCraver)
  • Fix: Allow XTRIM MAXLEN argument to be 0 (#​2030 by @​NicoAvanzDev)
  • Adds: ConfigurationOptions.BeforeSocketConnect for configuring sockets between creation and connection (#​2031 by @​NickCraver)
  • Fix #​1813: Don't connect to endpoints we failed to parse (#​2042 by @​NickCraver)
  • Fix: ClientKill/ClientKillAsync when using ClientType (#​2048 by @​NickCraver)
  • Adds: Most ConfigurationOptions changes after ConnectionMultiplexer connections will now be respected, e.g. changing a timeout will work and changing a password for auth rotation would be used at the next reconnect (#​2050 by @​NickCraver)
    • Obsolete: This change also moves ConnectionMultiplexer.IncludeDetailInExceptions and ConnectionMultiplexer.IncludePerformanceCountersInExceptions to ConfigurationOptions. The old properties are [Obsolete] proxies that work until 3.0 for compatibility.
  • Adds: Support for ZRANGESTORE with .SortedSetRangeAndStore()/.SortedSetRangeAndStoreAsync() (#​2052 by @​slorello89)

v2.5.43

Compare Source

v2.2.88

Compare Source

  • 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)

v2.2.79

Compare Source

v2.2.62

Compare Source

v2.2.50


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, 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 has been generated by Renovate Bot.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [StackExchange.Redis](https://stackexchange.github.io/StackExchange.Redis/) ([source](https://github.com/StackExchange/StackExchange.Redis)) | nuget | minor | `2.2.4` -> `2.7.33` | --- ### Release Notes <details> <summary>StackExchange/StackExchange.Redis (StackExchange.Redis)</summary> ### [`v2.7.33`](https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.7.33) [Compare Source](https://github.com/StackExchange/StackExchange.Redis/compare/2.7.27...2.7.33) #### What's Changed - **Potentially Breaking**: Fix `CheckTrustedIssuer` certificate validation for broken chain scenarios ([#&#8203;2665](https://github.com/StackExchange/StackExchange.Redis/issues/2665) by [@&#8203;NickCraver](https://github.com/NickCraver)) - Users inadvertently trusting a remote cert with a broken chain could not be failing custom validation before this change. This is only in play if you are using `ConfigurationOptions.TrustIssuer` at all. - Add new `LoggingTunnel` API; see https://stackexchange.github.io/StackExchange.Redis/Logging ([#&#8203;2660](https://github.com/StackExchange/StackExchange.Redis/issues/2660) by [@&#8203;mgravell](https://github.com/mgravell)) - Fix [#&#8203;2664](https://github.com/StackExchange/StackExchange.Redis/issues/2664): Move ProcessBacklog to fully sync to prevent thread pool hopping and blocking on awaits ([#&#8203;2667](https://github.com/StackExchange/StackExchange.Redis/issues/2667) by [@&#8203;NickCraver](https://github.com/NickCraver)) **Full Changelog**: https://github.com/StackExchange/StackExchange.Redis/compare/2.7.27...2.7.33 ### [`v2.7.27`](https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.7.27) [Compare Source](https://github.com/StackExchange/StackExchange.Redis/compare/2.7.23...2.7.27) #### What's Changed - Support `HeartbeatConsistencyChecks` in `Clone()` ([#&#8203;2658](https://github.com/StackExchange/StackExchange.Redis/issues/2658) by [@&#8203;mgravell](https://github.com/mgravell)) - Add new `AddLibraryNameSuffix` API for annotating connections with usage ([#&#8203;2659](https://github.com/StackExchange/StackExchange.Redis/issues/2659) by [@&#8203;mgravell](https://github.com/mgravell)) **Full Changelog**: https://github.com/StackExchange/StackExchange.Redis/compare/2.7.23...2.7.27 ### [`v2.7.23`](https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.7.23) [Compare Source](https://github.com/StackExchange/StackExchange.Redis/compare/2.7.20...2.7.23) #### What's Changed - Fix [#&#8203;2653](https://github.com/StackExchange/StackExchange.Redis/issues/2653): Client library metadata should validate contents ([#&#8203;2654](https://github.com/StackExchange/StackExchange.Redis/issues/2654) by [@&#8203;mgravell](https://github.com/mgravell)) - Add `HeartbeatConsistencyChecks` option (opt-in) to enabled per-heartbeat (defaults to once per second) checks to be sent to ensure no network stream corruption has occurred ([#&#8203;2656](https://github.com/StackExchange/StackExchange.Redis/issues/2656) by [@&#8203;NickCraver](https://github.com/NickCraver)) **Full Changelog**: https://github.com/StackExchange/StackExchange.Redis/compare/2.7.20...2.7.23 ### [`v2.7.20`](https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.7.20) [Compare Source](https://github.com/StackExchange/StackExchange.Redis/compare/2.7.17...2.7.20) #### What's Changed - Support Alibaba pseudo-cluster configurations ([#&#8203;2646](https://github.com/StackExchange/StackExchange.Redis/issues/2646) by [@&#8203;mgravell](https://github.com/mgravell)) **Full Changelog**: https://github.com/StackExchange/StackExchange.Redis/compare/2.7.17...2.7.20 ### [`v2.7.17`](https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.7.17) [Compare Source](https://github.com/StackExchange/StackExchange.Redis/compare/2.7.10...2.7.17) #### What's Changed - Fix: [#&#8203;2321](https://github.com/StackExchange/StackExchange.Redis/issues/2321): Honor disposition of select command in Command Map for transactions ([#&#8203;2322](https://github.com/StackExchange/StackExchange.Redis/issues/2322) by [@&#8203;slorello89](https://github.com/slorello89)) - Fix [#&#8203;2619](https://github.com/StackExchange/StackExchange.Redis/issues/2619): Type-forward `IsExternalInit` to support down-level TFMs ([#&#8203;2621](https://github.com/StackExchange/StackExchange.Redis/issues/2621) by [@&#8203;mgravell](https://github.com/mgravell)) - `InternalsVisibleTo` `PublicKey` enhancements([#&#8203;2623](https://github.com/StackExchange/StackExchange.Redis/issues/2623) by [@&#8203;WeihanLi](https://github.com/WeihanLi)) - Fix [#&#8203;2576](https://github.com/StackExchange/StackExchange.Redis/issues/2576): Prevent `NullReferenceException` during shutdown of connections ([#&#8203;2629](https://github.com/StackExchange/StackExchange.Redis/issues/2629) by [@&#8203;NickCraver](https://github.com/NickCraver)) **Full Changelog**: https://github.com/StackExchange/StackExchange.Redis/compare/2.7.10...2.7.17 ### [`v2.7.10`](https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.7.10) [Compare Source](https://github.com/StackExchange/StackExchange.Redis/compare/2.7.4...2.7.10) - Fix [#&#8203;2593](https://github.com/StackExchange/StackExchange.Redis/issues/2593): `EXPIRETIME` and `PEXPIRETIME` miscategorized as `PrimaryOnly` commands causing them to fail when issued against a read-only replica ([#&#8203;2593](https://github.com/StackExchange/StackExchange.Redis/issues/2593) by [@&#8203;slorello89](https://github.com/slorello89)) - Fix [#&#8203;2591](https://github.com/StackExchange/StackExchange.Redis/issues/2591): Add `HELLO` to Sentinel connections so they can support RESP3 ([#&#8203;2601](https://github.com/StackExchange/StackExchange.Redis/issues/2601) by [@&#8203;NickCraver](https://github.com/NickCraver)) - Fix [#&#8203;2595](https://github.com/StackExchange/StackExchange.Redis/issues/2595): Add detection handling for dead sockets that the OS says are okay, seen especially in Linux environments ([#&#8203;2610](https://github.com/StackExchange/StackExchange.Redis/issues/2610) by [@&#8203;NickCraver](https://github.com/NickCraver)) - **Full Changelog**: https://github.com/StackExchange/StackExchange.Redis/compare/2.7.4...2.7.10 ### [`v2.7.4`](https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.7.4) [Compare Source](https://github.com/StackExchange/StackExchange.Redis/compare/2.6.122...2.7.4) - Add: RESP3 support ([#&#8203;2396](https://github.com/StackExchange/StackExchange.Redis/issues/2396) by [@&#8203;mgravell](https://github.com/mgravell)) - see https://stackexchange.github.io/StackExchange.Redis/Resp3 - Fix [#&#8203;2507](https://github.com/StackExchange/StackExchange.Redis/issues/2507): Pub/sub with multi-item payloads should be usable ([#&#8203;2508](https://github.com/StackExchange/StackExchange.Redis/issues/2508) by [@&#8203;mgravell](https://github.com/mgravell)) - Add: connection-id tracking (internal only, no public API) ([#&#8203;2508](https://github.com/StackExchange/StackExchange.Redis/issues/2508) by [@&#8203;mgravell](https://github.com/mgravell)) - Add: `ConfigurationOptions.LoggerFactory` for logging to an `ILoggerFactory` (e.g. `ILogger`) all connection and error events ([#&#8203;2051](https://github.com/StackExchange/StackExchange.Redis/issues/2051) by [@&#8203;NickCraver](https://github.com/NickCraver)) - Fix [#&#8203;2467](https://github.com/StackExchange/StackExchange.Redis/issues/2467): Add StreamGroupInfo EntriesRead and Lag ([#&#8203;2510](https://github.com/StackExchange/StackExchange.Redis/issues/2510) by [@&#8203;tvdias](https://github.com/tvdias)) **Full Changelog**: https://github.com/StackExchange/StackExchange.Redis/compare/2.6.122..2.7.4 ### [`v2.6.122`](https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.6.122) [Compare Source](https://github.com/StackExchange/StackExchange.Redis/compare/2.6.116...2.6.122) - Change: Target net6.0 instead of net5.0, since net5.0 is end of life. ([#&#8203;2497](https://github.com/StackExchange/StackExchange.Redis/issues/2497) by [@&#8203;eerhardt](https://github.com/eerhardt)) - Fix: Fix nullability annotation of IConnectionMultiplexer.RegisterProfiler ([#&#8203;2494](https://github.com/StackExchange/StackExchange.Redis/issues/2494) by [@&#8203;eerhardt](https://github.com/eerhardt)) - Add: `Timer.ActiveCount` under `POOL` in timeout messages on .NET 6+ to help diagnose timer overload affecting timeout evaluations ([#&#8203;2500](https://github.com/StackExchange/StackExchange.Redis/issues/2500) by [@&#8203;NickCraver](https://github.com/NickCraver)) - Add: `LibraryName` configuration option; allows the library name to be controlled at the individual options level (in addition to the existing controls in `DefaultOptionsProvider`) ([#&#8203;2502](https://github.com/StackExchange/StackExchange.Redis/issues/2502) by [@&#8203;mgravell](https://github.com/mgravell)) - Add: `DefaultOptionsProvider.GetProvider` allows lookup of provider by endpoint ([#&#8203;2502](https://github.com/StackExchange/StackExchange.Redis/issues/2502) by [@&#8203;mgravell](https://github.com/mgravell)) **Full Changelog**: https://github.com/StackExchange/StackExchange.Redis/compare/2.6.116...2.6.122 ### [`v2.6.116`](https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.6.116) [Compare Source](https://github.com/StackExchange/StackExchange.Redis/compare/2.6.111...2.6.116) - Fix [#&#8203;2479](https://github.com/StackExchange/StackExchange.Redis/issues/2479): Add `RedisChannel.UseImplicitAutoPattern` (global) and `RedisChannel.IsPattern` ([#&#8203;2480](https://github.com/StackExchange/StackExchange.Redis/issues/2480) by [@&#8203;mgravell](https://github.com/mgravell)) - Fix [#&#8203;2479](https://github.com/StackExchange/StackExchange.Redis/issues/2479): Mark `RedisChannel` conversion operators as obsolete; add `RedisChannel.Literal` and `RedisChannel.Pattern` helpers ([#&#8203;2481](https://github.com/StackExchange/StackExchange.Redis/issues/2481) by [@&#8203;mgravell](https://github.com/mgravell)) - Fix [#&#8203;2449](https://github.com/StackExchange/StackExchange.Redis/issues/2449): Update `Pipelines.Sockets.Unofficial` to `v2.2.8` to support native AOT ([#&#8203;2456](https://github.com/StackExchange/StackExchange.Redis/issues/2456) by [@&#8203;eerhardt](https://github.com/eerhardt)) **Full Changelog**: https://github.com/StackExchange/StackExchange.Redis/compare/2.6.111...2.6.116 ### [`v2.6.111`](https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.6.111) [Compare Source](https://github.com/StackExchange/StackExchange.Redis/compare/2.6.104...2.6.111) - Fix [#&#8203;2426](https://github.com/StackExchange/StackExchange.Redis/issues/2426): Don't restrict multi-slot operations on Envoy proxy; let the proxy decide ([#&#8203;2428](https://github.com/StackExchange/StackExchange.Redis/issues/2428) by [@&#8203;mgravell](https://github.com/mgravell)) - Add: Support for `User`/`Password` in `DefaultOptionsProvider` to support token rotation scenarios ([#&#8203;2445](https://github.com/StackExchange/StackExchange.Redis/issues/2445) by [@&#8203;NickCraver](https://github.com/NickCraver)) - Fix [#&#8203;2449](https://github.com/StackExchange/StackExchange.Redis/issues/2449): Resolve AOT trim warnings in `TryGetAzureRoleInstanceIdNoThrow` ([#&#8203;2451](https://github.com/StackExchange/StackExchange.Redis/issues/2451) by [@&#8203;eerhardt](https://github.com/eerhardt)) - Adds: Support for `HTTP/1.1 200 Connection established` in HTTP Tunnel ([#&#8203;2448](https://github.com/StackExchange/StackExchange.Redis/issues/2448) by [@&#8203;flobernd](https://github.com/flobernd)) - Adds: Timeout duration to backlog timeout error messages ([#&#8203;2452](https://github.com/StackExchange/StackExchange.Redis/issues/2452) by [@&#8203;NickCraver](https://github.com/NickCraver)) - Adds: `DefaultOptionsProvider.LibraryName` for specifying lib-name passed to `CLIENT SETINFO` in Redis 7.2+ ([#&#8203;2453](https://github.com/StackExchange/StackExchange.Redis/issues/2453) by [@&#8203;NickCraver](https://github.com/NickCraver)) #### New Contributors - [@&#8203;eerhardt](https://github.com/eerhardt) made their first contribution in https://github.com/StackExchange/StackExchange.Redis/pull/2451 - [@&#8203;flobernd](https://github.com/flobernd) made their first contribution in https://github.com/StackExchange/StackExchange.Redis/pull/2448 **Full Changelog**: https://github.com/StackExchange/StackExchange.Redis/compare/2.6.104...2.6.111 ### [`v2.6.104`](https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.6.104) [Compare Source](https://github.com/StackExchange/StackExchange.Redis/compare/2.6.96...2.6.104) - Fix [#&#8203;2412](https://github.com/StackExchange/StackExchange.Redis/issues/2412): Critical (but rare) GC bug that can lead to async tasks never completing if the multiplexer is not held by the consumer ([#&#8203;2408](https://github.com/StackExchange/StackExchange.Redis/issues/2408) by [@&#8203;mgravell](https://github.com/mgravell)) - Fix [#&#8203;2392](https://github.com/StackExchange/StackExchange.Redis/issues/2392): Dequeue *all* timed out messages from the backlog when not connected (including Fire+Forget) ([#&#8203;2397](https://github.com/StackExchange/StackExchange.Redis/issues/2397) by [@&#8203;kornelpal](https://github.com/kornelpal)) - Fix [#&#8203;2400](https://github.com/StackExchange/StackExchange.Redis/issues/2400): Expose `ChannelMessageQueue` as `IAsyncEnumerable<ChannelMessage>` ([#&#8203;2402](https://github.com/StackExchange/StackExchange.Redis/issues/2402) by [@&#8203;mgravell](https://github.com/mgravell)) - Adds: Better error messages (over generic timeout) when commands are backlogged and unable to write to any connection ([#&#8203;2408](https://github.com/StackExchange/StackExchange.Redis/issues/2408) by [@&#8203;NickCraver](https://github.com/NickCraver)) - Adds: Support for `CLIENT SETINFO` (lib name/version) during handshake; opt-out is via `ConfigurationOptions`; also support read of `resp`, `lib-ver` and `lib-name` via `CLIENT LIST` ([#&#8203;2414](https://github.com/StackExchange/StackExchange.Redis/issues/2414) by [@&#8203;mgravell](https://github.com/mgravell)) - Documentation: clarify the meaning of `RedisValue.IsInteger` re [#&#8203;2418](https://github.com/StackExchange/StackExchange.Redis/issues/2418) ([#&#8203;2420](https://github.com/StackExchange/StackExchange.Redis/issues/2420) by [@&#8203;mgravell](https://github.com/mgravell)) #### New Contributors - [@&#8203;SonnyRR](https://github.com/SonnyRR) made their first contribution in https://github.com/StackExchange/StackExchange.Redis/pull/2410 - [@&#8203;kornelpal](https://github.com/kornelpal) made their first contribution in https://github.com/StackExchange/StackExchange.Redis/pull/2397 **Full Changelog**: https://github.com/StackExchange/StackExchange.Redis/compare/2.6.96...2.6.104 ### [`v2.6.96`](https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.6.96) [Compare Source](https://github.com/StackExchange/StackExchange.Redis/compare/2.6.90...2.6.96) - Fix [#&#8203;2350](https://github.com/StackExchange/StackExchange.Redis/issues/2350): Properly parse lua script paramters in all cultures ([#&#8203;2351](https://github.com/StackExchange/StackExchange.Redis/issues/2351) by [@&#8203;NickCraver](https://github.com/NickCraver)) - Fix [#&#8203;2362](https://github.com/StackExchange/StackExchange.Redis/issues/2362): Set `RedisConnectionException.FailureType` to `AuthenticationFailure` on all authentication scenarios for better handling ([#&#8203;2367](https://github.com/StackExchange/StackExchange.Redis/issues/2367) by [@&#8203;NickCraver](https://github.com/NickCraver)) - Fix [#&#8203;2368](https://github.com/StackExchange/StackExchange.Redis/issues/2368): Support `RedisValue.Length()` for all storage types ([#&#8203;2370](https://github.com/StackExchange/StackExchange.Redis/issues/2370) by [@&#8203;mgravell](https://github.com/mgravell)) - Fix [#&#8203;2376](https://github.com/StackExchange/StackExchange.Redis/issues/2376): Avoid a (rare) deadlock scenario ([#&#8203;2378](https://github.com/StackExchange/StackExchange.Redis/issues/2378) by [@&#8203;mgravell](https://github.com/mgravell)) **Full Changelog**: https://github.com/StackExchange/StackExchange.Redis/compare/2.6.90...2.6.96 ### [`v2.6.90`](https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.6.90) [Compare Source](https://github.com/StackExchange/StackExchange.Redis/compare/2.6.86...2.6.90) - Adds: Support for `EVAL_RO` and `EVALSHA_RO` via `IDatabase.ScriptEvaluateReadOnly`/`IDatabase.ScriptEvaluateReadOnlyAsync` ([#&#8203;2168](https://github.com/StackExchange/StackExchange.Redis/issues/2168) by [@&#8203;shacharPash](https://github.com/shacharPash)) - Fix [#&#8203;1458](https://github.com/StackExchange/StackExchange.Redis/issues/1458): Fixes a leak condition when a connection completes on the TCP phase but not the Redis handshake ([#&#8203;2238](https://github.com/StackExchange/StackExchange.Redis/issues/2238) by [@&#8203;NickCraver](https://github.com/NickCraver)) - Internal: ServerSnapshot: Improve API and allow filtering with custom struct enumerator ([#&#8203;2337](https://github.com/StackExchange/StackExchange.Redis/issues/2337) by [@&#8203;mgravell](https://github.com/mgravell)) ### [`v2.6.86`](https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.6.86) [Compare Source](https://github.com/StackExchange/StackExchange.Redis/compare/2.6.80...2.6.86) - Fix [#&#8203;1520](https://github.com/StackExchange/StackExchange.Redis/issues/1520) & [#&#8203;1660](https://github.com/StackExchange/StackExchange.Redis/issues/1660): When `MOVED` is encountered from a cluster, a reconfigure will happen proactively to react to cluster changes ASAP ([#&#8203;2286](https://github.com/StackExchange/StackExchange.Redis/issues/2286) by [@&#8203;NickCraver](https://github.com/NickCraver)) - Fix [#&#8203;2249](https://github.com/StackExchange/StackExchange.Redis/issues/2249): Properly handle a `fail` state (new `ClusterNode.IsFail` property) for `CLUSTER NODES` and expose `fail?` as a property (`IsPossiblyFail`) as well ([#&#8203;2288](https://github.com/StackExchange/StackExchange.Redis/issues/2288) by [@&#8203;NickCraver](https://github.com/NickCraver)) - Adds: `IConnectionMultiplexer.ServerMaintenanceEvent` (was on `ConnectionMultiplexer` but not the interface) ([#&#8203;2306](https://github.com/StackExchange/StackExchange.Redis/issues/2306) by [@&#8203;NickCraver](https://github.com/NickCraver)) - Adds: To timeout messages, additional debug information: `Sync-Ops` (synchronous operations), `Async-Ops` (asynchronous operations), and `Server-Connected-Seconds` (how long the connection in question has been connected, or `"n/a"`) ([#&#8203;2300](https://github.com/StackExchange/StackExchange.Redis/issues/2300) by [@&#8203;NickCraver](https://github.com/NickCraver)) ### [`v2.6.80`](https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.6.80) [Compare Source](https://github.com/StackExchange/StackExchange.Redis/compare/2.6.70...2.6.80) - Adds: `last-in` and `cur-in` (bytes) to timeout exceptions to help identify timeouts that were just-behind another large payload off the wire ([#&#8203;2276](https://github.com/StackExchange/StackExchange.Redis/issues/2276) by [@&#8203;NickCraver](https://github.com/NickCraver)) - Adds: general-purpose tunnel support, with HTTP proxy "connect" support included ([#&#8203;2274](https://github.com/StackExchange/StackExchange.Redis/issues/2274) by [@&#8203;mgravell](https://github.com/mgravell)) - Removes: Package dependency (`System.Diagnostics.PerformanceCounter`) ([#&#8203;2285](https://github.com/StackExchange/StackExchange.Redis/issues/2285) by [@&#8203;NickCraver](https://github.com/NickCraver)) ### [`v2.6.70`](https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.6.70) [Compare Source](https://github.com/StackExchange/StackExchange.Redis/compare/2.6.66...2.6.70) - Fix: `MOVED` with `NoRedirect` (and other non-reachable errors) should respect the `IncludeDetailInExceptions` setting ([#&#8203;2267](https://github.com/StackExchange/StackExchange.Redis/issues/2267) by [@&#8203;mgravell](https://github.com/mgravell)) - Fix [#&#8203;2251](https://github.com/StackExchange/StackExchange.Redis/issues/2251) & [#&#8203;2265](https://github.com/StackExchange/StackExchange.Redis/issues/2265): Cluster endpoint connections weren't proactively connecting subscriptions in all cases and taking the full connection timeout to complete as a result ([#&#8203;2268](https://github.com/StackExchange/StackExchange.Redis/issues/2268) by [@&#8203;iteplov](https://github.com/iteplov)) ### [`v2.6.66`](https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.6.66) [Compare Source](https://github.com/StackExchange/StackExchange.Redis/compare/2.6.48...2.6.66) - Fix [#&#8203;2182](https://github.com/StackExchange/StackExchange.Redis/issues/2182): Be more flexible in which commands are "primary only" in order to support users with replicas that are explicitly configured to allow writes ([#&#8203;2183](https://github.com/StackExchange/StackExchange.Redis/issues/2183) by [@&#8203;slorello89](https://github.com/slorello89)) - Adds: `IConnectionMultiplexer` now implements `IAsyncDisposable` ([#&#8203;2161](https://github.com/StackExchange/StackExchange.Redis/issues/2161) by [@&#8203;kimsey0](https://github.com/kimsey0)) - Adds: `IConnectionMultiplexer.GetServers()` to get all `IServer` instances for a multiplexer ([#&#8203;2203](https://github.com/StackExchange/StackExchange.Redis/issues/2203) by [@&#8203;NickCraver](https://github.com/NickCraver)) - Fix [#&#8203;2016](https://github.com/StackExchange/StackExchange.Redis/issues/2016): Align server selection with supported commands (e.g. with writable servers) to reduce `Command cannot be issued to a replica` errors ([#&#8203;2191](https://github.com/StackExchange/StackExchange.Redis/issues/2191) by [@&#8203;slorello89](https://github.com/slorello89)) - Performance: Optimization around timeout processing to reduce lock contention in the case of many items that haven't yet timed out during a heartbeat ([#&#8203;2217](https://github.com/StackExchange/StackExchange.Redis/issues/2217) by [@&#8203;NickCraver](https://github.com/NickCraver)) - Fix [#&#8203;2223](https://github.com/StackExchange/StackExchange.Redis/issues/2223): Resolve sync-context issues (missing `ConfigureAwait(false)`) ([#&#8203;2229](https://github.com/StackExchange/StackExchange.Redis/issues/2229) by [@&#8203;mgravell](https://github.com/mgravell)) - Fix [#&#8203;1968](https://github.com/StackExchange/StackExchange.Redis/issues/1968): Improved handling of EVAL scripts during server restarts and failovers, detecting and re-sending the script for a retry when needed ([#&#8203;2170](https://github.com/StackExchange/StackExchange.Redis/issues/2170) by [@&#8203;martintmk](https://github.com/martintmk)) - Adds: `ConfigurationOptions.SslClientAuthenticationOptions` (`netcoreapp3.1`/`net5.0`+ only) to give more control over SSL/TLS authentication ([#&#8203;2224](https://github.com/StackExchange/StackExchange.Redis/issues/2224) by [@&#8203;NickCraver](https://github.com/NickCraver)) - Fix [#&#8203;2240](https://github.com/StackExchange/StackExchange.Redis/pull/2241): Improve support for DNS-based IPv6 endpoints ([#&#8203;2241](https://github.com/StackExchange/StackExchange.Redis/issues/2241) by [@&#8203;NickCraver](https://github.com/NickCraver)) - Adds: `ConfigurationOptions.HeartbeatInterval` (**Advanced Setting** - [see docs](https://stackexchange.github.io/StackExchange.Redis/Configuration#configuration-options)) To allow more finite control of the client heartbeat, which encompases how often command timeouts are actually evaluated - still defaults to 1,000 ms ([#&#8203;2243](https://github.com/StackExchange/StackExchange.Redis/issues/2243) by [@&#8203;NickCraver](https://github.com/NickCraver)) - Fix [#&#8203;1879](https://github.com/StackExchange/StackExchange.Redis/issues/1879): Improve exception message when the wrong password is used ([#&#8203;2246](https://github.com/StackExchange/StackExchange.Redis/issues/2246) by [@&#8203;NickCraver](https://github.com/NickCraver)) - Fix [#&#8203;2233](https://github.com/StackExchange/StackExchange.Redis/issues/2233): Repeated connection to Sentinel servers using the same ConfigurationOptions would fail ([#&#8203;2242](https://github.com/StackExchange/StackExchange.Redis/issues/2242) by [@&#8203;NickCraver](https://github.com/NickCraver)) ### [`v2.6.48`](https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.6.48) [Compare Source](https://github.com/StackExchange/StackExchange.Redis/compare/2.6.45...2.6.48) - URGENT Fix: [#&#8203;2167](https://github.com/StackExchange/StackExchange.Redis/issues/2167), [#&#8203;2176](https://github.com/StackExchange/StackExchange.Redis/issues/2176): fix error in batch/transaction handling that can result in out-of-order instructions ([#&#8203;2177](https://github.com/StackExchange/StackExchange.Redis/issues/2177) by [@&#8203;mgravell](https://github.com/mgravell)) - Fix: [#&#8203;2164](https://github.com/StackExchange/StackExchange.Redis/issues/2164): fix `LuaScript.Prepare` for scripts that don't have parameters ([#&#8203;2166](https://github.com/StackExchange/StackExchange.Redis/issues/2166) by [@&#8203;mgravell](https://github.com/mgravell)) ### [`v2.6.45`](https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.6.45) [Compare Source](https://github.com/StackExchange/StackExchange.Redis/compare/2.5.61...2.6.45) - Adds: [Nullable reference type](https://docs.microsoft.com/en-us/dotnet/csharp/nullable-references) annotations ([#&#8203;2041](https://github.com/StackExchange/StackExchange.Redis/issues/2041) by [@&#8203;NickCraver](https://github.com/NickCraver)) - Adds annotations themselves for nullability to everything in the library - Fixes a few internal edge cases that will now throw proper errors (rather than a downstream null reference) - Fixes inconsistencies with `null` vs. empty array returns (preferring an not-null empty array in those edge cases) - Note: does *not* increment a major version (as these are warnings to consumers), because: they're warnings (errors are opt-in), removing obsolete types with a 3.0 rev *would* be binary breaking (this isn't), and reving to 3.0 would cause binding redirect pain for consumers. Bumping from 2.5 to 2.6 only for this change. - Adds: Support for `COPY` with `.KeyCopy()`/`.KeyCopyAsync()` ([#&#8203;2064](https://github.com/StackExchange/StackExchange.Redis/issues/2064) by [@&#8203;Avital-Fine](https://github.com/Avital-Fine)) - Adds: Support for `LMOVE` with `.ListMove()`/`.ListMoveAsync()` ([#&#8203;2065](https://github.com/StackExchange/StackExchange.Redis/issues/2065) by [@&#8203;Avital-Fine](https://github.com/Avital-Fine)) - Adds: Support for `ZRANDMEMBER` with `.SortedSetRandomMember()`/`.SortedSetRandomMemberAsync()`, `.SortedSetRandomMembers()`/`.SortedSetRandomMembersAsync()`, and `.SortedSetRandomMembersWithScores()`/`.SortedSetRandomMembersWithScoresAsync()` ([#&#8203;2076](https://github.com/StackExchange/StackExchange.Redis/issues/2076) by [@&#8203;Avital-Fine](https://github.com/Avital-Fine)) - Adds: Support for `SMISMEMBER` with `.SetContains()`/`.SetContainsAsync()` ([#&#8203;2077](https://github.com/StackExchange/StackExchange.Redis/issues/2077) by [@&#8203;Avital-Fine](https://github.com/Avital-Fine)) - Adds: Support for `ZDIFF`, `ZDIFFSTORE`, `ZINTER`, `ZINTERCARD`, and `ZUNION` with `.SortedSetCombine()`/`.SortedSetCombineAsync()`, `.SortedSetCombineWithScores()`/`.SortedSetCombineWithScoresAsync()`, and `.SortedSetIntersectionLength()`/`.SortedSetIntersectionLengthAsync()` ([#&#8203;2075](https://github.com/StackExchange/StackExchange.Redis/issues/2075) by [@&#8203;Avital-Fine](https://github.com/Avital-Fine)) - Adds: Support for `SINTERCARD` with `.SetIntersectionLength()`/`.SetIntersectionLengthAsync()` ([#&#8203;2078](https://github.com/StackExchange/StackExchange.Redis/issues/2078) by [@&#8203;Avital-Fine](https://github.com/Avital-Fine)) - Adds: Support for `LPOS` with `.ListPosition()`/`.ListPositionAsync()` and `.ListPositions()`/`.ListPositionsAsync()` ([#&#8203;2080](https://github.com/StackExchange/StackExchange.Redis/issues/2080) by [@&#8203;slorello89](https://github.com/slorello89)) - Adds: Support for `ZMSCORE` with `.SortedSetScores()`/.`SortedSetScoresAsync()` ([#&#8203;2082](https://github.com/StackExchange/StackExchange.Redis/issues/2082) by [@&#8203;ttingen](https://github.com/ttingen)) - Adds: Support for `NX | XX | GT | LT` to `EXPIRE`, `EXPIREAT`, `PEXPIRE`, and `PEXPIREAT` with `.KeyExpire()`/`.KeyExpireAsync()` ([#&#8203;2083](https://github.com/StackExchange/StackExchange.Redis/issues/2083) by [@&#8203;Avital-Fine](https://github.com/Avital-Fine)) - Adds: Support for `EXPIRETIME`, and `PEXPIRETIME` with `.KeyExpireTime()`/`.KeyExpireTimeAsync()` ([#&#8203;2083](https://github.com/StackExchange/StackExchange.Redis/issues/2083) by [@&#8203;Avital-Fine](https://github.com/Avital-Fine)) - Fix: For streams, properly hash `XACK`, `XCLAIM`, and `XPENDING` in cluster scenarios to eliminate `MOVED` retries ([#&#8203;2085](https://github.com/StackExchange/StackExchange.Redis/issues/2085) by [@&#8203;nielsderdaele](https://github.com/nielsderdaele)) - Adds: Support for `OBJECT REFCOUNT` with `.KeyRefCount()`/`.KeyRefCountAsync()` ([#&#8203;2087](https://github.com/StackExchange/StackExchange.Redis/issues/2087) by [@&#8203;Avital-Fine](https://github.com/Avital-Fine)) - Adds: Support for `OBJECT ENCODING` with `.KeyEncoding()`/`.KeyEncodingAsync()` ([#&#8203;2088](https://github.com/StackExchange/StackExchange.Redis/issues/2088) by [@&#8203;Avital-Fine](https://github.com/Avital-Fine)) - Adds: Support for `GEOSEARCH` with `.GeoSearch()`/`.GeoSearchAsync()` ([#&#8203;2089](https://github.com/StackExchange/StackExchange.Redis/issues/2089) by [@&#8203;slorello89](https://github.com/slorello89)) - Adds: Support for `GEOSEARCHSTORE` with `.GeoSearchAndStore()`/`.GeoSearchAndStoreAsync()` ([#&#8203;2089](https://github.com/StackExchange/StackExchange.Redis/issues/2089) by [@&#8203;slorello89](https://github.com/slorello89)) - Adds: Support for `HRANDFIELD` with `.HashRandomField()`/`.HashRandomFieldAsync()`, `.HashRandomFields()`/`.HashRandomFieldsAsync()`, and `.HashRandomFieldsWithValues()`/`.HashRandomFieldsWithValuesAsync()` ([#&#8203;2090](https://github.com/StackExchange/StackExchange.Redis/issues/2090) by [@&#8203;slorello89](https://github.com/slorello89)) - Adds: Support for `LMPOP` with `.ListLeftPop()`/`.ListLeftPopAsync()` and `.ListRightPop()`/`.ListRightPopAsync()` ([#&#8203;2094](https://github.com/StackExchange/StackExchange.Redis/issues/2094) by [@&#8203;slorello89](https://github.com/slorello89)) - Adds: Support for `ZMPOP` with `.SortedSetPop()`/`.SortedSetPopAsync()` ([#&#8203;2094](https://github.com/StackExchange/StackExchange.Redis/issues/2094) by [@&#8203;slorello89](https://github.com/slorello89)) - Adds: Support for `XAUTOCLAIM` with `.StreamAutoClaim()`/.`StreamAutoClaimAsync()` and `.StreamAutoClaimIdsOnly()`/.`StreamAutoClaimIdsOnlyAsync()` ([#&#8203;2095](https://github.com/StackExchange/StackExchange.Redis/issues/2095) by [@&#8203;ttingen](https://github.com/ttingen)) - Fix [#&#8203;2071](https://github.com/StackExchange/StackExchange.Redis/issues/2071): Add `.StringSet()`/`.StringSetAsync()` overloads for source compat broken for 1 case in 2.5.61 ([#&#8203;2098](https://github.com/StackExchange/StackExchange.Redis/issues/2098) by [@&#8203;NickCraver](https://github.com/NickCraver)) - Fix [#&#8203;2086](https://github.com/StackExchange/StackExchange.Redis/issues/2086): Correct HashSlot calculations for `XREAD` and `XREADGROUP` commands ([#&#8203;2093](https://github.com/StackExchange/StackExchange.Redis/issues/2093) by [@&#8203;nielsderdaele](https://github.com/nielsderdaele)) - Adds: Support for `LCS` with `.StringLongestCommonSubsequence()`/`.StringLongestCommonSubsequence()`, `.StringLongestCommonSubsequenceLength()`/`.StringLongestCommonSubsequenceLengthAsync()`, and `.StringLongestCommonSubsequenceWithMatches()`/`.StringLongestCommonSubsequenceWithMatchesAsync()` ([#&#8203;2104](https://github.com/StackExchange/StackExchange.Redis/issues/2104) by [@&#8203;Avital-Fine](https://github.com/Avital-Fine)) - Adds: Support for `OBJECT FREQ` with `.KeyFrequency()`/`.KeyFrequencyAsync()` ([#&#8203;2105](https://github.com/StackExchange/StackExchange.Redis/issues/2105) by [@&#8203;Avital-Fine](https://github.com/Avital-Fine)) - Performance: Avoids allocations when computing cluster hash slots or testing key equality ([#&#8203;2110](https://github.com/StackExchange/StackExchange.Redis/issues/2110) by [@&#8203;mgravell](https://github.com/mgravell)) - Adds: Support for `SORT_RO` with `.Sort()`/`.SortAsync()` ([#&#8203;2111](https://github.com/StackExchange/StackExchange.Redis/issues/2111) by [@&#8203;slorello89](https://github.com/slorello89)) - Adds: Support for `BIT | BYTE` to `BITCOUNT` and `BITPOS` with `.StringBitCount()`/`.StringBitCountAsync()` and `.StringBitPosition()`/`.StringBitPositionAsync()` ([#&#8203;2116](https://github.com/StackExchange/StackExchange.Redis/issues/2116) by [@&#8203;Avital-Fine](https://github.com/Avital-Fine)) - Adds: Support for pub/sub payloads that are unary arrays ([#&#8203;2118](https://github.com/StackExchange/StackExchange.Redis/issues/2118) by [@&#8203;mgravell](https://github.com/mgravell)) - Fix: Sentinel timer race during dispose ([#&#8203;2133](https://github.com/StackExchange/StackExchange.Redis/issues/2133) by [@&#8203;ewisuri](https://github.com/ewisuri)) - Adds: Support for `GT`, `LT`, and `CH` on `ZADD` with `.SortedSetAdd()`/`.SortedSetAddAsync()` and `.SortedSetUpdate()`/`.SortedSetUpdateAsync()` ([#&#8203;2136](https://github.com/StackExchange/StackExchange.Redis/issues/2136) by [@&#8203;Avital-Fine](https://github.com/Avital-Fine)) - Adds: Support for `COMMAND COUNT`, `COMMAND GETKEYS`, and `COMMAND LIST`, with `.CommandCount()`/`.CommandCountAsync()`, `.CommandGetKeys()`/`.CommandGetKeysAsync()`, and `.CommandList()`/`.CommandListAsync()` ([#&#8203;2143](https://github.com/StackExchange/StackExchange.Redis/issues/2143) by [@&#8203;shacharPash](https://github.com/shacharPash)) ### [`v2.5.61`](https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.5.61) [Compare Source](https://github.com/StackExchange/StackExchange.Redis/compare/2.5.43...2.5.61) - Adds: `GETEX` support with `.StringGetSetExpiry()`/`.StringGetSetExpiryAsync()` ([#&#8203;1743](https://github.com/StackExchange/StackExchange.Redis/issues/1743) by [@&#8203;benbryant0](https://github.com/benbryant0)) - Fix [#&#8203;1988](https://github.com/StackExchange/StackExchange.Redis/issues/1988): Don't issue `SELECT` commands if explicitly disabled ([#&#8203;2023](https://github.com/StackExchange/StackExchange.Redis/issues/2023) by [@&#8203;NickCraver](https://github.com/NickCraver)) - Adds: `KEEPTTL` support on `SET` operations ([#&#8203;2029](https://github.com/StackExchange/StackExchange.Redis/issues/2029) by [@&#8203;NickCraver](https://github.com/NickCraver)) - Fix: Allow `XTRIM` `MAXLEN` argument to be `0` ([#&#8203;2030](https://github.com/StackExchange/StackExchange.Redis/issues/2030) by [@&#8203;NicoAvanzDev](https://github.com/NicoAvanzDev)) - Adds: `ConfigurationOptions.BeforeSocketConnect` for configuring sockets between creation and connection ([#&#8203;2031](https://github.com/StackExchange/StackExchange.Redis/issues/2031) by [@&#8203;NickCraver](https://github.com/NickCraver)) - Fix [#&#8203;1813](https://github.com/StackExchange/StackExchange.Redis/issues/1813): Don't connect to endpoints we failed to parse ([#&#8203;2042](https://github.com/StackExchange/StackExchange.Redis/issues/2042) by [@&#8203;NickCraver](https://github.com/NickCraver)) - Fix: `ClientKill`/`ClientKillAsync` when using `ClientType` ([#&#8203;2048](https://github.com/StackExchange/StackExchange.Redis/issues/2048) by [@&#8203;NickCraver](https://github.com/NickCraver)) - Adds: Most `ConfigurationOptions` changes after `ConnectionMultiplexer` connections will now be respected, e.g. changing a timeout will work and changing a password for auth rotation would be used at the next reconnect ([#&#8203;2050](https://github.com/StackExchange/StackExchange.Redis/issues/2050) by [@&#8203;NickCraver](https://github.com/NickCraver)) - **Obsolete**: This change also moves `ConnectionMultiplexer.IncludeDetailInExceptions` and `ConnectionMultiplexer.IncludePerformanceCountersInExceptions` to `ConfigurationOptions`. The old properties are `[Obsolete]` proxies that work until 3.0 for compatibility. - Adds: Support for `ZRANGESTORE` with `.SortedSetRangeAndStore()`/`.SortedSetRangeAndStoreAsync()` ([#&#8203;2052](https://github.com/StackExchange/StackExchange.Redis/issues/2052) by [@&#8203;slorello89](https://github.com/slorello89)) ### [`v2.5.43`](https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.5.43) [Compare Source](https://github.com/StackExchange/StackExchange.Redis/compare/2.2.88...2.5.43) - Adds: Bounds checking for `ExponentialRetry` backoff policy ([#&#8203;1921](https://github.com/StackExchange/StackExchange.Redis/issues/1921) by [@&#8203;gliljas](https://github.com/gliljas)) - Adds: `DefaultOptionsProvider` support for endpoint-based defaults configuration ([#&#8203;1987](https://github.com/StackExchange/StackExchange.Redis/issues/1987) by [@&#8203;NickCraver](https://github.com/NickCraver)) - Adds: Envoy proxy support ([#&#8203;1989](https://github.com/StackExchange/StackExchange.Redis/issues/1989) by [@&#8203;rkarthick](https://github.com/rkarthick)) - Performance: When `SUBSCRIBE` is disabled, give proper errors and connect faster ([#&#8203;2001](https://github.com/StackExchange/StackExchange.Redis/issues/2001) by [@&#8203;NickCraver](https://github.com/NickCraver)) - Adds: `GET` on `SET` command support (present in Redis 6.2+ - [#&#8203;2003](https://github.com/StackExchange/StackExchange.Redis/issues/2003) by [@&#8203;martinekvili](https://github.com/martinekvili)) - Performance: Improves concurrent load performance when backlogs are utilized ([#&#8203;2008](https://github.com/StackExchange/StackExchange.Redis/issues/2008) by [@&#8203;NickCraver](https://github.com/NickCraver)) - Stability: Improves cluster connections when `CLUSTER` command is disabled ([#&#8203;2014](https://github.com/StackExchange/StackExchange.Redis/issues/2014) by [@&#8203;tylerohlsen](https://github.com/tylerohlsen)) - Logging: Improves connection logging and adds overall timing to it ([#&#8203;2019](https://github.com/StackExchange/StackExchange.Redis/issues/2019) by [@&#8203;NickCraver](https://github.com/NickCraver)) ### [`v2.2.88`](https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.2.88) [Compare Source](https://github.com/StackExchange/StackExchange.Redis/compare/2.2.79...2.2.88) - Change: Connection backoff default is now exponential instead of linear ([#&#8203;1896](https://github.com/StackExchange/StackExchange.Redis/issues/1896) by [@&#8203;lolodi](https://github.com/lolodi)) - Adds: Support for `NodeMaintenanceScaleComplete` event (handles Redis cluster scaling) ([#&#8203;1902](https://github.com/StackExchange/StackExchange.Redis/issues/1902) by [@&#8203;NickCraver](https://github.com/NickCraver)) ### [`v2.2.79`](https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.2.79) [Compare Source](https://github.com/StackExchange/StackExchange.Redis/compare/2.2.62...2.2.79) - NRediSearch: Support on json index ([#&#8203;1808](https://github.com/StackExchange/StackExchange.Redis/issues/1808) by [@&#8203;AvitalFineRedis](https://github.com/AvitalFineRedis)) - NRediSearch: Support sortable TagFields and unNormalizedForm for Tag & Text Fields ([#&#8203;1862](https://github.com/StackExchange/StackExchange.Redis/issues/1862) by [@&#8203;slorello89](https://github.com/slorello89) & [@&#8203;AvitalFineRedis](https://github.com/AvitalFineRedis)) - Fix: Potential errors getting socket bytes ([#&#8203;1836](https://github.com/StackExchange/StackExchange.Redis/issues/1836) by [@&#8203;NickCraver](https://github.com/NickCraver)) - Logging: Adds (.NET Version and timestamps) for better debugging ([#&#8203;1796](https://github.com/StackExchange/StackExchange.Redis/issues/1796) by [@&#8203;philon-msft](https://github.com/philon-msft)) - Adds: `Condition` APIs (transactions), now supports `StreamLengthEqual` and variants ([#&#8203;1807](https://github.com/StackExchange/StackExchange.Redis/issues/1807) by [@&#8203;AlphaGremlin](https://github.com/AlphaGremlin)) - Adds: Support for count argument to `ListLeftPop`, `ListLeftPopAsync`, `ListRightPop`, and `ListRightPopAsync` ([#&#8203;1850](https://github.com/StackExchange/StackExchange.Redis/issues/1850) by [@&#8203;jjfmarket](https://github.com/jjfmarket)) - Fix: Potential task/thread exhaustion from the backlog processor ([#&#8203;1854](https://github.com/StackExchange/StackExchange.Redis/issues/1854) by [@&#8203;mgravell](https://github.com/mgravell)) - Adds: Support for listening to Azure Maintenance Events ([#&#8203;1876](https://github.com/StackExchange/StackExchange.Redis/issues/1876) by [@&#8203;amsoedal](https://github.com/amsoedal)) - Adds: `StringGetDelete`/`StringGetDeleteAsync` APIs for Redis `GETDEL` command([#&#8203;1840](https://github.com/StackExchange/StackExchange.Redis/issues/1840) by [@&#8203;WeihanLi](https://github.com/WeihanLi)) ### [`v2.2.62`](https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.2.62) [Compare Source](https://github.com/StackExchange/StackExchange.Redis/compare/2.2.50...2.2.62) - Stability: Sentinel potential memory leak fix in OnManagedConnectionFailed handler ([#&#8203;1710](https://github.com/StackExchange/StackExchange.Redis/issues/1710) by [@&#8203;alexSatov](https://github.com/alexSatov)) - Fix: `GetOutstandingCount` could obscure underlying faults by faulting itself ([#&#8203;1792](https://github.com/StackExchange/StackExchange.Redis/issues/1792) by [@&#8203;mgravell](https://github.com/mgravell)) - Fix [#&#8203;1719](https://github.com/StackExchange/StackExchange.Redis/issues/1719): With backlog messages becoming reordered ([#&#8203;1779](https://github.com/StackExchange/StackExchange.Redis/issues/1779) by [@&#8203;TimLovellSmith](https://github.com/TimLovellSmith)) ### [`v2.2.50`](https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.2.50) - Performance: Optimization for PING accuracy ([#&#8203;1714](https://github.com/StackExchange/StackExchange.Redis/issues/1714) by [@&#8203;eduardobr](https://github.com/eduardobr)) - Fix: Improvement to reconnect logic (exponential backoff) ([#&#8203;1735](https://github.com/StackExchange/StackExchange.Redis/issues/1735) by [@&#8203;deepakverma](https://github.com/deepakverma)) - Adds: Refresh replica endpoint list on failover ([#&#8203;1684](https://github.com/StackExchange/StackExchange.Redis/issues/1684) by [@&#8203;laurauzcategui](https://github.com/laurauzcategui)) - Fix: `ReconfigureAsync` re-entrancy (caused connection issues) (\[1772 by [@&#8203;NickCraver](https://github.com/NickCraver)) - Fix: `ReconfigureAsync` Sentinel race resulting in NoConnectionAvailable when using DemandMaster ([#&#8203;1773](https://github.com/StackExchange/StackExchange.Redis/issues/1773) by [@&#8203;NickCraver](https://github.com/NickCraver)) - Stability: Resolve race in AUTH and other connection reconfigurations ([#&#8203;1759](https://github.com/StackExchange/StackExchange.Redis/issues/1759) by [@&#8203;TimLovellSmith](https://github.com/TimLovellSmith) and NickCraver) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjQuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI2NC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
renovate added 1 commit 2024-04-05 00:04:02 +00:00
marco merged commit 73a596186d into main 2024-04-07 17:23:54 +00:00
marco deleted branch renovate/stackexchange.redis-2.x 2024-04-07 17:23:54 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: training/voting-example#6