Profile README: instance-wide conventions.
| README.md | ||
jhaas
Home lab / personal projects. This repo has no code — Forgejo renders its
README.md on the profile page, so it's used to hold conventions that
apply across every repo below, instead of duplicating them in each one.
Versioning: YY.MAJOR.MINOR-BUILD
All projects version releases (git tags, changelog entries, artifact filenames) as:
YY.MAJOR.MINOR-BUILD
Example: 26.0.0-1
| Field | Meaning | Effect when bumped |
|---|---|---|
YY |
Two-digit calendar year of the release | — |
MAJOR |
Breaking / incompatible change | resets MINOR → 0, BUILD → 1 |
MINOR |
New feature, non-breaking addition | resets BUILD → 1 |
BUILD |
Anything else on the same YY.MAJOR.MINOR (fix, rebuild, tweak) |
+1 |
YY simply tracks the calendar year the release happened in — it does not
by itself force a MAJOR/MINOR/BUILD reset. A project can go from
25.2.1-4 straight to 26.2.1-5 if nothing breaking or new landed around
New Year's.
Example progression
26.0.0-1 first release of the year, MAJOR 0 / MINOR 0
26.0.0-2 bugfix rebuild, same MAJOR.MINOR
26.1.0-1 new feature added -> MINOR bumped, BUILD reset
26.1.0-2 another small fix
27.0.0-1 breaking redesign, new year -> MAJOR bumped, MINOR/BUILD reset
Git tags
Tag releases as vYY.MAJOR.MINOR-BUILD, e.g. v26.0.0-1.
Where this shows up
- Git tags on the release commit
CHANGELOG.md(if the project has one)- Optionally, a small version string in a project's
docs/index.htmlfooter (see projects-hub for the hub convention those pages follow)