Build Integrity

Official releases embed a SHA-256 hash of the executable release surface. It covers every class except loader-provided org/objectweb/asm/, loader-variant javax/annotation/ stubs, and the verifier class that carries the hash. It also covers every META-INF/services/ descriptor and Retromod’s bundled transformation data. At startup, Retromod compares the embedded value with the running jar.

This is an integrity check, not a cryptographic signature. There is no secret key, so a determined editor could replace both the code and the embedded hash.

Statuses

  • VERIFIED: the covered executable surface matches the embedded release hash.
  • MODIFIED: covered code, providers, or transformation data differ. This is normal for local builds, forks, and repacks.
  • IMPOSTOR: the manifest does not identify the jar as Retromod.
  • UNKNOWN: no usable hash is available, which is common in development.

No status disables features.

Verify a Download

For stronger verification, compare the whole jar’s SHA-256 with SHA256SUMS.txt from the same official GitHub release. The manifest covers all 68 loader jars and the standalone CLI artifact.

For a complete extracted dist/ tree on Linux:

cd dist
sha256sum --check SHA256SUMS.txt

On macOS:

cd dist
shasum -a 256 --check SHA256SUMS.txt

For one downloaded jar, print its value and compare it with the matching manifest line:

shasum -a 256 retromod-1.3.0-snapshot.10+26.2.jar

On Windows PowerShell:

Get-FileHash .\retromod-1.3.0-snapshot.10+26.2.jar -Algorithm SHA256

Use the row for the same loader and Minecraft version. A Fabric jar and a Forge jar share a filename inside different distribution folders, but they are different files with different whole-file hashes.

Forks

Retromod is MIT licensed. Forks may change or remove the notice. Keeping clear branding and an honest build status helps users understand what they installed.