Releases: pacnpal/mds
Releases · pacnpal/mds
Release list
v1.1.1 — install docs & reliable builds
Docs and packaging release — no change to mds's behavior since v1.1.0. This re-cuts the binaries with the current README inside the archives and the rebuilt release workflow.
Added
- Per-platform installation guide in the README: which artifact to grab, the glibc-vs-musl choice for Linux, and per-OS steps covering the quirks that bite — macOS Gatekeeper quarantine, Windows SmartScreen + the VC++ redistributable, and the glibc version floor.
Changed
- Release workflow rebuilt on
taiki-e/upload-rust-binary-action, trimmed to the major architectures (x86_64 + aarch64) with clean artifact names (mds-linux-x86_64,mds-macos-x86_64, …) instead of raw target triples. macOS x86_64 now builds on the Apple Silicon runner so it no longer gets cancelled.actions/checkoutbumped to v5.
Fixed
- Release builds no longer fail to parse
Cargo.lock— the old build action shipped a Cargo too old for the lockfile v4 format, which broke every target.
Binaries
Linux (x86_64 / aarch64, glibc + static musl), macOS (Intel + Apple Silicon), Windows (x86_64 + ARM). Each archive includes a SHA256 checksum, the README, and the changelog. See the README install section for setup notes.
v1.1.0 — mds extract
Fork of delta62/mds — first release of this fork.
Added
mds extract <FILE.mds>— read files straight out of an.mdfwithout producing an intermediate ISO.-o/--output <DIR>(defaults to the.mdsbasename),--listto print the tree without writing,--forceto extract into a non-empty directory.- Prefers Joliet (Unicode) names, falling back to primary ISO9660; strips
;1version suffixes. - Hand-rolled ISO9660 reader (no new dependencies) hardened against malformed images: bounded directory-extent allocation, recursion depth + ancestor cycle detection, both-endian field validation, sector-boundary checks, multi-extent rejection, even-length Joliet identifier validation.
- Output-side path-traversal and symlink defences, plus control-char escaping in
--list.
CookedSectorReader, a 2048-byte logical-sector view over raw 2352/2336/2448 track sectors, shared with the ISO conversion path.
Changed
- ISO conversion (
convert --format iso) carries fork fixes over upstream1.0.0: cooked user-data extraction from raw-mode tracks, MODE2/2336 (0x920) handling, and track-start seeking.
Verified end-to-end against a 564 MB MODE2/2448 Joliet disc: 1278 files, byte-for-byte identical to the same image converted to ISO and mounted.