FabPose 1.1.0
- **Minecraft 26.1 support** alongside 1.21.11, managed in parallel via Stonecutter.
- **Stonecutter-based multi-version layout** with a dual buildscript setup:
- `build.fabric.gradle.kts` for 1.21.x (JDK 21, obfuscated Fabric Loom pipeline).
- `build.fabric.unobfuscated.gradle.kts` for 26.1+ (JDK 25, un-obfuscated Loom 1.16-SNAPSHOT).
- **Code ported to 26.1** Blaze3D / Gui / networking APIs through Stonecutter `?if` guards
(displayClientMessage \u2192 sendSystemMessage, PacketByteBufs \u2192 FriendlyByteBuf,
KeyBindingHelper \u2192 KeyMappingHelper, loom `injected_interfaces` \u2192 mixin-based PosingFlag access).
- **Headless client tests** stabilized in CI and locally via forced Mesa llvmpipe and a
PulseAudio stub injected through `LD_PRELOAD` so flite TTS no longer aborts.
- New `mod-publish-plugin` based release flow: one annotated `vX.Y.Z` tag now publishes
every active Minecraft version to Modrinth, CurseForge, and GitHub Releases in a single run.
- 1.21.x now ships the **remapped** production jar (`remapJar` / `remapSourcesJar`) instead
of the dev jar that previous wiring would have uploaded.
- Targets Minecraft 1.21.11 (JDK 21) and 26.1 (JDK 25).
- Requires Fabric API and Fabric Language Kotlin.
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }