Versioning
How InputBooster version numbers, jar names and the config schema version relate to each other.
There are three different version numbers in this project: the mod version, the config schema version and the Minecraft version. They are unrelated and are easy to confuse.
The three versions
| Version | Example | Where it lives |
|---|---|---|
| The mod version | 4.1.2-alpha | The jar name and InputBoosterMod.MOD_VERSION |
| The config schema | 305 | config_version in the properties file |
| The Minecraft version | 26.2, 26.3 | The mc262 / mc263 suffix and the dependency ranges |
The mod version scheme
MAJOR.MINOR.PATCH-PRERELEASE │ │ │ │ │ │ │ └─ alpha, beta, or nothing for a stable release │ │ └────────── the patch number │ └──────────────── the minor number └─────────────────────── the major number
| Stage | Meaning |
|---|---|
alpha | New or rewritten code. May crash, may not have been run in a client |
beta | Feature complete for the line, still being tested |
| Stable | No suffix. A release that has been tested and does not crash on launch |
The current release is 4.1.2-alpha. The last stable build is 4.0.3-stable.
The jar name
inputbooster-<mod version>-<loader>-mc<minecraft>.jar inputbooster-4.1.2-alpha-fabric-mc263.jar │ │ │ │ │ │ │ └─ 263 = Minecraft 26.3 │ │ └────── mc │ └───────────── fabric or nf └────────────────────────── the mod version
The loader flavour is also in gradle.properties:
| Project | Property | Value |
|---|---|---|
| NeoForge | mod_version | 4.1.2-alpha-nf-mc262 |
| Fabric | mod_version | 4.1.2-alpha-fabric |
The Fabric project appends the Minecraft suffix at build time:
version = "${mod_version}-mc${minecraft_version.replace('.', '')}"
The config schema version
config_version records the shape of the config file.
| Schema | Introduced | Change |
|---|---|---|
| 305 | 4.1.0-alpha | Nine new engine and overlay keys |
| 303 and earlier | 3.x | Older schema, migrated on load |
The schema version is bumped when a key changes meaning, not when a key is added for a new feature in a way that is backwards compatible. The migration is small on purpose: it renames three legacy keys and nothing else.
public static final int CONFIG_VERSION = 305;
How a release is cut
The CI pipeline publishes a release when a version tag is pushed, or on a branch push.
From the tag, or from mod_version in gradle.properties with the loader
flavour stripped.
NeoForge 26.2, Fabric 26.2 and Fabric 26.3, each on Temurin 25.
The release job refuses to publish unless all three are present. The Fabric job checks the dependency range form first.
All three jars are attached, the notes are generated from the git log
since the previous tag, and a prerelease flag is set when the version
contains alpha or beta.
The archived API version
The API repository has its own version line, ending at 3.1.0. It targets
Minecraft >=1.21 <1.22 and Java 21, and it is not connected to the 26.x
tree. See the archived API page.
Related pages
- Changelog — what changed in each release.
- Support matrix — which versions are supported.
- Updating — moving between versions.