Clone
1
Version-Standard
Jonathan Miller edited this page 2026-06-07 18:02:40 +00:00

Version Numbering Standard

Format

[prefix]XX.YY.ZZ
Part Description Example
Prefix (optional) Upstream version for forked projects. Stored in manifest <version_prefix>. Never bumped by tools. 1.26.1+moko.
XX Major version — breaking changes 02
YY Minor version — feature releases (bumped on dev → main merge) 35
ZZ Patch version — bug fixes (bumped on fix/patch branch pre-release) 01

Suffixes (release system only)

Suffixes are never in source files. They are appended by the release system at build time:

Suffix Channel Branch
-dev Development dev, fix/*
-alpha Alpha alpha
-beta Beta beta
-rc Release Candidate rc
(none)* Stable main

Examples

Project Source File Dev release Stable Release
MokoSuite 02.35.00 02.35.00-dev 02.35.00
MokoSuite (patch) 02.35.01 02.35.01-dev 02.35.01
MokoGitea 1.26.1+moko.05.05.00 1.26.1+moko.05.05.00-dev 1.26.1+moko.05.05.00
MokoDoliAuth 02.10.00 02.10.00-dev 02.10.00

Version Bump Rules

Action Bump Example
Push to dev Patch 02.35.0002.35.01
Push to fix/* Patch 02.35.0002.35.01
Merge devmain Minor 02.35.xx02.36.00
Merge fix/*main None (strip suffix) 02.35.01-dev02.35.01
Promote to RC Minor 02.35.xx02.36.00-rc

Manifest Fields

The moko-platform manifest (.mokogitea/manifest.xml) stores:

  • <version>XX.YY.ZZ</version> — the Moko-managed portion only
  • <version_prefix>1.26.1+moko.</version_prefix> — optional, for forked projects

CLI Tools

Tool Purpose
version_read.php Read current version (prefix-aware)
version_bump.php Bump version in all source files (prefix-aware)
version_check.php Verify version consistency across files
version_set_platform.php Set version + stability across platform files