Versioning

Versioning

Artifact coordinates per Minecraft version

MagicUtils publishes one Maven version per supported Minecraft branch, so each branch keeps its own metadata, Java level, and transitive dependencies. The version is Fabric-style, with the Minecraft branch baked into the version string itself (not a Maven classifier):

dev.ua.theroer:<module>:<base>+<minecraft>
  • <base> is the MagicUtils version (for example 1.22.0).
  • +<minecraft> is the library branch this build targets (for example +1.20.1, +1.21.10, +26.2). It follows the target's library_minecraft, which can differ from the runtime Minecraft version.

So the Bukkit module for Minecraft 1.20.x is dev.ua.theroer:magicutils-bukkit:1.22.0+1.20.1. A whole Minecraft branch shares one coordinate: everything in 1.20.x resolves the +1.20.1 build, even a server running 1.20.6.

The main jar has no classifier. Classifiers are reserved for genuinely different jars of the same coordinate: all (shaded fat jar), dev, sources, and javadoc.

Documentation versions

The docs for the current MagicUtils release live at the site root. When a new minor line ships, the previous one is archived under a /v<minor>/ prefix (for example /v1.21/...) and the version selector in the header switches between them; the latest is always the default and archived versions are marked as such. Only the current line (1.22) is published so far, so there are no archived versions yet.

The version numbers shown in examples (like 1.22.0) track the active docs version and are bumped in git automatically when a newer MagicUtils release is published, so the docs always match a real release.

Archiving a version and bumping the docs is a maintainer task — see Contributing.