Skip to content

OpenShelf 1.0.3

Choose a tag to compare

@github-actions github-actions released this 21 Oct 06:33

Fixes from a full edge-case test run (724 checks across 60+ unusual files).

Privacy

  • Metadata removal now always removes location. HEIC, HEIF and AVIF
    photos (the iPhone's formats) could keep their GPS location. Every cleaned
    copy is now re-checked, and nothing is saved if anything identifying is left.

Fixed

  • Password-protected PDFs no longer convert to blank pages; you're told to
    remove the password first.
  • Scanned PDFs (no text layer) no longer produce empty TXT files.
  • Text files in older encodings (Windows/Latin-1, UTF-16) now convert.
  • SVG files now work with every conversion and tool.
  • Silent videos aren't offered MP3 or M4A, which they can't produce.
  • Converting very large documents no longer freezes the app.
  • Compress keeps PNGs as PNG, keeps transparency, says when a format has to
    change (e.g. GIF animation), uses .jpg instead of .jpeg, and never saves a
    "compressed" copy that's bigger. The same goes for PDF compression.
  • Clear messages instead of technical ones: password-protected or damaged
    archives, and saving into a folder you can't write to, among others.
  • Very long file names no longer fail when a suffix like "Cropped" is added.
  • Symlinks and files without an extension are recognised by their contents.
  • Files whose names start with a dot no longer produce hidden results.

Install

  1. Download OpenShelf-1.0.3.dmg below, open it and drag OpenShelf onto Applications.
  2. Open OpenShelf from Applications. It lives in the menu bar (the wheel icon).
  3. OpenShelf isn't notarized by Apple yet, so macOS asks once on first launch:
    • macOS 15 and later: click Done, open System Settings → Privacy & Security, scroll down and click Open Anyway.
    • macOS 14: right-click the app → Open → Open.
    • Or run xattr -dr com.apple.quarantine /Applications/OpenShelf.app

Requires macOS 14 Sonoma or later, on Apple silicon or Intel. See the README for how to use it.