Release Notes¶
Notable changes to the guide and its tooling. Follows Keep a Changelog and Semantic Versioning.
v1.2.3 — 2026-05-22¶
CI/CD pipeline split into independent stages, dark PDF quality improved, and the changelog is now updated automatically on every release. v1.2.2 was just a placeholder, this is a minor but CI breaking change.
Added
- Dark mode PDF (
scripts/convert.py): pixel-level converter replaces the broken--prefers-color-scheme=darkChromium flag. Produces a 200 DPI hacker-themed PDF (#1f1f31background,#e0e0e0text,#5e8bdelinks) with batched page processing to avoid OOM. - Three independent CI workflows replacing the old monolithic
build-sign-release.yml:build.yml— builds PDFs and uploads them as an artifact; no secrets required.sign.yml— downloads the PDF artifact, computes SHA-256 and BLAKE2b hashes, GPG-signs all outputs, and uploads asignaturesartifact. Can be re-run against any historical build.release.yml— downloads both artifacts, uploads to VirusTotal, and publishes a tagged GitHub Release with all 12 assets attached. Can be triggered manually against any previous sign run.
scripts/update_changelog.py: readsgit logsince the last version tag, categorises commits by conventional-commit prefix, and prepends a new entry here automatically after each successful build.changelog.ymlworkflow: commits the auto-generated changelog entry back tomainafter every build, withdry_runandmanual_versiondispatch inputs for testing.
Changed
build-sign-release.ymlis now deprecated — push triggers removed, manual dispatch only. Will be deleted once in-flight runs complete.- The full pipeline (build → sign → release) now chains automatically via
workflow_runon every push tomain. - GPG signing uses
--pinentry-mode loopbackand--passphrase-fd 0to avoid interactive prompts on headless runners. - VirusTotal scans moved to the release stage so they run once per release, not once per build.
Fixed
- Broken internal links and a mismatched cross-reference in
docs/about/index.md. - Deprecated ODT section commented out in Appendix A6 of the guide.
v1.2.1 — 2025¶
First automated PDF build and the start of the CI pipeline.
Added
scripts/build_guide_pdf.py: builds the MkDocs site and renders the full guide to a single PDF via headless Chromium (Chrome or Edge). Supports--dark,--light, and--bothmodes.- GitHub Actions workflow that installs Chromium, runs the build script, and uploads
export/thgtoa.pdfas an artifact on every push tomainor manual dispatch. docs/stylesheets/extra.cssfor shared site styling.- This changelog.
Changed
README.mdupdated with instructions for local PDF export and a note about the GitHub Actions artifact..gitignoreupdated to exclude local build outputs (export/,site/,_site_test/).
Fixed
- Broken reference-style internal links throughout
docs/guide/index.mdreplaced with correct fragment links. - Broken footnote marker on the "free (unallocated) space" list item in the guide.