Update module github.com/redis/go-redis/v9 to v9.19.0#11
Open
renovate[bot] wants to merge 1 commit intomainfrom
Open
Update module github.com/redis/go-redis/v9 to v9.19.0#11renovate[bot] wants to merge 1 commit intomainfrom
renovate[bot] wants to merge 1 commit intomainfrom
Conversation
f6bba80 to
be1aa47
Compare
be1aa47 to
f0033c2
Compare
12ff0c3 to
f0033c2
Compare
f0033c2 to
5004536
Compare
5004536 to
a0f027c
Compare
Contributor
Author
ℹ Artifact update noticeFile name: go.modIn order to perform the update(s) described in the table above, Renovate ran the
Details:
|
a0f027c to
4f8480c
Compare
4f8480c to
eaadb79
Compare
eaadb79 to
6abe0b1
Compare
92ecc17 to
6abe0b1
Compare
6abe0b1 to
e2409d5
Compare
e2409d5 to
c409e26
Compare
6aefc70 to
af62699
Compare
afe184a to
af62699
Compare
af62699 to
27481c0
Compare
27481c0 to
b69fb7c
Compare
b69fb7c to
3f9458c
Compare
3f9458c to
8f25b1b
Compare
8f25b1b to
3107b97
Compare
3107b97 to
6c2519e
Compare
Contributor
Author
ℹ️ Artifact update noticeFile name: go.modIn order to perform the update(s) described in the table above, Renovate ran the
Details:
|
6c2519e to
2c294b3
Compare
2c294b3 to
cc783e9
Compare
cc783e9 to
fa302d6
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v9.6.1→v9.19.0Release Notes
redis/go-redis (github.com/redis/go-redis/v9)
v9.19.0: 9.19.0Compare Source
🚀 Highlights
FIPS-Compatible Script Helper
Scriptnow supports a FIPS-safe execution mode that avoids client-side SHA-1 computation, which is blocked in strict FIPS environments. A newNewScriptServerSHAconstructor usesSCRIPT LOADto obtain and cache the digest from the server, then runs commands viaEVALSHA/EVALSHA_RO. Falls back toEVAL/EVALROif loading fails, and transparently retries once onNOSCRIPT. The default behavior is unchanged for existing users.(#3700) by @chaitanyabodlapati
FT.AGGREGATE Step-Based Pipeline Builder
Added a new step-based
FT.AGGREGATEpipeline API viaFTAggregateOptions.Steps, allowingLOAD,APPLY,GROUPBY, andSORTBY(with per-stepMAX) to be repeated and interleaved in arbitrary order — matching Redis's native multi-stage aggregation semantics. The legacyLoad/Apply/GroupBy/SortBy/SortByMaxfields are now deprecated.(#3782) by @ndyakov
Raw RESP Protocol Access
Added
DoRawandDoRawWriteTomethods for executing arbitrary commands and reading the raw RESP response. Useful for proxying, custom protocol inspection, and working with commands not yet wrapped by go-redis.(#3713) by @ofekshenawa
Configurable Dial Retry Backoff
Added
DialerRetryBackoffoption (plumbed throughOptions,ClusterOptions,RingOptions,FailoverOptions) to let callers customize the delay between failed dial attempts. HelpersDialRetryBackoffConstantandDialRetryBackoffExponential(with jitter and cap) are provided out of the box. Dial timeout is now also applied per attempt rather than across all retries.(#3706, #3705) by @mwhooker
✨ New Features
FT.AGGREGATEwith support for repeated/interleavedLOAD,APPLY,GROUPBY, andSORTBYstages (#3782) by @ndyakovVISMEMBERandWITHATTRIBSsupport (#3753) by @romanpovolNewScriptServerSHAusesSCRIPT LOADto obtain the digest from the server, avoiding client-side SHA-1 (#3700) by @chaitanyabodlapatiDoRawandDoRawWriteTofor raw RESP protocol access (#3713) by @ofekshenawaDialerRetryBackofffunction option with constant and exponential helpers (#3706) by @mwhookerNOSCRIPTreplies are now surfaced as a typed error for easier handling (#3738) by @LINKIWIClientSetNamemethod toPubSub(#3727) by @Flack74ReplicaOfmethod replaces the deprecatedSlaveOf(#3720) by @CopilotHScannow supports types implementingencoding.BinaryUnmarshaler(#3768) by @Aaditya-dubey1🐛 Bug Fixes
CLIENT MAINT_NOTIFICATIONShandshake whenHELLOfails and connection falls back to RESP2; fail fast when explicitly enabled with RESP3 (#3788) by @ndyakovShouldRetrynow treatsnet.OpErrorwithOp == "dial"timeout errors as safe to retry since no command was sent (#3787) by @vladisa88baseClientclose logic; replaced with a bounded, concurrency-safe named-hook registry (#3785) by @ndyakovcloseNotifytimeouts) for connections already dropped by the server due to idle timeout (#3778) by @ofekshenawaConnStateMachine.notifyWaitersthat could wake multiple waiters under a single mutex hold and violate FIFO ordering (#3777) by @0x48coreREADONLYerrors embedded in Lua script error messages on read-only replicas so commands are correctly retried (#3769) by @zhengjileiVSimWithScores,VSimWithArgsWithScores, andVLinksWithScoreswhich were broken on RESP2 connections returning flat arrays instead of maps (#3767) by @CopilotZRangeArgswithRev+ByScore/ByLexincorrectly swappingStart/Stop, breakingZRANGESTORE(#3751) by @Copilotredisotel-native(#3743) by @ofekshenawaOptions(#3739) by @rubensayshiredisotel-native(#3735) by @ofekshenawaotel/semconv/v1.38.0inredisotel-native(#3731) by @wzy9607SET ... NXinstead of the deprecatedSETNXcommand (#3723) by @ndyakovTIMEas a keyless command for correct cluster routing (#3722) by @fatal10110pool.namebeing appended per node, which corrupted and dropped user-provided custom attributes (#3699) by @Jesse-Bonfire*baseClient.initConn(); added explicit nil option guards to client constructors (#3676) by @olde-ducke⚡ Performance
github.com/dgryski/go-rendezvousdependency with an in-repo implementation ininternal/hashtag, reducing the dependency graph while preserving algorithm parity (#3762) by @bigsk05🧪 Testing & Infrastructure
repository,ref, andclient-libs-test-image-taginputs to therun-testscomposite action;redis-versionis now optional so unstable builds useREDIS_VERSIONfrom the Makefile (#3749) by @dariaguy-compat=1.24in release scripts (#3714, #3754) by @ndyakov, @cxljs🧰 Maintenance
Conn.closedatomic field in favor of the state machine'sStateClosed(#3783) by @cxljsredisotel/redisotel-native(#3770) by @ndyakovmaps.Keys,slices.Collect,slices.Contains,clear(), andslices.SortFuncinstead of custom helpers (#3758, #3746) by @cxljsHGetAlldescribing behavior and complexity (#3776) by @0x48core👥 Contributors
We'd like to thank all the contributors who worked on this release!
@0x48core, @Aaditya-dubey1, @Copilot, @Flack74, @Jesse-Bonfire, @LINKIWI, @bigsk05, @chaitanyabodlapati, @cxljs, @dariaguy, @fatal10110, @mwhooker, @ndyakov, @ofekshenawa, @olde-ducke, @olzhas-sabiyev, @romanpovol, @rubensayshi, @vladisa88, @wzy9607, @zhengjilei
Full Changelog: redis/go-redis@v9.18.0...v9.19.0
v9.18.0: 9.18.0Compare Source
Redis 8.6 Support
Added support for Redis 8.6, including new commands and features for streams idempotent production and HOTKEYS.
Smart Client Handoff (Maintenance Notifications) for Cluster
note: Pending RS version release
This release introduces comprehensive support for Redis Enterprise Cluster maintenance notifications via SMIGRATING/SMIGRATED push notifications. The client now automatically handles slot migrations by:
(#3643) by @ndyakov
OpenTelemetry Native Metrics Support
Added comprehensive OpenTelemetry metrics support following the OpenTelemetry Database Client Semantic Conventions. The implementation uses a Bridge Pattern to keep the core library dependency-free while providing optional metrics instrumentation through the new
extra/redisotel-nativepackage.Metric groups include:
(#3637) by @ofekshenawa
✨ New Features
ProducerID,IdempotentID,IdempotentAutoinXAddArgsand newXCFGSETcommand (#3693) by @ofekshenawaDialerRetriesandDialerRetryTimeouttoClusterOptions,RingOptions, andFailoverOptions(#3686) by @naveenchander30DigestStringandDigestByteshelper functions for client-side xxh3 hashing compatible with Redis DIGEST command (#3679) by @ofekshenawa🐛 Bug Fixes
WithTimeout()-pubSubPoolis now properly cloned (#3710) by @CopilotMaintNotificationsConfigininitConn(#3707) by @veeceeywantConnelements accumulation inwantConnQueue(#3680) by @cyningsun=when approx is false (#3684) by @ndyakov⚡ Performance
🧪 Testing
🧰 Maintenance
errors.Join()(#3653) by @cxljsMaxActiveConns(#3674) by @codykaup👥 Contributors
We'd like to thank all the contributors who worked on this release!
@12ya, @Copilot, @codykaup, @cxljs, @cyningsun, @feelshu, @feiguoL, @iamamirsalehi, @naveenchander30, @ndyakov, @ofekshenawa, @veeceey
v9.17.3: 9.17.3Compare Source
🐛 Bug Fixes
wantConnelements accumulation inwantConnQueuethat could cause resource leaks in high concurrency scenarios with dial failures (#3680) by @cyningsunXADDandXTRIMcommands to use exact threshold (=) whenApproxis false, ensuring precise stream trimming behavior (#3684) by @ndyakovConnMaxLifetimeJitterconfiguration to distribute connection expiration times and prevent the thundering herd problem when many connections expire simultaneously (#3666) by @cyningsunDialerRetriesandDialerRetryTimeoutfields toClusterOptions,RingOptions, andFailoverOptionsto allow configuring connection retry behavior for cluster, ring, and sentinel clients (#3686) by @naveenchander30Contributors
We'd like to thank all the contributors who worked on this release!
@cyningsun, @naveenchander30, and @ndyakov
Full Changelog: redis/go-redis@v9.17.2...v9.17.3
v9.17.2: 9.17.2Compare Source
🐛 Bug Fixes
🧰 Maintenance
Contributors
We'd like to thank all the contributors who worked on this release!
@cyningsun and @ndyakov
v9.17.1: 9.17.1Compare Source
🐛 Bug Fixes
🧰 Maintenance
Contributors
We'd like to thank all the contributors who worked on this release!
@marcoferrer and @ndyakov
v9.17.0: 9.17.0Compare Source
🚀 Highlights
Redis 8.4 Support
Added support for Redis 8.4, including new commands and features (#3572)
Typed Errors
Introduced typed errors for better error handling using
errors.Asinstead of string checks. Errors can now be wrapped and set to commands in hooks without breaking library functionality (#3602)New Commands
IFEQ,IFNE,IFDEQ,IFDNE) (#3583, #3595)ACLGenPass,ACLUsers, andACLWhoAmI(#3576)SLOWLOG LENandSLOWLOG RESET(#3585)LATENCY LATESTandLATENCY RESET(#3584)Search & Vector Improvements
FT.HYBRIDcommand (#3573)VRANGEcommand for vector sets (#3543)Connection Pool Improvements
Metrics & Observability
✨ New Features
🐛 Bug Fixes
joinErrorsto prevent panic (#3577) by @manisharma⚡ Performance
🧪 Testing & Infrastructure
👥 Contributors
We'd like to thank all the contributors who worked on this release!
@12ya, @ajax16384, @cxljs, @cyningsun, @destinyoooo, @dragneelfps, @htemelski-redis, @manisharma, @ndyakov, @ofekshenawa, @pvragov
Full Changelog: redis/go-redis@v9.16.0...v9.17.0
v9.16.0: 9.16.0Compare Source
🚀 Highlights
Maintenance Notifications Support
This release introduces comprehensive support for Redis maintenance notifications, enabling applications to handle server maintenance events gracefully. The new
maintnotificationspackage provides:For detailed usage examples and configuration options, see the maintenance notifications documentation.
✨ New Features
TraceCmdFilteroption to selectively trace commands🐛 Bug Fixes
🔧 Improvements
metric.WithAttributeSetto avoid unnecessary attribute copying in redisotel (#3552)📚 Documentation
MaxRetriesis disabled forClusterClient(#3551)🧪 Testing & Infrastructure
📦 Dependencies
rojopolis/spellcheck-github-actionsfrom 0.51.0 to 0.52.0 (#3520)github/codeql-actionfrom 3 to 4 (#3544)👥 Contributors
We'd like to thank all the contributors who worked on this release!
@ndyakov, @htemelski-redis, @Sovietaced, @Udhayarajan, @boekkooi-impossiblecloud, @Pika-Gopher, @cxljs, @huiyifyj, @omid-h70
Full Changelog: redis/go-redis@v9.14.0...v9.16.0
v9.15.1: Retract v9.15.0 and v9.15.1v9.14.1: 9.14.1Compare Source
Changes
Contributors
We'd like to thank all the contributors who worked on this release!
@Sovietaced, @ndyakov
v9.14.0: 9.14.0Compare Source
Highlights
Changes
🚀 New Features
🐛 Bug Fixes
🧰 Maintenance
Contributors
We'd like to thank all the contributors who worked on this release!
@elena-kolevska, @htemelski-redis and @ndyakov
v9.13.0: 9.13.0Compare Source
Highlights
Changes
🚀 New Features
🐛 Bug Fixes
🧰 Maintenance
Contributors
We'd like to thank all the contributors who worked on this release!
@LINKIWI, @cxljs, @cybersmeashish, @elena-kolevska, @htemelski-redis, @mwhooker, @ndyakov, @ofekshenawa, @suever
v9.12.1: 9.12.1Compare Source
🚀 Highlights
In the last version (9.12.0) the client introduced bigger write and read buffer sizes. The default value was 512KiB.
However, users reported that this is too big for most use cases and can lead to high memory usage.
In this version the default value is changed to 256KiB. The
README.mdwas updated to reflect thecorrect default value and include a note that the default value can be changed.
🐛 Bug Fixes
🧰 Maintenance
Contributors
We'd like to thank all the contributors who worked on this release!
@ndyakov and @vmihailenco
v9.12.0: 9.12.0Compare Source
🚀 Highlights
FTSearch,FTAggregateand other search commands.EPSILONoption inFT.VSIM.Changes
errors.Joinrequires Go 1.20 or later (#3442)🚀 New Features
EPSILONoption (#3454)🐛 Bug Fixes
🧰 Maintenance
Contributors
We'd like to thank all the contributors who worked on this release!
@andy-stark-redis, @cxljs, @elena-kolevska, @htemelski-redis, @jouir, @monkey92t, @ndyakov, @ofekshenawa, @rokn, @smnvdev, @strobil and @wzy9607
New Contributors
v9.11.0: 9.11.0Compare Source
🚀 Highlights
Fixes
TxPipelineto work correctly in cluster scenarios, allowing execution of commandsonly in the same slot for a given transaction.
Changes
🚀 New Features
scancommands, rather than random (#2623)🐛 Bug Fixes
🧰 Maintenance
Ring,ClientandClusterClient(#3401)Contributors
We'd like to thank all the contributors who worked on this release!
@andy-stark-redis, @boekkooi-impossiblecloud, @cxljs, @dcherubini, @iamamirsalehi, @ndyakov, @pete-woods, @twz915
v9.10.0: 9.10.0Compare Source
Experimental support for vector sets!
🚀 Highlights
go-redisnow supports vector sets. This data type is marked as "in preview" in Redis and its support ingo-redisis marked as experimental. You can find examples in the documentation and in thedoctestsfolder.Changes
🚀 New Features
🧰 Maintenance
Contributors
We'd like to thank all the contributors who worked on this release!
@AndBobsYourUncle, @andy-stark-redis, @fukua95 and @ndyakov
v9.9.0: 9.9.0Compare Source
🚀 Highlights
StreamingCredentialsProviderfor dynamic credential updates (experimental)ParseFailoverURLfor easier failover configuration✨ New Features
StreamingCredentialsProviderfor token-based authentication (#3320)ParseFailoverURLfor parsing failover URLs (#3362)ParseFloatandMustParseFloatin public utils package (#3371)Atoi,ParseInt,ParseUint, andParseFloat(#3377)GetShardClients()to retrieve all active shard clientsGetShardClientForKey(key string)to get the shard client for a specific key (#3388)🐛 Bug Fixes
Configuration
📅 Schedule: (UTC)
🚦 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 was generated by Mend Renovate. View the repository job log.