Add versioning convention
This commit is contained in:
commit
18ef99409a
1 changed files with 50 additions and 0 deletions
50
README.md
Normal file
50
README.md
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
# 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)
|
||||
Loading…
Add table
Reference in a new issue