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: GifMint. 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 GifMint 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.2.2 — August 22, 2026 · Shrink to fit keeps your trim, and text you can actually read
Fixed
- Shrink to fit exported the footage you had trimmed away. Trimming a recording and then picking a size target — “Under 2 MB (Slack)” and the rest — sized and exported the whole take, not your selection. The solver was handed the entire capture while the window went on showing the trimmed frame count, duration and preview, so the file you saved, copied or dragged out was longer than the one you were looking at, and squeezed much harder than it needed to be to reach the target. It fits the selection now, which also means it stops downscaling to pay for footage you had already cut.
- “Record Again” threw away an unexported recording without asking. It is bound to R — a single unmodified key, in a window that may have focus without you realising — and it went straight to clearing the capture. Every other way out of the preview (Discard, the close button, ⌘W, Escape) asks first. Record Again now asks the same question, and only when there is something to lose: if you have already saved or copied the GIF, it starts the new recording immediately as before.
- A failed save appeared under a green checkmark. “Couldn’t save the frame.”, “Couldn’t prepare the file to share.” and “Stopped. Nothing had finished encoding yet.” were all drawn with the same green tick as a successful export. A toast is glanced at rather than read, so the one moment the app most needed to be believed, it looked like good news. Failures now carry a warning symbol and the app’s error colour — a different shape as well as a different colour, so it does not depend on telling the two apart by hue — and VoiceOver announces them as errors.
- The duration next to the frame count was wrong for a boomerang. The two badges in the title bar were computed from different things: the frame count asked the encoder what it would write, the duration divided the captured frames by the frame rate. A boomerang plays its interior a second time, so a ten-second selection read “198 frames · 10.0s” for a GIF that runs for nearly twenty. Both numbers come from the encoder now, so they describe one file — the one you are about to export.
- The logo inside the app was still the old purple. GifMint’s mark moved to mint when the app took its own place on the family colour wheel — the Dock icon, the favicon and the website all changed. The logo drawn in the app did not: the control panel header, the license window and the recording HUD kept painting the retired purple-pink-orange ring, one of whose colours belonged to a different app in the family. It is the same mint mark everywhere now, and a test pins it to the website’s so the two cannot drift apart again.
Accessibility
- Secondary text was too faint to read in the light theme. Subtitles, counters, hints and several button labels were drawn by fading the main text colour — down to 18% for the window picker’s keyboard-shortcut line. Those values were chosen against the dark theme, where they are fine; measured against the light one, thirty-seven of them fell short of the WCAG AA minimum, some at barely a fifth of it. They now use the two text colours the design system provides for the purpose, both measured in both themes. Decorative icons and dividers are deliberately unchanged.
- License and recording status colours were fixed rather than adaptive. The green “Business License Active” shield, the red invalid-licence shield and error text, and the amber PAUSED indicator in the recording HUD were all pinned to their dark-theme values. Against the light theme the green measured 2.02:1 and the amber 2.15:1, well under the 4.5:1 needed for text — PAUSED being the one word that tells you the recording is not capturing. All three now adapt to the theme.
1.2.1 — August 20, 2026 · Option names that fit their rows
Fixed
- Several option names in the control panel were cut short. “Countdown” showed as “Countd…”, “Auto-copy” as “Auto-c…” and “Automatically check for updates” as “Automatically check…” — each with visibly empty space to its right. The row was splitting its width evenly between the name and the gap beside it instead of giving the name the room it needed, so the wider the control on the right-hand side, the shorter the name got. Names take the space they need first now, and one too long for a single line — which happens in German, French and Russian long before it happens in English — wraps onto a second line rather than being cut off.
- Some rows were narrower than the rest and floated in the middle of the panel. Show cursor, and Auto-stop while it is switched off, drew as short cards centered in the column while every row around them spanned it. Rows with something on their right-hand side were unaffected, which made it look intermittent rather than wrong. Every row is the same width now and starts at the same left edge.
1.2.0 — August 20, 2026 · Reverse, a stop for Shrink to fit, and a save that cannot empty your file
New
- Reverse. GifMint’s encoder has been able to write a recording backwards since it learned how; there was simply no button, so the only thing that ever used it was the test suite. There is a button now, next to Boomerang, and the two compose — a reversed boomerang bounces from the other end. It works on MP4 exports too, which was not a given: the MP4 writer kept its own copy of the frame pipeline and that copy had fallen a transform behind, so the same recording exported as a GIF and as an MP4 would have played in opposite directions. Both writers and the preview now share one function that decides what order the frames go in.
- Shrink to fit can be stopped. The ladder is up to twenty rungs and every rung is a full encode of the whole selection, which on a long capture is minutes — with a spinner, no button, and the menu that started it hidden for the duration. There is a Stop button now, and stopping keeps the smallest version the finished rungs found rather than throwing the work away. A stop also reads as a stop: it no longer reports “GIF encoding failed.”, which blamed the app for your own decision, and no longer claims “this is the smallest it goes” — a statement about a ladder it never finished walking.
Fixed
- A failed MP4 export replaced your recording with an empty file. Saving an MP4 over an existing file deleted that file before encoding began, then recreated it as a zero-byte stub — so when the encode failed, the toast said “MP4 encoding failed.” while the file you had chosen to replace was already gone. Agreeing to the Save panel’s Replace prompt is not agreeing to lose what was there if the export never finishes. Exports are encoded to a scratch file and moved into place only once they have actually succeeded, so a failed export leaves the destination exactly as it found it. Saving a GIF or PNG is written atomically for the same reason: an interrupted write — a full disk, a drive pulled mid-save — cannot truncate the file it was replacing.
- A failed save marked the recording as safely exported. Two of the preview’s toasts announce a failure rather than a completed export, and both disarmed the confirmation that exists to stop you closing the window and throwing the recording away. The failure armed the data loss.
- The preview played a recording that no longer existed. Optimize skips every other frame, and the play timer had no notion of that at all — the durations agreed, so nothing looked wrong, but the preview played frames the exported file does not contain, ←/→ stepped onto them, and the frames the file really holds were shown for half the time they are held for. Playback is now derived from the same function the encoder uses to decide which frames survive, and every control that changes the stride tells the player — including the Shrink-to-fit solver, which used to change it silently under a preview that kept playing all the frames.
- The frame count on screen was the number of frames captured, not the number written. After Optimize the title bar and the VoiceOver summary both reported double; a boomerang reported none of the frames it appends. Both read the encoder’s own answer now.
- Auto-copy silently produced a bigger file than the preview did. It missed the identical-frame collapse that every GIF written from the preview window uses, so the same recording gave you a measurably larger file depending only on which path wrote it — and Auto-copy is the path recommended for repeat captures. Dropping byte-identical frames is lossless: the surviving frame is held for exactly as long as the run took. The four places that built encoder options separately are now one, so a setting cannot go missing from one of them again.
- Play did nothing after a 1-loop preview finished. With Loops set to 1 the preview correctly stopped on the last frame — but pressing Play left the playhead sitting there, so the first tick counted a pass that never played and stopped again. One frame of movement and then nothing, every time, which is exactly what a dead button looks like. Play rewinds to the start now, the way every other player does.
- Closing the preview threw the recording away without asking, while the Discard button beside it asked first. The close is asked before the window goes now — and only when there is something to lose, so a recording you have already saved, copied, shared or dragged out closes without a word.
- ⌘W closed the preview window and nothing else. GifMint is a menu-bar app, so it has no File ▸ Close for macOS to route ⌘W through — a window that does not bind it itself can only be closed with the mouse. The window picker, the license window, the countdown overlay and the area selector each answered Escape and not ⌘W. All four answer both now, and they read the character rather than the key position, so ⌘W works on Dvorak, AZERTY and QWERTZ.
- The window list was not in alphabetical order. It compared Unicode code points, so every lowercase initial sorted after every uppercase one —
iTermandkittycame afterZoom, past the end of the alphabet, and so didÉditeur, an ordinary app name in twelve languages. Window titles had the same problem plus “Window 10” before “Window 2”. Searching the list also folds accents now: typingcafefindsCafé, which previously meant knowing the dead-key sequence for the accent. - All three Auto-copy failures were silent to VoiceOver while every success beside them announced. Auto-copy runs with the popover closed, so the mechanism they relied on could not fire — to a screen-reader user the recording simply vanished. The menu-bar button also had no name of its own at launch, and kept the old language’s name after you switched languages; GifMint runs with no Dock icon and no window until a recording is made, so that button is the entire product to a screen-reader user.
- The language menu could offer a language GifMint could not actually show. Its list was a fixed thirteen rather than the translations the build carries, so a missing file would have meant English text under a Japanese label. The menu is built from what is really there now, and a saved language whose translation disappears falls back to matching macOS.
- Two settings were translated into all 13 languages for controls that do not exist — “Drop identical frames” and an old wording of “Automatically check for updates”. Both are gone from every table. The auto-update setting also had two different names in one app, and the menu item’s label was missing from the translation table entirely, so it had been shipping in English everywhere.
- A release can now be stopped by a failing test. The test script had never been run by anything in the release path, so “the tests pass” described the last time somebody typed it by hand. The signing script runs the full suite first now, and a red suite aborts the release. The suite also checks that it is running the tests it contains, and that it is compiling the app’s own source rather than copies pasted into the test file — three of those copies had drifted and kept passing weeks after the app was fixed out of both.
- The Mac App Store build no longer randomly aborts claiming your signing certificates are missing. A pipeline in the preflight check could kill its own first command and report the failure, so it only ever happened when the certificate was found.
Changed
- Clearer wording on the Screen Recording permission card. It said GifMint “never runs in the background”, which is not true of a menu-bar app that is resident by design — the claim was about recording, not about the app. It now says so.
- The installer window no longer has the old purple-and-orange ring. GifMint was the only app here with a ring around its installer artwork, and it was still painted in the colors GifMint used before its icon was redrawn. The ring is gone rather than repainted — the mint glow and field already carry the brand. Twenty-seven hard-coded purples and pinks left over from before the rebrand, in the countdown, the preview, the control panel and the encoding toast, were converted to the app’s current mint at the same time.
- Removing a business license left the seat used up. “Remove” deleted the key from this Mac and told the licensing server nothing, so the activation stayed standing forever — a two-seat company that reinstalled twice was out of seats with nothing on screen to explain why, and the purchase email’s promise that you can “move a seat between machines any time from inside the app” was not true. Removing a license now releases this computer’s activation first. The key is forgotten locally either way, so the button still works offline.
- The company name on an activated license was always blank. GifMint read it from a field the licensing server stopped sending; the name is there, and it now appears.
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
GifMint.dmgit serves, so you can confirm the file you got is the file we put there. macOS already runs the check that matters — GifMint 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, atGifMint.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 GifMint, 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 GifMint, 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 price and the counters carried the same fade and are plain white now; the check marks down the plan list are a flat accent rather than a gradient.
- 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.
1.1.11 — August 13, 2026
Nothing else changed — same recording, same encoder, same output. If you have automatic updates on, GifMint will offer this to you on its own within about a week; you can also take it now from GifMint ▸ Check for Updates…
Changed
- GifMint’s mint, inside the app, now matches the mint everywhere else. The icon in your Dock, the website, the installer window and the share card were all redrawn on a slightly cooler mint a while back; the app’s own buttons, links and controls were left on the older one, so the app never quite matched the icon that launched it. They are the same mint now.
Download update — August 12, 2026 · Opens without an internet check
- The copy of GifMint 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 GifMint “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 GifMint installed.
Site update — August 12, 2026 · What actually connects to the internet
- A privacy answer on this page was wrong, and is fixed. It said GifMint “runs 100% offline” and that personal use “never goes online” — which stopped being true once GifMint gained the ability to update itself. Conversions, and everything you open, were never sent anywhere and still aren't; the claim about connections was the part that was false.
- Every connection GifMint makes, in full: a check for a new version about once a week, and — only if you enter a business license key — a check that the key is valid. Nothing about your files is in any of them, and the update check sends the app version and nothing more.
- The update instructions were out of date. They described downloading a new copy and dragging it over the old one. GifMint 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.
- 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 12, 2026 · The logo takes you home
- Clicking the GifMint logo at the top of this page now goes to the twoplus11 home page. It reloaded the page you were already on instead, which is not what the logo does on any other twoplus11 app site.
- 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: GifMint 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.
- Changed: the GifMint mark is now the same in every place it appears. The large logo above the headline was a plain gradient circle with no ring and no "GIF" — it now draws the same mark as the one in the tab, the menu bar and the Dock. The download page and the links from other twoplus11 apps were showing older versions of it as well; they all draw the one mark now.
Site update — August 10, 2026 · A screenshot of the app
- Added a screenshot of GifMint's menu-bar panel — the page had never shown the app at all. It covers the three capture modes, the frame-rate and resolution sliders with the output size they produce, and the options underneath, including the End card. No change to the app.
1.1.10 — August 9, 2026 · Fleet look
- New: refreshed appearance — GifMint now uses the shared twoplus11 palette and a regenerated app icon (including the dark-appearance variant, which had been left on the old colors), so it matches the rest of the family.
1.1.9 — August 6, 2026 · GifMint updates itself
- New: GifMint can now install its own updates. Earlier versions could only tell you a new release existed and send you here to download it by hand. It checks about once a week, and you can turn that off in Settings.
- Because 1.1.8 and earlier have no updater built in, this one release still has to be downloaded manually — after that, updates arrive on their own.
- Update checks go to
api.twoplus11.com. We record the app, the version, the date, the user agent, and a daily-salted hash of your IP address — never the address itself, and nothing tied to you. See the privacy policy.
1.1.8 — July 18, 2026 · Compact control panel
- The control panel's recording button now shows just its icon, so the panel stays compact at narrower widths.
1.1.7 — July 17, 2026 · ⌘⇧G in the Mac App Store build
- New: the ⌘⇧G global keyboard shortcut to start/stop recording is now available in the Mac App Store build too (previously Developer ID/DMG only) — press it from anywhere to stop without going to the menu bar.
1.1.6 — July 16, 2026
- Removed the “GifMint logo” caption next to the End card toggle in the control panel and preview window.
- New: 13-language localization with an in-app flag picker.
- Fixed: the End card and loop-count settings now actually affect the in-app preview — previously they only affected the real export.
1.1.5 — July 16, 2026 · End card toggle in the preview
- New: the “End card” toggle now also appears in the preview window (below Output size), so you can turn the end card on or off for an export without reopening the control panel.
- Fixed: flipping the End card toggle in the control panel while a preview was open didn't refresh the pending GIF — the change only took effect after the next trim or Optimize.
1.1.4 — July 15, 2026 · “Tip”
- Renamed the “Donate” link to “Tip.”
1.1.3 — July 14, 2026
- New: choose Light, Dark, or System appearance for the control panel from a new Appearance picker in Options — previously it only followed macOS automatically.
1.1.2 — July 13, 2026
- twoplus11 wordmark credit in the control panel's brand-credit row.
- 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
- Improved: the end-of-recording card now credits twoplus11.com/gifmint beneath the countdown, so recipients know where the GIF came from.
1.1.0 — July 12, 2026
- New: double-clicking the preview header now maximizes the window to fill your screen (replaces the old fit-to-GIF sizing); double-click again to restore.
- New: Help and Review buttons, always visible in the popover footer.
- Improved: automatic update checks now run weekly instead of daily, respect a new on/off toggle, and badge the popover's update button when one's found.
1.0.9 — July 11, 2026
- New: Export as MP4 — after you record, pick GIF or MP4 (H.264) right in the preview's export bar. MP4 is far smaller than a GIF for the same clip, so it's the better choice for longer recordings and for sharing anywhere GIFs feel too heavy. Copy, Save, and drag-out all honor the format you pick.
- Improved: GifMint's global shortcut no longer needs Accessibility permission — the record hotkey now works the moment you set it, with no macOS permission prompt to approve and nothing to re-grant after an update.
- Accessibility: higher color contrast on the interface and a proper spoken window title for VoiceOver.
1.0.8 — July 10, 2026
- New: End card — GIFs now finish with a short "End of recording" screen showing the GifMint name and logo, with a "Restarts in 3… 2… 1…" countdown that ticks down before the loop restarts. It works for every capture mode (Screen, Window, Area), and whoever receives the GIF can trim it off. Turn it on or off with the new End card switch in the menu-bar panel's Options (on by default).
1.0.7 — July 9, 2026
- New: Fit window to GIF — double-click the preview's header to size the window to your GIF's exact proportions (no empty bars around the frame), as large as your screen allows; double-click again to restore the previous size.
- The recording panel is now branded with the GifMint name and logo, and it's kept in full-screen and area recordings when it's on screen (previously it was always removed from the capture).
- Personal use now says so plainly: the licensing screen spells out that GifMint is free for personal use and includes free updates forever — no catch, no expiry
1.0.6 — June 2026
- Check for Updates is now easy to find — a button right in the menu-bar panel (alongside the menu item), and GifMint quietly checks on its own about once a day, marking the menu-bar icon with a small dot when a newer version is out. It only ever tells you and links to the download — nothing is downloaded or installed automatically.
1.0.5 — June 2026
- Check for Updates — tells you whether you're on the latest version and links you to the download page when a new one is out.
- Pause and resume a recording mid-capture, and live trimming — the section you select is exactly what you copy, save, or drag out.
- Output size control (100% / 75% / 50%) and a Share button in the preview; right-click any frame to copy or save it as a PNG.
- Fixed: area recordings no longer captured a vertically-mirrored region, and multi-monitor captures now record the display you're actually on.
1.0 — June 2026 · Initial public release
- Record your screen as an optimized animated GIF — full screen, a single window, or a drag-selected region
- Auto-stop timer so recordings end on their own
- Built-in frame trimmer to cut the start and end before you save
- One-click copy to the clipboard, or save the GIF to disk
- Lightweight menu-bar app — about 2 MB, Apple Silicon & Intel, macOS 13+