Skip to content

Update go deps - #1697

Merged
biglittlebigben merged 1 commit into
mainfrom
renovate/go-deps
Aug 17, 2026
Merged

Update go deps#1697
biglittlebigben merged 1 commit into
mainfrom
renovate/go-deps

Conversation

@renovate

@renovate renovate Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
github.com/go-logr/logr v1.4.3v1.4.4 age confidence
github.com/pion/webrtc/v4 v4.2.17v4.2.18 age confidence
github.com/prometheus/client_golang v1.23.2v1.24.1 age confidence
github.com/redis/go-redis/v9 v9.21.0v9.22.0 age confidence
github.com/stretchr/testify v1.11.1v1.12.0 age confidence
go.yaml.in/yaml/v3 v3.0.4v3.0.5 age confidence
google.golang.org/grpc v1.82.1v1.83.0 age confidence

Release Notes

go-logr/logr (github.com/go-logr/logr)

v1.4.4

Compare Source

What's Changed

New Contributors

Full Changelog: go-logr/logr@v1.4.3...v1.4.4

pion/webrtc (github.com/pion/webrtc/v4)

v4.2.18

Compare Source

Changelog

prometheus/client_golang (github.com/prometheus/client_golang)

v1.24.1

Compare Source

v1.24.0: - 2026-07-20

Compare Source

Changes
  • [CHANGE] Minimum required Go version is now 1.25, only the two latest Go versions (1.25 and 1.26) are supported from now on. #​1862
  • [CHANGE] prometheus: Name validation now always uses the UTF-8 scheme instead of the deprecated model.NameValidationScheme global. Default behavior is unchanged; code that set NameValidationScheme = LegacyValidation no longer gets legacy enforcement at metric, label, and push-grouping construction. #​2051
  • [CHANGE] api/prometheus/v1: Support matchers (matches[] parameter) in Rules method (Rules(ctx context.Context, matches []string) (RulesResult, error)). #​1843
  • [CHANGE] api/prometheus/v1: Refactor LabelNames method to return model.LabelNames instead of []string for consistency across the API. #​1850
  • [CHANGE] exp/api/remote: Simplify Store interface, rename Handler to WriteHandler, and encapsulate write response handling. #​1855
  • [FEATURE] prometheus: Add new Go 1.26 runtime metrics (/sched/goroutines-created:goroutines, /sched/goroutines/not-in-go:goroutines, /sched/goroutines/runnable:goroutines, /sched/goroutines/running:goroutines, /sched/goroutines/waiting:goroutines, /sched/threads/total:threads). #​1942
  • [FEATURE] prometheus: Add WithUnit(unit string) option and explicit OpenMetrics unit support in CounterOpts, GaugeOpts, SummaryOpts, and HistogramOpts. #​1392
  • [FEATURE] prometheus: Expose descriptor construction error through public Err() method on Desc. #​1902
  • [FEATURE] promhttp: Add opt-in HandlerOpts.CoalesceGather to deduplicate concurrent Gather calls so overlapping scrapes share one collection cycle, preventing goroutine pile-up when the scrape rate outpaces collection time. #​1969
  • [FEATURE] promhttp: HTTP handlers created by promhttp package now support metrics filtering by providing one or more name[] query parameters. The default behavior when none are provided remains the same, returning all metrics. #​1925
  • [FEATURE] api/prometheus/v1: Add query formatting endpoint support (/format_query) and FormatQuery(ctx context.Context, query string) (string, error) method. #​1846, #​1856
  • [FEATURE] api/prometheus/v1: Add support for /status/tsdb/blocks endpoint via TSDBBlocks(ctx context.Context) ([]TSDBBlock, error) method. #​1896
  • [FEATURE] exp/api/remote: Export BackoffConfig to allow customization when using WithAPIBackoff. #​1895
  • [FEATURE] exp/api/remote: Add RetryCallBack to allow custom logging or handling on retry attempts in the remote write client. #​1888, #​1890
  • [ENHANCEMENT] prometheus/collectors/version: Allow specifying custom labels when registering the version collector. #​1860
  • [ENHANCEMENT] api: Use cloned http.DefaultTransport when constructing default HTTP clients to prevent accidental mutations of shared global transport state. #​1885
  • [BUGFIX] prometheus: Recover from collector panics during Gather() and return an error instead of crashing the process. #​1961
  • [BUGFIX] prometheus: Fix cpu-seconds unit suffix handling for metric go_cpu_classes_gc_mark_assist_cpu_seconds. #​1991
  • [BUGFIX] promhttp: InstrumentHandlerDuration and InstrumentHandlerCounter no longer panic when given an observer/counter that does not implement ExemplarObserver/ExemplarAdder (e.g. a SummaryVec). The exemplar is dropped and the value is recorded via the plain Observe/Add path, matching the safe-cast already used by Timer.ObserveDurationWithExemplar. #​2005
  • [BUGFIX] api/prometheus/v1: Fall back to GET requests when POST requests return 403 Forbidden or method not allowed. #​2030
  • [BUGFIX] api: Respect context cancellation inside httpClient.Do. #​1971
  • [BUGFIX] exp/api/remote: Fix compression buffer pooling where compressed buffers were released prematurely, causing corrupted remote-write payloads. #​1889
  • [BUGFIX] exp/api/remote: Reject malformed snappy payloads declaring huge decoded sizes. Enforce a 32MB decoded-size limit to prevent OOM from oversized remote-write requests. #​1917
  • [BUGFIX] exp/api/remote: Ensure remote write v2 headers cannot be returned on v1 requests. #​1927
All commits

New Contributors

Full Changelog: prometheus/client_golang@v1.23.2...v1.24.0

redis/go-redis (github.com/redis/go-redis/v9)

v9.22.0: 9.22.0

Compare Source

This is a minor release introducing two flagship (experimental) features — client-side caching and automatic pipelining — alongside support for Redis 8.10, new commands, and a large batch of stability and parser-robustness fixes. It consolidates everything shipped in 9.22.0-beta.1, so the notes below cover the full 9.21.0 → 9.22.0 upgrade.

⚠️ Two changes to be aware of when upgrading from 9.21.0:

  • Default configuration values changed (#​3918): read/write timeouts, retry backoff, cluster state reload interval, and TCP keep-alive defaults are now aligned with the cross-SDK configuration proposal (see the highlight below). Explicitly configured values are unaffected.
  • WaitAOF return type corrected (#​3888): WaitAOF now returns *IntSliceCmd, matching the two-integer reply of WAITAOF (previously *IntCmd, which failed to parse the reply at runtime). Code referencing the old return type needs a one-line update.

🚀 Highlights

Client-Side Caching (Experimental)

The standalone Client gains server-assisted client-side caching built on RESP3 CLIENT TRACKING. Enable it by setting ClientSideCacheConfig in Options (or supply your own cache via ClientSideCache — e.g. to share one cache across clients). Cacheable read results are served from a local in-process cache and invalidated automatically when the server reports a change, cutting round trips for read-heavy workloads.

The invalidation architecture is selected by ClientSideCacheStrategy; the default (and currently only) strategy is CSCStrategySharedTracking: one shared cache, every pool connection runs plain CLIENT TRACKING ON, and a background drainer applies buffered invalidations — portable (no BCAST) and consistent with the other Redis client libraries. Requirements and guardrails: RESP3 (Protocol: 3), standalone client, DB 0 only; commands that would change the connection identity (SELECT, AUTH, ...) are rejected while caching is enabled, and CSC is disabled when a credentials provider is set (fixed Username/Password work and are namespaced). See the README's client-side caching section and the runnable example.

Experimental: the API may change in a minor release.

(#​3941) by @​ofekshenawa

Automatic Pipelining (Experimental)

AutoPipeliner is a background batcher that coalesces commands from many concurrent goroutines into Redis pipelines, multiplying throughput without any manual pipeline management. It comes in two faces, available on Client and ClusterClient (and configurable via Options.AutoPipelineOptions / UniversalOptions.AutoPipelineOptions):

  • AutoPipeline() — the blocking face: a drop-in Cmdable where each call blocks until executed, exactly like a plain client, while concurrent callers' commands batch together under the hood (measured locally over loopback: ~1M+ SET/sec vs ~100k unpipelined; indicative, not a guarantee). Per-goroutine command order is preserved.
  • AsyncAutoPipeline() — the deferred face: command calls return immediately and every typed result accessor (Val/Result/Err/...) blocks until the command has executed. Submit a window of commands, then read the results, to keep pipelines deep (~2–3M SET/sec locally; indicative).

AutoPipelineOptions controls batching: MaxBatchSize (soft target, default 200; the blocking face's preset uses 300), MaxBatchBytes (approximate payload cap so huge values flush as several bounded writes), MaxFlushDelay with optional AdaptiveDelay (delay scales down as the queue fills), and MaxConcurrentBatches (default 1 = a single ordered batch stream; raising it requires Unordered: true, so ordering is never lost by accident — Validate() rejects the combination otherwise). A usage tour and throughput comparison live in example/autopipeline.

Experimental: the API may change in a future release — pin your go-redis version if you adopt it.

(#​3942) by @​ndyakov, with help from @​cxljs

Redis 8.10 Support

This release adds support for Redis 8.10. The README's supported-versions list now includes Redis 8.10, and CI runs the full suite against the redislabs/client-libs-test:8.10.0 image by default (#​3920, #​3940).

Coverage for the new commands and options that ship with Redis 8.10:

  • HIMPORT (#​3919) — bulk hash import via server-side fieldsets, exposed as HImportPrepare, HImportSet, HImportDiscard, and HImportDiscardAll. Fieldsets are session state scoped to a single physical connection, which does not mix well with connection pooling — so the client keeps a versioned fieldset registry and lazily replays the PREPARE on whichever pooled connection executes a SET that needs it, at most once per connection, with no extra round trip (the PREPARE is injected into the same write as the SET).
  • LMOVEM / BLMOVEM (#​3913) — move multiple elements between lists in one call.
  • SUNIONCARD / SDIFFCARD (#​3897) — cardinality of set union/difference without materializing the result.
  • XREAD / XREADGROUP MAXCOUNT and MAXSIZE (#​3898) — bound how much data a stream read returns.
  • TS.READ (#​3896), TS.QUERYLABELS (#​3926), TS.NRANGE / TS.NREVRANGE (#​3870) with multiple aggregators per key (#​3937), and EXCLUDEEMPTY on TS.MRANGE / TS.MREVRANGE (#​3912) — new time-series query surface.
  • FT.ALIASLIST (#​3925), COLLECT reducer for FT.AGGREGATE (#​3886), RERANK on HNSW vector fields in FT.CREATE (#​3927), and FT.HYBRID timeout warnings (#​3911) — search coverage.
Cross-SDK Aligned Defaults

Default configuration values now follow the cross-SDK configuration proposal shared by all Redis client libraries (#​3918):

Setting Old default New default
ReadTimeout / WriteTimeout 3s 5s
Retry backoff (min/max) 8ms / 512ms 10ms / 1s
Cluster state reload interval 10s 60s
TCP keep-alive 5min period 30s idle / 5s interval / 3 probes (net.KeepAliveConfig)

Applications that set these values explicitly are unaffected; applications relying on the old defaults inherit the new ones.

Data-Race and Parser Hardening Sweep

A systematic audit fixed data races across the client — hooks (AddHook, #​3868), Ring.SetAddrs (#​3862), cluster node slices (#​3861), pub/sub reconnect (#​3906), maintenance notifications (#​3894, #​3872), pool handoff (#​3876), and redisotel (#​3881) — and hardened the RESP parsers against malformed or unexpected replies: over-reads on nil replies (#​3874), integer overflow when skipping map/attribute bodies (#​3877), unhashable RESP3 map keys (#​3873), odd-length flat replies (#​3900), mismatched declared array lengths (#​3907), unexpected extra reply frames (#​3884), and nil elements in numeric/bool slice replies (#​3922).

PubSub Receive Hang Fix

PeekPushNotificationName blocked until 36 bytes were buffered, so a short subscribe confirmation (channel name of six or fewer characters) on an otherwise idle connection hung PubSub.Receive forever — a regression introduced in 9.20.1 by #​3842. The peek now parses whatever is already buffered and only waits for one more byte when the frame prefix is valid but incomplete. Fixes #​3935.

(#​3936) by @​ndyakov

Correct Cluster Transaction Retries

The cluster transaction pipeline treated a MULTI...EXEC block as independently retryable commands, which could scatter a transaction across nodes or send malformed transactions on retry. Redirects (MOVED/ASK/TRYAGAIN) and aborts are now handled at the whole-transaction level, matching Redis transaction semantics: the transaction is re-routed and retried as a unit, never partially (#​3909) by [@​cxljs](https://redirect.github.com/cxlj

Note

PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • "on monday"
  • 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.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@changeset-bot

changeset-bot Bot commented Aug 3, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 801a395

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@renovate
renovate Bot force-pushed the renovate/go-deps branch from e119a41 to bbe1200 Compare August 3, 2026 19:40
@renovate renovate Bot changed the title Update module github.com/prometheus/client_golang to v1.24.0 Update go deps Aug 3, 2026
@renovate
renovate Bot force-pushed the renovate/go-deps branch from bbe1200 to e7b1a5b Compare August 6, 2026 14:01
@renovate renovate Bot changed the title Update go deps Update module github.com/go-logr/logr to v1.4.4 Aug 6, 2026
@renovate
renovate Bot force-pushed the renovate/go-deps branch from e7b1a5b to 36c0212 Compare August 6, 2026 15:28
@renovate renovate Bot changed the title Update module github.com/go-logr/logr to v1.4.4 Update go deps Aug 6, 2026
@renovate

renovate Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor Author

ℹ️ Artifact update notice

File name: go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 8 additional dependencies were updated

Details:

Package Change
github.com/klauspost/compress v1.18.6 -> v1.19.1
github.com/pion/ice/v4 v4.3.0 -> v4.4.0
github.com/pion/interceptor v0.1.45 -> v0.1.47
github.com/pion/rtp v1.10.4 -> v1.10.5
github.com/pion/sctp v1.11.0 -> v1.11.1
github.com/prometheus/common v0.68.1 -> v0.70.1
golang.org/x/crypto v0.53.0 -> v0.54.0
golang.org/x/net v0.56.0 -> v0.57.0

@renovate
renovate Bot force-pushed the renovate/go-deps branch 4 times, most recently from 9807d78 to d538c43 Compare August 13, 2026 09:41
@renovate
renovate Bot force-pushed the renovate/go-deps branch 3 times, most recently from e55e18b to 1506afc Compare August 17, 2026 09:50
Generated by renovateBot
@renovate
renovate Bot force-pushed the renovate/go-deps branch from 1506afc to 801a395 Compare August 17, 2026 19:09
@biglittlebigben
biglittlebigben merged commit 75cf2a8 into main Aug 17, 2026
10 checks passed
@biglittlebigben
biglittlebigben deleted the renovate/go-deps branch August 17, 2026 19:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant