Skip to content

▶ Magpie

Magpie

Changelog

Every Magpie release, what's new, what improved, and what got fixed.

Latest · Version 2.3.6

v2.3.6 Latest

Build 31

New

  • Right-click anywhere on a capture selection now cancels it, exactly like pressing Escape. It's a way out that never touches the keyboard, which matters when another app has macOS Secure Keyboard Entry turned on — in that state the system withholds the Escape key from Magpie, and the mouse is the only thing that still gets through.

Fixed

  • Dragging a capture out of the quick-access thumbnails now works on the first try. The pile is a background panel that never takes focus, so the first press used to be spent bringing it forward instead of starting the drag, and you had to try again.
  • The pointer now shows an open-hand "grab" cursor over a thumbnail, so it's obvious you can drag the image straight out. It also no longer inherits whatever cursor the window behind the pile happened to be showing.
  • The hover action bar no longer flickers onto the wrong card. While the pile re-laid itself out — a capture arriving, a card timing out — the card just below the pointer could briefly flash its buttons.
  • Magpie no longer leaves a hidden keyboard/mouse monitor behind after each capture. Over a long session these piled up in the window server, one per capture.

v2.3.5

Build 30

Improved

  • The annotation size slider now runs 10–50 instead of 1–20. The old bottom of the range was too thin to see on a Retina capture and the top was still on the timid side; the numbers keep their meaning, so a stroke of 20 draws exactly as it did before — there's just far more headroom above it
  • Every tool now starts at 30, the middle of the new range, with equal room to go thinner or bolder. Text, highlighter bands, and counter badges scale to match, and any sizes you'd already set are carried over to the same relative spot in the new range

v2.3.4

Build 29

Fixed

  • Upload notifications now pop as real banners (with a sound) even while Magpie is the frontmost app — uploading from the annotation editor or the History window used to drop the notice silently into Notification Center, so it looked like nothing happened
  • Magpie's pane in System Settings ▸ Notifications now offers the "Play sound for notification" toggle. (There's deliberately no app-icon badge option — Magpie lives in the menu bar and has no Dock icon to badge)
  • Uploading a capture that's already on the quick-access stack no longer conjures a second "uploading" thumb that vanishes when the upload finishes — the capture's own card shows the progress bar and then the Copy Link state, one card start to finish

v2.3.3

Build 28

Improved

  • Annotating a capture now saves over the original — one capture stays one item in Capture History and the quick-access stack, however many times you edit it, instead of piling up "Annotated" copies. The pre-edit image goes to the Trash as an escape hatch, and hitting Done or Upload with no edits no longer rewrites the file
  • If you annotate a capture that was already uploaded, its share-link record is cleared — the uploaded copy no longer matches — so the card offers Upload again instead of copying a link to the old image

Fixed

  • Capture History and quick-access thumbnails refresh immediately when a capture's file is replaced under it (trimming a recording, saving annotations); they previously kept showing the old image until the window was reopened
  • Annotating a JPEG, WebP, or AVIF capture converts it to PNG cleanly instead of leaving the old file behind as a duplicate

v2.3.2

Build 27

New

  • Uploaded captures wear a cloud badge in Capture History, so you can tell at a glance which captures have a live share link without hunting through hover bars. Click it to copy the link again; it turns amber in the last days before the link expires, and a slashed cloud marks an upload that retention has already reclaimed
  • History cards now have a right-click menu with every card action plus two cloud extras: Open Link views the share page in your browser, and Remove from Magpie Cloud deletes the uploaded copy right away — freeing your storage allowance — while the local capture stays put
  • Capture History shows your Magpie Cloud storage at the bottom — how much of your allowance is in use and how long uploads are kept — whenever Magpie Cloud is your upload destination

Improved

  • Magpie Cloud uploads record their size and expiry date, shown in the badge's tooltip on new uploads
  • A capture whose share link has expired offers Upload Again instead of copying a dead link

v2.3.1

Build 26

New

  • Screen guides can be moved and removed directly, any time — no edit session needed. Bring the pointer to a line and it wakes up: an ✕ badge appears near its leading edge, the cursor becomes a resize arrow, dragging moves it, and clicking the ✕ or dragging it off the display removes it. Everywhere else the overlay stays completely click-through, so guides still never block the app underneath. Adding guides (with edge snapping and the distance readouts) stays in the Guides edit session

Improved

  • The Guides edit session shows the ✕ badge on every guide, ⌫ (and now ⌦) removes the guide under the pointer even right after clicking it, and the on-screen hint spells out the removal options

v2.3.0

Build 25

New

  • The annotation editor is redesigned around the canvas instead of one long toolbar. The tools sit in a two-column rail down the left edge with Auto-Redact beneath them, the bar along the top carries only what the active tool or selection needs (color, size, style pickers, undo/redo), and the pixel color, image size, and zoom readouts live in a status bar along the bottom — zoom is always visible bottom-right instead of being the first thing a narrow window cuts off. The color swatches, custom picker, and hex/rgb() entry fold into a single color well, Backdrop joins the output actions in the title bar, and the window now works down to 600pt wide with every control still reachable

Improved

  • 100% zoom in the annotation editor is the size the capture was on your screen: a Retina capture opens pixel-sharp at its logical size instead of blown up to its raw pixel dimensions
  • Screen recordings are encoded at a higher bitrate tuned for crisp text and hard edges, so recordings of code and UI stay sharp on motion instead of going mushy

Fixed

  • Area recordings could sit a sub-pixel off the display's pixel grid, so every frame was resampled faintly blurry; recordings now snap to the pixel grid the way screenshots have since 2.2.1
  • A measure snapped to a detected edge vanished the moment you let go of the mouse — measures now stick regardless of how little the mouse itself moved
  • The annotation editor's toolbar took no clicks on macOS Sequoia (a macOS 15 hit-testing quirk with horizontally scrolling toolbars); the redesigned layout has no toolbar scrolling left to trip it

v2.2.4

Build 24

New

  • A finished cloud upload now posts a notification confirming the share link is on your clipboard, with the link right in it — no more pasting somewhere just to check. On by default, with a toggle in Settings → General → Cloud, and macOS asks once for notification permission the first time
  • Magpie Cloud share links are short and come in two forms: share.skulkworks.dev/o/<id> opens a proper share page (media on a dark card with a download link), while adding the file extension gives the direct file URL. A new "Copy direct file links" setting picks which one lands on your clipboard, and pasting a share link into Slack, Discord, iMessage, or the socials now unfurls into a real media card
  • S3 and SFTP destinations get a "Short file names" option: uploads are named with a short random id instead of date folders and the capture name, so share links from your own storage stay short and free of %-escapes

Improved

  • The Magpie Cloud share page shows captures at the size they were on your screen: Retina captures carry their display scale with the upload and render pixel-sharp at logical size instead of blown up to their raw pixel dimensions, transparent and dark-mode captures sit on a checkerboard instead of vanishing into the dark page, and small recordings are never upscaled into blurriness. Downloads are the untouched native file, as always

Fixed

  • Uploading from a quick-access card stripped the capture's metadata (including which app it came from) and wrote the stripped copy back over the history record; the upload path now reads the real sidecar

v2.2.3

Build 23

Fixed

  • On macOS 14 Sonoma the "Welcome to Magpie" window (and the Permissions window it also serves) opened thousands of points tall with its content stranded at the bottom edge — reading as a giant empty window. The onboarding and accessibility-explainer windows sized themselves from SwiftUI content with an unbounded max height, which Sonoma's hosting layer takes literally; both now use a fixed frame, so they come up at their intended size on every macOS version

v2.2.2

Build 22

New

  • SFTP destinations can authenticate with "SSH config" — now the default for new destinations. It uses your ~/.ssh/config and ssh-agent exactly like ssh in Terminal: the host can be a config alias, username and port are optional overrides, and no credentials are stored in Magpie. Password and private-key auth are still there for servers your config doesn't know
  • Test Connection on an SFTP destination now verifies the share link too: it uploads a small probe file, fetches it back through the Public URL template, checks the bytes match, and removes the probe. A link that doesn't resolve shows as an orange "Connected, but…" warning with the reason — the connection result stays green, and a link problem never blocks saving

Improved

  • Every destination row — including Magpie Cloud — shows a radio marking where one-click uploads go, and clicking another row's radio moves the default. Replaces the star badge and the Set as Default button, which made it too easy to not know where an upload was headed
  • The destination editor's Add/Save button names the required fields that are still empty instead of sitting silently disabled
  • S3 endpoints paste straight from provider consoles: a bare hostname like s3.us-east-005.backblazeb2.com gets https:// automatically, and when Region is left as auto the signing region is derived from the endpoint (Backblaze rejects signatures scoped to any other region; R2-style endpoints keep the literal auto they expect)
  • S3 errors now read as "Code: message" instead of a truncated block of raw XML

Fixed

  • Uploading to an S3 bucket with capital letters in its name (Backblaze allows them) failed signature validation on every request: the signature covered the mixed-case bucket hostname while the network sends hostnames lowercased. The bucket hostname is now lowercased before signing
  • An SFTP remote directory written as ~/folder literally created a directory named ~ on the server — the sftp client doesn't expand a quoted tilde. Tilde paths are now resolved against the session's home directory, where SFTP sessions already start
  • Destination changes made in Settings now apply to uploads immediately: the settings window and the uploader each kept their own copy of the destination list, so a new default — or a just-edited destination — wasn't picked up until the app was relaunched

v2.2.1

Build 21

New

  • The cursor setting is now split between screenshots and recordings: Settings → Capture has "Show cursor in screenshots" (off by default, a screenshot usually wants a clean image) and the Recording section has "Show cursor by default" (on by default, a recording is usually following the pointer). The recording one is also a per-recording toggle on the pre-record panel, next to audio, clicks, and keystrokes

Fixed

  • Narrated recordings kept their audio when shared: a recording with both system audio and microphone on stored them as two separate audio tracks, which plays fine locally (QuickTime mixes them) but goes silent in a browser — web players only play a file's first audio track, and that was the system one. Recordings now finish with the tracks mixed into a single audio track, MP4s are written with the index up front so shared links start playing immediately (and play in Safari at all, together with byte-range support on Magpie Cloud), and a microphone that fails to start no longer leaves an empty audio track in the file
  • Area and window screenshots are sharper: the selection is now snapped to the physical pixel grid before capturing. A selection dragged with a trackpad almost always landed on a fraction of a pixel, which made ScreenCaptureKit re-render the entire image at a sub-pixel offset — every area capture came out slightly soft. Scrolling captures get the same fix, and captures now ask ScreenCaptureKit for best resolution explicitly
  • Annotated images keep their Retina density: the editor wrote PNGs without DPI metadata, so an annotated copy of a Retina capture opened at double physical size in Preview, Pages, and anything else that honors DPI — reading as blurry next to the original. Copy, save, drag-out, and upload from the editor now carry the source capture's DPI through

v2.2.0

Build 20

New

  • Show keystrokes in recordings: an optional overlay draws what you type into the video as chips along the bottom — plain typing reads as a running line, shortcuts get their own chip (⌘⇧S), and the line fades when you pause. It's drawn into the recording only, so your screen looks exactly as it always does, and nothing is ever stored. Settings → Capture → Recording has the default and a display-time picker; seeing keys typed into other apps needs the Accessibility permission
  • Per-recording toggles on the pre-record panel: system audio, microphone, click highlighting, and keystrokes each have a button next to the format picker. They start at your Settings defaults (now labeled "by default") and apply to that one recording — flipping the mic on for a single video no longer turns it on for every future recording
  • Open in the editor after capture: a new After capture option in Settings → General sends every finished screenshot straight into the annotation editor. Recordings and animated exports are unaffected

Improved

  • The overlay's Quick Look is now the real thing — the same panel Finder uses. It opens centered and resizable, a tall scrolling capture can be panned and zoomed instead of being squeezed into a fixed frame, the title bar has an "Open with Preview" button, and recordings play with native controls
  • The Microphone picker in Settings → Capture → Recording is now always visible and applies whenever the mic is on, however it was turned on
  • The click ripple lingers a touch longer (0.7s instead of 0.45s) so it reads as a pulse instead of a blink
  • JPEG captures encode at higher quality (93 instead of 90) for crisper text when JPEG output is chosen

Fixed

  • Only one capture at a time: pressing a capture shortcut while a selection was already on screen stacked another selection on top of it, so finishing one left the next still waiting underneath. Capture triggers are now ignored while a selection overlay, pre-record panel, scrolling capture, measurement, or color-pick session is active — while stopping a recording, ending a measurement, or closing the color picker always still works
  • A card in the quick-access pile could lose its hover: after the pile re-arranged itself under a resting pointer (a new capture arriving, a card timing out), the card under the pointer sometimes wouldn't show its action bar until you left it entirely and came back. The pile now re-checks which card the pointer is over a few times a second, so the bar always appears

v2.1.2

Build 19

Fixed

  • Microphone recording works in the shipped app. The release build was missing the hardened-runtime audio-input entitlement, so macOS denied microphone access silently: no permission prompt ever appeared, and Magpie never even showed up in System Settings → Privacy & Security → Microphone. With the entitlement in place, turning the mic on in the pre-record panel asks for permission the way it was always meant to
  • Captures now match your screen. Screenshots were being converted to sRGB on the way in, which on a wide-gamut Mac display clamps colors and dims antialiased text — captures looked slightly washed out and fuzzier than the real thing. Every capture is now taken and saved in Display P3 with the profile embedded, and it survives the whole pipeline: scrolling stitches, Retina downscaling, and annotated exports all keep the wide gamut. The color picker still reports hex in standard sRGB, so picked values keep matching what design tools expect

v2.1.1

Build 18

New

  • Choose which microphone narrates your recordings: Settings → Capture → Recording gains a Microphone picker (shown once "Record microphone" is on) listing every input on your Mac. "System Default" follows the macOS Sound setting; picking a specific mic pins recordings to it, and if it's unplugged when you hit Record, Magpie falls back to the default instead of failing

Improved

  • The overlay's Quick Look is now the real thing — the same panel Finder uses. It opens centered and resizable, a tall scrolling capture can be panned and zoomed instead of being squeezed into a fixed frame, the title bar has an "Open with Preview" button, and recordings play with native controls

Fixed

  • Only one capture at a time: pressing a capture shortcut while a selection was already on screen stacked another selection on top of it, so finishing one left the next still waiting underneath. Capture triggers are now ignored while a selection overlay, pre-record panel, scrolling capture, measurement, or color-pick session is active — while stopping a recording, ending a measurement, or closing the color picker always still works
  • A card in the quick-access pile could lose its hover: after the pile re-arranged itself under a resting pointer (a new capture arriving, a card timing out), the card under the pointer sometimes wouldn't show its action bar until you left it entirely and came back. The pile now re-checks which card the pointer is over a few times a second, so the bar always appears

v2.1.0

Build 17

New

  • Capture & Annotate (⌥⇧E): take an area screenshot and land straight in the annotation editor — no trip through the overlay card and its small buttons. It has its own row in Settings → Shortcuts and its own entry in the menu-bar menu
  • Audio controls where you start a recording: the pre-record panel now has system-audio and microphone toggles next to the format and frame-rate pickers. Turning the microphone on asks for permission right there — the first time you get the macOS prompt, and if access was denied earlier the toggle sends you to the Microphone privacy pane instead of failing silently. The toggles stay in sync with Settings → Recording

Fixed

  • Scrolling capture no longer takes over your mouse. The pointer is placed inside the region once, when the capture starts; after that it is yours — move it within the region and the scrolls follow it, move it out of the region and the capture simply pauses (the chip shows "Paused") until you bring it back. Stop and Cancel are now always reachable mid-capture
  • The scrolling-capture edge handles are now actually visible — and grabbable. The hint said to drag them over any fixed header or footer, but the handles drew nothing, and macOS routes clicks in fully transparent window areas straight through to what's underneath, so they could not even be clicked. Each edge now shows a grabber tab you can drag
  • The scrolling-capture hint now tells the truth: fixed headers and footers are detected automatically, and the edge handles are there to mark one yourself when the detection needs help

v2.0.1

Build 16

Fixed

  • The quick-access pile no longer grows taller than the screen it is sitting on. Five thumbnails need more height than a laptop display has, and the cards that didn't fit weren't merely cut off — they were drawn above the top edge, where nothing can be hovered or clicked. That is why Close All stopped responding once a few captures had stacked up, and why the top thumbnail wouldn't light up when you moved onto it. The pile now shows as many cards as the display can actually hold — all five on a tall monitor, one fewer on a laptop — and the rest are counted by the "+N more in History" line under the stack, where they always were
  • A thumbnail's action bar now stays on the thumbnail the pointer is actually over. When a new capture arrived, or a card timed out, the cards moved but the hover didn't: for a moment the buttons appeared on the card that used to be under the pointer, one place away from where you were pointing

v2.0.0

Build 15

New

  • Copy Text (pro): press ⌥⇧O, drag over anything on screen, and its text is on your clipboard. An error dialog that won't let you select, a code sample in a video, a screenshot someone sent you, a PDF viewer that fights you — all of it becomes text you can paste
  • Recognition runs entirely on your Mac. Nothing is uploaded, nothing is sent to a service, and it works with the network off
  • The text comes back laid out the way it looked: wrapped lines stay together, paragraphs keep the blank line between them, and columns that sit side by side on screen come out side by side rather than run into each other. Settings ▸ Capture ▸ Copy Text can join wrapped lines into paragraphs instead, for pasting into a document, and pin recognition to one language if automatic detection guesses wrong
  • A card under the selection says how much was copied and shows the first few lines of it, with Copy Again and Save… (as a .txt) before it fades on its own
  • Space still switches to the window picker mid-selection, so "grab all the text in that window" is one keystroke
  • Copied text collects in Capture History, in its own Text segment beside Images, Recordings and Colors — searchable by what the text says, so "that error with the port number in it" is findable weeks later. Click a block to copy it again, double-click to see all of it, and save any of it as a .txt
  • Grabbing the same text twice moves the existing block to the front rather than filling the list with copies of itself, and the Text segment has its own Clear All. Settings ▸ Capture ▸ Copy Text can turn keeping it off entirely, for when a grab should be copied and forgotten
  • Search moved into the History window's title bar, where a Mac window keeps it, making room for the new segment
  • Any capture you already have can be read the same way: the text button on a quick-access thumbnail or a History card copies that capture's text
  • Nothing is saved, uploaded, or added to your history by a Copy Text grab — like the color picker, it reads the screen rather than capturing it
  • Copy Text in the annotation editor: pick the text tool from the tool strip, drag a box over part of the capture, and whatever text is inside it goes to your clipboard. Useful when only one line of a screenshot is worth having — an error code, a URL, a serial number — and copying the whole thing would mean deleting most of it again
  • Auto-Redact (pro): the shield in the annotation editor (⇧⌘R) reads the capture and covers the email addresses, card numbers, keys, tokens, passwords and phone numbers it finds — before you send it to anyone
  • It runs on your Mac, lands as a single ⌘Z, and tells you exactly what it covered, so disagreeing with it takes one keystroke. Card numbers are checksum-verified, so order numbers and timestamps aren't mistaken for them, and git SHAs, UUIDs and SCREAMING_CONSTANTS are left alone
  • Settings ▸ Capture ▸ Auto-Redact picks what to look for and whether to pixelate, blur, or lay a solid bar over it. IP addresses are off by default — a developer's screen is full of them
  • Trim recordings: the scissors on a recording's card — in the overlay or in History — opens a trim window. Cut the fumbling at the start and the "did it stop?" at the end without recording the whole thing again
  • The recording plays in the window with a filmstrip under it: drag the two handles to set what to keep, click anywhere on the strip to scrub, and the part being thrown away dims as you go. Space plays and pauses, I and O set the handles at the playhead, ← → step a frame (hold ⇧ for a second), Return trims
  • Playback stays inside the kept range, so what you hear is what you'll get. The button says exactly how long the result will be
  • The trimmed recording replaces the original in History, keeping its place, and the original goes to the Trash — so a cut that took too much is recoverable. GIF, animated PNG and WebP exports run off the trimmed master afterwards, which is the order you want anyway
  • Animations trim too: the scissors on a GIF, animated PNG, or animated WebP opens the same window and cuts the animation itself, frame by frame — no going back to the recording it came from and exporting again. The window steps through the real frames at their real speed, and the readout counts frames rather than seconds, because frames are where a cut can land
  • Highlight clicks in recordings, in Settings ▸ Capture ▸ Recording: a ripple appears where you click, so a demo is followable instead of "something moved". Off by default, with a color well and three sizes
  • The ripple is drawn into the recording only — your screen is untouched while you work, and it works for window recordings, where an on-screen overlay wouldn't be captured at all. Nothing is drawn while you aren't clicking, so an ordinary recording costs exactly what it did before
  • Right- and middle-clicks ripple a little smaller than a left click, and a click outside the recorded area (or on Magpie's own recording chip) never ripples
  • Pin to Screen: press ⌥⇧P, or use the pin button on a thumbnail or a History card, and the capture floats above everything else until you close it. Retype from it, compare against it, keep a reference in view while you work in another app
  • A pin never takes focus. Clicking or dragging one doesn't interrupt what you are typing into, and it follows you across spaces and over full-screen apps
  • Pins stay out of your own screenshots and recordings, and out of any screen you share — your reference material stays yours. There is a setting if you want the opposite
  • Drag it anywhere, scroll to resize it around the pointer, double-click to flip between actual size and fit, and hold ⌥ and scroll (or use the toolbar) to make it see-through
  • Hovering a pin brings up copy, save, annotate, drag-out, upload, opacity, click-through and close. Esc closes the one under the pointer
  • Click-through turns a pin into something you can work straight through, for tracing or comparing. The menu bar lists every pin and hands interaction back, so one can never be lost behind that
  • Pins last for the session. Quitting clears them; the captures are still in your history
  • Hide desktop icons, in Settings ▸ Capture: screenshots and recordings that show the desktop come out with your wallpaper and none of the clutter on it
  • Your actual desktop is untouched while it happens — no icons vanish from under you, Finder is not restarted, no windows are closed, and nothing has to be put back afterwards. Only what Magpie captures changes, and only while the setting is on. It applies to area, fullscreen, scrolling, and recording alike
  • Capture History can now be cleared out by hand. The trash button beside Refresh deletes captures older than 7, 30, or 90 days, or the whole history at once — for when a run of captures has served its purpose and you don't want to wait for the retention settings to catch up
  • A clear-out goes to the Trash rather than deleting outright, so you can get it back until you empty it. The automatic retention prune still deletes as it always did, because filling the Trash with everything it pruned would defeat the point
  • Every option says exactly how many captures it will take before you confirm, and an option that covers nothing is greyed out rather than hidden — so the window tells you there is nothing that old instead of leaving you guessing. Picked colors are never touched; the Colors segment keeps its own Clear All

Improved

  • The paid features have a name. Settings ▸ License now reads "Magpie Pro" rather than a bare "Licensed", the trial says how much of the Pro trial is left, and the upgrade prompts say what a purchase buys — matching the PRO badges that were already on the locked menu items
  • Recording as GIF, animated PNG, or WebP now shows one thumbnail — the animation you asked for — instead of that plus the MP4 master beside it. The master is still kept in Capture History, where it can be trimmed and re-exported
  • Capture History shows bigger thumbnails. The hover action bar had outgrown the cards — with Copy Text, Pin and Trim added it hung off both edges — so the cards are wider than the bar again, and the bar is centered on the thumbnail rather than tucked into a corner
  • The History search field no longer draws its own box inside macOS 26's toolbar capsule
  • Quick Look in Capture History stays up as you move around: with the preview open, ← and → walk the captures and ↑ and ↓ move a row, the way Finder's does. The grid takes the same keys with the preview closed, and the selection scrolls into view
  • The trim window's handles are easier to grab. Each one straddles the end it marks, so half of it used to sit outside the strip with nothing behind it — the right-hand handle, pressed up against the window's edge, was nearly impossible to catch. The strip now sits in from both ends, and aiming slightly past either end still grabs the handle there

Fixed

  • Scrolling capture kept far too little of pages that animate. It judged each seam by how much of the whole overlap matched, so a sticky header and a hero that animates — content that cannot line up at any offset — outvoted the part that did: on getgrav.org a pixel-exact seam scored below the bar and was thrown away, and the capture came back as a single screenshot of the first screen
  • A seam is now judged by how many rows line up and by how far that beats the next-best alignment, and a match that lands where the scroll was aimed counts as corroboration. Pages whose backgrounds are in constant motion stitch where they used to give up
  • Scrolling capture now recognizes sticky headers and footers as they actually are on real pages. It used to demand that chrome rows be pixel-identical between frames, and real chrome never is: a translucent bar has content ghosting through it, a header that is transparent at the top of the page reads as nothing against the first frame, and a bar that animates over itself — getgrav.org's Premium banner twinkles sparkles — is never still. Chrome is now judged by how broadly a row changed rather than how much in total (scrolled content is the only thing that changes broadly and strongly), and every consecutive pair of frames gets a vote, so all three kinds are caught. Undetected chrome was fatal twice over: the sticky rows agree perfectly when the frames aren't aligned and can't agree when they are, so the right seam lost to the wrong one and the capture gave up after one screen — and a missed footer was stitched in again at every seam
  • A detected sticky header appears once, at the top of the capture, and is ignored from then on; a sticky footer is held out of every seam and stitched on once, at the very end — instead of being repeated at every join
  • Chrome that only becomes readable mid-capture — a bar that slides in a few screens down, a header that settles late — is re-read at every seam and adopted on the spot, and any footer rows that leaked into the image before it was recognized are trimmed back out
  • The shift the scroll was aimed at is now always evaluated as a seam candidate. Candidate shifts used to be nominated purely by correlating per-row brightness, which is blind on a page whose rows all average out to the same tone — getgrav.org's full-screen particle hero exactly — so the pixel-true seam was never even measured while arbitrary ones were. Verified against captured frames of the real page: every seam of the front page now either stitches or is confidently recognized as a pinned section
  • Content that repeats down a page — identical cards, tiled sections — lets a wrong alignment score exactly as well as the right one, and no amount of agreement can break the tie. The tie now goes to the shift the scroll was aimed at, and a strongly-agreeing seam at that shift is trusted even when a repeat ties it
  • A section that pins while it animates (scroll-jacked marketing pages) is recognized as "didn't move" instead of being mistaken for a broken seam, so the capture scrolls on through it rather than giving up. The end-of-page call now tells the two cases apart: frames that come back pixel-identical still end the capture after five, but frames that keep animating without moving — a pinned showcase playing out, which on getgrav.org swallows six-plus scroll steps in a row — get twelve before the capture concludes the page is done
  • The moment a section engages its pin no longer ends the capture. Pinning mid-step moves the page a partial amount nothing can verify, and the frame the stitcher was matching against drifts permanently out of reach — but consecutive captures still agree with each other that nothing is moving, and that reading now converts "stitching became unreliable" into "pinned, keep going"
  • Something animating through the capture no longer poisons it. getgrav.org's Premium banner slides in a few seconds after the page loads — a frame catches it mid-slide, becomes the stitching anchor, and every later seam fails against that half-painted band: three frames, then "stitching became unreliable". A seam like that can never be verified after the fact, but the second look at it proves the page has settled, and its best alignment landed exactly where the scroll was aimed — so the capture stitches on that, once, and re-anchors on a clean frame instead of dying at the moment a banner arrived
  • A capture that stopped early made the quick-access pile deaf again: its note wrapped to two lines, the pile grew taller than the panel measuring it, and the overflow — split top and bottom by the hosting view — pushed the Close All chip above the window frame, where it draws but can never be clicked. The note stays on one line now (full text in the tooltip) and every card keeps the same height, so the panel measurement is honest again
  • A failed upload no longer fails silently. The error alert needed a key window to present, and a menu-bar app whose panels never take key rarely has one — so the "Uploading…" card was dismissed and the only symptom was a clipboard that never got its link. The card now stays and says what went wrong (credentials rejected, quota full, file too large, network down), with the full message in its tooltip
  • One scroll that moved nothing is no longer taken for the end of the page. A hero pinned to the viewport, a section that loads as you reach it, or a page still laying out all swallow the first scrolls and then behave — the capture now waits for three before concluding it has reached the bottom
  • Frames that were captured before a capture stopped early are kept rather than discarded, which is why a capture that visibly scrolled could still come back as one screen
  • A seam that can't be trusted is now re-shot from the same place instead of scrolling on. Scrolling past it was fatal: one more step and the frames no longer overlap at all, so the seam could never be recovered
  • The scroll step steers itself. A page with momentum, or one releasing a pinned section, moves further than it was asked to, and a step that overshoots the frame leaves nothing to stitch against; the next request is aimed by what the last one actually achieved
  • A scrolling capture that stopped early now says so on its thumbnail — "Nothing scrolled", "Stitching became unreliable" — instead of handing back a short image that looks like the whole page
  • Previewing a recording (space on a thumbnail) crashed Magpie. SwiftUI's video player aborts the app on macOS 26 the first time it is built; the preview now uses AppKit's, which has the same transport controls
  • The quick-access pile now takes the first click. Its panel deliberately never steals focus, and a plain hosting view swallowed the first press whenever Magpie wasn't frontmost — which, for a pile of thumbnails, is always. "Close All" and every card button respond on the first click again

v1.5.1

Build 14

Fixed

  • The quick-access thumbnails now follow you to another display reliably, instead of sometimes staying put until you clicked something. Taking a capture and moving to the other monitor straight away was enough to strand them: the overlay compared where your pointer was against where it last thought your pointer was, so one early reading taken before the pile had finished appearing left it waiting for a move that had already happened. It now compares against where the pile actually is, so it corrects itself within a quarter of a second however you got there
  • Brushing the menu bar of a second display no longer convinces Magpie your pointer has moved to the primary one. The very top row of pixels counted as being on no display at all, and the overlay fell back to whichever screen held the frontmost app — which, for a menu-bar app you reach for constantly, was a good way to send the thumbnails to the wrong monitor and keep them there
  • The overlay checks twice as often, so following the pointer across displays keeps up with you rather than trailing behind

v1.5.0

Build 13

New

  • Color picker, free for everyone: press ⌥⇧C and the magnifier follows your cursor anywhere on screen. Click a pixel and its color goes straight to the clipboard
  • Nine output formats to copy in — HEX (upper, lower, no prefix), RGB, RGB %, RGBA, RGBA %, HSL and HSLA — chosen in Settings ▸ Capture, or switched with the space bar without leaving the picker
  • Hold ⇧ and scroll to zoom the magnifier while you are aiming, in the color picker and in area selection alike. It sticks, so the zoom you settle on is the one you get next time
  • Hold ⇧ while clicking to keep picking, so a whole palette can be read in one pass; the arrow keys nudge the pointer a pixel at a time (ten with ⇧) for hairline borders
  • The last eight colors sit in a strip in the menu; click one to copy it again
  • Capture History has a Colors segment with every pick, searchable, with the format switchable across the whole list at once — a palette picked as hex can be copied out as CSS without re-picking anything

Improved

  • The magnifier is quieter and more precise everywhere it appears, area selection included. The hairline cross through it is gone, replaced by a single square that fits the pixel under the cursor exactly, so there is no doubt which pixel you are on
  • The square is drawn in black over a light pixel and white over a dark one, so it is legible on any background without the white-over-black double stroke that used to make the magnifier the loudest thing on screen. The ring around the magnifier is now a plain neutral grey that never changes
  • The magnifier snaps to the pixel grid, so the square sits still in the middle while the magnified image steps under it. It used to drift around the centre as you moved, because the image slid smoothly while the square could only land on whole pixels
  • At the edge of a display the square keeps following the pixel under the cursor, rather than staying pinned to the middle of the magnifier
  • The magnifier zooms in twice as far as it used to, so individual pixels are big enough to aim at, and Settings ▸ Capture now has a zoom control (6× to 40×) if you want more context or more detail
  • Fixed the magnifier showing a blank window instead of what is on screen, and the window underneath visibly flashing, when the app being magnified draws on the GPU — terminals especially. It affected area selection, the measure tool, and guides, and was worst when the app was the active one
  • Fixed the pointer coming back on top of the magnifier part-way through a color pick or an area selection, and staying there. Moving over a text field or a link makes the app underneath assert its own cursor, which overrode Magpie's; the magnifier now notices within a twentieth of a second and puts it away again
  • Fixed the quick-access thumbnail looking soft for a capture much wider than it is tall. The preview is cropped to fill the card, so a wide, short grab was being blown up from a few dozen pixels of height; it now asks for as many pixels as the card actually needs
  • A capture smaller than the thumbnail that shows it now draws with hard pixel edges rather than being smoothed into a blur, in the quick-access overlay and in Capture History
  • The first screenshot after Magpie has been sitting idle is no longer slower than the ones after it. macOS was napping the app between captures, so the first hotkey press spent its time waking the process up rather than capturing — measured at roughly twice the round trip of a warm capture
  • The magnifier appears more than twice as fast on a multi-display Mac. Each screen's magnified image used to re-ask the system for the same window list before capturing; it is asked once per selection now
  • In the color picker the magnifier now sits on the pointer and replaces it, so the pixel you are picking is the one directly under your hand rather than something to read off a loupe alongside. Area selection keeps it beside the pointer, where it does not cover the edge you are dragging toward. Each has its own position setting — Settings ▸ Capture, under Screenshots and under Color picker

v1.4.0

Build 12

New

  • Shortcut styles in Settings ▸ Shortcuts: keep Magpie's ⌥⇧ keys, or pick "macOS keys" and Magpie takes over ⇧⌘3, ⇧⌘4 and ⇧⌘5 (plus ⇧⌘6 for window capture), switching off macOS's own screenshot shortcuts so the keys you already know open Magpie instead. Switching back, or Reset to Defaults, hands them straight back, and only the keys Magpie switched off are ever restored
  • First launch now asks which shortcut style you want, right after the permissions step
  • Capture History has its own shortcut, ⌥⇧H by default, and is configurable like the rest

Improved

  • Reset to Defaults now restores every shortcut, not just the capture ones, and gives macOS its screenshot keys back at the same time

v1.3.1

Build 11

Improved

  • Checks for updates shortly after launch. Previously the first automatic check could be a day away, so a new install would sit on an old version

v1.3.0

Build 10

New

  • Guides (pro): persistent alignment guides over the whole desktop, xScope-style (⌥⇧G). Click places a horizontal or vertical guide (Space flips), ⇧ snaps to detected edges, drags move, Delete removes, and distance badges read between parallel guides — then they stay visible over every app, click-through, and never appear in captures or screen sharing
  • Measure tool in the annotation editor (pro): sweep across an element and a dimension line snaps to the edges it crosses with a live px label; ⇧ measures the raw drag, endpoint handles stretch it, and it renders into the exported image
  • What's New window: the changelog in a native window, from the menu — and shown once automatically after each update

v1.2.0

Build 9

New

  • Measure (pro): a PixelSnap-style on-screen measurement tool (⌥⇧M). Move the cursor and rays snap to the nearest detected edges with live pixel distances; drag a loose box and it snaps tight around whatever is inside
  • Click locks a measurement, ⇧-click keeps several on screen at once, Delete clears them, C copies the value, and ⌥ flips between pixels and points
  • Measure settings: edge-detection tolerance and a pixels/points unit picker, plus a recordable shortcut

v1.1.2

Build 8

New

  • Reset to Defaults button on the Shortcuts settings tab

Improved

  • Scrolling capture: the region confirms on mouse-up, with a marching-ants border and quieter margin handles
  • The recording setup panel morphs into the live recording chip
  • Animated the app's remaining hard-cut transitions

v1.1.1

Build 7

New

  • Always-available Permissions… item in the menu, for reviewing screen-capture permissions any time

v1.1.0

Build 6

New

  • Magnifier (loupe) annotation tool, with per-ring move and resize handles and a single arrow connector from lens to source
  • Backdrop for annotated captures: padding, background, rounded corners, and shadow
  • Fill styles and rounded corners for rectangle and ellipse shapes
  • Recording format panel and quick-look preview

Improved

  • Freehand and highlighter strokes smooth themselves when you release
  • Each annotation tool remembers its own style

v1.0.3

Build 5

Improved

  • Press Escape to cancel a window selection

v1.0.2

Build 4

New

  • Magpie Cloud: built-in hosted uploads with one-click public share links, toggled in Settings

Improved

  • Selection overlay: smooth hairlines, a loupe ring that stays visible on light backgrounds, arrow cursor, faint drag dim, and throttled rendering
  • Selection crosshair defaults to None (the system cursor)
  • Window pick: true front-to-back z-order and a rounded highlight
  • Window pick can capture Magpie's own content windows
  • Tidied the History capture-limit row in Settings

v1.0.1

Build 3

New

  • Selection crosshair option: full-screen hairlines or a compact cross

Improved

  • Capture over Spotlight, Raycast, and open menus without dismissing them
  • Window pick highlight is a clean accent wash, no border
  • Capture and annotation polish from the first round of 1.0 feedback
  • Brand pass: the magpie mark in-app and in the menu bar, with the green accent applied throughout

v1.0

Build 2

New

  • Still captures: area, window, fullscreen, scrolling, and timed screenshots, with global hotkeys
  • Screen recording of an area, a window, or the full screen to MP4, plus Record as GIF
  • Export engine: GIF, APNG, and animated WebP for recordings; WebP and AVIF stills with opt-in optimization
  • Annotation editor with a live info cluster: color under the cursor, image size, and zoom
  • Scrolling capture that stitches a long page into one image
  • Quick-access thumbnail stack with drag-out, and a capture history browser
  • Uploads to your own storage: S3-compatible and SFTP destinations with share links
  • Permissions checklist onboarding
  • 14-day full-feature trial, and screenshots stay free forever after it ends