Skip to content

fix(deps): update go dependencies (non-major) - #157

Merged
renovate[bot] merged 1 commit into
mainfrom
renovate/go-dependencies-(non-major)
Jul 21, 2026
Merged

renovate[bot] merged 1 commit into
mainfrom
renovate/go-dependencies-(non-major)

Conversation

@renovate

@renovate renovate Bot commented Jul 21, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
github.com/go-chi/chi/v5 v5.2.1 → v5.3.1 age confidence
github.com/rabbitmq/amqp091-go v1.12.0 → v1.13.0 age confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

go-chi/chi (github.com/go-chi/chi/v5)

v5.3.1

Compare Source

What's Changed

New Contributors

Full Changelog: go-chi/chi@v5.3.0...v5.3.1

v5.3.0

Compare Source

What's Changed

New Contributors

SECURITY: middleware.ClientIP, a replacement for middleware.RealIP

PR #​967 introduced middleware.ClientIP, a replacement for middleware.RealIP that closes the three open spoofing advisories:

It also addresses issues outlined at:

middleware.RealIP is deprecated in this PR with pointers to the new API.

The deprecation only adds a // Deprecated: doc comment; the function keeps working for backward compatibility.

Why a new middleware (not "fix RealIP in place")

RealIP has two unfixable design choices: it mutates r.RemoteAddr, and it tries to be a one-size-fits-all default by walking a hard-coded list of headers any client can supply. Per adam-p's "The perils of the 'real' client IP" (which calls chi out by name on this), there is no safe default — the user must pick their trust source explicitly.

The new API

Four middlewares, two accessors. Pick exactly one middleware based on your
infrastructure, read the result with one of the two accessors:

// One of the four. There is no safe default — pick exactly one.
func ClientIPFromHeader(trustedHeader string) func(http.Handler) http.Handler
func ClientIPFromXFF(trustedIPPrefixes ...string) func(http.Handler) http.Handler
func ClientIPFromXFFTrustedProxies(numTrustedProxies int) func(http.Handler) http.Handler
func ClientIPFromRemoteAddr(h http.Handler) http.Handler

// Read the result.
func GetClientIP(ctx context.Context) string         // for logs, rate-limit keys
func GetClientIPAddr(ctx context.Context) netip.Addr // for typed work

Example usage:

// Pick a single ClientIP middleware based on your deployment
  
// Cloudflare.
r.Use(middleware.ClientIPFromHeader("CF-Connecting-IP"))

// Nginx with ngx_http_realip_module.
r.Use(middleware.ClientIPFromHeader("X-Real-IP"))

// Apache with mod_remoteip.
r.Use(middleware.ClientIPFromHeader("X-Client-IP"))

// AWS CloudFront, or any proxy fleet with known CIDRs.
r.Use(middleware.ClientIPFromXFF(
    "13.32.0.0/15",   // CloudFront IPv4
    "52.46.0.0/18",   // CloudFront IPv4
    "2600:9000::/28", // CloudFront IPv6
))

// Behind exactly 2 trusted proxies with dynamic IPs (autoscaling pools,
// ephemeral containers, dynamic CDN edges).
r.Use(middleware.ClientIPFromXFFTrustedProxies(2))

// Server directly on the public internet, no proxy in front.
r.Use(middleware.ClientIPFromRemoteAddr)

And in your handler or downstream middleware:

clientIP := middleware.GetClientIP(r.Context())
// log it, use it as a rate-limit key, etc.

Thanks to @​adam-p, @​c2h5oh, @​rezmoss, @​Saku0512, @​convto, @​Dirbaio, @​jawnsy, @​lrstanley, @​mfridman, @​n33pm, @​pkieltyka for the prior discussions, detailed reviews, advisory reports, and test contributions that shaped this PR.

Full Changelog: go-chi/chi@v5.2.5...v5.3.0

v5.2.5

Compare Source

What's Changed

New Contributors

Full Changelog: go-chi/chi@v5.2.3...v5.2.5

v5.2.4

Compare Source

v5.2.3

Compare Source

What's Changed

New Contributors

Full Changelog: go-chi/chi@v5.2.2...v5.2.3

v5.2.2

Compare Source

What's Changed

Security fix

  • Fixes GHSA-vrw8-fxc6-2r93 - "Host Header Injection Leads to Open Redirect in RedirectSlashes" commit
    • a lower-severity Open Redirect that can't be exploited in browser or email client, as it requires manipulation of a Host header
    • reported by Anuraag Baishya, @​anuraagbaishya. Thank you!

New Contributors

Full Changelog: go-chi/chi@v5.2.1...v5.2.2

rabbitmq/amqp091-go (github.com/rabbitmq/amqp091-go)

v1.13.0

Compare Source

Full Changelog

Implemented enhancements:

  • feat: skip-and-continue topology recovery with per-entity error surfacing #​365 (suchitd)
  • Make TopologyRecoveryAllEnabled the default topology recovery mode #​362 (suchitd)
  • feature: implement automatic topology recovery #​357 (suchitd)

Fixed bugs:

  • Evict auto-delete queues and exchanges from topology store to prevent stale resurrection during recovery #​368
  • Data race in Connection.shutdown between buffered listener send goroutine and close(listener) #​360
  • fix: reject frames exceeding negotiated frame_max before allocation #​369 (suchitd)
  • fix: prevent recursive channel recovery during connection reconnection #​367 (suchitd)
  • fix: eliminate multiple data races in Channel and Connection operations #​366 (suchitd)
  • fix: forget auto-delete topology on last consumer/binding removal #​363 (suchitd)
  • fix: explicitly enforce TLS 1.2 minimum version in tlsConfigFromURI #​355 (suchitd)
  • fix: return error when shortstr exceeds 255 bytes #​354 (suchitd)
  • fix: enforce AMQP minimum frame size during negotiation #​353 (suchitd)
  • fix: URL-encode TLS file paths in URI.String() query string #​352 (suchitd)
  • Reject negative prefetch values in Qos #​351 (suchitd)
  • fix: redact and zero out plaintext SASL credentials after handshake #​350 (suchitd)
  • Avoid notifications blocking reader. #​349 (MirahImage)
  • Return error when longstring too long. #​347 (MirahImage)
  • Cap body pre-allocation to FrameMax. #​346 (MirahImage)
  • Safely handle negative x- field length. #​344 (MirahImage)

Merged pull requests:


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

♻ Rebasing: Whenever PR is behind base branch, 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.

@renovate renovate Bot added the deps label Jul 21, 2026
@renovate
renovate Bot enabled auto-merge (squash) July 21, 2026 11:29
@renovate renovate Bot added the deps label Jul 21, 2026
@renovate
renovate Bot force-pushed the renovate/go-dependencies-(non-major) branch from 24ba0fe to c9ef99a Compare July 21, 2026 11:50
@renovate renovate Bot changed the title fix(deps): update module github.com/rabbitmq/amqp091-go to v1.13.0 fix(deps): update go dependencies (non-major) Jul 21, 2026
@renovate
renovate Bot force-pushed the renovate/go-dependencies-(non-major) branch from c9ef99a to 1903523 Compare July 21, 2026 11:52
@renovate
renovate Bot merged commit fc62dcf into main Jul 21, 2026
11 checks passed
@renovate
renovate Bot deleted the renovate/go-dependencies-(non-major) branch July 21, 2026 12:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants