Versions are SemVer, and the major stays at 0 while the surface is still settling — a 0.x bump
is free to change environment variables, the storage layout or the API. Releases are cut by
FerrFlow from the Conventional Commit history of main — a merged feat:
or fix: produces the tag, the CHANGELOG.md entry and the GitHub release, and
the release builds and pushes the image.
Images live at ghcr.io/ferrlabs/lfsx under three tags:
| Tag | Moves | For |
|---|---|---|
0.4.0 |
never | production, where an upgrade should be a deliberate change |
0.4 |
on every fix to that line | picking up fixes without picking up behaviour changes |
latest |
on every release | trying it out |
Every tag is a manifest list covering linux/amd64 and linux/arm64, so a NAS, a Raspberry Pi or
a Graviton instance pulls the right image without being told. Each one is scanned for known
vulnerabilities, has to answer /health before it is allowed out, and is then signed with cosign
and shipped with a CycloneDX SBOM.