Release notes
Changelog
1.1.1 — August 22, 2026 · A file that took too long is not a broken file
- Fixed: dismissing the license window could delete the license key you had already paid for. Dismiss and the Escape key ran the same call as the explicit Remove button — the one that erases the stored key — and unlike Remove it asked nothing first. If your key had just failed to validate for a passing reason (the server briefly down, no network, a seat check that timed out), closing that window destroyed your only copy of it. Dismiss now closes the window and nothing else.
- Fixed: Squishr wrote its own Dock icon into its own application bundle, which broke the app’s Apple signature. Keeping the Finder icon in step with your light/dark appearance meant editing the signed app on first launch — exactly what code-signing exists to detect, and a bundle whose seal is broken can stop the updater accepting its own updates. Squishr now repaints only the live Dock tile, and ships both appearances inside one icon file.
- Fixed: a video Squishr ran out of time reading was reported as damaged. Both a genuinely unreadable file and one that simply took too long came back as “Couldn’t read this file.” — so a perfectly good video on a sleeping external drive, a network share that dropped, or a file still coming down from iCloud read as though it were corrupt, and the retry that would have worked never looked worth making. Squishr now says which of the two happened, and what to do about it.
- Fixed: one slow moment at launch could make every compress for the rest of the session take several times longer. Squishr asks the encoder once what your Mac can do in hardware and remembers the answer; if that one question was interrupted — a busy machine, a moment of memory pressure — it remembered “nothing” and quietly used the slow software path from then on, with no message and nothing to do but relaunch. An interrupted answer is no longer kept.
- Fixed: the guard that keeps a compress from writing over a video you queued now compares files, not spellings. It matched paths as text, and one file on a Mac has many correct paths — Mac drives ignore capitals, and folders reached through an alias or a synced location arrive under a different name for the same place. A queued original spelled either of those ways looked like a different file and would not have been protected. Still nothing to reproduce today, for the same reason as last release: Squishr has no Replace control and always steps around an existing file.
- Fixed, under the hood: a quarter of Squishr’s own test suite — every check of the window itself, and the entire automated accessibility audit — would quietly excuse itself on a machine missing an optional developer tool, and the run still reported success. It now fails loudly instead, so no release can be signed off on a suite that checked nothing.
- Fixed, under the hood: nothing verified that the window’s script finishes running. A page that parses perfectly can still stop dead partway through, which would ship an app that launches, looks exactly right, and has no keyboard shortcuts and no drop target. Squishr now checks the script runs end to end before a build can go out.
1.1.0 — August 20, 2026 · Stop one clip, reveal any original, and rows you can tell apart
- New: stop one video without stopping the batch. A long encode could only be ended by Cancel, which stopped everything queued behind it as well. Every video that is waiting or compressing now has its own stop button, and Squishr says which one it stopped.
- New: show the original in Finder, from any row, in any state — including a video that failed, which is exactly when you want to go and look at the file. Squishr no longer opens an empty Finder window when the original has been moved or deleted since you added it; it says so instead.
- New: rows say which folder they came from. Dropping a folder pulls in everything inside it, so a queue could show a wall of rows all reading
clip.mp4that were different files. Each row is now labelled with its folder — just the part that differs, not the long shared path — and only when the queue actually spans more than one. VoiceOver reads the folder as part of the row. - New: AV1. A format choice that holds a watchable picture at sizes where H.264 falls apart, which is exactly what a hard 10 MB cap does to a long video. No Mac can encode AV1 in hardware, so it is much slower than the other two; Squishr says so before you start, and reminds you to check that wherever you’re posting can play it.
- New: choose the trade between speed and quality. Faster, Balanced, or Best quality — which goes straight to two-pass encoding, the most picture per byte and the slowest. Squishr always had two-pass, but only ever reached it by accident, after the fast path had already missed the target twice.
- New: time remaining. The progress bar now says how much longer the video in front of you has to go, and the whole batch alongside it. It stays quiet until the estimate is worth trusting, rather than showing a number that lurches around.
- New: type an exact trim. The filmstrip handles are quick but approximate; you can now type the in and out times (
1:04,1:04.5,1:02:03). A time that isn’t in the video is refused with a message instead of being quietly rounded to something you didn’t ask for. - New: sort the queue by name, size, length, status, or how much each video saved — in either direction.
- Changed: Compress is now ⌘↩, and ⌘↑/⌘↓ switch videos. Plain Return used to start compressing the entire queue, which was both inconsistent with the rest of the family and far too easy to hit on the way to something else.
- Changed: picking HEVC or AV1 no longer needlessly drops resolution or frame rate. The quality meter judged every format against H.264’s requirements, so choosing a more efficient one spent its advantage on nothing instead of on the picture.
- Fixed: stopping a compress at the very end left the finished file behind. Press Stop while Squishr is putting the encode into place — the end of a long job is exactly when people do — and the video landed on disk anyway, while the row went back to saying “ready” and forgot the file existed. Nothing in the app could reveal it, open it or name it, and it kept the filename, so the next attempt quietly became “clip — Discord 2.mp4”. A stopped compress now leaves the folder exactly as it found it, and a result from an earlier run is still untouched.
- Fixed: a folder of
clip1 … clip10was queued withclip10second — and the order that walk produces is the queue, before any sort control has been touched. Any name starting with a lower-case or accented letter was pushed to the end, and subfolders came back in whatever order the disk happened to store them. A dropped folder now arrives in reading order, all the way down. - Fixed: sorting the queue by Name was not alphabetical. The header worked and the rows moved; the order was the order Unicode stores letters in, so
Éditeur.movandÜbertragung.movsorted afterZoom.mov. Names collate properly in all thirteen languages now, in both directions, and a number inside a name counts as a number. Size, Length, Status and Savings fall through to the name when they tie, so they were serving the same wrong order and are fixed with it. - Fixed: every button on a row said the same thing when the queue spanned folders. The folder was folded into the row itself, but the Stop, Show-in-Finder and Remove buttons beside it still read “Remove clip.mp4” on every row — so the three controls that actually do something were the ones a screen-reader user could not tell apart.
- Fixed: a video that failed to compress said nothing to VoiceOver. The finished-successfully message was announced; a failure only painted the card red. A row’s name never mentioned what the row was doing either, so a failed video read exactly like one waiting its turn. Names now carry the state and are rewritten on every change.
- Fixed: a toast fired from inside a confirmation dialog was painted behind it — and a toast is the only report some failures get. An error could also be silenced by the success that came after it; warnings and errors interrupt now, successes stay polite.
- Fixed: “Your video is ready” notifications never actually appeared. Squishr was posting them through an interface Apple retired, and the failure was swallowed silently.
- Fixed: Squishr now checks there is room on the disk before it starts. It writes the largest files of any app in the family, and previously only found out mid-batch.
- Fixed: the folder label read as a save destination in Japanese — it names the folder a file came from, and now says so in every language — and the twoplus11 link in the footer announced itself in English to screen readers whatever language you had chosen.
- Fixed: a guard so a future Replace switch cannot destroy a queued original. Squishr decides an output name in one place, and it now refuses any name belonging to another file in the same queue, not just the one it is working on. There is nothing to reproduce today — Squishr has no Replace control and always steps around an existing file — the reason it is going in now is that two sibling apps shipped exactly this and both lost real user data with it.
- Fixed on the website: the buttons on this site had drifted off the family palette, and the small uppercase heading on the Privacy, Terms and Changelog pages was below the contrast guidelines ask for. The keyboard “Skip to main content” link on those three pages was relying on a color they never defined.
- The company name on an activated business license was always blank. Squishr 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
Squishr.dmgit serves, so you can confirm the file you got is the file we put there. macOS already runs the check that matters — Squishr 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, atSquishr.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 Squishr, 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 Squishr, 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 Squishr 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 Squishr “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 Squishr 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. Squishr 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.
- The page title was also long enough to be truncated in search results, and has been shortened to fit.
- 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: Squishr 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 Squishr itself. It now shows the running app: the target picker with the quality meter reading out the predicted size, the finished result, and a short animation of switching target and compressing a clip until it fits. No change to the app.
1.0.11 — August 9, 2026 · Automatic updates
- New: Squishr 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 — Squishr 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: the Check for Updates button spins while it checks, instead of flashing an empty window.
1.0.10 — July 17, 2026 · 13 languages
- New: 13-language localization with an in-app flag picker (auto-detects your Mac's language, override anytime).
- Fixed: the trim range now actually applies to the preview player — previously the preview always played the full source and only the exported file was trimmed.
- Fixed: a queued item's settings are now frozen when it enters the queue, so changing global settings mid-queue can't mismatch a waiting item's quality-meter display.
1.0.9 — 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.0.8 — July 15, 2026 · “Tip”
- Renamed the “Donate” link to “Tip.”
1.0.7 — July 15, 2026 · Dark icon refinement
- Refined the dark-mode Dock icon: now a true near-black, monochrome-style background with just a hint of orange, instead of a deeper tint of the same color.
1.0.6 — July 15, 2026 · Icon fix
- Fixed: the app icon could show the wrong light/dark variant in Finder, Spotlight, Launchpad, and the Dock while Squishr wasn't running. It now updates everywhere immediately, not just the Dock tile of an already-open app.
1.0.5 — July 14, 2026 · Dock icon appearance & padding fix
- 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.
- 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.0.4 — July 13, 2026 · twoplus11 credit & support prompt
- 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.0.3 — July 12, 2026 · Signal preset & a clearer footer
- New: Signal joins the share-target presets — a true 100 MB attachment cap.
- Improved: Help and Review, split apart. The footer's Help button now goes straight to support; keyboard shortcuts moved to their own Shortcuts button, and a new Review button lets you leave feedback in one click.
1.0.2 — July 11, 2026 · Deliver anywhere
- New: Copy, then paste the file — after a squish, Copy puts the finished video on your clipboard; paste it straight into Messages, Discord, Mail, or Finder.
- New: More share targets — presets for iMessage and Telegram, plus a true 25 MB Gmail limit.
- Improved: Honest progress — the progress bar tracks the real encode front to back instead of stalling near the end.
- Fixed: the quick “fix” pills now apply only to the selected item instead of changing your defaults for everything.
- New: a Business license button in the header — one click to upgrade to, or manage, a business license.
- New: Automatic update checks — the app quietly checks about once a week and badges the update button when a newer version is available (never a pop-up; nothing is downloaded or installed automatically). Turn it off with Automatically check for updates in the update panel.
1.0.1 — July 11, 2026 · Security, privacy & accessibility
- No more accidental lock-outs — a brief licensing-server hiccup used to be able to lock a paid seat for up to a day; it now falls back to your offline grace period and re-checks automatically.
- Tighter privacy & security — your license file is stored so only your account can read it, and update links are restricted to twoplus11.com over HTTPS.
- Reduce Motion — Squishr now fully honors the system Reduce Motion setting.
1.0.0 — July 9, 2026 · Initial public release
The first release. Drop a video, tap a target, it fits — every time.
- Guaranteed fit — pick Discord (10 MB), WhatsApp (16 MB), Email (20 MB), Discord Nitro Basic (50 MB), Nitro (500 MB), or any custom size. Squishr works out the exact bitrate, encodes with Apple hardware, then checks the real file size and automatically re-encodes smaller if needed — falling back to two-pass precision encoding. The file always lands under the limit
- Honest quality meter — before you wait for an encode, a meter shows how the video will look at that size: Great, Decent, Rough, or Won't look good — with one-tap fixes (drop to 720p, cap 30 fps, smaller audio, drop audio, trim it shorter)
- Trim — drag handles on a filmstrip to keep just the moment. A shorter clip means dramatically better quality at the same target; the meter and estimate update live. Fully keyboard-driven and VoiceOver-accessible
- Batch — drop any number of videos (or a whole folder) and compress them all to one target, two at a time, with per-file progress
- The hard files work — rotated iPhone portrait video stays portrait, HDR is tone-mapped so colors don't wash out, 120 fps screen recordings get capped when the budget is tight, 5.1 surround is downmixed, GIFs become tiny MP4s, and variable-frame-rate captures keep their timing
- Non-destructive by design — originals are never modified; every compress writes a new file ("clip — Discord.mp4") next to the original or into a folder you choose, and existing files are never overwritten
- Private by design — everything runs on your Mac. Nothing is uploaded, no account, no telemetry
- Signed and notarized by Apple — macOS 12+, Apple Silicon & Intel
- Free for personal use forever — unlimited files, no account, no trial, no watermarks; commercial use requires a one-time $5-per-computer business license