imperugo / StackExchange.Redis.Extensions

MIT License
601 stars 179 forks source link

Bump StackExchange.Redis from 2.1.30 to 2.6.104 #559

Closed dependabot[bot] closed 1 year ago

dependabot[bot] commented 1 year ago

Bumps StackExchange.Redis from 2.1.30 to 2.6.104.

Release notes

Sourced from StackExchange.Redis's releases.

2.6.104

  • 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

2.6.96

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

2.6.90

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

2.6.86

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

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 (#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)

2.6.70

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

2.6.66

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

... (truncated)

Changelog

Sourced from StackExchange.Redis's changelog.

2.6.104

  • 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)
  • Add: Better error messages (over generic timeout) when commands are backlogged and unable to write to any connection (#2408 by NickCraver)
  • 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)
  • Add: 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)

2.6.96

2.6.90

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

2.6.86

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

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 (#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)

2.6.70

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

2.6.66

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

... (truncated)

Commits
  • 129d59f Timeouts: Improve Backlog handling and errors for users + GC rooting fixes fo...
  • f690d16 Clarify meaning of RedisValue.IsInteger (#2420)
  • ef388bd Fix #2392: Dequeue all timed out messages from the backlog when not connected...
  • 1364ef8 Add support for CLIENT SETINFO (#2414)
  • 3f8fd08 Reference the correct default retry policy (#2410)
  • 9698aaa expose IAsyncEnumerable on ChannelMessageQueue (#2402)
  • 867b04d AppVeyor: move to VS 2022 image (#2387)
  • 6fa6a79 2.6.96 Release Notes
  • ab757f7 fix #2376 - avoid deadlock scenario when completing dead connections (#2378)
  • 51a7d90 Implement RedisValue.Length for all underlying storage kinds (#2370)
  • Additional commits viewable in compare view


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
dependabot[bot] commented 1 year ago

Superseded by #564.