Skip to content

Multi Version Releases

Daniel Shirley edited this page Jul 6, 2026 · 1 revision

Multi-Version Releases

CraftLedger Jobs is developed and validated first against Minecraft 1.20.1 and Forge 47.4.10.

The repository also contains scaffolded Forge target profiles so compatibility work can happen one lane at a time.

Target Profiles

Profile Minecraft Forge Java toolchain Status
1.18.2 1.18.2 40.3.12 17 Scaffolded, not release-certified
1.19.2 1.19.2 43.5.2 17 Scaffolded, not release-certified
1.19.4 1.19.4 45.4.0 17 Scaffolded, not release-certified
1.20.1 1.20.1 47.4.10 17 Primary supported target
1.20.4 1.20.4 49.2.7 17 Scaffolded, not release-certified
1.20.6 1.20.6 50.2.8 21 Scaffolded, not release-certified
1.21.1 1.21.1 52.1.14 21 Scaffolded, not release-certified

Build Commands

List known targets:

./gradlew listMinecraftTargets

Build the default target:

./gradlew build

Build a named target:

./gradlew build -Pcraftledger_mc_target=1.19.2

On Windows PowerShell:

.\gradlew.bat build "-Pcraftledger_mc_target=1.19.2"

Quote the target property in PowerShell so the dotted Minecraft version is passed to Gradle unchanged.

Release Build Workflow

The Release Build GitHub Actions workflow runs when a v* tag is pushed and can also be started manually.

It:

  • validates target profiles
  • builds every scaffolded target profile
  • validates server-only jar metadata
  • runs Forge dev-server smoke tests
  • uploads per-target workflow artifacts for maintainer review

It does not publish jars.

Release Certification

A target profile is not release-ready just because it compiles. Before publishing a jar for a target:

  • ./gradlew build -Pcraftledger_mc_target=<profile> passes.
  • The Release Build workflow passes for the target.
  • The jar contains META-INF/mods.toml.
  • The expanded metadata keeps displayTest="IGNORE_SERVER_VERSION".
  • Dependencies keep side="SERVER".
  • A dedicated server for the exact Minecraft and Forge version boots with the jar.
  • A client without CraftLedger Jobs can join.
  • Balance, pay, shop, sell, reload, and jobs commands work server-side.
  • The target is marked release-certified.

Clone this wiki locally