Skip to content

Versioning

Hyperlynx edited this page Jan 25, 2025 · 18 revisions

Current

This mod uses a system very similar to semantic versioning. Version numbers take this form:

MC_VERSION-MAJOR.MINOR.PATCH(SUBPATCH)

MC_VERSION is the version of the game (the 'game version' below) that the mod works with (as in most mods).

MAJOR is the major release version. The major release is advanced when I add some substantial new content to the mod, such as new blocks, items, or mechanics.

The major release version might seem high, since I chose not to reserve it for complete rewrites like some projects do. You can imagine an invisible 1. in front of the given version number if you're used to the first number being a total project rewrite version.

MINOR is the minor release version. The minor version is advanced by any change that could impact modpack developers, such as changes to the KubeJS integration system, the config file, the command syntax, or other changes that significantly impact gameplay.

PATCH is the patch version. This is advanced by bug fixes and internal changes. This suffix is optional, so if absent assume the PATCH version is .0.

SUBPATCH is a rare letter marking a game version specific patch. This is used to allow the PATCH number to remain in sync between game version releases. If present, consider a version with a letter to be after the same number with no letter, but before all higher numbers.

Before 9.13

This mod used to use a custom version numbering scheme. In general, past version numbers took the form:

MC_VERSION-Mm.x

MC_VERSION is the version of the game (the 'game version' below) that the mod works with (as in most mods).

M is the major release version. The major release is advanced when I add some substantial new content to the mod, such as new blocks, items, or mechanics. A few months ago, I increased this number more frequently then I do now, which reflects the change in general development pace the mod has experienced.

m is the minor version as a letter. The minor version is advanced by every non-major update. In 1.20.1 and later, you can expect that the mod's features will be very similar between two releases if the Mm component of the version number is the same.

x is a game-version-specific patch marker. Different branches of the mod for different game versions might have different game-version-specific patch numbers while having the same general content if, for example, a bug affecting only one game version is found and patched. If absent, this component can be considered to be 0.

In this scheme, 9.13.0 would have been named 9m.0 (noting that m is the 13th letter).