v0.3.3
Released: 2026-06-11
Changes since v0.3.2 (f38b687..456344b).
Features
- Version label in the UI (PR #95 by @CaTeIM, closes #94): The running FrankMD version is now visible in two places — a muted
v0.3.3under the tagline in the About dialog, and a centeredFrankMD v0.3.3footer at the bottom of the Explorer sidebar. Useful for bug reports, deciding when tofed-update, and general trust signal. Source of truth islib/frankmd/version.rb(FrankMD::VERSION), exposed to views viaApplicationHelper#app_version.
Infrastructure
- Version-tag drift guard (PR #95): A new
.github/workflows/version-guard.ymlruns on everyv*tag push and asserts thatFrankMD::VERSIONmatches the pushed tag. If you forget to bump the constant before tagging, the workflow fails with a clear error message instead of silently shipping a mislabeled image. Lives in its own workflow file so it does not couple toci.yml/docker-publish.yml.
Release Flow
Cutting a release now involves two file edits in the same commit:
- Bump
lib/frankmd/version.rbto the target version. - Add
releases/vX.Y.Z.mdwith the changelog.
Then tag (git tag -a vX.Y.Z -m vX.Y.Z) and push the tag — the publish workflow builds and pushes the multi-arch image; the version guard verifies the constant matches the tag.
Test Coverage
- 450 Ruby tests (+1), 1,393 JavaScript tests (1,843 total).