# 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.html` footer (see [projects-hub](https://git.joha.mywire.org/jhaas/projects-hub) for the hub convention those pages follow)