Update dependency StackExchange.Redis to v2.7.33 #6
Reference in New Issue
Block a user
Delete Branch "renovate/stackexchange.redis-2.x"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
2.2.4->2.7.33Release Notes
StackExchange/StackExchange.Redis (StackExchange.Redis)
v2.7.33Compare Source
What's Changed
CheckTrustedIssuercertificate validation for broken chain scenarios (#2665 by @NickCraver)ConfigurationOptions.TrustIssuerat all.LoggingTunnelAPI; see https://stackexchange.github.io/StackExchange.Redis/Logging (#2660 by @mgravell)Full Changelog: https://github.com/StackExchange/StackExchange.Redis/compare/2.7.27...2.7.33
v2.7.27Compare Source
What's Changed
HeartbeatConsistencyChecksinClone()(#2658 by @mgravell)AddLibraryNameSuffixAPI for annotating connections with usage (#2659 by @mgravell)Full Changelog: https://github.com/StackExchange/StackExchange.Redis/compare/2.7.23...2.7.27
v2.7.23Compare Source
What's Changed
HeartbeatConsistencyChecksoption (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.20Compare Source
What's Changed
Full Changelog: https://github.com/StackExchange/StackExchange.Redis/compare/2.7.17...2.7.20
v2.7.17Compare Source
What's Changed
IsExternalInitto support down-level TFMs (#2621 by @mgravell)InternalsVisibleToPublicKeyenhancements(#2623 by @WeihanLi)NullReferenceExceptionduring shutdown of connections (#2629 by @NickCraver)Full Changelog: https://github.com/StackExchange/StackExchange.Redis/compare/2.7.10...2.7.17
v2.7.10Compare Source
EXPIRETIMEandPEXPIRETIMEmiscategorized asPrimaryOnlycommands causing them to fail when issued against a read-only replica (#2593 by @slorello89)HELLOto Sentinel connections so they can support RESP3 (#2601 by @NickCraver)Full Changelog: https://github.com/StackExchange/StackExchange.Redis/compare/2.7.4...2.7.10
v2.7.4Compare Source
ConfigurationOptions.LoggerFactoryfor logging to anILoggerFactory(e.g.ILogger) all connection and error events (#2051 by @NickCraver)Full Changelog: https://github.com/StackExchange/StackExchange.Redis/compare/2.6.122..2.7.4
v2.6.122Compare Source
Timer.ActiveCountunderPOOLin timeout messages on .NET 6+ to help diagnose timer overload affecting timeout evaluations (#2500 by @NickCraver)LibraryNameconfiguration option; allows the library name to be controlled at the individual options level (in addition to the existing controls inDefaultOptionsProvider) (#2502 by @mgravell)DefaultOptionsProvider.GetProviderallows 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.116Compare Source
RedisChannel.UseImplicitAutoPattern(global) andRedisChannel.IsPattern(#2480 by @mgravell)RedisChannelconversion operators as obsolete; addRedisChannel.LiteralandRedisChannel.Patternhelpers (#2481 by @mgravell)Pipelines.Sockets.Unofficialtov2.2.8to support native AOT (#2456 by @eerhardt)Full Changelog: https://github.com/StackExchange/StackExchange.Redis/compare/2.6.111...2.6.116
v2.6.111Compare Source
User/PasswordinDefaultOptionsProviderto support token rotation scenarios (#2445 by @NickCraver)TryGetAzureRoleInstanceIdNoThrow(#2451 by @eerhardt)HTTP/1.1 200 Connection establishedin HTTP Tunnel (#2448 by @flobernd)DefaultOptionsProvider.LibraryNamefor specifying lib-name passed toCLIENT SETINFOin Redis 7.2+ (#2453 by @NickCraver)New Contributors
Full Changelog: https://github.com/StackExchange/StackExchange.Redis/compare/2.6.104...2.6.111
v2.6.104Compare Source
ChannelMessageQueueasIAsyncEnumerable<ChannelMessage>(#2402 by @mgravell)CLIENT SETINFO(lib name/version) during handshake; opt-out is viaConfigurationOptions; also support read ofresp,lib-verandlib-nameviaCLIENT LIST(#2414 by @mgravell)RedisValue.IsIntegerre #2418 (#2420 by @mgravell)New Contributors
Full Changelog: https://github.com/StackExchange/StackExchange.Redis/compare/2.6.96...2.6.104
v2.6.96Compare Source
RedisConnectionException.FailureTypetoAuthenticationFailureon all authentication scenarios for better handling (#2367 by @NickCraver)RedisValue.Length()for all storage types (#2370 by @mgravell)Full Changelog: https://github.com/StackExchange/StackExchange.Redis/compare/2.6.90...2.6.96
v2.6.90Compare Source
EVAL_ROandEVALSHA_ROviaIDatabase.ScriptEvaluateReadOnly/IDatabase.ScriptEvaluateReadOnlyAsync(#2168 by @shacharPash)v2.6.86Compare Source
MOVEDis encountered from a cluster, a reconfigure will happen proactively to react to cluster changes ASAP (#2286 by @NickCraver)failstate (newClusterNode.IsFailproperty) forCLUSTER NODESand exposefail?as a property (IsPossiblyFail) as well (#2288 by @NickCraver)IConnectionMultiplexer.ServerMaintenanceEvent(was onConnectionMultiplexerbut not the interface) (#2306 by @NickCraver)Sync-Ops(synchronous operations),Async-Ops(asynchronous operations), andServer-Connected-Seconds(how long the connection in question has been connected, or"n/a") (#2300 by @NickCraver)v2.6.80Compare Source
last-inandcur-in(bytes) to timeout exceptions to help identify timeouts that were just-behind another large payload off the wire (#2276 by @NickCraver)System.Diagnostics.PerformanceCounter) (#2285 by @NickCraver)v2.6.70Compare Source
MOVEDwithNoRedirect(and other non-reachable errors) should respect theIncludeDetailInExceptionssetting (#2267 by @mgravell)v2.6.66Compare Source
IConnectionMultiplexernow implementsIAsyncDisposable(#2161 by @kimsey0)IConnectionMultiplexer.GetServers()to get allIServerinstances for a multiplexer (#2203 by @NickCraver)Command cannot be issued to a replicaerrors (#2191 by @slorello89)ConfigureAwait(false)) (#2229 by @mgravell)ConfigurationOptions.SslClientAuthenticationOptions(netcoreapp3.1/net5.0+ only) to give more control over SSL/TLS authentication (#2224 by @NickCraver)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)v2.6.48Compare Source
LuaScript.Preparefor scripts that don't have parameters (#2166 by @mgravell)v2.6.45Compare Source
nullvs. empty array returns (preferring an not-null empty array in those edge cases)COPYwith.KeyCopy()/.KeyCopyAsync()(#2064 by @Avital-Fine)LMOVEwith.ListMove()/.ListMoveAsync()(#2065 by @Avital-Fine)ZRANDMEMBERwith.SortedSetRandomMember()/.SortedSetRandomMemberAsync(),.SortedSetRandomMembers()/.SortedSetRandomMembersAsync(), and.SortedSetRandomMembersWithScores()/.SortedSetRandomMembersWithScoresAsync()(#2076 by @Avital-Fine)SMISMEMBERwith.SetContains()/.SetContainsAsync()(#2077 by @Avital-Fine)ZDIFF,ZDIFFSTORE,ZINTER,ZINTERCARD, andZUNIONwith.SortedSetCombine()/.SortedSetCombineAsync(),.SortedSetCombineWithScores()/.SortedSetCombineWithScoresAsync(), and.SortedSetIntersectionLength()/.SortedSetIntersectionLengthAsync()(#2075 by @Avital-Fine)SINTERCARDwith.SetIntersectionLength()/.SetIntersectionLengthAsync()(#2078 by @Avital-Fine)LPOSwith.ListPosition()/.ListPositionAsync()and.ListPositions()/.ListPositionsAsync()(#2080 by @slorello89)ZMSCOREwith.SortedSetScores()/.SortedSetScoresAsync()(#2082 by @ttingen)NX | XX | GT | LTtoEXPIRE,EXPIREAT,PEXPIRE, andPEXPIREATwith.KeyExpire()/.KeyExpireAsync()(#2083 by @Avital-Fine)EXPIRETIME, andPEXPIRETIMEwith.KeyExpireTime()/.KeyExpireTimeAsync()(#2083 by @Avital-Fine)XACK,XCLAIM, andXPENDINGin cluster scenarios to eliminateMOVEDretries (#2085 by @nielsderdaele)OBJECT REFCOUNTwith.KeyRefCount()/.KeyRefCountAsync()(#2087 by @Avital-Fine)OBJECT ENCODINGwith.KeyEncoding()/.KeyEncodingAsync()(#2088 by @Avital-Fine)GEOSEARCHwith.GeoSearch()/.GeoSearchAsync()(#2089 by @slorello89)GEOSEARCHSTOREwith.GeoSearchAndStore()/.GeoSearchAndStoreAsync()(#2089 by @slorello89)HRANDFIELDwith.HashRandomField()/.HashRandomFieldAsync(),.HashRandomFields()/.HashRandomFieldsAsync(), and.HashRandomFieldsWithValues()/.HashRandomFieldsWithValuesAsync()(#2090 by @slorello89)LMPOPwith.ListLeftPop()/.ListLeftPopAsync()and.ListRightPop()/.ListRightPopAsync()(#2094 by @slorello89)ZMPOPwith.SortedSetPop()/.SortedSetPopAsync()(#2094 by @slorello89)XAUTOCLAIMwith.StreamAutoClaim()/.StreamAutoClaimAsync()and.StreamAutoClaimIdsOnly()/.StreamAutoClaimIdsOnlyAsync()(#2095 by @ttingen).StringSet()/.StringSetAsync()overloads for source compat broken for 1 case in 2.5.61 (#2098 by @NickCraver)XREADandXREADGROUPcommands (#2093 by @nielsderdaele)LCSwith.StringLongestCommonSubsequence()/.StringLongestCommonSubsequence(),.StringLongestCommonSubsequenceLength()/.StringLongestCommonSubsequenceLengthAsync(), and.StringLongestCommonSubsequenceWithMatches()/.StringLongestCommonSubsequenceWithMatchesAsync()(#2104 by @Avital-Fine)OBJECT FREQwith.KeyFrequency()/.KeyFrequencyAsync()(#2105 by @Avital-Fine)SORT_ROwith.Sort()/.SortAsync()(#2111 by @slorello89)BIT | BYTEtoBITCOUNTandBITPOSwith.StringBitCount()/.StringBitCountAsync()and.StringBitPosition()/.StringBitPositionAsync()(#2116 by @Avital-Fine)GT,LT, andCHonZADDwith.SortedSetAdd()/.SortedSetAddAsync()and.SortedSetUpdate()/.SortedSetUpdateAsync()(#2136 by @Avital-Fine)COMMAND COUNT,COMMAND GETKEYS, andCOMMAND LIST, with.CommandCount()/.CommandCountAsync(),.CommandGetKeys()/.CommandGetKeysAsync(), and.CommandList()/.CommandListAsync()(#2143 by @shacharPash)v2.5.61Compare Source
GETEXsupport with.StringGetSetExpiry()/.StringGetSetExpiryAsync()(#1743 by @benbryant0)SELECTcommands if explicitly disabled (#2023 by @NickCraver)KEEPTTLsupport onSEToperations (#2029 by @NickCraver)XTRIMMAXLENargument to be0(#2030 by @NicoAvanzDev)ConfigurationOptions.BeforeSocketConnectfor configuring sockets between creation and connection (#2031 by @NickCraver)ClientKill/ClientKillAsyncwhen usingClientType(#2048 by @NickCraver)ConfigurationOptionschanges afterConnectionMultiplexerconnections 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)ConnectionMultiplexer.IncludeDetailInExceptionsandConnectionMultiplexer.IncludePerformanceCountersInExceptionstoConfigurationOptions. The old properties are[Obsolete]proxies that work until 3.0 for compatibility.ZRANGESTOREwith.SortedSetRangeAndStore()/.SortedSetRangeAndStoreAsync()(#2052 by @slorello89)v2.5.43Compare Source
ExponentialRetrybackoff policy (#1921 by @gliljas)DefaultOptionsProvidersupport for endpoint-based defaults configuration (#1987 by @NickCraver)SUBSCRIBEis disabled, give proper errors and connect faster (#2001 by @NickCraver)GETonSETcommand support (present in Redis 6.2+ - #2003 by @martinekvili)CLUSTERcommand is disabled (#2014 by @tylerohlsen)v2.2.88Compare Source
NodeMaintenanceScaleCompleteevent (handles Redis cluster scaling) (#1902 by @NickCraver)v2.2.79Compare Source
ConditionAPIs (transactions), now supportsStreamLengthEqualand variants (#1807 by @AlphaGremlin)ListLeftPop,ListLeftPopAsync,ListRightPop, andListRightPopAsync(#1850 by @jjfmarket)StringGetDelete/StringGetDeleteAsyncAPIs for RedisGETDELcommand(#1840 by @WeihanLi)v2.2.62Compare Source
GetOutstandingCountcould obscure underlying faults by faulting itself (#1792 by @mgravell)v2.2.50ReconfigureAsyncre-entrancy (caused connection issues) ([1772 by @NickCraver)ReconfigureAsyncSentinel race resulting in NoConnectionAvailable when using DemandMaster (#1773 by @NickCraver)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.
This PR has been generated by Renovate Bot.