chore(deps): update module github.com/redis/go-redis/extra/redisotel/v9 to v9.21.0 (8.19)#6821
Merged
elastic-renovate-prod[bot] merged 1 commit intoJun 24, 2026
Conversation
Contributor
Author
ℹ Artifact update noticeFile name: go.modIn order to perform the update(s) described in the table above, Renovate ran the
Details:
|
9540c9e to
1f3be69
Compare
Contributor
|
Tick the box to add this pull request to the merge queue (same as
|
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.20.0->v9.21.0Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
redis/go-redis (github.com/redis/go-redis/extra/redisotel/v9)
v9.21.0: 9.21.0Compare Source
This is a minor release adding new features and bug fixes. There are no breaking changes; upgrading from 9.20.x is a drop-in replacement.
🚀 Highlights
Zero-copy
GetToBuffer/SetFromBufferTwo new
StringCmdablemethods let callers read and write Redis string values directly into and from pre-allocated byte buffers, eliminating the per-call payload allocation thatGet/Setincur:GetToBufferdecodes the bulk reply straight into the caller-ownedbuf(no intermediate allocation); a buffer that is too small returns an error after draining the payload, so the connection stays aligned for the next reply.SetFromBufferis provided for API symmetry — it dispatches to the same[]bytewriter path asSet(ctx, key, buf, 0)and produces byte-identical output on the wire. Available on*Client,*ClusterClient,*Ring,*ConnandPipeliner.(#3834) by @ndyakov
Explicit
LIMIT 0for stream trimmingRedis treats
XTRIM/XADDapproximate-trim (~)LIMIT 0as "disable the trimming effort cap entirely", which differs from omittingLIMIT(the implicit100 * stream-node-max-entriesdefault). The command builders previously only emittedLIMITwhenlimit > 0, so callers could never send an explicitLIMIT 0. Following theKeepTTL = -1precedent, the newXTrimLimitDisabled = -1sentinel now emits an explicitLIMIT 0;limit == 0keeps the historical no-LIMITbehavior, so existing callers produce byte-identical commands.(#3848) by @TheRealMal
✨ New Features
GetToBuffer/SetFromBufferonStringCmdableand theZeroCopyStringCmdresult type, reading/writing string values into caller-owned buffers without per-call payload allocation (#3834) by @ndyakovXTrimLimitDisabledsentinel:XTRIM/XADDapproximate trimming can now send an explicitLIMIT 0to disable the trim effort cap, via the newXTrimLimitDisabled = -1sentinel (#3848) by @TheRealMalchannel.initHealthChecknow bounds thePingit issues with a fresh per-check timeout context (the exportedpingTimeout/reconnectTimeout) instead ofcontext.TODO(), so a stuck health-check Ping can no longer block indefinitely (#3819) by @abdellaniUNWATCHinTx.Close: a transaction now tracks whether aWATCHis still active (watchArmed) and only issuesUNWATCHonClosewhen it is, removing an extra round trip on the commonWATCH/.../EXECand no-keyWatchpaths while never returning a connection to the pool with an active watch (#3854) by @fcostaoliveira🐛 Bug Fixes
maintnotificationsModeAutofail-open:ModeAutonow stays fail-open when the server does not support maintenance notifications — connections are retired and tracking is guarded during downgrade so the client keeps working instead of erroring (#3853) by @terrorobe👥 Contributors
We'd like to thank all the contributors who worked on this release!
@abdellani, @fcostaoliveira, @ndyakov, @terrorobe, @TheRealMal
v9.20.1: 9.20.1Compare Source
This is a patch release containing bug fixes only. There are no new features or breaking changes; upgrading from 9.20.0 is a drop-in replacement.
🚀 Highlights
RESP3 pub/sub message loss fixed
PeekPushNotificationNamepreviously inspected only the bytes already buffered bybufio, so when a push frame header straddled a buffer fill boundary it could return a truncated notification name (e.g."messa"instead of"message"). The push processor then mis-routed the frame andReadReplysilently dropped it, causing intermittent RESP3 pub/sub message loss. The peek now grows its window (36 bytes → up to 4 KiB) and reads more from the connection until the header is complete, cleanly separating incomplete prefixes from corrupt frames (including overflow-safe bulk-length handling). Fixes #3839.(#3842) by @ndyakov
🐛 Bug Fixes
PeekPushNotificationNameno longer returns a truncated notification name when a push frame header spans a buffer boundary, preventing silent RESP3 pub/sub message loss (fixes #3839) (#3842) by @ndyakovFT.HYBRIDvector params: Vector data is now always sent viaPARAMSwith auto-generated param names (__vector_param_N, with collision avoidance) whenVectorParamNameis omitted, since Redis no longer accepts inline vector blobs; theFTHybridOptions.Paramsmap is no longer mutated, so the same options struct can be reused across calls (#3844) by @ndyakovCLUSTER SHARDSforward compatibility: Unknown shard- and node-level attributes in theCLUSTER SHARDSreply are now skipped viaDiscardNext()instead of erroring, so clients keep working when the server introduces new fields (#3843) by @madolsonPubSub.releaseConnno longer reconnects twice when a connection is both unusable (or pending handoff) and reports a bad-connection error, avoiding a wasted connection establish-then-close cycle (#3833) by @cxljs👥 Contributors
We'd like to thank all the contributors who worked on this release!
@cxljs, @madolson, @ndyakov
Full Changelog: redis/go-redis@v9.20.0...v9.20.1
Configuration
📅 Schedule: Branch creation - Between 01:00 AM and 01:59 AM, Monday through Friday ( * 1 * * 1-5 ) (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ 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.