Skip to content

Releases: imndllnuri/easy-sort

v1.4.1

Choose a tag to compare

@github-actions github-actions released this 20 Jul 08:41

What's Changed

Full Changelog: v1.4.0...v1.4.1

v1.4.0

Choose a tag to compare

@github-actions github-actions released this 13 Jul 19:06

Added

  • Fabric build now also targets Minecraft 26.2. Only one real API break
    between 26.1.2 and 26.2 (much smaller jump than 1.21.11 -> 26.1.2):
    Minecraft.setScreen(Screen) was renamed to setScreenAndShow(Screen),
    confirmed via javap to be the same behavior, not a real semantic change.
    Pinned to exactly 26.2 in fabric.mod.json rather than a range, since
    • unlike 26.1's patches - this hasn't been verified compatible with any
      other single version.

Changed

  • Fabric and NeoForge can now target different Minecraft versions within
    the same build (a direct consequence of dropping Architectury Loom for
    native per-platform tooling in v1.3.0). NeoForge stays on 26.1.2 - no
    stable (non-beta) NeoForge build exists for 26.2 yet.
  • Fabric on 26.1.x (26.1 / 26.1.1 / 26.1.2) is frozen on
    mc/26.1.x-fabric
    (last release: v1.3.1) - this build no longer works there, since
    setScreenAndShow doesn't exist pre-26.2.

v1.3.1

Choose a tag to compare

@github-actions github-actions released this 13 Jul 18:43

Fixed

  • Fabric: the shipped jar's fabric.mod.json only declared compatibility
    with 26.1.2 and later (~26.1.2), even though Fabric API itself
    publishes identical builds across 26.1, 26.1.1, and 26.1.2 - a user
    on 26.1/26.1.1 would have Fabric Loader refuse to load the mod outright.
    Widened to 26.1.x (any patch of the 26.1 line). NeoForge stays pinned to
    exactly 26.1.2 - NeoForge's own builds for 26.1/26.1.1 never left
    beta, so those aren't genuinely supported targets regardless of what this
    mod declares.

v1.3.0

Choose a tag to compare

@github-actions github-actions released this 13 Jul 17:58

Changed

  • Ported to Minecraft 26.1.2, Mojang's first fully unobfuscated release under
    the new year-based versioning scheme. Requires Java 25 at runtime (up from
    21) - Mojang bumped this for 26.1 itself. No user-facing behavior changes.
  • Dropped Architectury Loom in favor of talking to each platform's own
    official tooling directly: net.fabricmc.fabric-loom for Fabric,
    net.neoforged.moddev (ModDevGradle) for NeoForge. Minecraft ships
    unobfuscated from 26.1 onward, so Mojang/Parchment mappings no longer
    exist at all - Architectury (a third-party wrapper) hadn't shipped support
    for the new build model at the time of this release, but Fabric and
    NeoForge's own tooling already had. common/ never used Architectury's
    runtime API, so this was a toolchain swap, not a rewrite: a build-logic
    composite build now provides shared Gradle conventions, and common/
    exposes its source directly to fabric//neoforge/ instead of a
    compiled jar dependency.
  • 1.21.11 (the previous target) is frozen on the mc/1.21.11 branch; main
    no longer builds against it.

Fixed (internal, source-only)

  • Ported every real API break the 26.1.2 upgrade surfaced, confirmed via
    javap/decompiled sources against the actual jars rather than guessed:
    Fabric API renames (PayloadTypeRegistry.playC2S() ->
    serverboundPlay(), KeyBindingHelper -> KeyMappingHelper,
    ScreenEvents.beforeRender() -> beforeExtract()), and a genuine
    rendering-pipeline rewrite (GuiGraphics -> GuiGraphicsExtractor,
    AbstractButton.renderContents() -> extractContents(),
    Screen.render() -> extractRenderState(); fill()/pose() unchanged).
    Mixin compatibilityLevel bumped JAVA_21 -> JAVA_25.

v1.2.0

Choose a tag to compare

@github-actions github-actions released this 13 Jul 16:00

Changed

  • Ported to Minecraft 1.21.11 (Fabric API 0.141.4+1.21.11, NeoForge
    21.11.42, Parchment 2025.12.20, Architectury API 19.0.1). No user-
    facing behavior changes - this release only exists to track the new
    Minecraft version. main no longer builds against 1.21.10; that line is
    frozen on the mc/1.21.x branch (last released as v1.1.0).

Fixed (internal, source-only)

  • net.minecraft.resources.ResourceLocation was renamed to
    net.minecraft.resources.Identifier in 1.21.11 - updated every reference
    on both platforms (network payload channel IDs, the "Easy Sort" keybind
    category, the mod ID lookups).
  • AbstractButton.renderWidget(...) became final in 1.21.11; the abstract
    method to implement is now renderContents(...) (identical signature).
    Renamed the override in MiniButton on both platforms - no behavior
    change, this is the same rename vanilla made internally.

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 10 Jul 20:48

[1.1.0] - 2026-07-10

Added

  • A dedicated "Easy Sort" category in the vanilla Controls > Key Binds
    screen, and a new, separately configurable "Sort Container" keybind
    (unbound by default - "S" is movement, so there's no safe default). The
    existing "Sort Inventory" keybind (default R) now lives in the same
    category instead of being lumped into vanilla's "Inventory" section.

Fixed

  • Both platforms: the sort keybinds never actually fired while a
    container or inventory screen was open - the one situation they're meant
    to work in. Root cause: vanilla only calls KeyMapping.click() (which
    backs KeyMapping.consumeClick()) when Minecraft.screen == null; it's
    never called while any screen is displayed, so the previous per-tick
    consumeClick() poll could never detect the keypress. Fixed by hooking the
    per-screen keyboard event directly instead: Fabric's
    ScreenKeyboardEvents.afterKeyPress, NeoForge's
    ScreenEvent.KeyPressed.Post. Both keybinds keep their existing scoping -
    Sort Inventory on any container screen, Sort Container only on a supported
    one (chest, shulker box).

Changed

  • The S/Q/R/G/I in-screen button glyphs now render at 0.75x scale
    instead of full font size, reading less cramped inside the 10px buttons.

v1.0.1

Choose a tag to compare

@github-actions github-actions released this 10 Jul 19:13

[1.0.1] - 2026-07-10

Fixed

  • Critical (Fabric): the published jar was missing every class from the
    Fabric client source set - the client entrypoint, config screen, button
    widget, and both mixins (AbstractContainerScreenMixin,
    CreativeModeInventoryScreenAccessor) never made it into the shipped jar.
    Mixin's config-prepare pass failed on startup as soon as any class was
    transformed (visible as an InvalidMixinException crash, often blamed on
    whatever other mod happened to trigger the first mixin transform, e.g.
    Axiom's preLaunch), and even without that crash, none of the client-side
    UI ever actually shipped. Root cause: fabric/build.gradle's shadowJar
    task only packaged sourceSets.main.output, never
    sourceSets.client.output. Fixed by adding from sourceSets.client.output
    to shadowJar. Affected every Fabric release since the common/fabric
    module split (0.4.0-alpha onward); NeoForge was never affected (it
    doesn't use split source sets).

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 08 Jul 13:24

[1.0.0] - 2026-07-08

First stable release. No functional changes from 0.4.1-beta - every MVP and
post-MVP-so-far feature (sort, player inventory sort, Restock, Quick Stack,
shulker boxes, settings screen) is complete and working on both Fabric and
NeoForge. This release marks that milestone: Easy Sort is no longer alpha/
beta, it's a stable tool safe to depend on. Bundles, locked/ignored slots,
favorites, and auto-sort remain planned as post-1.0 minor releases (see
ROADMAP.md).

Full Changelog: v0.4.1-beta...v1.0.0

v0.4.1-beta

v0.4.1-beta Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 04 Jul 12:15

First beta: MVP + all planned post-MVP features (Restock, Quick Stack,
shulker boxes) are done on both Fabric and NeoForge. No functional changes
from 0.4.0-alpha - this release marks a shift in confidence, not new
features, ahead of real dedicated-server testing.

Changed

  • Replaced the placeholder "ES" icon with a real one (chest + sparkle) on
    both Fabric and NeoForge.

v0.4.0-alpha

v0.4.0-alpha Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 04 Jul 11:13

Added

  • NeoForge support (1.21.10): full feature parity with Fabric - Sort, Settings,
    Restock, Quick Stack, the "I" inventory-sort button/hotkey, and shulker box
    support all work identically. Built as a new neoforge/ Gradle module via
    Architectury Loom, implemented directly against NeoForge's own networking,
    event, and keybind APIs. Manually verified in-game on both platforms.

Fixed

  • Inventory sort ("I" button/hotkey) no longer reorders the hotbar - only the
    27 main storage slots get sorted now, on both Fabric and NeoForge. Reordering
    the hotbar mid-use was jarring (e.g. your currently-held tool could jump to
    a different slot).