Quick answer: Godot 4 export PCK rejected by itch's butler with checksum mismatch? Compression flag on the PCK changed between exports - re-export with consistent encryption/compression settings.

butler push reports a different checksum each upload despite no project changes. The PCK is rebuilt with non-deterministic file ordering.

Disable PCK encryption for releases

Encryption introduces a per-build IV that defeats butler's delta upload. For public releases, leave it off and rely on signing instead.

Sort filesystem before export

Godot's exporter walks the FS in encounter order. Run a pre-export script that ls -R res:// | sort and rewrites timestamps - keeps the bundle reproducible.

Use butler verify

butler verify your-game/win 0.1.4

Confirms the upload matches a fresh local PCK. Differences point to non-determinism in your build, not network corruption.

“Reproducible builds aren't optional for delta uploads - they're the contract.”

Tag your release commits and build from the tag, not from a working tree. The smallest dirty file changes the PCK.