Skip to content

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[1.0.0-beta] - 2026-02-24

build

  • Migrate to Stonecutter 0.8 + Modstitch + Parchment mappings (BREAKING)

โš’๏ธ Reforged

  • Defensive coding and minor cleanup
  • Extract magic numbers into named constants
  • Improve access modifiers and convert CraftingSession to record
  • Remove dead code and unused imports
  • Replace JEI [DIAG] logging with standard SLF4J debug
  • Add @Nullable annotations to nullable return types
  • Consolidate NearbyInventoryHelper and migrate EMI/REI handlers
  • Add ModResourceLocation and RegistryHelper utilities
  • Re-enable Spotless licenseHeaderFile and remove license scripts

โ›๏ธ New Blocks

  • Make deploy jobs automatic for both Modrinth and CurseForge
  • Add CurseForge project ID for deployment
  • Add Forge/NeoForge game test run configs and CI matrix
  • Per-target release channels with dynamic deploy pipeline
  • Register NeoForge config screen via IConfigScreenFactory
  • Port GameTest and NeoForge capabilities to 1.21.10
  • Implement 1.21.10 SavedData persistence with Codec-based serialization
  • Port 1.21.10 event-based input API for panel keyboard/mouse interaction
  • Expand pipeline to 8-target matrix with 1.21.10-fabric and 1.21.10-neoforge
  • All 8 targets build successfully โ€” fix NeoForge 1.21.10 API changes
  • Upgrade ModDevGradle to 2.0.140 and add JEI for 1.21.10-neoforge
  • 1.21.10-fabric builds successfully โ€” fix remaining API changes
  • Fix widget input signatures, GUI pose stack, SavedData, and more for 1.21.10
  • Fix RenderSystem state methods, NBT API, and KeyMapping for 1.21.10
  • Enable 1.21.10 targets โ€” upgrade Modstitch/Loom toolchain and fix initial API changes
  • Add JEI recipe viewer integration for Forge/NeoForge
  • Expand pipeline to multi-versionร—loader matrix with gametest gating
  • Add alpha/beta/release version type detection for Modrinth and CurseForge publishing
  • Add NeoForge preprocessor guards to all source files
  • Update build matrix to 1.20.1, 1.21.1, 1.21.4, 1.21.10
  • Add RemoteCraftFillRequestPacket for 1.21.4 recipe fill
  • Add Fabric 1.21.4 support with rendering and API version guards
  • Add Fabric 1.21.1 support with recipe system version guards
  • Add Fabric 1.20.6 support with ItemStack components version guards
  • Add Fabric 1.20.4 support with Stonecutter version guards
  • Add Forge 1.20.1 loader support (Phase 3)
  • Add GameTest Framework integration tests

๐Ÿ’€ Despawned

  • Add deploy-test.sh script for copying JARs to Modrinth test profiles
  • Make .githooks executable and auto-configure hooks path
  • Defer 1.21.10 targets from build matrix

๐Ÿ“œ Enchantment Table

  • Update documentation for multi-loader support and 1.0.0-beta readiness
  • Update CI/CD and testing documentation for multi-loader changes
  • Add Forge/NeoForge game test support plan
  • Update plan status โ€” Phase 12 complete
  • Add comprehensive testing section to development guide (Phase 12.8-12.9)
  • Update architecture, audit plan, and phase status
  • Fix Javadoc, naming, and documentation issues
  • Update Phase 11 plan with review findings and reordered priorities
  • Update Phase 9 plan with cross-loader fixes and correct branch names
  • Update Phase 9 plans โ€” abandon MrCrayfish migration, document simpler approach
  • Rewrite Phase 9 plan โ€” migrate to MrCrayfish Catalogue + Configured
  • Renumber phases โ€” Catalogue migration is Phase 9, Code Quality is Phase 10
  • Add Catalogue migration plan (Mod Menu โ†’ Catalogue by MrCrayfish)
  • Add Phase 8 MC 1.21.10 support plan and renumber phases
  • Add Phase 8 code quality audit plan
  • Update multi-loader plan with curated build matrix (1.20.1, 1.21.1, 1.21.4, 1.21.10)
  • Remove Phase 8 from plan (1.21.4 regression fixed in Phase 4)
  • Add RemoteCraftFillRequestPacket design plan
  • Add Phase 8 to plan for 1.21.4 recipe fill regression fix
  • Add multi-loader multi-version implementation plan

๐Ÿ”ง Repaired

  • Update repository URLs after project rename
  • Remove Forge/NeoForge from game test matrix
  • Version-gate RegistryHelperTest unknown item assertion for 1.21.4+
  • Strip JAR signatures from Forge test classpath to fix SecurityException
  • Remove sun.misc.Unsafe logger mock, use assumeTrue for bootstrap tests
  • Fork each Forge/NeoForge test class into separate JVM
  • Reduce test heap to 1g and add --add-exports for Forge CI
  • Increase test JVM heap and gracefully skip bootstrap-dependent tests
  • Hardcode Java 21 toolchain and fix test JVM args for Forge/NeoForge
  • Use ModResourceLocation.of() instead of private ResourceLocation constructor
  • Handle missing git binary in CI Docker images
  • Use package-private helpers in AggregatedInventoryTest for unmodifiable maps
  • Address potential crash and null safety issues
  • Skip VirtualInventoryTest on loaders without Bootstrap support
  • Clean up CraftingSessionManager on player disconnect
  • Complete cross-loader implementation for Forge, NeoForge, and MC 1.21.10
  • Level.isClientSide โ†’ isClientSide() and CombinedPlayerInventory constructor for 1.21.10
  • Resolve JEI compilation errors across all 6 build targets
  • Resolve 1.21.4 issues A, B, C and add debug logging config
  • Unregister DefaultRecipeBookHandler on 1.21.4 to prevent conflicts
  • Close REI overlay before DefaultRecipeBookHandler on 1.21.4
  • Double chest highlighting and REI/EMI recipe fill on 1.21.4
  • Delegate crafting panel tick/render to ContainerScreenMixin on 1.21.4
  • Use CoreShaders for 1.21.4 rendering
  • Add 1.21.4 tick/render hooks for CraftingScreen
  • Fix BufPayload decoder not consuming bytes from network buffer
  • Handle CraftingScreen refactor in 1.21.4 (AbstractRecipeBookScreen)
  • Register C2S payload types in server initializer for Fabric 1.20.6+
  • Target AbstractCraftingMenu on 1.21.4 for handlePlacement mixin
  • Update handlePlacement signature for 1.21.4 RecipeBookMenu changes
  • Resolve Forge 1.20.1 compilation errors
  • Add pages deployment to tag pipeline

[0.3.0] - 2026-02-19

โš’๏ธ Reforged

  • Migrate from MkDocs Material to Zensical

โ›๏ธ New Blocks

  • Add automated Modrinth deployment and CurseForge plugin
  • Add GitLab Pages documentation site with MkDocs Material

๐Ÿ“œ Enchantment Table

  • Add worn backpack support plan

๐Ÿ”ง Repaired

  • Use site_dir config for zensical output directory
  • Correct Pages URL in index.md
  • Add .gitlab-ci.yml to changes filters for build and pages jobs
  • Use correct zensical build flag (--output not --site-dir)
  • Resolve MkDocs build warnings

[0.2.0] - 2026-02-19

โš’๏ธ Reforged

  • Reorganize config menu sections for better usability

โ›๏ธ New Blocks

  • Add shader compatibility for Iris/Oculus
  • Add configurable grid spacing, compact labels, and text scale

๐Ÿ“œ Enchantment Table

  • Add shader compatibility technical documentation
  • Add shader compatibility plan
  • Add marketing-oriented PROJECT.md for hosting providers

๐Ÿ”ง Repaired

  • Split release into prepare-release + release for dotenv injection
  • Use release: keyword and non-expiring artifacts for release builds
  • Handle full inventory when filling recipe book slots
  • Return nearby-sourced grid items before recipe book fill
  • Improve raycast occlusion accuracy with face-aware targeting
  • Sync state on block entity load so new containers show icons immediately
  • Position icon on combined double-chest face instead of at seam

[0.1.3] - 2026-02-18

โš’๏ธ Reforged

  • Replace @Inject with @Override for inherited Screen methods
  • Upgrade build toolchain for MC 1.20.1

[0.1.2] - 2026-02-18

๐Ÿ”ง Repaired

  • Use release-cli create for proper shell variable expansion in asset URLs
  • Push tag before branch to prevent duplicate pipelines
  • Move validate:tag to lint stage so it blocks build on failure

[0.1.1] - 2026-02-18

โš’๏ธ Reforged

  • Merge test:unit into build job, remove redundant test stage
  • Replace build + build:multi-version with parallel matrix per MC version

โšก Enchanted

  • Fix Gradle cache by setting GRADLE_USER_HOME to project-local directory

๐Ÿ“œ Enchantment Table

  • Add plan for fixing mixin inherited method warnings
  • Clarify why Java 17 is required for Minecraft 1.20.1

๐Ÿ”ง Repaired

  • Add workflow rules to prevent duplicate pipelines on tag push
  • Replace alpine/git with bitnami/git (alpine/git lacks shell)
  • Replace em dashes with regular dashes for PowerShell encoding compatibility
  • Suppress git-cliff stderr warnings in auto-bump version detection
  • Skip setupGitHooks task when git is unavailable
  • Make git calls resilient to missing git, remove apt-get from CI
  • Install git in JDK base image for build.gradle version detection
  • Use correct Stonecutter subproject name :1.20.1 (not :1.20.1-fabric)
  • Add gradle-wrapper.jar and fix .gitignore ordering

[0.1.0] - 2026-02-18

โš’๏ธ Reforged

  • Clean up test suite for consistency and coverage
  • Version-pinned splash tracking and stable-release-only guard
  • Round 2 โ€” dead code removal, best practices, debug logging
  • Comprehensive codebase review and improvements
  • Inventory enable/disable, container panels, GUI icon cleanup
  • Remove GUI icon toggle for ansible inventory
  • Replace sneak+right-click toggle with standalone Fabric keybind
  • Remove toggleModifier config, fix panel shift, rename wifi textures
  • Remove redundant enableRemoteCrafting, reorganize config, fix overlay state sync
  • Address code review findings
  • Remove obsolete mixins (PlayerInventory, ScreenHandler, HandledScreen)

โ›๏ธ New Blocks

  • Add git-cliff --bump auto-detection and -y flag to release scripts
  • Add release automation with git-cliff and Minecraft-themed changelog
  • Add comprehensive debug logging across all modules
  • Show inventory panel in container GUIs (chests, barrels, etc.)
  • Improve UI icons, keybind, and overlay positioning
  • Add per-inventory enable/disable with hybrid visual indicators
  • Implement remote crafting, inventory scanning, recipe viewer integration
  • Initial project setup for Ansible Crafting mod

๐Ÿ’€ Despawned

  • Relicense from All Rights Reserved to MPL-2.0
  • Change overlay texture to wireless-128-cyan.png and remove unused textures
  • Update build config, Stonecutter setup, disable configuration cache

๐Ÿ“œ Enchantment Table

  • Add guidelines for documentation, mermaid diagrams, dependency management, versioning, and git hooks
  • Add 256x256 icon entry for mod hosting sites
  • Overhaul documentation with dedicated technical docs and mod-hosting README
  • Add debug logging guide
  • Move plan files to docs/plans/ for historical reference
  • Document execution policy bypass for release script
  • Update README, CHANGELOG, and CONTRIBUTING

๐Ÿ”ง Repaired

  • Allow same-version for first release when no tags exist
  • Show quantity label for single items in inventory panel grid view
  • Move prefix stripping from preprocessors to template in cliff.toml
  • Resolve PowerShell encoding issues with emoji in release script
  • Restrict overlay to storage containers, add utility blocks config, fix icon positioning
  • Move GUI icon to top-right, add overlay size config, use view distance
  • Change default keybind to grave accent, add keybind note to config screen
  • Fix inventory detection, panel visibility, and config UI