Skip to content

chore(release): v1.11.8 - #329

Merged
Jaro-c merged 5 commits into
mainfrom
develop
Sep 7, 2026
Merged

Jaro-c merged 5 commits into
mainfrom
develop

Conversation

@Jaro-c

@Jaro-c Jaro-c commented Sep 7, 2026

Copy link
Copy Markdown
Member

Release v1.11.8. One change reaches a consumer, and it is the reason to cut this now rather than wait.

What a consumer gets

#328, go directive raised to 1.26.6. govulncheck had been red on the scheduled audit.yml run since 2026-08-17 with four standard library vulnerabilities my code calls: GO-2026-6218 (net/url), GO-2026-6090 (crypto/tls), GO-2026-5972 (encoding/asn1) and GO-2026-5026 (net/http via x/net/idna). All four are fixed in 1.26.6. The directive is the floor toolchain selection honours, so moving it is what puts a consumer on a patched standard library.

None of the four is an authentication break; they are resource exhaustion and parser hardening. Three sit on the outbound leg of the OAuth token exchange. GO-2026-5972 is the one that is not on the wire: decodeEd25519PublicPEM parses key material that arrives through Config.PreviousPublicKeys or a KeyStore on the rotation path.

v1.11.7 is what go get serves today, so the fix does not exist for anyone until this is tagged. That is the same reason v1.10.5 and v1.11.4 were cut, both PATCH releases for the same class of change.

What rides along

Four CI-only commits already on develop, none of which changes what a consumer gets: #306 (reusables on v1.18.1 plus the pin guards), #256 (examples dependency group), #258 (reusables on v1.12.0), #257 (per-package coverage floor and the persisted fuzz corpus). They earn no tag of their own and would have waited for the next release either way.

Verification

Measured on the branch before merge, and audit.yml was dispatched against it to confirm the remediation in CI rather than only locally.

Check go 1.26.5 go 1.26.6
govulncheck ./... exit 3, 4 vulnerabilities my code calls exit 0, No vulnerabilities found
audit.yml in CI red since 2026-08-17 green
go test -race ./... 9/9 packages pass
Nine examples, go build && go vet 9/9 pass

The 1.26.5 column is a control run, not the old CI log: I put the directive back, re-ran, read the same four advisories, then restored 1.26.6.

After the tag

audit.yml succeeds on its next Monday cron, which clears audit freshness / schedule freshness and takes #316 to #324 out of UNSTABLE. #281 to #284 are already CLEAN and unaffected.

Jaro-c and others added 5 commits July 27, 2026 22:26
…257)

Closes #218. Closes #225. Adopts both halves of Glyndor/.github#106, and
is the consumer that proves them before that repository gets a tag.

### Per-package coverage floor

This module ran at 91% against a gate of 90 while `auth/oauth` sat at
87.7% and `internal/keymanager` at 85.7%. The two with the most attack
surface were the two thinnest, and `internal/clock` at 100% was paying
for them.

Every package clears 90 today, which is exactly when a floor is cheapest
to adopt — it locks in a state that already holds rather than demanding
new work:

| package | coverage |
|---|---|
| `auth/oauth` | 90.2% |
| `auth/email` | 91.9% |
| `internal/keymanager` | 92.0% |
| `auth/apikey` | 94.6% |
| `auth/jwt` | 95.0% |
| `auth/password` | 95.8% |
| `auth/username` | 97.5% |
| `authcore` | 98.1% |
| `internal/clock` | 100.0% |

The measurement that made this decidable: comparing isolated profiles
against `-coverpkg=./...` moves those packages by +0.5 and +0.0, so the
per-package numbers are honest rather than an artefact of helpers being
exercised from a sibling package.

### The fuzz corpus survives between runs

It never did. `setup-go` restores `GOCACHE` — where Go keeps the corpus
— but on a cache hit does not save it again, so every discovery died
with the runner and the next week re-explored the same ground from the
seeds.

Measured here before changing anything: a cold 60s run of `FuzzParseJWK`
finds 219 new interesting inputs, 300s finds 293. **A single run
saturates well before its budget**, so the budget was never the
constraint — starting from zero every week was. `fuzztime` is
deliberately unchanged.

The compounding will not be visible in this pull request; the first
scheduled run after it merges seeds the cache, and the one after that is
the first to start warm.

### Pinned by SHA

`Glyndor/.github` is only tagged once a consumer has proved a workflow
green, and this is that consumer. The pin moves to the release tag
afterwards.

---------

Signed-off-by: Jaro-c <75870284+Jaro-c@users.noreply.github.com>
Seven callers were spread across three versions:

| caller | was | now |
|---|---|---|
| `ci.yml`, `fuzz.yml` | raw commit, no version comment | `# v1.12.0` |
| `schedule-freshness.yml` | v1.11.0 | v1.12.0 |
| `dco.yml`, `go-audit.yml`, `line-limit.yml`, `main-guard.yml` |
v1.10.1 | v1.12.0 |

`ci` and `fuzz` were pinned bare on purpose — Glyndor/.github#106 was
waiting for a consumer to prove it green before being tagged, and #257
was that consumer. Now that v1.12.0 exists they get their comment back.

That comment is not decoration. Without a version beside the SHA,
Dependabot has nothing to compare against, never proposes a bump, and
the pin rots — which is exactly how four of these ended up two releases
behind while nobody noticed.

Supersedes #250, #251, #252 and #254, which each moved one caller to
v1.11.0.

Verified with `actionlint` across all seven workflows.

Signed-off-by: Jaro-c <75870284+Jaro-c@users.noreply.github.com>
…ate (#256)

Bumps the examples group with 1 update in the /examples directory:
[github.com/Glyndor/authcore](https://github.com/Glyndor/authcore).
Bumps the examples group with 1 update in the /examples/apikey
directory:
[github.com/Glyndor/authcore](https://github.com/Glyndor/authcore).
Bumps the examples group with 1 update in the /examples/basic directory:
[github.com/Glyndor/authcore](https://github.com/Glyndor/authcore).
Bumps the examples group with 1 update in the /examples/email directory:
[github.com/Glyndor/authcore](https://github.com/Glyndor/authcore).
Bumps the examples group with 1 update in the /examples/fiber directory:
[github.com/Glyndor/authcore](https://github.com/Glyndor/authcore).
Bumps the examples group with 1 update in the /examples/gin directory:
[github.com/Glyndor/authcore](https://github.com/Glyndor/authcore).
Bumps the examples group with 1 update in the /examples/jwt directory:
[github.com/Glyndor/authcore](https://github.com/Glyndor/authcore).
Bumps the examples group with 1 update in the /examples/oauth directory:
[github.com/Glyndor/authcore](https://github.com/Glyndor/authcore).
Bumps the examples group with 1 update in the /examples/password
directory:
[github.com/Glyndor/authcore](https://github.com/Glyndor/authcore).
Bumps the examples group with 1 update in the /examples/username
directory:
[github.com/Glyndor/authcore](https://github.com/Glyndor/authcore).

Updates `github.com/Glyndor/authcore` from 1.11.3 to 1.11.6
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Glyndor/authcore/releases">github.com/Glyndor/authcore's
releases</a>.</em></p>
<blockquote>
<h2>v1.11.6</h2>
<h2>What's Changed</h2>
<ul>
<li>test(keymanager): make the size-cap tests reach the size cap by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/228">Glyndor/authcore#228</a></li>
<li>test(oauth): exercise the guards that survived being deleted by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/232">Glyndor/authcore#232</a></li>
<li>test(jwt): exercise the verification guards that survived deletion
by <a href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/233">Glyndor/authcore#233</a></li>
<li>ci: assert that the scheduled audit and fuzz are still firing by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/226">Glyndor/authcore#226</a></li>
<li>test(password): make the PHC bound tests reach the bounds by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/234">Glyndor/authcore#234</a></li>
<li>ci: label the freshness pin with its release by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/245">Glyndor/authcore#245</a></li>
<li>release: v1.11.6 by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/246">Glyndor/authcore#246</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Glyndor/authcore/compare/v1.11.5...v1.11.6">https://github.com/Glyndor/authcore/compare/v1.11.5...v1.11.6</a></p>
<h2>v1.11.5</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(keymanager): tighten the key directory, never loosen it by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/223">Glyndor/authcore#223</a></li>
<li>feat(keymanager): record the on-disk key layout version by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/221">Glyndor/authcore#221</a></li>
<li>release: v1.11.5 by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/224">Glyndor/authcore#224</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Glyndor/authcore/compare/v1.11.4...v1.11.5">https://github.com/Glyndor/authcore/compare/v1.11.4...v1.11.5</a></p>
<h2>v1.11.4</h2>
<h2>What's Changed</h2>
<ul>
<li>ci(deps): bump Glyndor/.github/.github/workflows/main-guard.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/203">Glyndor/authcore#203</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/line-limit.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/201">Glyndor/authcore#201</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/go-fuzz.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/202">Glyndor/authcore#202</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/dco.yml from 1.6.0
to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/204">Glyndor/authcore#204</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/go-audit.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/206">Glyndor/authcore#206</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/go-ci.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/208">Glyndor/authcore#208</a></li>
<li>ci(deps): bump actions/checkout from 7.0.0 to 7.0.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/207">Glyndor/authcore#207</a></li>
<li>ci(deps): bump actions/setup-go from 6.5.0 to 7.0.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/205">Glyndor/authcore#205</a></li>
<li>build(deps): bump github.com/gofiber/fiber/v3 from 3.3.0 to 3.4.0 in
/examples/fiber by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/200">Glyndor/authcore#200</a></li>
<li>ci(examples): resolve the examples through a Go workspace by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/214">Glyndor/authcore#214</a></li>
<li>build(deps): bump golang.org/x/net from 0.56.0 to 0.57.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/212">Glyndor/authcore#212</a></li>
<li>fix(deps): require go 1.26.5 to close the crypto/tls ECH leak by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/216">Glyndor/authcore#216</a></li>
<li>release: v1.11.4 by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/217">Glyndor/authcore#217</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Glyndor/authcore/compare/v1.11.3...v1.11.4">https://github.com/Glyndor/authcore/compare/v1.11.3...v1.11.4</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Glyndor/authcore/commit/73a467fd0d2140f558ddd3fa564406ee7a162992"><code>73a467f</code></a>
release: v1.11.6 (<a
href="https://redirect.github.com/Glyndor/authcore/issues/246">#246</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/62ee1f3070d6e57f115fa2e5744a662a08041639"><code>62ee1f3</code></a>
ci: label the freshness pin with its release (<a
href="https://redirect.github.com/Glyndor/authcore/issues/245">#245</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/7269bfc68ef257abed025f18faaee15425581f06"><code>7269bfc</code></a>
test(password): make the PHC bound tests reach the bounds (<a
href="https://redirect.github.com/Glyndor/authcore/issues/234">#234</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/76bfb29cc3e30a1162f33daf092fa6fd118c63d1"><code>76bfb29</code></a>
ci: assert that the scheduled audit and fuzz are still firing (<a
href="https://redirect.github.com/Glyndor/authcore/issues/226">#226</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/388ce8dd4fd6d8487baf08b653b017acb30ce91c"><code>388ce8d</code></a>
test(jwt): exercise the verification guards that survived deletion (<a
href="https://redirect.github.com/Glyndor/authcore/issues/233">#233</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/38ecb0e1aa1cbc38f695a19131c7fa6fd34aa185"><code>38ecb0e</code></a>
test(oauth): exercise the guards that survived being deleted (<a
href="https://redirect.github.com/Glyndor/authcore/issues/232">#232</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/f16bb5ffe3d4a22cae3ca736a534c478431910d7"><code>f16bb5f</code></a>
test(keymanager): make the size-cap tests reach the size cap (<a
href="https://redirect.github.com/Glyndor/authcore/issues/228">#228</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/30f019a9fd11bc89b793b32428e41d98c12ac0d0"><code>30f019a</code></a>
release: v1.11.5 (<a
href="https://redirect.github.com/Glyndor/authcore/issues/224">#224</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/979e2409a02be0c709af7beed44024806405d047"><code>979e240</code></a>
feat(keymanager): record the on-disk key layout version (<a
href="https://redirect.github.com/Glyndor/authcore/issues/221">#221</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/81718cc45e40200f1021d3df358ea0c533317050"><code>81718cc</code></a>
fix(keymanager): tighten the key directory, never loosen it (<a
href="https://redirect.github.com/Glyndor/authcore/issues/223">#223</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/Glyndor/authcore/compare/v1.11.3...v1.11.6">compare
view</a></li>
</ul>
</details>
<br />

Updates `github.com/Glyndor/authcore` from 1.11.3 to 1.11.6
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Glyndor/authcore/releases">github.com/Glyndor/authcore's
releases</a>.</em></p>
<blockquote>
<h2>v1.11.6</h2>
<h2>What's Changed</h2>
<ul>
<li>test(keymanager): make the size-cap tests reach the size cap by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/228">Glyndor/authcore#228</a></li>
<li>test(oauth): exercise the guards that survived being deleted by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/232">Glyndor/authcore#232</a></li>
<li>test(jwt): exercise the verification guards that survived deletion
by <a href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/233">Glyndor/authcore#233</a></li>
<li>ci: assert that the scheduled audit and fuzz are still firing by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/226">Glyndor/authcore#226</a></li>
<li>test(password): make the PHC bound tests reach the bounds by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/234">Glyndor/authcore#234</a></li>
<li>ci: label the freshness pin with its release by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/245">Glyndor/authcore#245</a></li>
<li>release: v1.11.6 by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/246">Glyndor/authcore#246</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Glyndor/authcore/compare/v1.11.5...v1.11.6">https://github.com/Glyndor/authcore/compare/v1.11.5...v1.11.6</a></p>
<h2>v1.11.5</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(keymanager): tighten the key directory, never loosen it by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/223">Glyndor/authcore#223</a></li>
<li>feat(keymanager): record the on-disk key layout version by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/221">Glyndor/authcore#221</a></li>
<li>release: v1.11.5 by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/224">Glyndor/authcore#224</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Glyndor/authcore/compare/v1.11.4...v1.11.5">https://github.com/Glyndor/authcore/compare/v1.11.4...v1.11.5</a></p>
<h2>v1.11.4</h2>
<h2>What's Changed</h2>
<ul>
<li>ci(deps): bump Glyndor/.github/.github/workflows/main-guard.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/203">Glyndor/authcore#203</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/line-limit.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/201">Glyndor/authcore#201</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/go-fuzz.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/202">Glyndor/authcore#202</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/dco.yml from 1.6.0
to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/204">Glyndor/authcore#204</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/go-audit.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/206">Glyndor/authcore#206</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/go-ci.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/208">Glyndor/authcore#208</a></li>
<li>ci(deps): bump actions/checkout from 7.0.0 to 7.0.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/207">Glyndor/authcore#207</a></li>
<li>ci(deps): bump actions/setup-go from 6.5.0 to 7.0.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/205">Glyndor/authcore#205</a></li>
<li>build(deps): bump github.com/gofiber/fiber/v3 from 3.3.0 to 3.4.0 in
/examples/fiber by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/200">Glyndor/authcore#200</a></li>
<li>ci(examples): resolve the examples through a Go workspace by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/214">Glyndor/authcore#214</a></li>
<li>build(deps): bump golang.org/x/net from 0.56.0 to 0.57.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/212">Glyndor/authcore#212</a></li>
<li>fix(deps): require go 1.26.5 to close the crypto/tls ECH leak by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/216">Glyndor/authcore#216</a></li>
<li>release: v1.11.4 by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/217">Glyndor/authcore#217</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Glyndor/authcore/compare/v1.11.3...v1.11.4">https://github.com/Glyndor/authcore/compare/v1.11.3...v1.11.4</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Glyndor/authcore/commit/73a467fd0d2140f558ddd3fa564406ee7a162992"><code>73a467f</code></a>
release: v1.11.6 (<a
href="https://redirect.github.com/Glyndor/authcore/issues/246">#246</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/62ee1f3070d6e57f115fa2e5744a662a08041639"><code>62ee1f3</code></a>
ci: label the freshness pin with its release (<a
href="https://redirect.github.com/Glyndor/authcore/issues/245">#245</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/7269bfc68ef257abed025f18faaee15425581f06"><code>7269bfc</code></a>
test(password): make the PHC bound tests reach the bounds (<a
href="https://redirect.github.com/Glyndor/authcore/issues/234">#234</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/76bfb29cc3e30a1162f33daf092fa6fd118c63d1"><code>76bfb29</code></a>
ci: assert that the scheduled audit and fuzz are still firing (<a
href="https://redirect.github.com/Glyndor/authcore/issues/226">#226</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/388ce8dd4fd6d8487baf08b653b017acb30ce91c"><code>388ce8d</code></a>
test(jwt): exercise the verification guards that survived deletion (<a
href="https://redirect.github.com/Glyndor/authcore/issues/233">#233</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/38ecb0e1aa1cbc38f695a19131c7fa6fd34aa185"><code>38ecb0e</code></a>
test(oauth): exercise the guards that survived being deleted (<a
href="https://redirect.github.com/Glyndor/authcore/issues/232">#232</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/f16bb5ffe3d4a22cae3ca736a534c478431910d7"><code>f16bb5f</code></a>
test(keymanager): make the size-cap tests reach the size cap (<a
href="https://redirect.github.com/Glyndor/authcore/issues/228">#228</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/30f019a9fd11bc89b793b32428e41d98c12ac0d0"><code>30f019a</code></a>
release: v1.11.5 (<a
href="https://redirect.github.com/Glyndor/authcore/issues/224">#224</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/979e2409a02be0c709af7beed44024806405d047"><code>979e240</code></a>
feat(keymanager): record the on-disk key layout version (<a
href="https://redirect.github.com/Glyndor/authcore/issues/221">#221</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/81718cc45e40200f1021d3df358ea0c533317050"><code>81718cc</code></a>
fix(keymanager): tighten the key directory, never loosen it (<a
href="https://redirect.github.com/Glyndor/authcore/issues/223">#223</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/Glyndor/authcore/compare/v1.11.3...v1.11.6">compare
view</a></li>
</ul>
</details>
<br />

Updates `github.com/Glyndor/authcore` from 1.11.3 to 1.11.6
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Glyndor/authcore/releases">github.com/Glyndor/authcore's
releases</a>.</em></p>
<blockquote>
<h2>v1.11.6</h2>
<h2>What's Changed</h2>
<ul>
<li>test(keymanager): make the size-cap tests reach the size cap by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/228">Glyndor/authcore#228</a></li>
<li>test(oauth): exercise the guards that survived being deleted by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/232">Glyndor/authcore#232</a></li>
<li>test(jwt): exercise the verification guards that survived deletion
by <a href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/233">Glyndor/authcore#233</a></li>
<li>ci: assert that the scheduled audit and fuzz are still firing by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/226">Glyndor/authcore#226</a></li>
<li>test(password): make the PHC bound tests reach the bounds by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/234">Glyndor/authcore#234</a></li>
<li>ci: label the freshness pin with its release by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/245">Glyndor/authcore#245</a></li>
<li>release: v1.11.6 by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/246">Glyndor/authcore#246</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Glyndor/authcore/compare/v1.11.5...v1.11.6">https://github.com/Glyndor/authcore/compare/v1.11.5...v1.11.6</a></p>
<h2>v1.11.5</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(keymanager): tighten the key directory, never loosen it by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/223">Glyndor/authcore#223</a></li>
<li>feat(keymanager): record the on-disk key layout version by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/221">Glyndor/authcore#221</a></li>
<li>release: v1.11.5 by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/224">Glyndor/authcore#224</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Glyndor/authcore/compare/v1.11.4...v1.11.5">https://github.com/Glyndor/authcore/compare/v1.11.4...v1.11.5</a></p>
<h2>v1.11.4</h2>
<h2>What's Changed</h2>
<ul>
<li>ci(deps): bump Glyndor/.github/.github/workflows/main-guard.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/203">Glyndor/authcore#203</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/line-limit.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/201">Glyndor/authcore#201</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/go-fuzz.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/202">Glyndor/authcore#202</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/dco.yml from 1.6.0
to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/204">Glyndor/authcore#204</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/go-audit.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/206">Glyndor/authcore#206</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/go-ci.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/208">Glyndor/authcore#208</a></li>
<li>ci(deps): bump actions/checkout from 7.0.0 to 7.0.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/207">Glyndor/authcore#207</a></li>
<li>ci(deps): bump actions/setup-go from 6.5.0 to 7.0.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/205">Glyndor/authcore#205</a></li>
<li>build(deps): bump github.com/gofiber/fiber/v3 from 3.3.0 to 3.4.0 in
/examples/fiber by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/200">Glyndor/authcore#200</a></li>
<li>ci(examples): resolve the examples through a Go workspace by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/214">Glyndor/authcore#214</a></li>
<li>build(deps): bump golang.org/x/net from 0.56.0 to 0.57.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/212">Glyndor/authcore#212</a></li>
<li>fix(deps): require go 1.26.5 to close the crypto/tls ECH leak by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/216">Glyndor/authcore#216</a></li>
<li>release: v1.11.4 by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/217">Glyndor/authcore#217</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Glyndor/authcore/compare/v1.11.3...v1.11.4">https://github.com/Glyndor/authcore/compare/v1.11.3...v1.11.4</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Glyndor/authcore/commit/73a467fd0d2140f558ddd3fa564406ee7a162992"><code>73a467f</code></a>
release: v1.11.6 (<a
href="https://redirect.github.com/Glyndor/authcore/issues/246">#246</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/62ee1f3070d6e57f115fa2e5744a662a08041639"><code>62ee1f3</code></a>
ci: label the freshness pin with its release (<a
href="https://redirect.github.com/Glyndor/authcore/issues/245">#245</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/7269bfc68ef257abed025f18faaee15425581f06"><code>7269bfc</code></a>
test(password): make the PHC bound tests reach the bounds (<a
href="https://redirect.github.com/Glyndor/authcore/issues/234">#234</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/76bfb29cc3e30a1162f33daf092fa6fd118c63d1"><code>76bfb29</code></a>
ci: assert that the scheduled audit and fuzz are still firing (<a
href="https://redirect.github.com/Glyndor/authcore/issues/226">#226</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/388ce8dd4fd6d8487baf08b653b017acb30ce91c"><code>388ce8d</code></a>
test(jwt): exercise the verification guards that survived deletion (<a
href="https://redirect.github.com/Glyndor/authcore/issues/233">#233</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/38ecb0e1aa1cbc38f695a19131c7fa6fd34aa185"><code>38ecb0e</code></a>
test(oauth): exercise the guards that survived being deleted (<a
href="https://redirect.github.com/Glyndor/authcore/issues/232">#232</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/f16bb5ffe3d4a22cae3ca736a534c478431910d7"><code>f16bb5f</code></a>
test(keymanager): make the size-cap tests reach the size cap (<a
href="https://redirect.github.com/Glyndor/authcore/issues/228">#228</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/30f019a9fd11bc89b793b32428e41d98c12ac0d0"><code>30f019a</code></a>
release: v1.11.5 (<a
href="https://redirect.github.com/Glyndor/authcore/issues/224">#224</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/979e2409a02be0c709af7beed44024806405d047"><code>979e240</code></a>
feat(keymanager): record the on-disk key layout version (<a
href="https://redirect.github.com/Glyndor/authcore/issues/221">#221</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/81718cc45e40200f1021d3df358ea0c533317050"><code>81718cc</code></a>
fix(keymanager): tighten the key directory, never loosen it (<a
href="https://redirect.github.com/Glyndor/authcore/issues/223">#223</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/Glyndor/authcore/compare/v1.11.3...v1.11.6">compare
view</a></li>
</ul>
</details>
<br />

Updates `github.com/Glyndor/authcore` from 1.11.3 to 1.11.6
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Glyndor/authcore/releases">github.com/Glyndor/authcore's
releases</a>.</em></p>
<blockquote>
<h2>v1.11.6</h2>
<h2>What's Changed</h2>
<ul>
<li>test(keymanager): make the size-cap tests reach the size cap by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/228">Glyndor/authcore#228</a></li>
<li>test(oauth): exercise the guards that survived being deleted by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/232">Glyndor/authcore#232</a></li>
<li>test(jwt): exercise the verification guards that survived deletion
by <a href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/233">Glyndor/authcore#233</a></li>
<li>ci: assert that the scheduled audit and fuzz are still firing by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/226">Glyndor/authcore#226</a></li>
<li>test(password): make the PHC bound tests reach the bounds by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/234">Glyndor/authcore#234</a></li>
<li>ci: label the freshness pin with its release by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/245">Glyndor/authcore#245</a></li>
<li>release: v1.11.6 by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/246">Glyndor/authcore#246</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Glyndor/authcore/compare/v1.11.5...v1.11.6">https://github.com/Glyndor/authcore/compare/v1.11.5...v1.11.6</a></p>
<h2>v1.11.5</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(keymanager): tighten the key directory, never loosen it by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/223">Glyndor/authcore#223</a></li>
<li>feat(keymanager): record the on-disk key layout version by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/221">Glyndor/authcore#221</a></li>
<li>release: v1.11.5 by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/224">Glyndor/authcore#224</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Glyndor/authcore/compare/v1.11.4...v1.11.5">https://github.com/Glyndor/authcore/compare/v1.11.4...v1.11.5</a></p>
<h2>v1.11.4</h2>
<h2>What's Changed</h2>
<ul>
<li>ci(deps): bump Glyndor/.github/.github/workflows/main-guard.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/203">Glyndor/authcore#203</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/line-limit.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/201">Glyndor/authcore#201</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/go-fuzz.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/202">Glyndor/authcore#202</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/dco.yml from 1.6.0
to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/204">Glyndor/authcore#204</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/go-audit.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/206">Glyndor/authcore#206</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/go-ci.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/208">Glyndor/authcore#208</a></li>
<li>ci(deps): bump actions/checkout from 7.0.0 to 7.0.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/207">Glyndor/authcore#207</a></li>
<li>ci(deps): bump actions/setup-go from 6.5.0 to 7.0.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/205">Glyndor/authcore#205</a></li>
<li>build(deps): bump github.com/gofiber/fiber/v3 from 3.3.0 to 3.4.0 in
/examples/fiber by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/200">Glyndor/authcore#200</a></li>
<li>ci(examples): resolve the examples through a Go workspace by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/214">Glyndor/authcore#214</a></li>
<li>build(deps): bump golang.org/x/net from 0.56.0 to 0.57.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/212">Glyndor/authcore#212</a></li>
<li>fix(deps): require go 1.26.5 to close the crypto/tls ECH leak by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/216">Glyndor/authcore#216</a></li>
<li>release: v1.11.4 by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/217">Glyndor/authcore#217</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Glyndor/authcore/compare/v1.11.3...v1.11.4">https://github.com/Glyndor/authcore/compare/v1.11.3...v1.11.4</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Glyndor/authcore/commit/73a467fd0d2140f558ddd3fa564406ee7a162992"><code>73a467f</code></a>
release: v1.11.6 (<a
href="https://redirect.github.com/Glyndor/authcore/issues/246">#246</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/62ee1f3070d6e57f115fa2e5744a662a08041639"><code>62ee1f3</code></a>
ci: label the freshness pin with its release (<a
href="https://redirect.github.com/Glyndor/authcore/issues/245">#245</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/7269bfc68ef257abed025f18faaee15425581f06"><code>7269bfc</code></a>
test(password): make the PHC bound tests reach the bounds (<a
href="https://redirect.github.com/Glyndor/authcore/issues/234">#234</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/76bfb29cc3e30a1162f33daf092fa6fd118c63d1"><code>76bfb29</code></a>
ci: assert that the scheduled audit and fuzz are still firing (<a
href="https://redirect.github.com/Glyndor/authcore/issues/226">#226</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/388ce8dd4fd6d8487baf08b653b017acb30ce91c"><code>388ce8d</code></a>
test(jwt): exercise the verification guards that survived deletion (<a
href="https://redirect.github.com/Glyndor/authcore/issues/233">#233</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/38ecb0e1aa1cbc38f695a19131c7fa6fd34aa185"><code>38ecb0e</code></a>
test(oauth): exercise the guards that survived being deleted (<a
href="https://redirect.github.com/Glyndor/authcore/issues/232">#232</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/f16bb5ffe3d4a22cae3ca736a534c478431910d7"><code>f16bb5f</code></a>
test(keymanager): make the size-cap tests reach the size cap (<a
href="https://redirect.github.com/Glyndor/authcore/issues/228">#228</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/30f019a9fd11bc89b793b32428e41d98c12ac0d0"><code>30f019a</code></a>
release: v1.11.5 (<a
href="https://redirect.github.com/Glyndor/authcore/issues/224">#224</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/979e2409a02be0c709af7beed44024806405d047"><code>979e240</code></a>
feat(keymanager): record the on-disk key layout version (<a
href="https://redirect.github.com/Glyndor/authcore/issues/221">#221</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/81718cc45e40200f1021d3df358ea0c533317050"><code>81718cc</code></a>
fix(keymanager): tighten the key directory, never loosen it (<a
href="https://redirect.github.com/Glyndor/authcore/issues/223">#223</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/Glyndor/authcore/compare/v1.11.3...v1.11.6">compare
view</a></li>
</ul>
</details>
<br />

Updates `github.com/Glyndor/authcore` from 1.11.3 to 1.11.6
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Glyndor/authcore/releases">github.com/Glyndor/authcore's
releases</a>.</em></p>
<blockquote>
<h2>v1.11.6</h2>
<h2>What's Changed</h2>
<ul>
<li>test(keymanager): make the size-cap tests reach the size cap by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/228">Glyndor/authcore#228</a></li>
<li>test(oauth): exercise the guards that survived being deleted by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/232">Glyndor/authcore#232</a></li>
<li>test(jwt): exercise the verification guards that survived deletion
by <a href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/233">Glyndor/authcore#233</a></li>
<li>ci: assert that the scheduled audit and fuzz are still firing by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/226">Glyndor/authcore#226</a></li>
<li>test(password): make the PHC bound tests reach the bounds by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/234">Glyndor/authcore#234</a></li>
<li>ci: label the freshness pin with its release by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/245">Glyndor/authcore#245</a></li>
<li>release: v1.11.6 by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/246">Glyndor/authcore#246</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Glyndor/authcore/compare/v1.11.5...v1.11.6">https://github.com/Glyndor/authcore/compare/v1.11.5...v1.11.6</a></p>
<h2>v1.11.5</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(keymanager): tighten the key directory, never loosen it by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/223">Glyndor/authcore#223</a></li>
<li>feat(keymanager): record the on-disk key layout version by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/221">Glyndor/authcore#221</a></li>
<li>release: v1.11.5 by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/224">Glyndor/authcore#224</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Glyndor/authcore/compare/v1.11.4...v1.11.5">https://github.com/Glyndor/authcore/compare/v1.11.4...v1.11.5</a></p>
<h2>v1.11.4</h2>
<h2>What's Changed</h2>
<ul>
<li>ci(deps): bump Glyndor/.github/.github/workflows/main-guard.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/203">Glyndor/authcore#203</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/line-limit.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/201">Glyndor/authcore#201</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/go-fuzz.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/202">Glyndor/authcore#202</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/dco.yml from 1.6.0
to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/204">Glyndor/authcore#204</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/go-audit.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/206">Glyndor/authcore#206</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/go-ci.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/208">Glyndor/authcore#208</a></li>
<li>ci(deps): bump actions/checkout from 7.0.0 to 7.0.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/207">Glyndor/authcore#207</a></li>
<li>ci(deps): bump actions/setup-go from 6.5.0 to 7.0.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/205">Glyndor/authcore#205</a></li>
<li>build(deps): bump github.com/gofiber/fiber/v3 from 3.3.0 to 3.4.0 in
/examples/fiber by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/200">Glyndor/authcore#200</a></li>
<li>ci(examples): resolve the examples through a Go workspace by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/214">Glyndor/authcore#214</a></li>
<li>build(deps): bump golang.org/x/net from 0.56.0 to 0.57.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/212">Glyndor/authcore#212</a></li>
<li>fix(deps): require go 1.26.5 to close the crypto/tls ECH leak by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/216">Glyndor/authcore#216</a></li>
<li>release: v1.11.4 by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/217">Glyndor/authcore#217</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Glyndor/authcore/compare/v1.11.3...v1.11.4">https://github.com/Glyndor/authcore/compare/v1.11.3...v1.11.4</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Glyndor/authcore/commit/73a467fd0d2140f558ddd3fa564406ee7a162992"><code>73a467f</code></a>
release: v1.11.6 (<a
href="https://redirect.github.com/Glyndor/authcore/issues/246">#246</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/62ee1f3070d6e57f115fa2e5744a662a08041639"><code>62ee1f3</code></a>
ci: label the freshness pin with its release (<a
href="https://redirect.github.com/Glyndor/authcore/issues/245">#245</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/7269bfc68ef257abed025f18faaee15425581f06"><code>7269bfc</code></a>
test(password): make the PHC bound tests reach the bounds (<a
href="https://redirect.github.com/Glyndor/authcore/issues/234">#234</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/76bfb29cc3e30a1162f33daf092fa6fd118c63d1"><code>76bfb29</code></a>
ci: assert that the scheduled audit and fuzz are still firing (<a
href="https://redirect.github.com/Glyndor/authcore/issues/226">#226</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/388ce8dd4fd6d8487baf08b653b017acb30ce91c"><code>388ce8d</code></a>
test(jwt): exercise the verification guards that survived deletion (<a
href="https://redirect.github.com/Glyndor/authcore/issues/233">#233</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/38ecb0e1aa1cbc38f695a19131c7fa6fd34aa185"><code>38ecb0e</code></a>
test(oauth): exercise the guards that survived being deleted (<a
href="https://redirect.github.com/Glyndor/authcore/issues/232">#232</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/f16bb5ffe3d4a22cae3ca736a534c478431910d7"><code>f16bb5f</code></a>
test(keymanager): make the size-cap tests reach the size cap (<a
href="https://redirect.github.com/Glyndor/authcore/issues/228">#228</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/30f019a9fd11bc89b793b32428e41d98c12ac0d0"><code>30f019a</code></a>
release: v1.11.5 (<a
href="https://redirect.github.com/Glyndor/authcore/issues/224">#224</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/979e2409a02be0c709af7beed44024806405d047"><code>979e240</code></a>
feat(keymanager): record the on-disk key layout version (<a
href="https://redirect.github.com/Glyndor/authcore/issues/221">#221</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/81718cc45e40200f1021d3df358ea0c533317050"><code>81718cc</code></a>
fix(keymanager): tighten the key directory, never loosen it (<a
href="https://redirect.github.com/Glyndor/authcore/issues/223">#223</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/Glyndor/authcore/compare/v1.11.3...v1.11.6">compare
view</a></li>
</ul>
</details>
<br />

Updates `github.com/Glyndor/authcore` from 1.11.3 to 1.11.6
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Glyndor/authcore/releases">github.com/Glyndor/authcore's
releases</a>.</em></p>
<blockquote>
<h2>v1.11.6</h2>
<h2>What's Changed</h2>
<ul>
<li>test(keymanager): make the size-cap tests reach the size cap by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/228">Glyndor/authcore#228</a></li>
<li>test(oauth): exercise the guards that survived being deleted by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/232">Glyndor/authcore#232</a></li>
<li>test(jwt): exercise the verification guards that survived deletion
by <a href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/233">Glyndor/authcore#233</a></li>
<li>ci: assert that the scheduled audit and fuzz are still firing by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/226">Glyndor/authcore#226</a></li>
<li>test(password): make the PHC bound tests reach the bounds by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/234">Glyndor/authcore#234</a></li>
<li>ci: label the freshness pin with its release by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/245">Glyndor/authcore#245</a></li>
<li>release: v1.11.6 by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/246">Glyndor/authcore#246</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Glyndor/authcore/compare/v1.11.5...v1.11.6">https://github.com/Glyndor/authcore/compare/v1.11.5...v1.11.6</a></p>
<h2>v1.11.5</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(keymanager): tighten the key directory, never loosen it by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/223">Glyndor/authcore#223</a></li>
<li>feat(keymanager): record the on-disk key layout version by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/221">Glyndor/authcore#221</a></li>
<li>release: v1.11.5 by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/224">Glyndor/authcore#224</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Glyndor/authcore/compare/v1.11.4...v1.11.5">https://github.com/Glyndor/authcore/compare/v1.11.4...v1.11.5</a></p>
<h2>v1.11.4</h2>
<h2>What's Changed</h2>
<ul>
<li>ci(deps): bump Glyndor/.github/.github/workflows/main-guard.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/203">Glyndor/authcore#203</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/line-limit.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/201">Glyndor/authcore#201</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/go-fuzz.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/202">Glyndor/authcore#202</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/dco.yml from 1.6.0
to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/204">Glyndor/authcore#204</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/go-audit.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/206">Glyndor/authcore#206</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/go-ci.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/208">Glyndor/authcore#208</a></li>
<li>ci(deps): bump actions/checkout from 7.0.0 to 7.0.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/207">Glyndor/authcore#207</a></li>
<li>ci(deps): bump actions/setup-go from 6.5.0 to 7.0.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/205">Glyndor/authcore#205</a></li>
<li>build(deps): bump github.com/gofiber/fiber/v3 from 3.3.0 to 3.4.0 in
/examples/fiber by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/200">Glyndor/authcore#200</a></li>
<li>ci(examples): resolve the examples through a Go workspace by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/214">Glyndor/authcore#214</a></li>
<li>build(deps): bump golang.org/x/net from 0.56.0 to 0.57.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/212">Glyndor/authcore#212</a></li>
<li>fix(deps): require go 1.26.5 to close the crypto/tls ECH leak by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/216">Glyndor/authcore#216</a></li>
<li>release: v1.11.4 by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/217">Glyndor/authcore#217</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Glyndor/authcore/compare/v1.11.3...v1.11.4">https://github.com/Glyndor/authcore/compare/v1.11.3...v1.11.4</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Glyndor/authcore/commit/73a467fd0d2140f558ddd3fa564406ee7a162992"><code>73a467f</code></a>
release: v1.11.6 (<a
href="https://redirect.github.com/Glyndor/authcore/issues/246">#246</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/62ee1f3070d6e57f115fa2e5744a662a08041639"><code>62ee1f3</code></a>
ci: label the freshness pin with its release (<a
href="https://redirect.github.com/Glyndor/authcore/issues/245">#245</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/7269bfc68ef257abed025f18faaee15425581f06"><code>7269bfc</code></a>
test(password): make the PHC bound tests reach the bounds (<a
href="https://redirect.github.com/Glyndor/authcore/issues/234">#234</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/76bfb29cc3e30a1162f33daf092fa6fd118c63d1"><code>76bfb29</code></a>
ci: assert that the scheduled audit and fuzz are still firing (<a
href="https://redirect.github.com/Glyndor/authcore/issues/226">#226</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/388ce8dd4fd6d8487baf08b653b017acb30ce91c"><code>388ce8d</code></a>
test(jwt): exercise the verification guards that survived deletion (<a
href="https://redirect.github.com/Glyndor/authcore/issues/233">#233</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/38ecb0e1aa1cbc38f695a19131c7fa6fd34aa185"><code>38ecb0e</code></a>
test(oauth): exercise the guards that survived being deleted (<a
href="https://redirect.github.com/Glyndor/authcore/issues/232">#232</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/f16bb5ffe3d4a22cae3ca736a534c478431910d7"><code>f16bb5f</code></a>
test(keymanager): make the size-cap tests reach the size cap (<a
href="https://redirect.github.com/Glyndor/authcore/issues/228">#228</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/30f019a9fd11bc89b793b32428e41d98c12ac0d0"><code>30f019a</code></a>
release: v1.11.5 (<a
href="https://redirect.github.com/Glyndor/authcore/issues/224">#224</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/979e2409a02be0c709af7beed44024806405d047"><code>979e240</code></a>
feat(keymanager): record the on-disk key layout version (<a
href="https://redirect.github.com/Glyndor/authcore/issues/221">#221</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/81718cc45e40200f1021d3df358ea0c533317050"><code>81718cc</code></a>
fix(keymanager): tighten the key directory, never loosen it (<a
href="https://redirect.github.com/Glyndor/authcore/issues/223">#223</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/Glyndor/authcore/compare/v1.11.3...v1.11.6">compare
view</a></li>
</ul>
</details>
<br />

Updates `github.com/Glyndor/authcore` from 1.11.3 to 1.11.6
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Glyndor/authcore/releases">github.com/Glyndor/authcore's
releases</a>.</em></p>
<blockquote>
<h2>v1.11.6</h2>
<h2>What's Changed</h2>
<ul>
<li>test(keymanager): make the size-cap tests reach the size cap by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/228">Glyndor/authcore#228</a></li>
<li>test(oauth): exercise the guards that survived being deleted by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/232">Glyndor/authcore#232</a></li>
<li>test(jwt): exercise the verification guards that survived deletion
by <a href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/233">Glyndor/authcore#233</a></li>
<li>ci: assert that the scheduled audit and fuzz are still firing by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/226">Glyndor/authcore#226</a></li>
<li>test(password): make the PHC bound tests reach the bounds by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/234">Glyndor/authcore#234</a></li>
<li>ci: label the freshness pin with its release by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/245">Glyndor/authcore#245</a></li>
<li>release: v1.11.6 by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/246">Glyndor/authcore#246</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Glyndor/authcore/compare/v1.11.5...v1.11.6">https://github.com/Glyndor/authcore/compare/v1.11.5...v1.11.6</a></p>
<h2>v1.11.5</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(keymanager): tighten the key directory, never loosen it by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/223">Glyndor/authcore#223</a></li>
<li>feat(keymanager): record the on-disk key layout version by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/221">Glyndor/authcore#221</a></li>
<li>release: v1.11.5 by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/224">Glyndor/authcore#224</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Glyndor/authcore/compare/v1.11.4...v1.11.5">https://github.com/Glyndor/authcore/compare/v1.11.4...v1.11.5</a></p>
<h2>v1.11.4</h2>
<h2>What's Changed</h2>
<ul>
<li>ci(deps): bump Glyndor/.github/.github/workflows/main-guard.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/203">Glyndor/authcore#203</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/line-limit.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/201">Glyndor/authcore#201</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/go-fuzz.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/202">Glyndor/authcore#202</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/dco.yml from 1.6.0
to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/204">Glyndor/authcore#204</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/go-audit.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/206">Glyndor/authcore#206</a></li>
<li>ci(deps): bump Glyndor/.github/.github/workflows/go-ci.yml from
1.6.0 to 1.10.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/208">Glyndor/authcore#208</a></li>
<li>ci(deps): bump actions/checkout from 7.0.0 to 7.0.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/207">Glyndor/authcore#207</a></li>
<li>ci(deps): bump actions/setup-go from 6.5.0 to 7.0.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/205">Glyndor/authcore#205</a></li>
<li>build(deps): bump github.com/gofiber/fiber/v3 from 3.3.0 to 3.4.0 in
/examples/fiber by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/200">Glyndor/authcore#200</a></li>
<li>ci(examples): resolve the examples through a Go workspace by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/214">Glyndor/authcore#214</a></li>
<li>build(deps): bump golang.org/x/net from 0.56.0 to 0.57.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/Glyndor/authcore/pull/212">Glyndor/authcore#212</a></li>
<li>fix(deps): require go 1.26.5 to close the crypto/tls ECH leak by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/216">Glyndor/authcore#216</a></li>
<li>release: v1.11.4 by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Glyndor/authcore/pull/217">Glyndor/authcore#217</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/Glyndor/authcore/compare/v1.11.3...v1.11.4">https://github.com/Glyndor/authcore/compare/v1.11.3...v1.11.4</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Glyndor/authcore/commit/73a467fd0d2140f558ddd3fa564406ee7a162992"><code>73a467f</code></a>
release: v1.11.6 (<a
href="https://redirect.github.com/Glyndor/authcore/issues/246">#246</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/62ee1f3070d6e57f115fa2e5744a662a08041639"><code>62ee1f3</code></a>
ci: label the freshness pin with its release (<a
href="https://redirect.github.com/Glyndor/authcore/issues/245">#245</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/7269bfc68ef257abed025f18faaee15425581f06"><code>7269bfc</code></a>
test(password): make the PHC bound tests reach the bounds (<a
href="https://redirect.github.com/Glyndor/authcore/issues/234">#234</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/76bfb29cc3e30a1162f33daf092fa6fd118c63d1"><code>76bfb29</code></a>
ci: assert that the scheduled audit and fuzz are still firing (<a
href="https://redirect.github.com/Glyndor/authcore/issues/226">#226</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/388ce8dd4fd6d8487baf08b653b017acb30ce91c"><code>388ce8d</code></a>
test(jwt): exercise the verification guards that survived deletion (<a
href="https://redirect.github.com/Glyndor/authcore/issues/233">#233</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/38ecb0e1aa1cbc38f695a19131c7fa6fd34aa185"><code>38ecb0e</code></a>
test(oauth): exercise the guards that survived being deleted (<a
href="https://redirect.github.com/Glyndor/authcore/issues/232">#232</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/f16bb5ffe3d4a22cae3ca736a534c478431910d7"><code>f16bb5f</code></a>
test(keymanager): make the size-cap tests reach the size cap (<a
href="https://redirect.github.com/Glyndor/authcore/issues/228">#228</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/30f019a9fd11bc89b793b32428e41d98c12ac0d0"><code>30f019a</code></a>
release: v1.11.5 (<a
href="https://redirect.github.com/Glyndor/authcore/issues/224">#224</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/979e2409a02be0c709af7beed44024806405d047"><code>979e240</code></a>
feat(keymanager): record the on-disk key layout version (<a
href="https://redirect.github.com/Glyndor/authcore/issues/221">#221</a>)</li>
<li><a
href="https://github.com/Glyndor/authcore/commit/81718cc45e40200f1021d3df358ea0c533317050"><code>81718cc</code></a>
fix(keymanager): tighten the key directory, never loosen it (<a
href="https://redirect.github.com/Glyndor/authcore/issues/223">#223</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/Glyndor/authcore/compare/v1.11.3...v1.11.6">compare
view</a></li>
</ul>
</details>
<br />

Updates `github.com/Glyndor/authcore` from 1.11.3 to 1.11.6
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Glyndor/authcore/releases">github.com/Glyndor/authcore's
releases</a>.</em></p>
<blockquote>
<h2>v1.11.6</h2>
<h2>What's Changed</h2>
<ul>
<li>test(keymanager): make the size-cap tests reach the size cap by <a
href="https://github.com/Jaro-c"><code>@​Jaro-c</code></a> in <a
href="https://redirect.github.com/Gly…
I bumped every Glyndor/.github reusable in this repo from v1.12.0 to
v1.18.1 (SHA `d4bbc5b6ec0c351ca4cb17d948ceaad818da4078`):

| caller | was | now |
|---|---|---|
| `ci.yml` (go-ci) | v1.12.0 | v1.18.1 |
| `audit.yml` (go-audit) | v1.12.0 | v1.18.1 |
| `fuzz.yml` (go-fuzz) | v1.12.0 | v1.18.1 |
| `dco.yml` | v1.12.0 | v1.18.1 |
| `line-limit.yml` | v1.12.0 | v1.18.1 |
| `main-guard.yml` | v1.12.0 | v1.18.1 |
| `schedule-freshness.yml` (x2) | v1.12.0 | v1.18.1 |

The trailing comments now point at a real tag, which is what lets
Dependabot resolve and bump them later.

I also added the two guard jobs to `ci.yml` so the pins do not go stale
again:

* **pin-policy** — fails the PR if any pin's SHA is no longer the
surface tagged by the latest Glyndor/.github release.
* **dependabot-freshness** — fails the PR if Dependabot has not opened a
PR in the last 15 days. Dependabot has silently died here before with a
valid config, and silence is otherwise indistinguishable from "nothing
to update".

Both jobs inherit the file-level `permissions: contents: read`; I did
not add per-job permissions blocks.

Verified locally with:

```sh
grep -rn 'Glyndor/\.github/\.github/workflows/' .github/workflows/ | grep -v 'd4bbc5b6ec0c351ca4cb17d948ceaad818da4078' || echo "OK: all pins current"
grep -rn 'Glyndor/\.github' .github/workflows/ | grep -v '# v1.18.1' || echo "OK: all comments correct"
grep -c 'pin-policy-reusable\|dependabot-freshness' .github/workflows/ci.yml
python3 -c "import yaml,sys; [yaml.safe_load(open(f)) for f in sys.argv[1:]]" .github/workflows/*.yml && echo "OK: yaml parses"
```

Signed-off-by: Jaro-c <75870284+Jaro-c@users.noreply.github.com>
…lities (#328)

Closes #327.

`govulncheck` has been red on the scheduled `audit.yml` run since
2026-08-17, reporting four standard library vulnerabilities my code
calls. All four are fixed in go 1.26.6 while the directive declared
1.26.5, so raising it is the whole remediation: the directive is the
floor toolchain selection honours, which is what puts a consumer on a
patched standard library. Same shape as #216 and #172, both of which
shipped as PATCH releases.

Eleven files, one line each: the root module, the nine example modules,
and `examples/go.work`. The examples move with the root because
`examples.yml` reads `go-version-file` per example, so leaving them
behind would run their CI on a floor the library no longer declares.

### What I measured

| Check | go 1.26.5 | go 1.26.6 |
|---|---|---|
| `govulncheck ./...` | exit 3, 4 vulnerabilities my code calls | exit
0, **No vulnerabilities found** |
| `go test -race ./...` | | 9/9 packages pass |
| Nine examples, `go build && go vet` | | 9/9 pass, one package each |

The 1.26.5 column is a control run rather than the CI log: I put the
directive back, re-ran, read the same four advisories, then restored
1.26.6. Without that column a clean scan proves only that the scan ran.

The toolchain selected 1.26.6 on its own once the directive moved, and
`go env GOWORK` is still empty at the repository root, so the library is
tested against the versions it declares rather than the ones gin and
fiber elevate.

### What this leaves alone

`GO-2026-5932` against `golang.org/x/crypto` still shows as a
vulnerability in a module I require but do not call. It is the standing
advisory that `x/crypto/openpgp` is unmaintained and unsafe by design,
`Fixed in: N/A`, applying to every version of the module since 0.
Nothing here imports `openpgp`.

### After this merges

`audit.yml` goes green on its next Monday run, which clears `audit
freshness / schedule freshness` and takes the nine pin bumps (#316 to
#324) out of `UNSTABLE`. v1.11.7 is what `go get` serves today, so this
wants a PATCH release rather than riding along with the next one.

Signed-off-by: Jaro-c <75870284+Jaro-c@users.noreply.github.com>
@Jaro-c Jaro-c added type:security Security-relevant change type:chore Maintenance with no product impact prio:P2 Medium priority status:review In review effort:XS Extra small labels Sep 7, 2026
@Jaro-c
Jaro-c merged commit bf5be12 into main Sep 7, 2026
33 of 35 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

effort:XS Extra small prio:P2 Medium priority status:review In review type:chore Maintenance with no product impact type:security Security-relevant change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant