Skip to content

v0.11.0 cleanups: dead PIV helper, docs and changelog checks in CI, doc-link fixes - #150

Merged
framefilter merged 5 commits into
mainfrom
release-prep/v0.11.0
Sep 23, 2026
Merged

framefilter merged 5 commits into
mainfrom
release-prep/v0.11.0

Conversation

@framefilter

@framefilter framefilter commented Sep 23, 2026 •

Copy link
Copy Markdown
Owner

Small pre-release cleanups for v0.11.0 (re #147, whose fix is already on main via #148/#149).

  • Remove PivSession::management_key_algorithm: unused since Resolve the mgmt-key algorithm by probing #124; the doc links now point at resolve_management_key_algorithm.
  • CI: run assemble-changelog.py --check and its self-test, so a malformed changelog.d fragment fails the PR that adds it instead of the release run.
  • check-docs-mechanical.sh always builds keyroostctl (a no-op when current) instead of only when the binary is absent, so a stale build can't validate the docs.
  • Fix 14 broken or private intra-doc links across seven crates, and add a CI job that builds the workspace docs with -D warnings so new ones fail their own PR. These render as dead or missing links on docs.rs. Doc comments only, plus one #![allow(rustdoc::invalid_html_tags)] in keyroostctl for clap placeholders like <group>. Man pages and shell completions are byte-identical to main.
  • CLAUDE.md: findings about device or firmware behaviour need hardware or vendor confirmation before they are written as fact; vendor features are described neutrally.
  • TODO.md: v0.11.0 scope. PIV applet fingerprinting, device specific feature gates #128 goes in only if it is ready in time; it does not hold the release.

Verified locally: fmt, clippy -D warnings, full workspace tests, cargo doc --workspace -D warnings, the docs audit, and both changelog checks pass. The build-only packaging probe passed on this branch before the doc changes: flatpak and AppImage both green (run 35806733775).

🤖 Generated with Claude Code

framefilter and others added 5 commits September 22, 2026 20:36
Fold the #147 compressed-certificate fix into 0.11.0 instead of a 0.10.1
patch, limit the release to three small cleanups plus the audit-rule
amendment, and keep #128 from holding it: it lands only if ready in time,
otherwise it anchors the next release.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… CI, rebuild before the docs check

- Remove PivSession::management_key_algorithm. Nothing has called it since
  the management-key algorithm probe landed; callers use
  reported_management_key_algorithm or resolve_management_key_algorithm,
  and the doc links now point there.
- Run assemble-changelog.py --check and its self-test in CI, so a
  malformed changelog.d fragment fails the PR that adds it rather than
  the release run.
- check-docs-mechanical.sh now always builds keyroostctl (a no-op when
  current) instead of only when the binary is absent, so an old build
  can no longer validate the docs against a stale --help tree.
- CLAUDE.md: findings about device or firmware behaviour need hardware
  or vendor confirmation before they are written as fact, and vendor
  features are described neutrally.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
`cargo doc -D warnings` failed in seven crates: links to private items
(now plain code spans), links rustdoc could not resolve from where the
doc is rendered (now full paths), and a bare URL. keyroostctl allows
rustdoc::invalid_html_tags because clap turns its arg doc comments into
--help text, where placeholders like <group> are literal.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The library crates' docs are published on docs.rs, where a broken or
private intra-doc link renders as a dead or missing link. rustdoc only
warns about these, and no CI job built docs, so fourteen of them
accumulated unnoticed across four months of changes. Deny them in CI so
the next one fails its own PR.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@framefilter
framefilter merged commit 02f1d7d into main Sep 23, 2026
12 checks passed
@framefilter
framefilter deleted the release-prep/v0.11.0 branch September 23, 2026 03:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant