50 lines
1.9 KiB
Markdown
50 lines
1.9 KiB
Markdown
# 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)
|