Skip to content

1.1.0

Latest

Choose a tag to compare

@sindresorhus sindresorhus released this 06 Nov 21:00

New

  • Add DSStore#putBackURL(for:storeURL:) for finding where a trashed item came from, which Finder uses for “Put Back” c83803f
    • The URL includes the original filename, which Finder may have changed in the Trash.
    • The path is untrusted store input and is not validated. Check it before moving files.
  • Add DSStore#putBackURL(for:volumeURL:) for stores read from Data c83803f

Deprecated

  • Deprecate DSStore.Record#pathValue in favor of DSStore#putBackURL(for:storeURL:) c83803f
    • It is only the directory. The original filename is in a separate ptbN record.

Fixes

  • Fix record order not matching Finder 1450bc9
    • Sort by lowercased UTF-16 code units. The previous locale-aware comparison produced 344 order warnings in 135 real Finder files.
  • List free space across the whole 2^31 buddy address space, not only to the end of the file, like Finder 1450bc9
  • Fix large records producing a tree that DSStore.read rejects 1450bc9
    • Records larger than half a page now throw a write error. The largest record in 2000 real files was 1008 bytes.
  • Make DSStore#write(to:) atomic 1450bc9
    • An interrupted write cannot leave a corrupt file. A symlink is replaced instead of followed, and the containing directory must be writable.

1.0.0...1.1.0