**Stable release.** Promoted from `1.3.0-rc.2`, with Minecraft 26.3 support added on release day and the fixes listed below found by scanning a corpus of widely used mods rather than waiting for reports. The 1.3.0 line ran `snapshot.1` through `snapshot.10`, then `rc.1` and `rc.2`; the sections below have the detail.
Headline work over 1.2.0: mods that extend a class Minecraft deleted now load, across the tool, armour, disc and screen families; the intermediary table was audited against the game's own files and 40 misdirected mappings corrected; Mixin signature repair became exact and conservative; and Forge, NeoForge and Fabric were brought level on repairs that had silently been running on only one of them.
### Added
- Minecraft 26.3 support for Fabric and NeoForge, verified against the released 26.3 client. Forge is not included for 26.3 because Forge has published no build for it; the Forge column stops at 26.2 and will follow when one appears.
### Fixed
- Stops rewriting `PoseStack`. A bridge for one JEI method was registered as a class redirect, which is global, so it rewrote every `PoseStack` in the mod including the 3D stack an entity renderer uses. The 26.1 move then carried the result on to `GuiGraphicsExtractor`, where an ordinary `pushPose` does not exist, so rendering died the first time it ran. Found in 12 of 13 widely used mods, about 500 call sites.
- Rebases a removed base class on Forge as well. Forge assembles its own list of the shared 26.1 adaptations rather than calling the common one, so it reached none of the removed-base bridges: a Forge mod with a custom tool, armour piece or music disc transformed correctly through the CLI and then failed at its `extends` in game.
- Reads game rules on every loader. 26.1 renamed all 46 constants, and the repair ran only on Fabric, on the reasoning that a Mojang-named loader already carries the current names. That is true of a mod built after 26.1 and of nothing older.
- Loads a mod that extends `EffectRenderingInventoryScreen`, `AbstractProjectileDispenseBehavior`, or any of twenty removed item classes including the whole tool and armour hierarchy.
- Restores the class move for `GameRules`, whose row had been deleted while the row for its nested `VisitorCaller` stayed.
- Renames `ForgeSpawnEggItem` to vanilla's `SpawnEggItem`, which Forge dropped once vanilla could do the same job.
- Stops reporting that a mod cannot load when it transforms fine. A class move can be a chain, and the check ran against a name that was still mid-chain, so every mod with a custom advancement trigger was reported as unloadable.
- Reads pack formats on a pre-release host, instead of turning pack transformation off for the whole session.
- Translates `Tier` and its `Tiers` constants to `ToolMaterial`.
Known 26.3 limitation, found on release day: `Feature` became an interface at 26.3, having been an abstract class through 26.2. A worldgen mod that writes `extends Feature` cannot be rebased onto it, so those mods need a real port. Retromod reports this by name, saying that the class is an interface and belongs in `implements`, rather than letting it fail later with nothing pointing at the cause.
Some limits are unchanged and worth stating plainly. A mod whose rendering is built on `BlockEntityWithoutLevelRenderer`, `ItemOverrides` or `AgeableListModel` still needs a real port: 26.x rebuilt entity and item rendering around render states, and a stand-in base would link and then draw nothing. The same is true of a custom loot function serializer, which the codec rework removed outright. Retromod reports these by name rather than guessing.
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" }