-
v4.4.0 Stable
released this
2026-09-03 20:22:38 +00:00 | 72 commits to main since this release4.4.0 - 2026-09-03 - Versionskandidat statt Bump-pro-Release: VERSION traegt -beta.N, version release fixiert
Author: Torben Nehmer
- Versionskandidat statt Bump-pro-Release: VERSION traegt -beta.N, version release fixiert
Bisher bekam jeder
version bumpsofort eine fixierte Nummer, und weilrelease.ymlauf jede
VERSION-Bewegung feuert, wurde daraus sofort ein Release: Nummern entstanden in
Commit-Granularität statt in Release-Granularität. Der 2026-09-03 hat so vier Releases in sechs
Stunden erzeugt (4.3.0bis4.3.3), zwei davon für reine Prosa-Änderungen - alle vier echt,
keines davon eine Einheit, an der ein Konsument sich hätte orientieren können.VERSIONträgt
jetzt zwischen zwei Releases einen laufenden Kandidaten (X.Y.Z-beta.N):
--major/--minor/--patcheskaliert diesen Kandidaten max-wins gegen den letzten Release, statt
eine neue Nummer danebenzustellen, und geht dabei nie zurück.Versionversteht den Suffix, mit einer expliziten Ordnung
(4.4.0-beta.1 < 4.4.0-beta.2 < 4.4.0, numerisch nachN, nicht lexikografisch).CHANGES.md
trägt genau einen offenen Eintrag pro Kandidat: der erste Bump eröffnet ihn, jeder weitere
aktualisiert Heading und die maschinenverwaltete Bump-Titel-Liste in
<!-- wikitool:bumps -->(Marker-Konvention ausblocks.py, aber bewusst nicht in
blocks.BLOCKS- diese Region gehört zuCHANGES.md, nicht zu einer Seite).version release
ist neu und fixiert einen Kandidaten: Suffix weg, Eintrag geschlossen, committet und pusht nichts.Vier Stellen am Bestand angepasst, die das Kandidatenmodell sonst still beschädigt hätten:
release.ymlüberspringt einen suffixbehaftetenVERSION-Push sauber, bevor die Releases-API
gefragt wird, statt jeden Beta-Bump zu veröffentlichen; die Grenzübertritts-Checks in
docs verify(check_migration_for_boundary,check_breaking_change_for_boundary) messen jetzt
gegen den letzten Release (version_mod.last_release) statt gegen den zweitobersten Eintrag,
der zwischen zwei Betas keine Grenze mehr hergibt;kb_state.chain()/next_link()vergleichen
gegen die Kandidatenbasis, weil eine Migration mit Ziel4.4.0sonst bei installiertem
4.4.0-beta.1aus dem Intervall fällt (4.4.0-beta.1 < 4.4.0);read_kb_version()verweigert
einen Prerelease, weil eine Inhaltsform kein Beta kennt.dist exportschreibtVERSIONund den
Stamp weiterhin ehrlich mit Suffix, aber.wikitool-kb.jsonbekommt die Basis.Menschendoku für die Erzeuger-Seite:
DEVELOPMENT.mdim Repo-Root, bewusst nicht in
dist_cmd.ROOT_FILES(Begründung als Kommentar dort), mit Zeile inAGENTS.md§ File naming und
Zeiger ausREADME.md.docs/version-model.mdhat einen neuen Abschnitt, warum eine Nummer erst
durch ein Release verbraucht wird.Downloads