Repository navigation
v1.0.3
2026-10-07
Added:
- Java detection was upgraded, so ehmodpack now finds every java on your system, installs missing, and uses the right one
set-releasesets your project's version inpackages.jsonand refreshes the lockfile- Progress bars now show the download speed and an ETA while fetching, so you know how long the game setup is going to take
- The game asset bar counts bytes instead of files, using the sizes from the asset index, so the ETA is based on real throughput
- Resource packs get their
pack.mcmetapeeked at during download andverifytimes for the declared support (pack_format,supported_formats, themin_format/max_formatpair and overlay layers) to check against the target's pack format publishwarns about every active external pack before uploading, as modrinth will most likely withhold it until its origin is declared on the permissions page- After uploading with
publishit will check every version uploaded thrugh the API and reports the ones modrinth withheld so you can resolve it on the permissions page - Builds now leave a
.built.jsonstamp in the output folder hashed from the lockfile, including the sources and this version of eh's modpack, sopublishreuses the stamped mrpacks instead of building everything a second time
Changed:
- Game setup fetches in parallel: All of the game assets will now download concurrently instead of one by one
Fixed:
- Version ranges understand X-ranges (
1.21.x/1.21.*) the way fabric, forge and neoforge declare them, sowanted 1.21.x, found 1.21.9no longer trips - Pre-release and build suffixes no longer inflate a version when comparing, so
>=1.21.9-beta.2 <1.22happily fits1.21.9 - Maven-style unbounded and single bracketed ranges work, like
[17,)and[1.21.10]from neoforge/forge mods.toml - Projects' Workflows release notes will only include the latest date only instead of all of them every time
- A finished download bar now prints a newline, so the following output no longer glues itself onto the bar
- Externally ordered resource packs remember the sha1 of the file they are, so when the pack file is renamed (
Filename 1.5.3.zipbecoming1.5.4.zip) alockspots it is the same pack and renames the order entry - Modrinth resource packs are matched the same way through their locked file hash, so their order entry follows the new file name on update
- Scaffolded workflows only ran for tags starting with
v, so a tag like1.0.1did nothing at all - The Modrinth release name came from the
topfield instead of the version, so every release was named after a Minecraft version and the second one collided refreshnow checks the lockfile before bumping, so a stale one fails right away instead of after the whole update- Workflow artifacts are named
modpacksinstead of shipping a raw__SLUG__placeholder - Scaffolding refuses to write a file that still has an unsubstituted placeholder in it
- A tag now syncs
packages.jsonto its own version, refreshes the lockfile and pushes it, so you cannot tag a version that disagrees with your project - The scaffolded publish workflow uploaded every mrpack as a single modrinth version labelled with the whole minecraft range, it now runs
ehmodpack publishinstead for each version of their game loader - Progress bars are clipped to the real terminal width instead of a guessed line length, so on a 120 column terminal the asset bar no longer overflows by one character and spawns a fresh duplicated row on every redraw
testworks out the java a Minecraft version actually needs from the version itself instead of believingsoftwares.json, so a target claiming java 17 for 26.1.2 gets called out withsoftwares.json says java 17 but 26.1.2 wants java 25, using 25and runs on 25 anyway- Fetching Minecraft versions when creating or adding versions will now add their corresponding java versions accordingly
Downloads
| System | Download |
|---|---|
| Windows x64 | Download |
| macOS ARM64 (Apple Silicon) | Download |
| macOS Intel | Download |
| Linux x64 | Download |
| Linux ARM64 | Download |
| Linux ARMv7 | Download |
| Linux i686 | Download |
| Linux PowerPC64 LE | Download |
| Linux RISC-V 64 | Download |
| Linux s390x | Download |
MacOS is NOT signed, if MacOS doesn't let you open, allow it from System Settings -> Privacy & Security, or if this is still not opening whitelist it from the quaratine with xattr -dr com.apple.quarantine ehmodpack-macos-aarch64
Linux packages
| System | deb | rpm |
|---|---|---|
| x64 | Download | Download |
| ARM64 | Download | Download |
| ARMv7 | Download | Download |
| i686 | Download | Download |
| PowerPC64 LE | Download | Download |
| RISC-V 64 | Download | - |
| s390x | Download | Download |