Skip to content

Version History and Migration

Mystery2099 edited this page Sep 18, 2026 · 3 revisions

Version history and migration

Each VoxLib release targets one Minecraft version. The suffix tells you which one, so 1.6.1+1.20.1 is a VoxLib 1.6.1 build for Minecraft 1.20.1.

Pick the exact release line for your game. If you are upgrading an existing mod, you only need the migration sections between your old and new targets.

Release matrix

VoxLib Minecraft Loaders Java Kotlin Notes
1.8.0+1.21.1 1.21.1 Fabric, NeoForge 21 2.4.20 Current. Deprecates and. NeoForge 21.1.250
1.7.0+1.20.6 1.20.6 Fabric, NeoForge 21 2.x First NeoForge release. NeoForge bundles Kotlin and Caffeine
1.6.1+1.20.1 1.20.1 Fabric, Forge 17 2.x First Forge release, also bundled Kotlin and Caffeine. Sources moved to Mojang mappings
1.6.0+1.19.4 1.19.4 Fabric 17 2.x Debug infrastructure, config screen, targeted overlays
1.6.1 (1.19.4) 1.19.4 Fabric 17 2.x Cache and simplifier performance rework, JMH suite
1.2.0 to 1.4.0 1.19.4 Fabric 17 2.x CommonShapes, simplification, debug logging, caching added
1.0.0, 1.1.0 1.19.4 era Fabric 17 2.x Core VoxelAssembly and VoxelRotation

Detailed release notes live in the changelog. Published versions are listed on Modrinth; use those exact version strings in dependencies.

API availability by release

The public API has stayed fairly stable. Most releases added features or loader support rather than renaming everything:

  • 1.1.0: createCuboidShape, the + operator, rotateLeft, rotateRight, flip
  • 1.2.0: flipVertical, flipZ, rotate(transformation), flipHorizontal (rename of flip, alias kept), Caffeine-backed caching, CommonShapes (slabs, pillars, tables, chairs, fences, stairs), simplification utilities (createSimplifiedOutlineShape, createBoundingBoxShape, createOutlineShape, simplifyForOutline, toBoundingBoxShape), VoxelShapeDebug logging and rendering
  • 1.6.0: VoxLibConfig, the settings screen, Mod Menu integration, targeted outline and collision overlays
  • 1.6.1: internal cache rework (two-touch admission, memoized CommonShapes); no API changes
  • 1.6.1+1.20.1: shared client configuration between loaders; Forge artifact
  • 1.7.0: NeoForge artifact and integrations
  • 1.8.0+1.21.1: and deprecated; full-cube union fix

If your mod targets 1.19.4 with 1.2.0 or later, the guides on this wiki apply unchanged.

Migration: 1.19.4 to 1.20.1

The VoxLib API is unchanged in this move. The surrounding toolchain is what changes:

  1. Artifact choice. Forge exists from this release on. Fabric users keep com.github.mystery2099:voxlib; Forge users add com.github.mystery2099:voxlib-forge, which bundles Kotlin and Caffeine.
  2. Mappings. VoxLib's own development sources moved to Mojang mappings. Published Fabric JARs are still remapped to your project's mappings by Loom, so your Yarn or Mojmap code keeps compiling.
  3. Mod loader metadata. Loader and Fabric API versions must match 1.20.1; check the Modrinth page of the release you adopt.
  4. Java stays 17. No toolchain changes for your mod.

Migration: 1.20.1 to 1.20.6

  1. Java 21 required. The mod requirement rises from 17 to 21. Update your toolchain and sourceCompatibility/targetCompatibility.
  2. NeoForge replaces Forge. VoxLib dropped the Forge module and added a NeoForge module published as voxlib-neoforge, built with ModDevGradle. Swap your dependency from voxlib-forge to voxlib-neoforge and build with the NeoForge Gradle plugin instead of ForgeGradle or Loom's legacy Forge plugin.
  3. Kotlin is bundled on NeoForge. The NeoForge JAR includes Kotlin and Caffeine; Kotlin for NeoForge is not required.
  4. No API changes. All VoxLib function names are the same on both sides of this port.

Migration: 1.20.6 to 1.21.1

  1. and is deprecated. It always meant union, but the name read like intersection. a and b still compiles with identical behavior and the same JVM method; replace it with a + b to silence the warning.
  2. Full-cube union fix. Earlier releases discarded geometry outside the block bounds when a full cube participated in a union. 1.21.1 preserves that geometry. If you unioned a full cube with out-of-block geometry and relied on the discard, verify the result. Normal in-block shapes are unaffected.
  3. Kotlin update. Fabric Language Kotlin 1.14.1 with Kotlin 2.4.20. Update your Fabric Language Kotlin dependency to the version listed on the Modrinth page.
  4. Loader versions. Fabric API 0.116.17, Mod Menu 11.0.4, NeoForge 21.1.250, Fabric Loader 0.19.5.
  5. Build tooling (VoxLib contributors). Loom 1.18.2 needs a Java 25 Gradle daemon; the mod still targets Java 21. NeoForge entrypoints moved from Java to Kotlin.

Unsupported Minecraft versions

Do not treat Minecraft versions as interchangeable. Minecraft's classes and loader metadata change between releases, so a 1.20.1 VoxLib JAR is not a supported dependency for 1.20.2 through 1.20.5.

If your version is absent from the matrix, check the issue tracker for an existing port request. Otherwise, open one or port the small shared module to that Minecraft version.

Version numbering

VoxLib uses semantic versioning with a Minecraft suffix: MAJOR.MINOR.PATCH+MCVERSION. Breaking API changes bump the major version; the suffix always identifies the Minecraft build. Deprecations are announced in the changelog and removed only across major versions.

Clone this wiki locally