Skip to content

v0.2.0

Choose a tag to compare

@ShocOne ShocOne released this 28 Jul 15:44
b9ddb83

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