fix(deps): update module github.com/lestrrat-go/jwx/v3 to v4 #25

Open
Renovate-Clanker wants to merge 1 commits from renovate/github.com-lestrrat-go-jwx-v3-4.x into main
Collaborator

This PR contains the following updates:

Package Change Age Confidence
github.com/lestrrat-go/jwx/v3 v3.1.1v4.1.0 age confidence

Release Notes

lestrrat-go/jwx (github.com/lestrrat-go/jwx/v3)

v4.1.0

Compare Source

For more detailed release notes, see Changes.

What's Changed

Full Changelog: https://github.com/lestrrat-go/jwx/compare/v4.0.2...v4.1.0

v4.0.2

Compare Source

For more detailed release notes, see Changes.

What's Changed

Full Changelog: https://github.com/lestrrat-go/jwx/compare/v4.0.1...v4.0.2

v4.0.1

Compare Source

What's Changed

Full Changelog: https://github.com/lestrrat-go/jwx/compare/v4.0.0...v4.0.1

v4.0.0

Compare Source

Changes

v4 has many incompatibilities with v3. To see the full list of differences between
v3 and v4, please read the Changes-v4.md file. Coding Agents should read MIGRATION.md

v4.0.0 - 19 Apr 2026

  • Initial v4 release. Major features:
    • Lighter: Core / Companion module separation. Less dependencies in core.
    • Faster: Use of generics and other optimizations make v4 2x~3x faster than before.
    • Quantum-Ready: ML-KEM and ML-DSA, HPKE (+Hybrid) are supported through companion modules.
  • See Changes-v4.md for a full set of Changes since v3.

Configuration

📅 Schedule: (UTC)

  • 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.


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

This PR has been generated by Mend Renovate.

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [github.com/lestrrat-go/jwx/v3](https://github.com/lestrrat-go/jwx) | `v3.1.1` → `v4.1.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2flestrrat-go%2fjwx%2fv3/v4.1.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2flestrrat-go%2fjwx%2fv3/v3.1.1/v4.1.0?slim=true) | --- ### Release Notes <details> <summary>lestrrat-go/jwx (github.com/lestrrat-go/jwx/v3)</summary> ### [`v4.1.0`](https://github.com/lestrrat-go/jwx/releases/tag/v4.1.0) [Compare Source](https://github.com/lestrrat-go/jwx/compare/v4.0.2...v4.1.0) For more detailed release notes, see [Changes](https://github.com/lestrrat-go/jwx/blob/v4.1.0/Changes). #### What's Changed - docs: refresh CONTRIBUTING examples link and branch example by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2156](https://github.com/lestrrat-go/jwx/pull/2156) - autodoc updates by [@&#8203;github-actions](https://github.com/github-actions)\[bot] in [#&#8203;2157](https://github.com/lestrrat-go/jwx/pull/2157) - add dependabot updates for develop/v4 by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2160](https://github.com/lestrrat-go/jwx/pull/2160) - build(deps): bump actions/cache from 5.0.4 to 5.0.5 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2161](https://github.com/lestrrat-go/jwx/pull/2161) - build(deps): bump golang.org/x/crypto from 0.49.0 to 0.51.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2162](https://github.com/lestrrat-go/jwx/pull/2162) - build(deps): bump pozil/auto-assign-issue from 2.2.0 to 3.0.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2163](https://github.com/lestrrat-go/jwx/pull/2163) - docs: drop dead jwt error helper references by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2164](https://github.com/lestrrat-go/jwx/pull/2164) - add claude code plugin and supporting docs by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2165](https://github.com/lestrrat-go/jwx/pull/2165) - tighten companion-bulk skill rules by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2166](https://github.com/lestrrat-go/jwx/pull/2166) - docs: add claude code skill install instructions by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2167](https://github.com/lestrrat-go/jwx/pull/2167) - docs: add DeepWiki badge to README by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2168](https://github.com/lestrrat-go/jwx/pull/2168) - ci: make v4 fuzz workflow actually run by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2169](https://github.com/lestrrat-go/jwx/pull/2169) - ci: rotate companion fuzz cache via per-run key by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2170](https://github.com/lestrrat-go/jwx/pull/2170) - docs: explain fuzz template skip-list by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2171](https://github.com/lestrrat-go/jwx/pull/2171) - build(deps): bump actions/stale from 10.2.0 to 10.3.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2175](https://github.com/lestrrat-go/jwx/pull/2175) - build(deps): bump golang.org/x/crypto from 0.51.0 to 0.52.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2181](https://github.com/lestrrat-go/jwx/pull/2181) - build(deps): bump golangci/golangci-lint-action from 9.2.0 to 9.2.1 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2182](https://github.com/lestrrat-go/jwx/pull/2182) - build(deps): bump actions/checkout from 6.0.2 to 6.0.3 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2185](https://github.com/lestrrat-go/jwx/pull/2185) - build(deps): bump pozil/auto-assign-issue from 3.0.0 to 4.0.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2186](https://github.com/lestrrat-go/jwx/pull/2186) - docs: warn about anchoring RegexpWhitelist patterns by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2187](https://github.com/lestrrat-go/jwx/pull/2187) - autodoc updates by [@&#8203;github-actions](https://github.com/github-actions)\[bot] in [#&#8203;2188](https://github.com/lestrrat-go/jwx/pull/2188) - build(deps): bump golang.org/x/crypto from 0.52.0 to 0.53.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2193](https://github.com/lestrrat-go/jwx/pull/2193) - build(deps): bump pozil/auto-assign-issue from 4.0.0 to 4.0.1 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2194](https://github.com/lestrrat-go/jwx/pull/2194) - clear pooled error slice before reuse by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2195](https://github.com/lestrrat-go/jwx/pull/2195) - avoid full-string rune alloc in alg error by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2196](https://github.com/lestrrat-go/jwx/pull/2196) - release json registry lock before decoder call by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2197](https://github.com/lestrrat-go/jwx/pull/2197) - compute cbc-hmac aad bit length in uint64 by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2198](https://github.com/lestrrat-go/jwx/pull/2198) - error on nil curve and oversized d at import by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2199](https://github.com/lestrrat-go/jwx/pull/2199) - error on unavailable thumbprint hash by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2200](https://github.com/lestrrat-go/jwx/pull/2200) - handle nil clock and validator in validate by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2202](https://github.com/lestrrat-go/jwx/pull/2202) - reset private claims on token unmarshal by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2203](https://github.com/lestrrat-go/jwx/pull/2203) - apply jwt settings only when supplied by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2204](https://github.com/lestrrat-go/jwx/pull/2204) - validate use field at jwk parse time by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2205](https://github.com/lestrrat-go/jwx/pull/2205) - document intentional ecdsa high-s acceptance by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2213](https://github.com/lestrrat-go/jwx/pull/2213) - read jwe zip only from protected header by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2206](https://github.com/lestrrat-go/jwx/pull/2206) - enforce aead wire tag and iv length on decrypt by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2207](https://github.com/lestrrat-go/jwx/pull/2207) - require 8-octet minimum pbes2 salt by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2208](https://github.com/lestrrat-go/jwx/pull/2208) - require empty encrypted\_key for direct cek by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2209](https://github.com/lestrrat-go/jwx/pull/2209) - error on wrong-length [`ed25519`](https://github.com/lestrrat-go/jwx/commit/ed25519) key by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2201](https://github.com/lestrrat-go/jwx/pull/2201) - enforce protected alg match in jws verify by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2212](https://github.com/lestrrat-go/jwx/pull/2212) - document intentional lenient base64 in verify by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2214](https://github.com/lestrrat-go/jwx/pull/2214) - reject detached payload when payload present by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2211](https://github.com/lestrrat-go/jwx/pull/2211) - document jwk alg is informational, not validated by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2215](https://github.com/lestrrat-go/jwx/pull/2215) - document symmetric key length not validated by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2216](https://github.com/lestrrat-go/jwx/pull/2216) - document rsa private params not validated by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2217](https://github.com/lestrrat-go/jwx/pull/2217) - note AlgorithmsForKey does not validate key length by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2222](https://github.com/lestrrat-go/jwx/pull/2222) - document okp public key not bound to scalar by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2219](https://github.com/lestrrat-go/jwx/pull/2219) - document Chain.Get returns aliased read-only slice by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2220](https://github.com/lestrrat-go/jwx/pull/2220) - fix WithPedantic doc: typ is not checked by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2221](https://github.com/lestrrat-go/jwx/pull/2221) - document ec private scalar not bound to point by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2218](https://github.com/lestrrat-go/jwx/pull/2218) - extend direct-mode empty key guard to ml-kem by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2223](https://github.com/lestrrat-go/jwx/pull/2223) - add bazel test target for internal/json by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2224](https://github.com/lestrrat-go/jwx/pull/2224) - build(deps): bump actions/checkout from 6.0.3 to 7.0.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2227](https://github.com/lestrrat-go/jwx/pull/2227) - build(deps): bump actions/cache from 5.0.5 to 6.0.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2232](https://github.com/lestrrat-go/jwx/pull/2232) - build(deps): bump actions/setup-go from 6.4.0 to 6.5.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2233](https://github.com/lestrrat-go/jwx/pull/2233) - fix: reject duplicate JOSE headers on fast path by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2236](https://github.com/lestrrat-go/jwx/pull/2236) - build(deps): bump actions/cache from 6.0.0 to 6.1.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2239](https://github.com/lestrrat-go/jwx/pull/2239) - docs: add unreleased Changes entries by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2240](https://github.com/lestrrat-go/jwx/pull/2240) - chore: run jwkfetch in companion test sweep by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2244](https://github.com/lestrrat-go/jwx/pull/2244) **Full Changelog**: <https://github.com/lestrrat-go/jwx/compare/v4.0.2...v4.1.0> ### [`v4.0.2`](https://github.com/lestrrat-go/jwx/releases/tag/v4.0.2) [Compare Source](https://github.com/lestrrat-go/jwx/compare/v4.0.1...v4.0.2) For more detailed release notes, see [Changes](https://github.com/lestrrat-go/jwx/blob/v4.0.2/Changes). #### What's Changed - ci: print coverage summary in GitHub Actions run summary by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2078](https://github.com/lestrrat-go/jwx/pull/2078) - ci: also run on push to target branches by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2079](https://github.com/lestrrat-go/jwx/pull/2079) - jws: refuse "b64" header in VerifyCompactFast by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2080](https://github.com/lestrrat-go/jwx/pull/2080) - jws: VerifyCompactFast refusals match jws.VerifyError() class by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2082](https://github.com/lestrrat-go/jwx/pull/2082) - jws: name loose keySet options in fan-out verify error by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2084](https://github.com/lestrrat-go/jwx/pull/2084) - jws: honor RFC 7797 b64=false in Message.MarshalJSON by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2086](https://github.com/lestrrat-go/jwx/pull/2086) - jws: reject literal-JSON "protected" in general-form JWS by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2088](https://github.com/lestrrat-go/jwx/pull/2088) - jwt: ParseRequest: don't skip form body on chunked transfer by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2090](https://github.com/lestrrat-go/jwx/pull/2090) - jwt: Settings rejects out-of-range NumericDate precision by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2092](https://github.com/lestrrat-go/jwx/pull/2092) - jwt: pedantic mode enforces cty=JWT nested-envelope shape by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2093](https://github.com/lestrrat-go/jwx/pull/2093) - jwt: reshape base64-corruption hint as diagnosis-first by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2095](https://github.com/lestrrat-go/jwx/pull/2095) - jwt: defensively reject missing claims in MaxDeltaIs / MinDeltaIs by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2098](https://github.com/lestrrat-go/jwx/pull/2098) - jwt: ParseInsecure: parse loop-local payload, not original input by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2096](https://github.com/lestrrat-go/jwx/pull/2096) - jwt: align Validate fast/slow paths to same iat,exp,nbf check order by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2100](https://github.com/lestrrat-go/jwx/pull/2100) - jws: Verify rejects b64=false without "b64" listed in "crit" by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2101](https://github.com/lestrrat-go/jwx/pull/2101) - jws: Sign auto-declares "b64" in "crit" when emitting b64=false by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2103](https://github.com/lestrrat-go/jwx/pull/2103) - jws: declare "b64" as typed bool header field by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2105](https://github.com/lestrrat-go/jwx/pull/2105) - jws: reject general-form JWS with top-level "header" sibling of "signatures" by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2107](https://github.com/lestrrat-go/jwx/pull/2107) - jws: typed sentinel for AlgorithmsForKey unclassifiable-key failures by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2109](https://github.com/lestrrat-go/jwx/pull/2109) - jws: VerifyMessage observes ctx cancellation between loop iterations by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2111](https://github.com/lestrrat-go/jwx/pull/2111) - jws: cleanup follow-ups from recent review (low-severity batch) by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2113](https://github.com/lestrrat-go/jwx/pull/2113) - jwe/jwebb: document Register{HPKE,MLKEM,MLKEMDirect}Algorithm as privileged extension points by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2115](https://github.com/lestrrat-go/jwx/pull/2115) - jwe: DecryptMessage observes ctx cancellation between loop iterations by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2116](https://github.com/lestrrat-go/jwx/pull/2116) - jwe: parse and bound-check PBES2 p2c in int64 space; name the violated bound by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2118](https://github.com/lestrrat-go/jwx/pull/2118) - jwe: WithKey validates alg-vs-key shape at option-time by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2120](https://github.com/lestrrat-go/jwx/pull/2120) - jwe: compression cap error names "decompressed" payload, the option, and the size by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2122](https://github.com/lestrrat-go/jwx/pull/2122) - jwe: bound joined-error count and drop redundant outer Decrypt prefix by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2124](https://github.com/lestrrat-go/jwx/pull/2124) - jwe: keySetProvider surfaces per-key errors via errors.Join by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2126](https://github.com/lestrrat-go/jwx/pull/2126) - jwe: add WithDisabledKeyAlgorithms global policy hook by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2128](https://github.com/lestrrat-go/jwx/pull/2128) - jwe: document WithMaxDecompressBufferSize behavior at non-positive values by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2130](https://github.com/lestrrat-go/jwx/pull/2130) - jwk: stop duplicating JWK fields at JWKS top level on parse by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2132](https://github.com/lestrrat-go/jwx/pull/2132) - jwk: wrap ParseKey/ParseKeyAs errors with ParseError sentinel by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2134](https://github.com/lestrrat-go/jwx/pull/2134) - jwk: stream the keys array with cap-before-allocate by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2136](https://github.com/lestrrat-go/jwx/pull/2136) - jwk: probe tolerates duplicate JSON field names by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2138](https://github.com/lestrrat-go/jwx/pull/2138) - jwk: treat nil key from custom KeyParser as continue, not success by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2139](https://github.com/lestrrat-go/jwx/pull/2139) - jwk: fix phantom ContinueParseError refs and unmarshaler typo in docs by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2141](https://github.com/lestrrat-go/jwx/pull/2141) - jwk: add UnknownKeyTypeError typed error by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2143](https://github.com/lestrrat-go/jwx/pull/2143) - jwk: document AKP-specific Thumbprint canonicalization on public methods by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2144](https://github.com/lestrrat-go/jwx/pull/2144) - docs/jwk: use jwk.WithX509(true) in PEM section prose by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2145](https://github.com/lestrrat-go/jwx/pull/2145) - docs/jwk: document EncodePEM emit-to-PEM path by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2146](https://github.com/lestrrat-go/jwx/pull/2146) - MIGRATION: document PublicSetOf default-reject for symmetric keys by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2147](https://github.com/lestrrat-go/jwx/pull/2147) - jwk: clarify that any value <= 0 disables the RSA strength floor by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2148](https://github.com/lestrrat-go/jwx/pull/2148) - jwk: move extension-authoring walkthrough from doc.go to docs/04-jwk.md by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2149](https://github.com/lestrrat-go/jwx/pull/2149) - jwk: correct Import godoc for crypto/ecdh dispatch by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2150](https://github.com/lestrrat-go/jwx/pull/2150) - jwk: surface Export type mismatch as KeyTypeMismatchError by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2151](https://github.com/lestrrat-go/jwx/pull/2151) - jwk: RegisterKeyImporter takes KeyImporter, not a typed function by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2152](https://github.com/lestrrat-go/jwx/pull/2152) - Changes: draft v4.0.2 release notes by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2154](https://github.com/lestrrat-go/jwx/pull/2154) **Full Changelog**: <https://github.com/lestrrat-go/jwx/compare/v4.0.1...v4.0.2> ### [`v4.0.1`](https://github.com/lestrrat-go/jwx/releases/tag/v4.0.1) [Compare Source](https://github.com/lestrrat-go/jwx/compare/v4.0.0...v4.0.1) #### What's Changed - docs: add jwxfilter to extension modules doc by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2041](https://github.com/lestrrat-go/jwx/pull/2041) - autodoc updates by [@&#8203;github-actions](https://github.com/github-actions)\[bot] in [#&#8203;2042](https://github.com/lestrrat-go/jwx/pull/2042) - docs: fix broken v3-to-v4.yaml link in Changes-v4.md by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2048](https://github.com/lestrrat-go/jwx/pull/2048) - guard ecdsa coordinates against oversized big.Int by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2049](https://github.com/lestrrat-go/jwx/pull/2049) - reject jwe with conflicting alg in protected vs per-recipient by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2051](https://github.com/lestrrat-go/jwx/pull/2051) - autodoc updates by [@&#8203;github-actions](https://github.com/github-actions)\[bot] in [#&#8203;2053](https://github.com/lestrrat-go/jwx/pull/2053) - docs: document PrivateClaims concurrency contract by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2055](https://github.com/lestrrat-go/jwx/pull/2055) - fix AddressClaim.MarshalJSON for non-printable bytes by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2054](https://github.com/lestrrat-go/jwx/pull/2054) - jwt: only call ParseForm when WithFormKey is supplied by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2057](https://github.com/lestrrat-go/jwx/pull/2057) - jws: jkuProvider rejects fetched keys marked use=enc by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2059](https://github.com/lestrrat-go/jwx/pull/2059) - jwk: refuse RegisterKeyImporter for built-in raw key types by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2061](https://github.com/lestrrat-go/jwx/pull/2061) - jwa: unify SignatureAlgorithm/KeyEncryption/ContentEncryption into one registry by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2062](https://github.com/lestrrat-go/jwx/pull/2062) - docs: jwkbb X509 registry is a privileged extension point by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2067](https://github.com/lestrrat-go/jwx/pull/2067) - docs(internals): record Settings unknown-option handling as design intent by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2068](https://github.com/lestrrat-go/jwx/pull/2068) - cmd/jwx: warn on private-key-to-tty + reject keysize<=0 for oct by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2070](https://github.com/lestrrat-go/jwx/pull/2070) - autodoc updates by [@&#8203;github-actions](https://github.com/github-actions)\[bot] in [#&#8203;2069](https://github.com/lestrrat-go/jwx/pull/2069) - fix jwxmigrate install path in MIGRATION.md by [@&#8203;lestrrat](https://github.com/lestrrat) in [#&#8203;2076](https://github.com/lestrrat-go/jwx/pull/2076) **Full Changelog**: <https://github.com/lestrrat-go/jwx/compare/v4.0.0...v4.0.1> ### [`v4.0.0`](https://github.com/lestrrat-go/jwx/releases/tag/v4.0.0) [Compare Source](https://github.com/lestrrat-go/jwx/compare/v3.1.1...v4.0.0) # Changes v4 has many incompatibilities with v3. To see the full list of differences between v3 and v4, please read the [Changes-v4.md file](./Changes-v4.md). Coding Agents should read [MIGRATION.md](./MIGRATION.md) v4.0.0 - 19 Apr 2026 - Initial v4 release. Major features: - Lighter: Core / Companion module separation. Less dependencies in core. - Faster: Use of generics and other optimizations make v4 2x\~3x faster than before. - Quantum-Ready: ML-KEM and ML-DSA, HPKE (+Hybrid) are supported through companion modules. - See Changes-v4.md for a full set of Changes since v3. </details> --- ### Configuration 📅 **Schedule**: (UTC) - 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMjAuMiIsInVwZGF0ZWRJblZlciI6IjQzLjIxMi40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Author
Collaborator

ℹ️ 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):

  • 5 additional dependencies were updated

Details:

Package Change
github.com/lestrrat-go/dsig v1.2.1 -> v1.3.0
golang.org/x/crypto v0.50.0 -> v0.53.0
golang.org/x/net v0.53.0 -> v0.55.0
golang.org/x/sys v0.43.0 -> v0.46.0
golang.org/x/text v0.36.0 -> v0.38.0
### ℹ️ 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): - 5 additional dependencies were updated Details: | **Package** | **Change** | | :---------------------------- | :--------------------- | | `github.com/lestrrat-go/dsig` | `v1.2.1` -> `v1.3.0` | | `golang.org/x/crypto` | `v0.50.0` -> `v0.53.0` | | `golang.org/x/net` | `v0.53.0` -> `v0.55.0` | | `golang.org/x/sys` | `v0.43.0` -> `v0.46.0` | | `golang.org/x/text` | `v0.36.0` -> `v0.38.0` |
Renovate-Clanker force-pushed renovate/github.com-lestrrat-go-jwx-v3-4.x from 6a31922f5f to 7585a5d2fd 2026-04-28 21:07:44 +07:00 Compare
Renovate-Clanker force-pushed renovate/github.com-lestrrat-go-jwx-v3-4.x from 7585a5d2fd to 809f42fe7c 2026-04-28 22:08:09 +07:00 Compare
Renovate-Clanker force-pushed renovate/github.com-lestrrat-go-jwx-v3-4.x from 809f42fe7c to 7bc5e49b9b 2026-04-29 17:05:39 +07:00 Compare
Renovate-Clanker force-pushed renovate/github.com-lestrrat-go-jwx-v3-4.x from 7bc5e49b9b to 04211b44f1 2026-05-01 14:04:54 +07:00 Compare
Renovate-Clanker force-pushed renovate/github.com-lestrrat-go-jwx-v3-4.x from 04211b44f1 to c2ea707fa4 2026-05-04 14:02:28 +07:00 Compare
Renovate-Clanker force-pushed renovate/github.com-lestrrat-go-jwx-v3-4.x from c2ea707fa4 to a68e1e29e0 2026-05-07 08:05:43 +07:00 Compare
Renovate-Clanker force-pushed renovate/github.com-lestrrat-go-jwx-v3-4.x from a68e1e29e0 to 3468425c99 2026-05-07 09:05:23 +07:00 Compare
Renovate-Clanker force-pushed renovate/github.com-lestrrat-go-jwx-v3-4.x from 3468425c99 to c3e9cdea98 2026-05-08 02:05:56 +07:00 Compare
Renovate-Clanker force-pushed renovate/github.com-lestrrat-go-jwx-v3-4.x from c3e9cdea98 to c9b452c228 2026-05-15 02:06:19 +07:00 Compare
Renovate-Clanker force-pushed renovate/github.com-lestrrat-go-jwx-v3-4.x from c9b452c228 to bbb2c7296a 2026-06-04 22:32:53 +07:00 Compare
Renovate-Clanker force-pushed renovate/github.com-lestrrat-go-jwx-v3-4.x from bbb2c7296a to fdcb8cb1ac 2026-06-07 10:29:56 +07:00 Compare
Renovate-Clanker force-pushed renovate/github.com-lestrrat-go-jwx-v3-4.x from fdcb8cb1ac to 75363611ae 2026-06-08 04:17:03 +07:00 Compare
Renovate-Clanker force-pushed renovate/github.com-lestrrat-go-jwx-v3-4.x from 75363611ae to ebb3d33e80 2026-06-15 12:31:03 +07:00 Compare
Renovate-Clanker force-pushed renovate/github.com-lestrrat-go-jwx-v3-4.x from ebb3d33e80 to 76756da24b 2026-07-01 00:22:43 +07:00 Compare
Renovate-Clanker added 1 commit 2026-07-01 11:07:12 +07:00
Renovate-Clanker force-pushed renovate/github.com-lestrrat-go-jwx-v3-4.x from 76756da24b to 5a60b937dd 2026-07-01 11:07:12 +07:00 Compare
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/github.com-lestrrat-go-jwx-v3-4.x:renovate/github.com-lestrrat-go-jwx-v3-4.x
git checkout renovate/github.com-lestrrat-go-jwx-v3-4.x
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: bagas/tunnel-please-controller#25