v0.2.0
0.2.0 (2026-07-28)
Features
- apfs: unlock FileVault volumes with a supplied password (9b4fa0e)
- apfswrite: carry decmpfs compression through unchanged (41b0ce9)
- apfswrite: write a volume group as the system/data pair it is (f4de4d1)
- apfswrite: write containers holding several volumes (a21e9d1)
- apfswrite: write several snapshots per volume (8efce8d)
- carry resource forks in the HFS+ writer (d96961b)
- emit case-insensitive HFS+ volumes (e70d8ea)
- hfsplus: carry decmpfs compression through unchanged (f62656c)
- hfsplus: carry resource forks (d2b7cca)
- hfsplus: emit case-insensitive volumes (c095f6c)
- hfsplus: read extended attributes (bc53ba9)
- hfsplus: read transparently-compressed files (9eb2fdd)
- hfsplus: represent hard links (1898792)
- hfsplus: write the attributes file (f17be7b)
- pack: preserve transparent compression when writing APFS (479ad9f)
- read extended attributes on HFS+ (df7bbf7)
- read transparently-compressed files on HFS+, and repair fixture generation (a73981f)
- represent hard links in the HFS+ writer (7994803)
- support HFS+ in mount and inspect (622cfae)
- write the HFS+ attributes file (b03ce1b)
Bug Fixes
- acceptance: compile the hard-link assertions on every platform (aed4ca2)
- apfswrite: number a grouped system volume's inodes above the mark (195235d)
- apfswrite: write only 4096-byte blocks (2480a2d)
- compile the hard-link assertions on every platform (2e9e2aa)
- correct the HFS+ capability docs and restrict the APFS writer to 4096-byte blocks (a4aff56)
- declare a wrapped bare image as a partition image, so created DMGs mount (fa2d4d5)
- disk: declare a wrapped bare image as a partition image (364458e)
- disk: make the ADC and Apple Partition Map claims true (132d21d)
- hfsplus: normalize names so macOS can find them (ea5d45e)
- hfsplus: write the hard-link chain macOS requires (a0e0dc1)
- normalize HFS+ names so macOS can find them (50455c6)
Binaries are pure Go and require no runtime dependencies.
Verify a download against the signed checksum file:
cosign verify-blob \
--bundle apfs_0.2.0_checksums.txt.sigstore.json \
--certificate-identity-regexp 'https://github.com/deploymenttheory/go-apfs-v2/.*' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
apfs_0.2.0_checksums.txt
shasum -a 256 -c apfs_0.2.0_checksums.txt --ignore-missing