dependabot[bot] 0911080ea6 build(deps): bump the dependencies group across 2 directories with 12 updates (#8674)
Bumps the dependencies group with 8 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [github.com/fsnotify/fsnotify](https://github.com/fsnotify/fsnotify) |
`1.9.0` | `1.10.1` |
|
[github.com/huandu/go-sqlbuilder](https://github.com/huandu/go-sqlbuilder)
| `1.40.2` | `1.41.0` |
| [github.com/lestrrat-go/jwx/v3](https://github.com/lestrrat-go/jwx) |
`3.1.0` | `3.1.1` |
|
[github.com/olekukonko/tablewriter](https://github.com/olekukonko/tablewriter)
| `1.1.0` | `1.1.4` |
| [github.com/vektah/gqlparser/v2](https://github.com/vektah/gqlparser)
| `2.5.32` | `2.5.33` |
| [golang.org/x/net](https://github.com/golang/net) | `0.53.0` |
`0.54.0` |
| [google.golang.org/grpc](https://github.com/grpc/grpc-go) | `1.80.0` |
`1.81.0` |
| gopkg.in/ini.v1 | `1.67.1` | `1.67.2` |

Bumps the dependencies group with 11 updates in the /e2e directory:

| Package | From | To |
| --- | --- | --- |
| [github.com/fsnotify/fsnotify](https://github.com/fsnotify/fsnotify) |
`1.9.0` | `1.10.1` |
|
[github.com/huandu/go-sqlbuilder](https://github.com/huandu/go-sqlbuilder)
| `1.40.2` | `1.41.0` |
| [github.com/lestrrat-go/jwx/v3](https://github.com/lestrrat-go/jwx) |
`3.1.0` | `3.1.1` |
|
[github.com/olekukonko/tablewriter](https://github.com/olekukonko/tablewriter)
| `1.1.0` | `1.1.4` |
| [github.com/vektah/gqlparser/v2](https://github.com/vektah/gqlparser)
| `2.5.32` | `2.5.33` |
| [golang.org/x/net](https://github.com/golang/net) | `0.53.0` |
`0.54.0` |
| [google.golang.org/grpc](https://github.com/grpc/grpc-go) | `1.80.0` |
`1.81.0` |
| gopkg.in/ini.v1 | `1.67.1` | `1.67.2` |
|
[github.com/go-sql-driver/mysql](https://github.com/go-sql-driver/mysql)
| `1.9.3` | `1.10.0` |
|
[github.com/microsoft/go-mssqldb](https://github.com/microsoft/go-mssqldb)
| `1.9.8` | `1.10.0` |
| [modernc.org/sqlite](https://gitlab.com/cznic/sqlite) | `1.49.1` |
`1.50.1` |


Updates `github.com/fsnotify/fsnotify` from 1.9.0 to 1.10.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/fsnotify/fsnotify/releases">github.com/fsnotify/fsnotify's
releases</a>.</em></p>
<blockquote>
<h2>v1.10.1</h2>
<h3>Changes and fixes</h3>
<ul>
<li>
<p>inotify: don't remove sibling watches sharing a path prefix (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/754">#754</a>)</p>
</li>
<li>
<p>inotify, windows: don't rename sibling watches sharing a path prefix
(<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/755">#755</a>)</p>
</li>
</ul>
<p><a
href="https://redirect.github.com/fsnotify/fsnotify/issues/754">#754</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/754">fsnotify/fsnotify#754</a>
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/755">#755</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/755">fsnotify/fsnotify#755</a></p>
<h2>v1.10.0</h2>
<p>This version of fsnotify needs Go 1.23.</p>
<h3>Changes and fixes</h3>
<ul>
<li>
<p>inotify: improve initialization error message (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/731">#731</a>)</p>
</li>
<li>
<p>inotify: send Rename event if recursive watch is renamed (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/696">#696</a>)</p>
</li>
<li>
<p>inotify: avoid copying event buffers when reading names (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/741">#741</a>)</p>
</li>
<li>
<p>kqueue: skip dangling symlinks (ENOENT) in watchDirectoryFiles, so a
bad entry no longer aborts Watcher.Add for the whole directory (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/748">#748</a>)</p>
</li>
<li>
<p>kqueue: drop watches directly in Close() to fix a file descriptor
leak when recycling watchers (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/740">#740</a>)</p>
</li>
<li>
<p>windows: fix nil pointer dereference in remWatch (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/736">#736</a>)</p>
</li>
<li>
<p>windows: lock watch field updates against concurrent WatchList to fix
a race introduced in v1.9.0 (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/709">#709</a>,
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/749">#749</a>)</p>
</li>
</ul>
<p><a
href="https://redirect.github.com/fsnotify/fsnotify/issues/696">#696</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/696">fsnotify/fsnotify#696</a>
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/709">#709</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/709">fsnotify/fsnotify#709</a>
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/731">#731</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/731">fsnotify/fsnotify#731</a>
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/736">#736</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/736">fsnotify/fsnotify#736</a>
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/740">#740</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/740">fsnotify/fsnotify#740</a>
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/741">#741</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/741">fsnotify/fsnotify#741</a>
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/748">#748</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/748">fsnotify/fsnotify#748</a>
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/749">#749</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/749">fsnotify/fsnotify#749</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/fsnotify/fsnotify/blob/main/CHANGELOG.md">github.com/fsnotify/fsnotify's
changelog</a>.</em></p>
<blockquote>
<h2>1.10.1 2026-05-04</h2>
<h3>Changes and fixes</h3>
<ul>
<li>
<p>inotify: don't remove sibling watches sharing a path prefix (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/754">#754</a>)</p>
</li>
<li>
<p>inotify, windows: don't rename sibling watches sharing a path prefix
(<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/755">#755</a>)</p>
</li>
</ul>
<p><a
href="https://redirect.github.com/fsnotify/fsnotify/issues/754">#754</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/754">fsnotify/fsnotify#754</a>
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/755">#755</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/755">fsnotify/fsnotify#755</a></p>
<h2>1.10.0 2026-04-30</h2>
<p>This version of fsnotify needs Go 1.23.</p>
<h3>Changes and fixes</h3>
<ul>
<li>
<p>inotify: improve initialization error message (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/731">#731</a>)</p>
</li>
<li>
<p>inotify: send Rename event if recursive watch is renamed (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/696">#696</a>)</p>
</li>
<li>
<p>inotify: avoid copying event buffers when reading names (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/741">#741</a>)</p>
</li>
<li>
<p>kqueue: skip dangling symlinks (ENOENT) in watchDirectoryFiles, so a
bad entry no longer aborts Watcher.Add for the whole directory (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/748">#748</a>)</p>
</li>
<li>
<p>kqueue: drop watches directly in Close() to fix a file descriptor
leak
when recycling watchers (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/740">#740</a>)</p>
</li>
<li>
<p>windows: fix nil pointer dereference in remWatch (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/736">#736</a>)</p>
</li>
<li>
<p>windows: lock watch field updates against concurrent WatchList to fix
a race introduced in v1.9.0 (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/709">#709</a>,
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/749">#749</a>)</p>
</li>
</ul>
<p><a
href="https://redirect.github.com/fsnotify/fsnotify/issues/696">#696</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/696">fsnotify/fsnotify#696</a>
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/709">#709</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/709">fsnotify/fsnotify#709</a>
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/731">#731</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/731">fsnotify/fsnotify#731</a>
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/736">#736</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/736">fsnotify/fsnotify#736</a>
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/740">#740</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/740">fsnotify/fsnotify#740</a>
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/741">#741</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/741">fsnotify/fsnotify#741</a>
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/748">#748</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/748">fsnotify/fsnotify#748</a>
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/749">#749</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/749">fsnotify/fsnotify#749</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/fsnotify/fsnotify/commit/76b01a6e8f502187fecedea8b025e79e5a86085c"><code>76b01a6</code></a>
Release 1.10.1</li>
<li><a
href="https://github.com/fsnotify/fsnotify/commit/fec150b807510e54e5b25def4b6e5fb001b4898c"><code>fec150b</code></a>
Update changelog</li>
<li><a
href="https://github.com/fsnotify/fsnotify/commit/162b4216ab8f92ecd26425530bee198972c9b3cb"><code>162b421</code></a>
inotify, windows: don't rename sibling watches sharing a path prefix (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/755">#755</a>)</li>
<li><a
href="https://github.com/fsnotify/fsnotify/commit/224257f23b2f3a96509b316c5cead71dd4a9099a"><code>224257f</code></a>
inotify: don't remove sibling watches sharing a path prefix (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/754">#754</a>)</li>
<li><a
href="https://github.com/fsnotify/fsnotify/commit/e0c956c0ccaf51562fee30ef5c055c74e6ae2104"><code>e0c956c</code></a>
windows: document directory Write events and stabilize tests (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/745">#745</a>)</li>
<li><a
href="https://github.com/fsnotify/fsnotify/commit/8d01d7b9cbe0199e4a1e60fbd965fb05dbb42123"><code>8d01d7b</code></a>
Release 1.10.0</li>
<li><a
href="https://github.com/fsnotify/fsnotify/commit/602284e4a8cadd488d7a5fa07c48462dfac25108"><code>602284e</code></a>
Update changelog</li>
<li><a
href="https://github.com/fsnotify/fsnotify/commit/7f03e59f9659552d8a084e03024cb9b983748ed7"><code>7f03e59</code></a>
kqueue: skip ENOENT entries in watchDirectoryFiles (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/748">#748</a>)</li>
<li><a
href="https://github.com/fsnotify/fsnotify/commit/dab9dde2fc9ba4d0c1076318f81cabcc8fdb2ec9"><code>dab9dde</code></a>
windows: lock watch field updates against concurrent WatchList (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/709">#709</a>)
(<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/749">#749</a>)</li>
<li><a
href="https://github.com/fsnotify/fsnotify/commit/eadf267ce152b5e62d48cc2c13bb08bd4062b6c7"><code>eadf267</code></a>
kqueue: drop watches directly in Close() instead of going through
remove() (#...</li>
<li>Additional commits viewable in <a
href="https://github.com/fsnotify/fsnotify/compare/v1.9.0...v1.10.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `github.com/huandu/go-sqlbuilder` from 1.40.2 to 1.41.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/huandu/go-sqlbuilder/releases">github.com/huandu/go-sqlbuilder's
releases</a>.</em></p>
<blockquote>
<h2>v1.41.0</h2>
<ul>
<li><code>[NEW]</code> Add an option <code>NoExpand</code> to change
default field &quot;expand&quot; behavior for backward compatibility.
See <a
href="https://redirect.github.com/huandu/go-sqlbuilder/issues/237">#237</a>
for details.</li>
</ul>
<p>NOTE: Starting from v1.40.0, the <code>Struct</code> utility type
defaults to expanding non-primitive struct fields. This change caused
unexpected behavior for some users. To address this without reverting
the features introduced in v1.40.0, we have introduced a <code>NoExpand
</code>configuration. When set to true, all fields will default to no
expansion (preserving legacy behavior). You can still opt-in to
expansion for specific fields by using the
<code>fieldopt:&quot;expand&quot;</code> tag.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/huandu/go-sqlbuilder/compare/v1.40.0...v1.41.0">https://github.com/huandu/go-sqlbuilder/compare/v1.40.0...v1.41.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/huandu/go-sqlbuilder/commit/44837218602c8f96eac9f27411d5b93a20dc979d"><code>4483721</code></a>
fix <a
href="https://redirect.github.com/huandu/go-sqlbuilder/issues/237">#237</a>:
add option <code>NoExpand</code> to control default field
&quot;expand&quot; behavior</li>
<li>See full diff in <a
href="https://github.com/huandu/go-sqlbuilder/compare/v1.40.2...v1.41.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `github.com/lestrrat-go/jwx/v3` from 3.1.0 to 3.1.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/lestrrat-go/jwx/releases">github.com/lestrrat-go/jwx/v3's
releases</a>.</em></p>
<blockquote>
<h2>v3.1.1</h2>
<p>For more detailed release notes, see <a
href="https://github.com/lestrrat-go/jwx/blob/v3.1.1/Changes">Changes</a>.</p>
<h2>What's Changed</h2>
<ul>
<li>build(deps): bump pozil/auto-assign-issue from 2.2.0 to 2.2.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2045">lestrrat-go/jwx#2045</a></li>
<li>guard ecdsa coordinates against oversized big.Int by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2050">lestrrat-go/jwx#2050</a></li>
<li>reject jwe with conflicting alg in protected vs per-recipient by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2052">lestrrat-go/jwx#2052</a></li>
<li>fix AddressClaim.MarshalJSON for non-printable bytes by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2056">lestrrat-go/jwx#2056</a></li>
<li>jwt: only call ParseForm when WithFormKey is supplied by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2058">lestrrat-go/jwx#2058</a></li>
<li>jws: jkuProvider rejects fetched keys marked use=enc by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2060">lestrrat-go/jwx#2060</a></li>
<li>jwa: unify SignatureAlgorithm/KeyEncryption/ContentEncryption into
one registry by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2066">lestrrat-go/jwx#2066</a></li>
<li>build(deps): bump pozil/auto-assign-issue from
f245a9119ba5cc2fed4aa7b8268d576d40acddf0 to
7bf9d82c77d45976224660b873fc83e60576c5aa by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2065">lestrrat-go/jwx#2065</a></li>
<li>cmd/jwx: warn on private-key-to-tty + reject keysize&lt;=0 for oct
by <a href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in
<a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2071">lestrrat-go/jwx#2071</a></li>
<li>jws: refuse &quot;b64&quot; header in VerifyCompactFast by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2081">lestrrat-go/jwx#2081</a></li>
<li>jws: VerifyCompactFast refusals match jws.VerifyError() class by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2083">lestrrat-go/jwx#2083</a></li>
<li>jws: name loose keySet options in fan-out verify error by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2085">lestrrat-go/jwx#2085</a></li>
<li>jws: honor RFC 7797 b64=false in Message.MarshalJSON by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2087">lestrrat-go/jwx#2087</a></li>
<li>jws: reject literal-JSON &quot;protected&quot; in general-form JWS
by <a href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in
<a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2089">lestrrat-go/jwx#2089</a></li>
<li>jwt: ParseRequest: don't skip form body on chunked transfer by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2091">lestrrat-go/jwx#2091</a></li>
<li>jwt: pedantic mode enforces cty=JWT nested-envelope shape by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2094">lestrrat-go/jwx#2094</a></li>
<li>jwt: defensively reject missing claims in MaxDeltaIs / MinDeltaIs by
<a href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2099">lestrrat-go/jwx#2099</a></li>
<li>jwt: ParseInsecure: parse loop-local payload, not original input by
<a href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2097">lestrrat-go/jwx#2097</a></li>
<li>jws: Verify rejects b64=false without &quot;b64&quot; listed in
&quot;crit&quot; by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2102">lestrrat-go/jwx#2102</a></li>
<li>jws: Sign auto-declares &quot;b64&quot; in &quot;crit&quot; when
emitting b64=false by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2104">lestrrat-go/jwx#2104</a></li>
<li>jws: declare &quot;b64&quot; as typed bool header field by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2106">lestrrat-go/jwx#2106</a></li>
<li>jws: reject general-form JWS with top-level &quot;header&quot;
sibling of &quot;signatures&quot; by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2108">lestrrat-go/jwx#2108</a></li>
<li>jws: typed sentinel for AlgorithmsForKey unclassifiable-key failures
by <a href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in
<a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2110">lestrrat-go/jwx#2110</a></li>
<li>jws: VerifyMessage observes ctx cancellation between loop iterations
by <a href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in
<a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2112">lestrrat-go/jwx#2112</a></li>
<li>jws: cleanup follow-ups from recent review (low-severity batch) by
<a href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2114">lestrrat-go/jwx#2114</a></li>
<li>jwe: DecryptMessage observes ctx cancellation between loop
iterations by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2117">lestrrat-go/jwx#2117</a></li>
<li>jwe: parse and bound-check PBES2 p2c in int64 space; name the
violated bound by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2119">lestrrat-go/jwx#2119</a></li>
<li>jwe: WithKey validates alg-vs-key shape at option-time by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2121">lestrrat-go/jwx#2121</a></li>
<li>jwe: compression cap error names &quot;decompressed&quot; payload,
the option, and the size by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2123">lestrrat-go/jwx#2123</a></li>
<li>jwe: bound joined-error count and drop redundant outer Decrypt
prefix by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2125">lestrrat-go/jwx#2125</a></li>
<li>jwe: keySetProvider surfaces per-key errors via errors.Join by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2127">lestrrat-go/jwx#2127</a></li>
<li>jwe: add WithDisabledKeyAlgorithms global policy hook by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2129">lestrrat-go/jwx#2129</a></li>
<li>jwe: document WithMaxDecompressBufferSize behavior at non-positive
values by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2131">lestrrat-go/jwx#2131</a></li>
<li>jwk: stop duplicating JWK fields at JWKS top level on parse by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2133">lestrrat-go/jwx#2133</a></li>
<li>jwk: wrap ParseKey errors with ParseError sentinel by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2135">lestrrat-go/jwx#2135</a></li>
<li>jwk: stream the keys array with cap-before-allocate by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2137">lestrrat-go/jwx#2137</a></li>
<li>jwk: treat nil key from custom KeyParser as continue, not success by
<a href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2140">lestrrat-go/jwx#2140</a></li>
<li>jwk: fix phantom ContinueParseError refs and unmarshaler typo in
docs by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2142">lestrrat-go/jwx#2142</a></li>
<li>Changes: draft v3.1.1 release notes by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2155">lestrrat-go/jwx#2155</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/lestrrat-go/jwx/compare/v3.1.0...v3.1.1">https://github.com/lestrrat-go/jwx/compare/v3.1.0...v3.1.1</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/lestrrat-go/jwx/blob/v3.1.1/Changes">github.com/lestrrat-go/jwx/v3's
changelog</a>.</em></p>
<blockquote>
<p>v3.1.1 7 May 2026</p>
<ul>
<li>
<p>[jws] Coordinated RFC 7797 <code>b64=false</code> handling pass:
<code>jws.Verify</code>
rejects payloads with <code>b64=false</code> unless <code>b64</code> is
also listed in
<code>crit</code>; <code>jws.Sign</code> auto-declares <code>b64</code>
in <code>crit</code> when emitting
<code>b64=false</code>; <code>Message.MarshalJSON</code> honors
<code>b64=false</code> instead of
silently re-encoding; <code>jws.VerifyCompactFast</code> refuses any
compact
JWS carrying <code>b64</code> (the fast path doesn't process extension
headers); and <code>b64</code> is now declared as a typed boolean header
field rather than handled ad-hoc.
(<a
href="https://redirect.github.com/lestrrat-go/jwx/issues/2081">#2081</a>,
<a
href="https://redirect.github.com/lestrrat-go/jwx/issues/2087">#2087</a>,
<a
href="https://redirect.github.com/lestrrat-go/jwx/issues/2102">#2102</a>,
<a
href="https://redirect.github.com/lestrrat-go/jwx/issues/2104">#2104</a>,
<a
href="https://redirect.github.com/lestrrat-go/jwx/issues/2106">#2106</a>)</p>
</li>
<li>
<p>[jws] Reject malformed general-form JSON-serialized JWS: inputs
with a top-level <code>header</code> member as a sibling of
<code>signatures</code> are
rejected (the spec only permits <code>header</code> inside per-signature
objects), as are inputs whose <code>protected</code> member is a literal
JSON object instead of a base64url-encoded string.
(<a
href="https://redirect.github.com/lestrrat-go/jwx/issues/2089">#2089</a>,
<a
href="https://redirect.github.com/lestrrat-go/jwx/issues/2108">#2108</a>)</p>
</li>
<li>
<p>[jws] <code>jws.AlgorithmsForKey</code> failures from unclassifiable
keys
are now wrapped in a typed sentinel so callers can branch on
&quot;couldn't categorize this key&quot; without string matching the
error
message. (<a
href="https://redirect.github.com/lestrrat-go/jwx/issues/2110">#2110</a>)</p>
</li>
<li>
<p>[jws] Verify error-shape consistency: <code>VerifyCompactFast</code>
refusals now match the <code>jws.VerifyError()</code> taxonomy used by
the
slow path, fan-out verify errors name the loose <code>WithKeySet</code>
options that were tried, multi-signature <code>b64</code> mismatches
name
the offending signature index and conflicting value, and the
compact <code>b64=false</code>+payload-contains-<code>.</code> error
references RFC
7797 §5.2 and points at <code>WithDetachedPayload</code>.
(<a
href="https://redirect.github.com/lestrrat-go/jwx/issues/2083">#2083</a>,
<a
href="https://redirect.github.com/lestrrat-go/jwx/issues/2085">#2085</a>,
<a
href="https://redirect.github.com/lestrrat-go/jwx/issues/2114">#2114</a>)</p>
</li>
<li>
<p>[jws] Keys fetched via the <code>jku</code> header are no longer
accepted
for signature verification when the JWK declares <code>use=enc</code>.
(<a
href="https://redirect.github.com/lestrrat-go/jwx/issues/2060">#2060</a>)</p>
</li>
<li>
<p>[jws][jwe] <code>jws.VerifyMessage</code> and
<code>jwe.DecryptMessage</code> observe
context cancellation between loop iterations rather than only at
boundaries. Long fan-out verify/decrypt loops now respond to a
cancelled context promptly. (<a
href="https://redirect.github.com/lestrrat-go/jwx/issues/2112">#2112</a>,
<a
href="https://redirect.github.com/lestrrat-go/jwx/issues/2117">#2117</a>)</p>
</li>
<li>
<p>[jwe] Reject PBES2 messages whose <code>p2c</code> (iteration count)
does
not parse cleanly into int64 or violates the configured bound.
The error now names the violated bound (min vs max) instead of
the generic &quot;out of range&quot;. (<a
href="https://redirect.github.com/lestrrat-go/jwx/issues/2119">#2119</a>)</p>
</li>
<li>
<p>[jwe] <code>jwe.WithKey()</code> validates the alg-vs-key shape at
option
construction time rather than during encryption, so misuse
surfaces at the call site instead of inside the encrypt loop.
(<a
href="https://redirect.github.com/lestrrat-go/jwx/issues/2121">#2121</a>)</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/lestrrat-go/jwx/commit/59b8b1b4239be0b470e5d939f16759793bc4a203"><code>59b8b1b</code></a>
release v3.1.1</li>
<li><a
href="https://github.com/lestrrat-go/jwx/commit/4d4ab015bec294bcee30d83506def12906e9da2c"><code>4d4ab01</code></a>
Changes: draft v3.1.1 release notes (<a
href="https://redirect.github.com/lestrrat-go/jwx/issues/2155">#2155</a>)</li>
<li><a
href="https://github.com/lestrrat-go/jwx/commit/ad739f565db19d9d8fe805eb5db0b05d5441f971"><code>ad739f5</code></a>
jwk: fix phantom ContinueParseError refs and unmarshaler typo in docs
(<a
href="https://redirect.github.com/lestrrat-go/jwx/issues/2142">#2142</a>)</li>
<li><a
href="https://github.com/lestrrat-go/jwx/commit/3227cf9c3d8ddc2d9728d58db03f905b61972f69"><code>3227cf9</code></a>
jwk: treat nil key from custom KeyParser as continue, not success (<a
href="https://redirect.github.com/lestrrat-go/jwx/issues/2140">#2140</a>)</li>
<li><a
href="https://github.com/lestrrat-go/jwx/commit/82c067ed57cbcbf0aba072518ed928c96306e951"><code>82c067e</code></a>
jwk: stream the keys array with cap-before-allocate (<a
href="https://redirect.github.com/lestrrat-go/jwx/issues/2137">#2137</a>)</li>
<li><a
href="https://github.com/lestrrat-go/jwx/commit/931a815632dab9bb0e49c81aa701dbf9e9a77f04"><code>931a815</code></a>
jwk: wrap ParseKey errors with ParseError sentinel (<a
href="https://redirect.github.com/lestrrat-go/jwx/issues/2135">#2135</a>)</li>
<li><a
href="https://github.com/lestrrat-go/jwx/commit/53f62259012b1d934a1dc8c07ebbd8f516f7b919"><code>53f6225</code></a>
jwk: stop duplicating JWK fields at JWKS top level on parse (<a
href="https://redirect.github.com/lestrrat-go/jwx/issues/2133">#2133</a>)</li>
<li><a
href="https://github.com/lestrrat-go/jwx/commit/8943519997fa2fe4e7e0423baf9cd8e9bb45ddd9"><code>8943519</code></a>
jwe: document WithMaxDecompressBufferSize behavior at non-positive
values (<a
href="https://redirect.github.com/lestrrat-go/jwx/issues/2">#2</a>...</li>
<li><a
href="https://github.com/lestrrat-go/jwx/commit/4797307a63aa0dd6847ee64cbdacbb878226b4f8"><code>4797307</code></a>
jwe: add WithDisabledKeyAlgorithms global policy hook (<a
href="https://redirect.github.com/lestrrat-go/jwx/issues/2129">#2129</a>)</li>
<li><a
href="https://github.com/lestrrat-go/jwx/commit/de41d0ef9e0b8f6a9f844f5313abbc510dda78fb"><code>de41d0e</code></a>
jwe: keySetProvider surfaces per-key errors via errors.Join (<a
href="https://redirect.github.com/lestrrat-go/jwx/issues/2127">#2127</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/lestrrat-go/jwx/compare/v3.1.0...v3.1.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `github.com/olekukonko/tablewriter` from 1.1.0 to 1.1.4
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/olekukonko/tablewriter/commit/a0dea8a90a8a0c7610afb5588d2f15a57f4aa9a2"><code>a0dea8a</code></a>
no need to disable twice</li>
<li><a
href="https://github.com/olekukonko/tablewriter/commit/a4fb40afbe367fd0733ce7b45223034febf7b0b4"><code>a4fb40a</code></a>
Merge pull request <a
href="https://redirect.github.com/olekukonko/tablewriter/issues/314">#314</a>
from sducamp/fix/rendition-debug-leak</li>
<li><a
href="https://github.com/olekukonko/tablewriter/commit/6bc4cb4866ab2a10340bf0d11c41e676b546e253"><code>6bc4cb4</code></a>
fix: prevent debug output leak from renderer during Options()
reconfiguration</li>
<li><a
href="https://github.com/olekukonko/tablewriter/commit/54408fee90b7a66a94d9d71f789d42e03f45109b"><code>54408fe</code></a>
update ll to v0.1.6</li>
<li><a
href="https://github.com/olekukonko/tablewriter/commit/5ea5f3c761e556def568d7e07df774c55ae66071"><code>5ea5f3c</code></a>
add mote tab test ans update go mod</li>
<li><a
href="https://github.com/olekukonko/tablewriter/commit/1455dd8dd79719f142013f59e300fcdf0144f3fd"><code>1455dd8</code></a>
Merge pull request <a
href="https://redirect.github.com/olekukonko/tablewriter/issues/311">#311</a>
from olekukonko/tabber</li>
<li><a
href="https://github.com/olekukonko/tablewriter/commit/d7b0a55c1f9c6bd55eceaa22dfb0123bac23f281"><code>d7b0a55</code></a>
improve tab and make test more predictable</li>
<li><a
href="https://github.com/olekukonko/tablewriter/commit/62117a2ca655057ba2e61f2d18896f619fc48230"><code>62117a2</code></a>
add space default <a
href="https://redirect.github.com/olekukonko/tablewriter/issues/312">#312</a>
for colorized renderer</li>
<li><a
href="https://github.com/olekukonko/tablewriter/commit/4958831ad1de62ec94567bf5d42a8a9b2c50e74d"><code>4958831</code></a>
ll v0.1.5 update enables logging by default hence disable</li>
<li><a
href="https://github.com/olekukonko/tablewriter/commit/1c68e06c65b87d5416aada2737b6683fadd1b25b"><code>1c68e06</code></a>
use space for padding as default <a
href="https://redirect.github.com/olekukonko/tablewriter/issues/312">#312</a></li>
<li>Additional commits viewable in <a
href="https://github.com/olekukonko/tablewriter/compare/v1.1.0...v1.1.4">compare
view</a></li>
</ul>
</details>
<br />

Updates `github.com/vektah/gqlparser/v2` from 2.5.32 to 2.5.33
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vektah/gqlparser/releases">github.com/vektah/gqlparser/v2's
releases</a>.</em></p>
<blockquote>
<h2>v2.5.33</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: allow repeatable directives on GraphQL document by <a
href="https://github.com/fredzqm"><code>@​fredzqm</code></a> in <a
href="https://redirect.github.com/vektah/gqlparser/pull/418">vektah/gqlparser#418</a></li>
<li>feat: create a new ScalarLeafsRuleWithoutSuggestions validator rule
by <a
href="https://github.com/XuankangLin"><code>@​XuankangLin</code></a> in
<a
href="https://redirect.github.com/vektah/gqlparser/pull/413">vektah/gqlparser#413</a></li>
<li>refactor: format lines in scalar_leafs.go by <a
href="https://github.com/XuankangLin"><code>@​XuankangLin</code></a> in
<a
href="https://redirect.github.com/vektah/gqlparser/pull/423">vektah/gqlparser#423</a></li>
<li>Fix negative Position.Column for definitions with block string
descriptions (<a
href="https://redirect.github.com/vektah/gqlparser/issues/254">#254</a>)
by <a href="https://github.com/riwal42c"><code>@​riwal42c</code></a> in
<a
href="https://redirect.github.com/vektah/gqlparser/pull/422">vektah/gqlparser#422</a></li>
<li>Update spec to 2023 version by <a
href="https://github.com/StevenACoffman"><code>@​StevenACoffman</code></a>
in <a
href="https://redirect.github.com/vektah/gqlparser/pull/401">vektah/gqlparser#401</a></li>
<li>Bump picomatch from 2.3.1 to 2.3.2 in /validator/imported by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/vektah/gqlparser/pull/420">vektah/gqlparser#420</a></li>
<li>Bump <code>@​babel/preset-env</code> from 7.29.0 to 7.29.2 in
/validator/imported in the actions-deps group by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/vektah/gqlparser/pull/419">vektah/gqlparser#419</a></li>
<li>Bump brace-expansion from 1.1.12 to 1.1.13 in /validator/imported by
<a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/vektah/gqlparser/pull/421">vektah/gqlparser#421</a></li>
<li>Bump prettier from 3.8.1 to 3.8.2 in /validator/imported in the
actions-deps group by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/vektah/gqlparser/pull/424">vektah/gqlparser#424</a></li>
<li>Bump prettier from 3.8.2 to 3.8.3 in /validator/imported in the
actions-deps group by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/vektah/gqlparser/pull/425">vektah/gqlparser#425</a></li>
<li>Bump minimatch from 3.0.4 to 3.1.5 in /validator/imported by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/vektah/gqlparser/pull/417">vektah/gqlparser#417</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/XuankangLin"><code>@​XuankangLin</code></a>
made their first contribution in <a
href="https://redirect.github.com/vektah/gqlparser/pull/413">vektah/gqlparser#413</a></li>
<li><a href="https://github.com/riwal42c"><code>@​riwal42c</code></a>
made their first contribution in <a
href="https://redirect.github.com/vektah/gqlparser/pull/422">vektah/gqlparser#422</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/vektah/gqlparser/compare/v2.5.32...v2.5.33">https://github.com/vektah/gqlparser/compare/v2.5.32...v2.5.33</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/vektah/gqlparser/commit/41b7913b390ac4278ca7fc766afd586c1e6df819"><code>41b7913</code></a>
Bump minimatch from 3.0.4 to 3.1.5 in /validator/imported (<a
href="https://redirect.github.com/vektah/gqlparser/issues/417">#417</a>)</li>
<li><a
href="https://github.com/vektah/gqlparser/commit/3c33bbeb81dd06c1dc5d5e56c97c2ac74e3a5e71"><code>3c33bbe</code></a>
Bump prettier in /validator/imported in the actions-deps group (<a
href="https://redirect.github.com/vektah/gqlparser/issues/425">#425</a>)</li>
<li><a
href="https://github.com/vektah/gqlparser/commit/f63b51fcf337b673ac06b593262f7ed72d11de24"><code>f63b51f</code></a>
Update spec to 2023 version (<a
href="https://redirect.github.com/vektah/gqlparser/issues/401">#401</a>)</li>
<li><a
href="https://github.com/vektah/gqlparser/commit/1f1383cb52d49c63919a791309a2c80e16a83c6f"><code>1f1383c</code></a>
Bump prettier in /validator/imported in the actions-deps group (<a
href="https://redirect.github.com/vektah/gqlparser/issues/424">#424</a>)</li>
<li><a
href="https://github.com/vektah/gqlparser/commit/021901042dbe56648020832ee88973acd389ea64"><code>0219010</code></a>
Fix negative Position.Column for definitions with block string
descriptions (...</li>
<li><a
href="https://github.com/vektah/gqlparser/commit/16bf3c4da15f2de0a8648e66f956ef9da2129d8e"><code>16bf3c4</code></a>
refactor: format lines in scalar_leafs.go (<a
href="https://redirect.github.com/vektah/gqlparser/issues/423">#423</a>)</li>
<li><a
href="https://github.com/vektah/gqlparser/commit/be677085400ffa5fd6e0ac86d98d1cf94db05efe"><code>be67708</code></a>
Bump brace-expansion from 1.1.12 to 1.1.13 in /validator/imported (<a
href="https://redirect.github.com/vektah/gqlparser/issues/421">#421</a>)</li>
<li><a
href="https://github.com/vektah/gqlparser/commit/61efb18da16d7f45f8050ecb576d27b85e6861da"><code>61efb18</code></a>
feat: create a new ScalarLeafsRuleWithoutSuggestions validator rule (<a
href="https://redirect.github.com/vektah/gqlparser/issues/413">#413</a>)</li>
<li><a
href="https://github.com/vektah/gqlparser/commit/a9bb4644d5911effae909bab06029df7f11c402c"><code>a9bb464</code></a>
feat(validator): handle repeatable directives correctly (<a
href="https://redirect.github.com/vektah/gqlparser/issues/418">#418</a>)</li>
<li><a
href="https://github.com/vektah/gqlparser/commit/b239ec3bfe15a44330f9752bd7fb56cc41cf1c2b"><code>b239ec3</code></a>
Bump <code>@​babel/preset-env</code> in /validator/imported in the
actions-deps group (<a
href="https://redirect.github.com/vektah/gqlparser/issues/419">#419</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/vektah/gqlparser/compare/v2.5.32...v2.5.33">compare
view</a></li>
</ul>
</details>
<br />

Updates `golang.org/x/net` from 0.53.0 to 0.54.0
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/golang/net/commit/b138e06246cb323f2f380c2b7f7dd91f581dd56b"><code>b138e06</code></a>
go.mod: update golang.org/x dependencies</li>
<li><a
href="https://github.com/golang/net/commit/689f70a42abd350f3a1aaa70b0d13eb9543d927a"><code>689f70a</code></a>
quic: fix wrong final size being used for RESET_STREAM frame</li>
<li><a
href="https://github.com/golang/net/commit/208f306b2f0fd008b388bee2c2644be279778e94"><code>208f306</code></a>
http3: increase handshake timeout</li>
<li><a
href="https://github.com/golang/net/commit/49810da71b9026da9e0d028a6ad8c7730c52d9c4"><code>49810da</code></a>
http2: enable net/http wrapping when go &gt;= 1.27</li>
<li><a
href="https://github.com/golang/net/commit/5e11a5ab891c117eda83b4304d60dd13286c1c76"><code>5e11a5a</code></a>
quic: fix data race in streamForFrame</li>
<li><a
href="https://github.com/golang/net/commit/8c63081cd380ea768db5651941614b73472160ff"><code>8c63081</code></a>
http2: use empty Transport rather than DefaultTransport in
http2wrap</li>
<li><a
href="https://github.com/golang/net/commit/fc7b466ca49cb204039630533ece4fc557eb35cd"><code>fc7b466</code></a>
http2: add http2wrap test</li>
<li><a
href="https://github.com/golang/net/commit/15c2cb1875fd727313dc4de909b3ee149422fbe2"><code>15c2cb1</code></a>
http2: avoid overflowing 32-bit int when http2wrap enabled</li>
<li><a
href="https://github.com/golang/net/commit/64651885c2f2d745d77af2d7af2edbf568c179af"><code>6465188</code></a>
http2: add wrapped Server</li>
<li><a
href="https://github.com/golang/net/commit/72f419a894cb0597dd5b6bcf119086bf2af41231"><code>72f419a</code></a>
http2: add wrapped ClientConn</li>
<li>Additional commits viewable in <a
href="https://github.com/golang/net/compare/v0.53.0...v0.54.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `golang.org/x/text` from 0.36.0 to 0.37.0
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/golang/text/commit/3ef517e623a4bfc08d6457f87d73afda7af7d8e1"><code>3ef517e</code></a>
go.mod: update golang.org/x dependencies</li>
<li>See full diff in <a
href="https://github.com/golang/text/compare/v0.36.0...v0.37.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `google.golang.org/grpc` from 1.80.0 to 1.81.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/grpc/grpc-go/releases">google.golang.org/grpc's
releases</a>.</em></p>
<blockquote>
<h2>Release 1.81.0</h2>
<h1>Behavior Changes</h1>
<ul>
<li>balancer/rls: Switch gauge metrics to asynchronous emission (once
per collection cycle) to reduce telemetry noise and align with other
gRPC language implementations. (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8808">#8808</a>)</li>
</ul>
<h1>Dependencies</h1>
<ul>
<li>Minimum supported Go version is now 1.25. (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8969">#8969</a>)</li>
</ul>
<h1>Bug Fixes</h1>
<ul>
<li>xds: Use the leaf cluster's security config for the TLS handshake
instead of the aggregate cluster's config. (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8956">#8956</a>)</li>
<li>transport: Send a <code>RST_STREAM</code> when receiving an
<code>END_STREAM</code> when the stream is not already half-closed. (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8832">#8832</a>)</li>
<li>xds: Fix ADS resource name validation to prevent a panic. (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8970">#8970</a>)</li>
</ul>
<h1>New Features</h1>
<ul>
<li>grpc/stats: Add support for custom labels in per-call metrics (<a
href="https://github.com/grpc/proposal/blob/master/A108-otel-custom-per-call-label.md">gRFC
A108</a>). (<a
href="https://redirect.github.com/grpc/grpc-go/issues/9008">#9008</a>)</li>
<li>xds: Add support for Server Name Indication (SNI) and SAN validation
(<a
href="https://github.com/grpc/proposal/blob/master/A101-SNI-setting-and-SNI-SAN-validation.md">gRFC
A101</a>). Disabled by default. To enable, set
<code>GRPC_EXPERIMENTAL_XDS_SNI=true</code> environment variable. (<a
href="https://redirect.github.com/grpc/grpc-go/issues/9016">#9016</a>)</li>
<li>xds: Add support to control which fields get propagated from ORCA
backend metric reports to LRS load reports (<a
href="https://github.com/grpc/proposal/blob/master/A85-lrs-custom-metrics-changes.md">gRFC
A85</a>). Disabled by default. To enable, set
<code>GRPC_EXPERIMENTAL_XDS_ORCA_LRS_PROPAGATION=true</code>. (<a
href="https://redirect.github.com/grpc/grpc-go/issues/9005">#9005</a>)</li>
<li>xds: Add metrics to track xDS client connectivity and cached
resource state (<a
href="https://github.com/grpc/proposal/blob/master/A78-grpc-metrics-wrr-pf-xds.md">gRFC
A78</a>). (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8807">#8807</a>)</li>
<li>stats/otel: Enhance <code>grpc.subchannel.disconnections</code>
metric by adding disconnection reason to the
<code>grpc.disconnect_error</code> label (<a
href="https://github.com/grpc/proposal/blob/master/A94-subchannel-otel-metrics.md">gRFC
A94</a>). This provides granular insights into why subchannels are
closing. (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8973">#8973</a>)</li>
<li>mem: Add <code>mem.Buffer.Slice()</code> API to slice the buffer
like a slice. (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8977">#8977</a>)
<ul>
<li>Special Thanks: <a
href="https://github.com/ash2k"><code>@​ash2k</code></a></li>
</ul>
</li>
</ul>
<h1>Performance Improvements</h1>
<ul>
<li>alts: Pool read buffers to lower memory utilization when sockets are
unreadable. (<a
href="https://redirect.github.com/grpc/grpc-go/issues/8964">#8964</a>)</li>
<li>transport: Pool HTTP/2 framer read buffers to reduce idle memory
consumption. Currently limited to Linux for ALTS and non-encrypted
transports (TCP, Unix). To disable, set
<code>GRPC_GO_EXPERIMENTAL_HTTP_FRAMER_READ_BUFFER_POOLING=false</code>
and report any issues. (<a
href="https://redirect.github.com/grpc/grpc-go/issues/9032">#9032</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/grpc/grpc-go/commit/cb18228317ff523e63d931b4058b0329585b7dcd"><code>cb18228</code></a>
Change version to 1.81.0 (<a
href="https://redirect.github.com/grpc/grpc-go/issues/9062">#9062</a>)</li>
<li><a
href="https://github.com/grpc/grpc-go/commit/96748f973e20bbfcafa19a8bdffc85ad5da138d1"><code>96748f9</code></a>
Cherry-pick <a
href="https://redirect.github.com/grpc/grpc-go/issues/9105">#9105</a> to
1.81.x (<a
href="https://redirect.github.com/grpc/grpc-go/issues/9106">#9106</a>)</li>
<li><a
href="https://github.com/grpc/grpc-go/commit/91832222f0144f76527b630ca55cfea6e1aa015a"><code>9183222</code></a>
Cherry pick <a
href="https://redirect.github.com/grpc/grpc-go/issues/9055">#9055</a>,
<a href="https://redirect.github.com/grpc/grpc-go/issues/9032">#9032</a>
to v1.81.x (<a
href="https://redirect.github.com/grpc/grpc-go/issues/9095">#9095</a>)</li>
<li><a
href="https://github.com/grpc/grpc-go/commit/5cba6da4211f3b130238c792937f5921741b616a"><code>5cba6da</code></a>
Revert &quot;deps: update dependencies for all modules (<a
href="https://redirect.github.com/grpc/grpc-go/issues/9065">#9065</a>)&quot;
(<a
href="https://redirect.github.com/grpc/grpc-go/issues/9067">#9067</a>)</li>
<li><a
href="https://github.com/grpc/grpc-go/commit/af8a9364aa7523ab24d214e9ef13e6ad64d5c5f9"><code>af8a936</code></a>
deps: update dependencies for all modules (<a
href="https://redirect.github.com/grpc/grpc-go/issues/9065">#9065</a>)</li>
<li><a
href="https://github.com/grpc/grpc-go/commit/cdc60dfaaadde45e16aa3c28237c0e655a722c1a"><code>cdc60df</code></a>
transport: optimize heap allocations in ready reader and update syscall
conne...</li>
<li><a
href="https://github.com/grpc/grpc-go/commit/208d053e3204c806ba9e6205c26aa064c8b42852"><code>208d053</code></a>
xds/resolver: pass complete XDSConfig in RPC context for HTTP filters
(gRFC A...</li>
<li><a
href="https://github.com/grpc/grpc-go/commit/50fe1cc7fd78b78ae638ed90ea78514c934167ac"><code>50fe1cc</code></a>
test: Fix flaky test
<code>TestServerStreaming_ClientCallRecvMsgTwice</code> in
`end2end...</li>
<li><a
href="https://github.com/grpc/grpc-go/commit/d574bad188f25ba03d41a506e6f2ef93837ad10b"><code>d574bad</code></a>
build(deps): bump go.opentelemetry.io/otel/sdk from 1.42.0 to 1.43.0 (<a
href="https://redirect.github.com/grpc/grpc-go/issues/9050">#9050</a>)</li>
<li><a
href="https://github.com/grpc/grpc-go/commit/b8bf4d0488a351c563d63797ffba321585d6bb24"><code>b8bf4d0</code></a>
build(deps): bump go.opentelemetry.io/otel/sdk from 1.42.0 to 1.43.0 in
/inte...</li>
<li>Additional commits viewable in <a
href="https://github.com/grpc/grpc-go/compare/v1.80.0...v1.81.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `gopkg.in/ini.v1` from 1.67.1 to 1.67.2

Updates `github.com/fsnotify/fsnotify` from 1.9.0 to 1.10.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/fsnotify/fsnotify/releases">github.com/fsnotify/fsnotify's
releases</a>.</em></p>
<blockquote>
<h2>v1.10.1</h2>
<h3>Changes and fixes</h3>
<ul>
<li>
<p>inotify: don't remove sibling watches sharing a path prefix (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/754">#754</a>)</p>
</li>
<li>
<p>inotify, windows: don't rename sibling watches sharing a path prefix
(<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/755">#755</a>)</p>
</li>
</ul>
<p><a
href="https://redirect.github.com/fsnotify/fsnotify/issues/754">#754</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/754">fsnotify/fsnotify#754</a>
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/755">#755</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/755">fsnotify/fsnotify#755</a></p>
<h2>v1.10.0</h2>
<p>This version of fsnotify needs Go 1.23.</p>
<h3>Changes and fixes</h3>
<ul>
<li>
<p>inotify: improve initialization error message (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/731">#731</a>)</p>
</li>
<li>
<p>inotify: send Rename event if recursive watch is renamed (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/696">#696</a>)</p>
</li>
<li>
<p>inotify: avoid copying event buffers when reading names (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/741">#741</a>)</p>
</li>
<li>
<p>kqueue: skip dangling symlinks (ENOENT) in watchDirectoryFiles, so a
bad entry no longer aborts Watcher.Add for the whole directory (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/748">#748</a>)</p>
</li>
<li>
<p>kqueue: drop watches directly in Close() to fix a file descriptor
leak when recycling watchers (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/740">#740</a>)</p>
</li>
<li>
<p>windows: fix nil pointer dereference in remWatch (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/736">#736</a>)</p>
</li>
<li>
<p>windows: lock watch field updates against concurrent WatchList to fix
a race introduced in v1.9.0 (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/709">#709</a>,
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/749">#749</a>)</p>
</li>
</ul>
<p><a
href="https://redirect.github.com/fsnotify/fsnotify/issues/696">#696</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/696">fsnotify/fsnotify#696</a>
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/709">#709</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/709">fsnotify/fsnotify#709</a>
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/731">#731</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/731">fsnotify/fsnotify#731</a>
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/736">#736</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/736">fsnotify/fsnotify#736</a>
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/740">#740</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/740">fsnotify/fsnotify#740</a>
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/741">#741</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/741">fsnotify/fsnotify#741</a>
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/748">#748</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/748">fsnotify/fsnotify#748</a>
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/749">#749</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/749">fsnotify/fsnotify#749</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/fsnotify/fsnotify/blob/main/CHANGELOG.md">github.com/fsnotify/fsnotify's
changelog</a>.</em></p>
<blockquote>
<h2>1.10.1 2026-05-04</h2>
<h3>Changes and fixes</h3>
<ul>
<li>
<p>inotify: don't remove sibling watches sharing a path prefix (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/754">#754</a>)</p>
</li>
<li>
<p>inotify, windows: don't rename sibling watches sharing a path prefix
(<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/755">#755</a>)</p>
</li>
</ul>
<p><a
href="https://redirect.github.com/fsnotify/fsnotify/issues/754">#754</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/754">fsnotify/fsnotify#754</a>
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/755">#755</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/755">fsnotify/fsnotify#755</a></p>
<h2>1.10.0 2026-04-30</h2>
<p>This version of fsnotify needs Go 1.23.</p>
<h3>Changes and fixes</h3>
<ul>
<li>
<p>inotify: improve initialization error message (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/731">#731</a>)</p>
</li>
<li>
<p>inotify: send Rename event if recursive watch is renamed (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/696">#696</a>)</p>
</li>
<li>
<p>inotify: avoid copying event buffers when reading names (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/741">#741</a>)</p>
</li>
<li>
<p>kqueue: skip dangling symlinks (ENOENT) in watchDirectoryFiles, so a
bad entry no longer aborts Watcher.Add for the whole directory (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/748">#748</a>)</p>
</li>
<li>
<p>kqueue: drop watches directly in Close() to fix a file descriptor
leak
when recycling watchers (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/740">#740</a>)</p>
</li>
<li>
<p>windows: fix nil pointer dereference in remWatch (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/736">#736</a>)</p>
</li>
<li>
<p>windows: lock watch field updates against concurrent WatchList to fix
a race introduced in v1.9.0 (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/709">#709</a>,
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/749">#749</a>)</p>
</li>
</ul>
<p><a
href="https://redirect.github.com/fsnotify/fsnotify/issues/696">#696</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/696">fsnotify/fsnotify#696</a>
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/709">#709</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/709">fsnotify/fsnotify#709</a>
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/731">#731</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/731">fsnotify/fsnotify#731</a>
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/736">#736</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/736">fsnotify/fsnotify#736</a>
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/740">#740</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/740">fsnotify/fsnotify#740</a>
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/741">#741</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/741">fsnotify/fsnotify#741</a>
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/748">#748</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/748">fsnotify/fsnotify#748</a>
<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/749">#749</a>:
<a
href="https://redirect.github.com/fsnotify/fsnotify/pull/749">fsnotify/fsnotify#749</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/fsnotify/fsnotify/commit/76b01a6e8f502187fecedea8b025e79e5a86085c"><code>76b01a6</code></a>
Release 1.10.1</li>
<li><a
href="https://github.com/fsnotify/fsnotify/commit/fec150b807510e54e5b25def4b6e5fb001b4898c"><code>fec150b</code></a>
Update changelog</li>
<li><a
href="https://github.com/fsnotify/fsnotify/commit/162b4216ab8f92ecd26425530bee198972c9b3cb"><code>162b421</code></a>
inotify, windows: don't rename sibling watches sharing a path prefix (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/755">#755</a>)</li>
<li><a
href="https://github.com/fsnotify/fsnotify/commit/224257f23b2f3a96509b316c5cead71dd4a9099a"><code>224257f</code></a>
inotify: don't remove sibling watches sharing a path prefix (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/754">#754</a>)</li>
<li><a
href="https://github.com/fsnotify/fsnotify/commit/e0c956c0ccaf51562fee30ef5c055c74e6ae2104"><code>e0c956c</code></a>
windows: document directory Write events and stabilize tests (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/745">#745</a>)</li>
<li><a
href="https://github.com/fsnotify/fsnotify/commit/8d01d7b9cbe0199e4a1e60fbd965fb05dbb42123"><code>8d01d7b</code></a>
Release 1.10.0</li>
<li><a
href="https://github.com/fsnotify/fsnotify/commit/602284e4a8cadd488d7a5fa07c48462dfac25108"><code>602284e</code></a>
Update changelog</li>
<li><a
href="https://github.com/fsnotify/fsnotify/commit/7f03e59f9659552d8a084e03024cb9b983748ed7"><code>7f03e59</code></a>
kqueue: skip ENOENT entries in watchDirectoryFiles (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/748">#748</a>)</li>
<li><a
href="https://github.com/fsnotify/fsnotify/commit/dab9dde2fc9ba4d0c1076318f81cabcc8fdb2ec9"><code>dab9dde</code></a>
windows: lock watch field updates against concurrent WatchList (<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/709">#709</a>)
(<a
href="https://redirect.github.com/fsnotify/fsnotify/issues/749">#749</a>)</li>
<li><a
href="https://github.com/fsnotify/fsnotify/commit/eadf267ce152b5e62d48cc2c13bb08bd4062b6c7"><code>eadf267</code></a>
kqueue: drop watches directly in Close() instead of going through
remove() (#...</li>
<li>Additional commits viewable in <a
href="https://github.com/fsnotify/fsnotify/compare/v1.9.0...v1.10.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `github.com/huandu/go-sqlbuilder` from 1.40.2 to 1.41.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/huandu/go-sqlbuilder/releases">github.com/huandu/go-sqlbuilder's
releases</a>.</em></p>
<blockquote>
<h2>v1.41.0</h2>
<ul>
<li><code>[NEW]</code> Add an option <code>NoExpand</code> to change
default field &quot;expand&quot; behavior for backward compatibility.
See <a
href="https://redirect.github.com/huandu/go-sqlbuilder/issues/237">#237</a>
for details.</li>
</ul>
<p>NOTE: Starting from v1.40.0, the <code>Struct</code> utility type
defaults to expanding non-primitive struct fields. This change caused
unexpected behavior for some users. To address this without reverting
the features introduced in v1.40.0, we have introduced a <code>NoExpand
</code>configuration. When set to true, all fields will default to no
expansion (preserving legacy behavior). You can still opt-in to
expansion for specific fields by using the
<code>fieldopt:&quot;expand&quot;</code> tag.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/huandu/go-sqlbuilder/compare/v1.40.0...v1.41.0">https://github.com/huandu/go-sqlbuilder/compare/v1.40.0...v1.41.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/huandu/go-sqlbuilder/commit/44837218602c8f96eac9f27411d5b93a20dc979d"><code>4483721</code></a>
fix <a
href="https://redirect.github.com/huandu/go-sqlbuilder/issues/237">#237</a>:
add option <code>NoExpand</code> to control default field
&quot;expand&quot; behavior</li>
<li>See full diff in <a
href="https://github.com/huandu/go-sqlbuilder/compare/v1.40.2...v1.41.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `github.com/lestrrat-go/jwx/v3` from 3.1.0 to 3.1.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/lestrrat-go/jwx/releases">github.com/lestrrat-go/jwx/v3's
releases</a>.</em></p>
<blockquote>
<h2>v3.1.1</h2>
<p>For more detailed release notes, see <a
href="https://github.com/lestrrat-go/jwx/blob/v3.1.1/Changes">Changes</a>.</p>
<h2>What's Changed</h2>
<ul>
<li>build(deps): bump pozil/auto-assign-issue from 2.2.0 to 2.2.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2045">lestrrat-go/jwx#2045</a></li>
<li>guard ecdsa coordinates against oversized big.Int by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2050">lestrrat-go/jwx#2050</a></li>
<li>reject jwe with conflicting alg in protected vs per-recipient by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2052">lestrrat-go/jwx#2052</a></li>
<li>fix AddressClaim.MarshalJSON for non-printable bytes by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2056">lestrrat-go/jwx#2056</a></li>
<li>jwt: only call ParseForm when WithFormKey is supplied by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2058">lestrrat-go/jwx#2058</a></li>
<li>jws: jkuProvider rejects fetched keys marked use=enc by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2060">lestrrat-go/jwx#2060</a></li>
<li>jwa: unify SignatureAlgorithm/KeyEncryption/ContentEncryption into
one registry by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2066">lestrrat-go/jwx#2066</a></li>
<li>build(deps): bump pozil/auto-assign-issue from
f245a9119ba5cc2fed4aa7b8268d576d40acddf0 to
7bf9d82c77d45976224660b873fc83e60576c5aa by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2065">lestrrat-go/jwx#2065</a></li>
<li>cmd/jwx: warn on private-key-to-tty + reject keysize&lt;=0 for oct
by <a href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in
<a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2071">lestrrat-go/jwx#2071</a></li>
<li>jws: refuse &quot;b64&quot; header in VerifyCompactFast by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2081">lestrrat-go/jwx#2081</a></li>
<li>jws: VerifyCompactFast refusals match jws.VerifyError() class by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2083">lestrrat-go/jwx#2083</a></li>
<li>jws: name loose keySet options in fan-out verify error by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2085">lestrrat-go/jwx#2085</a></li>
<li>jws: honor RFC 7797 b64=false in Message.MarshalJSON by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2087">lestrrat-go/jwx#2087</a></li>
<li>jws: reject literal-JSON &quot;protected&quot; in general-form JWS
by <a href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in
<a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2089">lestrrat-go/jwx#2089</a></li>
<li>jwt: ParseRequest: don't skip form body on chunked transfer by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2091">lestrrat-go/jwx#2091</a></li>
<li>jwt: pedantic mode enforces cty=JWT nested-envelope shape by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2094">lestrrat-go/jwx#2094</a></li>
<li>jwt: defensively reject missing claims in MaxDeltaIs / MinDeltaIs by
<a href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2099">lestrrat-go/jwx#2099</a></li>
<li>jwt: ParseInsecure: parse loop-local payload, not original input by
<a href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2097">lestrrat-go/jwx#2097</a></li>
<li>jws: Verify rejects b64=false without &quot;b64&quot; listed in
&quot;crit&quot; by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2102">lestrrat-go/jwx#2102</a></li>
<li>jws: Sign auto-declares &quot;b64&quot; in &quot;crit&quot; when
emitting b64=false by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2104">lestrrat-go/jwx#2104</a></li>
<li>jws: declare &quot;b64&quot; as typed bool header field by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2106">lestrrat-go/jwx#2106</a></li>
<li>jws: reject general-form JWS with top-level &quot;header&quot;
sibling of &quot;signatures&quot; by <a
href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in <a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2108">lestrrat-go/jwx#2108</a></li>
<li>jws: typed sentinel for AlgorithmsForKey unclassifiable-key failures
by <a href="https://github.com/lestrrat"><code>@​lestrrat</code></a> in
<a
href="https://redirect.github.com/lestrrat-go/jwx/pull/2110">lestrrat-go/jwx#2110</a></li>
<li>jws: VerifyMessage observes ctx cancellation between loop iterations
by <a href="https://github.com/lestrrat"><code>@​lestrrat</code></a>
i...

_Description has been truncated_

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Johan Fylling <johan.dev@fylling.se>
Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Johan Fylling <johan.dev@fylling.se>
Co-authored-by: Stephan Renatus <stephan.renatus@gmail.com>
2026-05-19 10:13:47 +02:00
2025-07-06 09:37:39 +00:00
2026-03-06 22:07:35 +00:00
2026-02-12 08:42:05 +01:00
2024-12-12 15:27:34 +01:00
2024-12-12 15:27:34 +01:00
2024-12-12 15:27:34 +01:00
2024-12-12 15:27:34 +01:00
2024-12-12 15:27:34 +01:00
2024-12-12 15:27:34 +01:00
2024-12-12 15:27:34 +01:00
2024-12-12 15:27:34 +01:00
2024-12-12 15:27:34 +01:00
2024-12-12 15:27:34 +01:00
2024-12-12 15:27:34 +01:00
2024-12-12 15:27:34 +01:00
2026-02-05 15:31:23 +01:00
2026-05-08 08:45:30 +02:00
2025-12-25 09:43:10 +01:00
2020-05-05 06:32:33 -04:00
2015-12-28 14:08:25 -08:00
2026-02-03 16:58:04 +00:00

logo Open Policy Agent

Build Status Go Report Card CII Best Practices Netlify Status

Open Policy Agent (OPA) is an open source, general-purpose policy engine that enables unified, context-aware policy enforcement across the entire stack.

OPA is proud to be a graduated project in the Cloud Native Computing Foundation (CNCF) landscape. For details read the CNCF announcement.

Get started with OPA

  • Write your first Rego policy with the Rego Playground or use it to share your work with others for feedback and support. Have a look at the Access Control examples if you're not sure where to start.
  • Install the VS Code extension to get started locally with live diagnostics, debugging and formatting. See Editor and IDE Support for other supported editors.
  • Go to the OPA Documentation to learn about the Rego language as well as how to deploy and integrate OPA.
  • Check out the learning resources in the Learning Rego section of the ecosystem directory.
  • Follow the Running OPA instructions to get started with the OPA CLI locally.
  • See Docker Hub for container images and the GitHub releases for binaries.
  • Check out the OPA Roadmap to see a high-level snapshot of OPA features in-progress and planned.

Want to talk about OPA or get support?

  • Join the OPA Slack to talk to other OPA users and maintainers. See #help for support.
  • Check out the Community Discussions to ask questions.
  • See the Support page for commercial support options.

Interested to learn what others are doing with OPA?

  • Browse community projects on the OPA Ecosystem Directory - don't forget to list your own!
  • Check out the ADOPTERS.md file for a list of production adopters. Does your organization use OPA in production? Support the OPA project by submitting a PR to add your organization to the list with a short description of your OPA use cases!

Want to integrate OPA?

  • See the high-level Go SDK or the low-level Go API GoDoc to integrate OPA with services written in Go.
  • See the REST API reference to integrate OPA with services written in other languages.
  • See the integration docs for more options.

Want to contribute to OPA?

How does OPA work?

OPA gives you a high-level declarative language to author and enforce policies across your stack.

With OPA, you define rules that govern how your system should behave. These rules exist to answer questions like:

  • Can user X call operation Y on resource Z?
  • What clusters should workload W be deployed to?
  • What tags must be set on resource R before it's created?

You integrate services with OPA so that these kinds of policy decisions do not have to be hardcoded in your service. Services integrate with OPA by executing queries when policy decisions are needed.

When you query OPA for a policy decision, OPA evaluates the rules and data (which you give it) to produce an answer. The policy decision is sent back as the result of the query.

For example, in a simple API authorization use case:

  • You write rules that allow (or deny) access to your service APIs.
  • Your service queries OPA when it receives API requests.
  • OPA returns allow (or deny) decisions to your service.
  • Your service enforces the decisions by accepting or rejecting requests accordingly.

For concrete examples of how to integrate OPA with systems like Kubernetes, Terraform, Docker, SSH, and more, see openpolicyagent.org.

Presentations

  • Open Policy Agent (OPA) Intro & Deep Dive @ Kubecon EU 2026: video
  • Open Policy Agent (OPA) Intro & Deep Dive @ Kubecon NA 2025: video
  • Open Policy Agent (OPA) Intro & Deep Dive @ Kubecon EU 2025: video
  • Open Policy Agent (OPA) Intro & Deep Dive @ Kubecon NA 2024: video
  • Open Policy Agent (OPA) Intro & Deep Dive @ Kubecon EU 2024: video
  • Open Policy Agent (OPA) Intro & Deep Dive @ Kubecon NA 2023: video
  • Open Policy Agent (OPA) Intro & Deep Dive @ Kubecon EU 2023: video
  • Running Policy in Hard to Reach Places with WASM & OPA @ CN Wasm Day EU 2023: video
  • OPA maintainers talk @ Kubecon NA 2022: video
  • Open Policy Agent (OPA) Intro & Deep Dive @ Kubecon EU 2022: video
  • Open Policy Agent Intro @ KubeCon EU 2021: Video
  • Using Open Policy Agent to Meet Evolving Policy Requirements @ KubeCon NA 2020: video
  • Applying Policy Throughout The Application Lifecycle with Open Policy Agent @ CloudNativeCon 2019: video
  • Open Policy Agent Introduction @ CloudNativeCon EU 2018: video, slides
  • Rego Deep Dive @ CloudNativeCon EU 2018: video, slides
  • How Netflix Is Solving Authorization Across Their Cloud @ CloudNativeCon US 2017: video, slides.
  • Policy-based Resource Placement in Kubernetes Federation @ LinuxCon Beijing 2017: slides, screencast
  • Enforcing Bespoke Policies In Kubernetes @ KubeCon US 2017: video, slides
  • Istio's Mixer: Policy Enforcement with Custom Adapters @ CloudNativeCon US 2017: video, slides

Security

A third party security audit was performed by Cure53, you can see the full report here.

Please report vulnerabilities by email to open-policy-agent-security. We will send a confirmation message to acknowledge that we have received the report and then we will send additional messages to follow up once the issue has been investigated.

Languages
Go 85.1%
C 7.5%
C++ 5.6%
Open Policy Agent 0.8%
Open-Policy-Agent 0.4%
Other 0.5%