Release notes
Changelog
Site update, August 30, 2026 · Buy several apps in one order
- One payment, as many apps as you need. The commercial license window on this page could sell exactly one thing: Heftr. A team that also wanted two other twoplus11 apps paid three separate times, on three separate pages, and filed three separate receipts. That window now carries an Add another app control: search the catalog, set how many computers each app goes on, and pay once. Every app still gets its own license key, and they all arrive in the same email.
- Nothing changes if Heftr is all you want. The window opens exactly as it did, at the same price, with the same count of computers, and an order for a single app takes the route through checkout it always has. The extra controls appear only once the app list has loaded, so a slow or unreachable connection leaves the page as it was.
1.3.0 — August 22, 2026 · Headers you can read, a report you can copy with ⌘C, and a window that stays where you put it
- Fixed: Heftr will not write over a file you already have — now under every circumstance, not just the usual one. Every copy Heftr writes goes to a free name beside the original, and it always has; but that safety came from one helper each writer had to remember to call. Every writer now refuses outright to open a file that already exists, so an output can never land on something of yours — including another file sitting in the same batch. One of them was worse than the rest: zipping a file that turned out not to compress deleted the file it had been pointed at, which is fine when that is the zip it just made and destruction when it is not.
- Fixed: a batch now tells you why a file wasn’t shrunk. The engine has always given a plain-English reason — “this PDF is password-protected”, “there are no oversized images inside” — and the batch list read it out of the wrong place, so every one of them arrived as “no safe shrink”. A file Heftr could not open was reported as a file that was already fine.
- Fixed: a batch where nothing worked no longer reports your files as fine. Ten files that all failed produced “nothing here could be safely shrunk” — the same sentence a folder of already-tiny files gets. It now says how many could not be shrunk, and a partly-successful batch names that count too instead of only the successes.
- Fixed: the sortable column headers were cut off in seven of the thirteen languages. They are the sort controls, so a clipped one stops saying what it sorts: English showed SHARE as “SHA…” by a single pixel, Spanish showed Proporción as “Pro…”, Italian showed Dimensione as “Dimen…”. Each table now sizes those columns to the words actually in them, in whichever language you are running, without the header and the rows falling out of line. Clicking a header no longer nudges the columns beside it either — the sort arrow’s space was being taken from the label.
- Fixed: “Get it under a size” was unusable on anything smaller than 2 MB. The box only accepted whole megabytes and opened pre-filled with 1 MB, so on a 278 KB photo its own default answered “this file is already under 1 MB” — and there was no smaller number it would accept in its place. It now suggests half the file’s current size, at whatever precision that takes, and accepts any target you type.
- New: ⌘C copies the report. It is the most standard shortcut on the Mac and Heftr’s one copy action had no key at all. Inside the target-size and license fields ⌘C still means what it always means.
- New: Heftr reopens the window where you left it. It opened at the same size in the same place every launch, so a window widened to read a treemap or a long file list went back to the default next time. A remembered position is only used if it still lands on a display that is attached, so unplugging an external monitor cannot reopen Heftr somewhere you can’t reach it.
- Fixed: dismissing the license window deleted your stored key. “Continue with personal use” — and Escape, which does the same thing — removed the key outright. On a first run there was nothing to remove, which is why this went unnoticed; but if your key ever failed to validate for a passing reason (the server was down, the seat check timed out, the Mac was offline) the window reappeared and Escaping past it destroyed your only copy. Giving up a license is the Remove button’s job, and that one asks first.
- Fixed: Heftr was breaking its own Apple signature on your Mac. To keep the Finder icon matching light or dark mode, Heftr wrote an icon file inside its own application bundle at launch — which invalidates the Developer ID seal Apple checks, and can stop the updater accepting its own updates. The Dock icon still follows the appearance; nothing is written into the app any more.
1.2.0 — August 20, 2026 · The strength you picked, the sort you chose, and a way out of a long job
- Fixed: “Shrink all” ran at the wrong strength. Gentle, Balanced and Strong is a sticky choice, and a single fix has always honored it — but the batch passed no strength at all, so picking Strong and pressing Shrink all quietly ran each fix’s built-in default on every file. It now uses the strength you chose.
- New: a long job can be stopped. A batch re-encodes one file at a time and a fit-to-target re-encodes once per quality step, which on a big PDF is minutes; the only way out used to be force-quitting Heftr mid-write. The button becomes Stop (Escape works too). A stopped batch keeps and counts everything already finished; a stopped fit writes nothing at all, because a “smaller” copy from a step you never let it choose is not the file you asked for.
- New: “Biggest files in here” is a real table — every column sorts. It was the one list in Heftr with no headers and no order but size, in a window whose whole job is finding the specific fat file. Click Name to run A→Z, click again to reverse, sort by size either way. The headers are buttons, so the keyboard reaches them, and the sorted column reports its direction to VoiceOver.
- New: files say which folder they came from. Scanning a folder walks the whole tree, so the list could show eight rows all reading
IMG_0431.jpgthat were eight different files in eight different subfolders. Each row now carries its folder — just the part that differs — the column sorts like the others, and the folder is read out as part of the file. It appears only when the scan actually spanned more than one folder, and rides along on a multi-file drop too. - Fixed: the whole list is shown. Heftr worked out its twelve biggest files and drew eight of them.
- Fixed: the alphabetical columns sorted wrong. The header responded, the arrow flipped and the rows moved — which is exactly why nobody caught it. The order was the order Unicode stores letters in, so
ÉditeurandÜbertragungfiled afterZoom, andChapter 10came beforeChapter 2. Name, Bucket and Folder now collate properly in all thirteen languages, in both directions, with numbers inside names counted as numbers. Equal-size rows fall through to the name, so the size columns were inheriting the same wrong order and are fixed with them. - Fixed: sorting a column now changes the report too. Re-ordering the breakdown or the list of things inside changed the window and nothing else, so a report copied straight afterwards came out in size order — silently disagreeing with what you were looking at.
- Fixed: a file that failed during a batch was reported as a file that was already fine. A permission error, a corrupt PDF and a genuinely unshrinkable file all read “no safe shrink”. A failure now says what went wrong, and a file with nothing to do still says so.
- Fixed: a folder scan was silent to VoiceOver. The live item count sits inside the loading skeleton, which is hidden from assistive technology, so a multi-minute scan of a large folder announced nothing between the drop and the result. And a failure reported over a sheet, the license window or a confirm dialog was painted behind it, with its Undo button unreachable; errors now sit above everything, have their own announcement channel, and hold for six seconds.
- Fixed: German read “delete” where it meant “clear the list” — the Clear button beside Recent files was translated as Löschen, so a control that only forgets a list of paths read as one that erases the files themselves. A Japanese row label naming the folder a file came from was translated as though it named where the file was going. Your license status and the scanned-item count now follow the app’s own language picker rather than the Mac’s.
- The company name on an activated business license was always blank. Heftr read it from a field the licensing server stopped sending — the name is there, and it now appears. Nothing about how licenses work changed; only what the window could see.
Site update — August 19, 2026 · A checksum for the download
Website only; no change to the app.
- The download page now publishes the SHA-256 of the
Heftr.dmgit serves, so you can confirm the file you got is the file we put there. macOS already runs the check that matters — Heftr is signed with an Apple Developer ID and notarized by Apple, and a copy altered after we signed it will not open — but there was no way to check a download by hand, which is what anyone installing it on more than their own Mac tends to want. The checksum is on the download section under SHA-256 checksum, next to the one command that compares it with your copy. It is published as a plain file too, atHeftr.dmg.sha256, in the formatshasum -creads.
Site update — August 17, 2026 · The other apps, after the sign-up
Website only; no change to the app.
- The list of the other twoplus11 Mac apps has moved to the bottom of the page, below the email sign-up rather than above it. It used to arrive while the page was still making its case for Heftr, so the last thing you read before being asked for your email was a wall of other apps. It sits at the end now — the page finishes on Heftr, and the list is there if you want to see what else there is.
Site update — August 14, 2026 · Headlines in one color
Website only; no change to the app.
- The headline no longer fades from one color into another across the letters. A gradient poured through text is the house style of every generated landing page on the web, and it was on the hero here, on the small uppercase label above each section, and on the license label in the purchase panel. The words are one solid color now — the accent this page already used everywhere else — so the headline finally matches the page under it.
- The figures on the download-stats page were faded the same way and are plain white now. The color belongs to the bars beside them, not to the digits.
- Gradients are kept where they belong — the buttons, the app tile and the rule above the support panel are untouched. It is only text that stopped fading.
- No change to the app.
Download update — August 12, 2026 · Opens without an internet check
- The copy of Heftr in the download now opens without needing the internet. macOS checks that an app has been approved by Apple before it runs for the first time. That approval can travel inside the app itself, and in the download it did not — so the first launch had to reach Apple to confirm it. Offline, behind a hotel or campus login page, or when Apple’s service was slow, that check could fail and macOS would report that Heftr “cannot be opened because Apple cannot check it for malicious software.” The approval now travels with the app, so the first launch works with no connection at all.
- Automatic updates were never affected — the copy they install already carried its approval.
- The installer window opens at the right size. It was one title bar too short, so the artwork behind the drag-to-Applications arrow was cut off along the bottom and the window opened already scrolled. It now fits exactly.
- The app itself is unchanged: same version, same signature. Only the download was repackaged, so there is nothing to do if you already have Heftr installed.
Site update — August 12, 2026 · How updating really works
- The update instructions were out of date. They described downloading a new copy and dragging it over the old one. Heftr updates itself — it checks about once a week and offers to install the new version in place, refusing any download that isn't signed by us. You can still replace it by hand, and you can turn the automatic check off.
- Nothing else changed. What this page already said about your files — that they are never uploaded, and that there is no account and no telemetry — was accurate and is unchanged.
- No change to the app.
Site update — August 12, 2026 · Readable buttons and small print
- The buttons in the header say what they say. The Tip and Download pills were drawing their label at 55% opacity over a colored fill, which measured as low as 1.6:1 against it — well under the 4.5:1 the accessibility guidelines ask for. Their labels are now solid, and the fill behind them is set a shade deeper so the text genuinely clears that bar.
- The Subscribe and Support buttons too. Their labels were colored for one end of a two-color gradient and disappeared into the other end. Both now use a single fill that the label is legible on all the way across.
- The newsletter note, the “More apps” caption and the version line under the download button were all set too faint to read comfortably; each is now above the AA threshold.
- Keyboard shortcut chips are legible against their own background.
- No change to the app.
Site update — August 11, 2026 · Clearer search results
- The description under this site in Google is no longer cut off. It ran past the length Google shows and broke mid-word; it now reads as a complete sentence.
- Sharing a link to the privacy, terms or changelog page now shows a proper preview card instead of a bare URL.
- The sitemap now reports when each page actually changed, so search engines re-check pages that have been updated instead of assuming they are stale.
- No change to the app.
August 11, 2026 · A new look
- Changed: Heftr has a new app icon. Every twoplus11 app moved to one generated palette, so the color in your Dock, on this site and on the download page is now the same color — they had drifted apart.
- Changed: refreshed the site to match, including the tab icon and the link preview image.
Site update — August 10, 2026 · Real screenshots of the app
- The product page illustrated the app with a hand-drawn mock-up of a window rather than showing Heftr itself. It now shows the running app: a file broken down into image data, metadata and overhead with exact byte sizes, the plain-English verdict, and a short animation of taking the one-click smaller copy. No change to the app.
1.1.9 — August 9, 2026 · Automatic updates
- New: Heftr updates itself. When a new version is out you get a prompt with the release notes and can install it in place — no more visiting the site and dragging a new copy over the old one. This is the last update you have to install by hand.
- New: refreshed appearance — Heftr now uses the shared twoplus11 palette and a regenerated app icon, so it matches the rest of the family.
- Fixed: contrast and keyboard-navigation problems (WCAG 2.1 AA) — faint text is now readable, and every control can be reached and used from the keyboard.
- Fixed: “Check for Updates” spins the button while it checks, instead of flashing an empty window.
1.1.8 — July 17, 2026 · 13 languages
- New: 13-language localization with an in-app flag picker — Heftr auto-detects your Mac's language, and you can override it anytime.
- Fixed: the "Compress to .zip" savings estimate now reflects the real output size, instead of extrapolating from just the first 8 MB (which could be wildly wrong on large files).
1.1.7 — July 16, 2026 · Appearance override fix
- Fixed: pinning the appearance to Light or Dark (instead of following the system) now restyles the whole window — previously the translucent header and footer kept the system's appearance, leaving hard-to-read text when the override and the system disagreed.
1.1.6 — July 15, 2026 · “Tip”
- Renamed the “Donate” link to “Tip.”
1.1.5 — July 15, 2026
- Refined the dark-mode Dock icon: now a true near-black, monochrome-style background with just a hint of teal, instead of a deeper tint of the same color.
1.1.4 — July 15, 2026
- Fixed: the app icon could show the wrong light/dark variant in Finder, Spotlight, Launchpad, and the Dock while Heftr wasn't running. It now updates everywhere immediately, not just the Dock tile of an already-open app.
1.1.3 — July 14, 2026
- New: the Dock icon now follows your Mac's light/dark appearance automatically — or pin it to Light or Dark from the new appearance toggle in the header.
- Fixed: the Dock icon rendered edge-to-edge with no padding, making it look larger than every other app in the Dock. It now follows Apple's standard icon grid, sized and spaced to match.
1.1.2 — July 13, 2026
- twoplus11 wordmark credit in the footer and update panel.
- Occasional, low-pressure prompt to support twoplus11 after extended use — never more than once, easy to dismiss for good.
1.1.1 — July 12, 2026
- New: clearer Help and Review buttons in the header, so support and feedback are one click away.
1.1.0 — July 11, 2026 · Fixes that work, and folders
- New: PDF shrink that actually works — the most common "why is this PDF huge" case (embedded photos) is now a one-click fix. Heftr downsamples the raster images to ~150 DPI via a Quartz image filter while text and vectors stay vector — never rasterized, so the copy is smaller but still crisp and selectable. It shows the projected size from a real dry-run and refuses gracefully when a PDF can't be shrunk safely (text-only, already efficient, or password-protected).
- New: Folder mode — a mini-DaisyDisk — drop a folder (or an
.app) and get an interactive, fully accessible treemap of what's eating the space, biggest first, plus a ranked list and the biggest individual files anywhere in the tree. Click any block to drill in; a breadcrumb walks you back. The scan streams a live item count and never blocks the UI. - New: Target-size mode — "get it under X MB" picks the gentlest fix intensity that still fits, for images, PDFs and Office/ZIP media, and tells you the projected result before writing. If the target can't be reached safely it says so and saves the smallest it could manage.
- New: Batch — drop several files at once to rank and compare them, drill into any one, and shrink every item that has a safe fix in one go.
- New: Copy report — one click copies a clean plain-text summary of any breakdown to the clipboard.
- Improved: PDF analysis now memory-maps the file instead of reading it whole, so even very large PDFs are inspected without ballooning memory.
- Improved: the Squishr hand-off now copies the file's path to the clipboard so it's one paste away.
1.0.0 — July 11, 2026 · Initial public release
The first release. Drop one file, see what's eating the bytes.
- The X-ray — drop any file and get a breakdown of exactly what's taking up space, a plain-English verdict, and a one-click smaller copy where it's safe. Every breakdown reconciles to the real on-disk size of the file.
- Office / ZIP (docx, xlsx, pptx, zip, epub) — members bucketed into Media, Fonts, XML/content, Embedded objects and archive overhead by on-disk size, with the single biggest member named. Working fix: re-encode oversized PNG/JPEG media (max 2048 px, quality 85) into a smaller copy — the document stays valid and the original is untouched.
- Images (jpg, png, heic, tiff) — byte-exact split of pixel data vs an embedded EXIF preview vs the ICC color profile vs metadata. Working fix: re-encode at quality 85 and strip the preview & metadata.
- PDF — stream-level accounting (Images / Fonts / Content streams / Document structure) from the raw bytes, with a precise recommendation.
- Video / audio (mp4, mov, m4v) — per-track Video vs Audio vs container overhead with a bitrate verdict, and a clean hand-off to Squishr for the actual re-encode.
- App bundles & folders — a size tree ranking the heaviest children (a mini-DaisyDisk), read-only.
- Anything else — a compressibility probe that tells you whether a
.zipwould help, with a one-click compress-to-zip fix. - The bar — a genuinely beautiful segmented breakdown bar with a matching ranked list, live segment ⇄ row cross-highlighting, and per-segment tooltips. Light + dark, WCAG 2.1 AA, full keyboard navigation, respects reduced motion.
- Never modifies your original — every fix writes a (smaller) / (compressed) sibling copy alongside it.
- 100% local — nothing is uploaded; the only network calls are the optional license check and update check.
- Free for personal use; $5 business license. Silent weekly update check, in-app "Report an issue", and a gentle rating prompt.