Every desktop release, from the same stream the app’s own updater reads. All releases on GitHub.
SnapBuddy 0.9.0
v0.9.0
# SnapBuddy 0.9.0
The full redesign, on every surface.
## Appearance
- Light theme and dark theme, with a system option that follows Windows. Dark stays the default;
nothing changes until you choose.
- Six accent colours: blue, indigo, teal, slate, violet, magenta. Pick them in Settings under
Appearance. Every colour pair was measured against WCAG 2.2 AA in both themes.
- Inter is the app's typeface, bundled with the app. Numbers use tabular figures everywhere, so
timers and durations stop jittering.
- Real icons replace the old emoji glyphs across the board, the recorder, the settings and the
editor. Status selects use plain words; the colour cue lives on the badges.
## The annotation editor
- The thirteen tools regroup into Mark, Hide and Sequence, with Move standing alone. The Hide
band (redact, blur, pixelate) is visually set apart: those tools change what leaves your
machine, and now they look like it.
- Keyboard order follows the groups, and the unsaved-work dialog returns focus correctly.
## Recording
- The pill shows what it is recording (screen, window or region) and says PAUSED in words, not
colour alone.
- Discard now needs a hold, so a slip of the mouse cannot destroy a take. Stop stays a single
click.
- The consent warning beside System audio wraps properly and remains exactly as blunt as before.
## Fit and finish
- Every window proves itself at its real size, including the 460x560 recorder and the 720x520
board minimum.
- Shortcut chords like Ctrl+S no longer trigger in-app captures over the OS shortcut.
- Small "i" markers explain the few controls whose labels cannot carry everything, without
replacing any warning.
- Motion is subtle, consistent, and switches off entirely under Windows' reduced-motion setting.
SnapBuddy 0.8.0
v0.8.0
# SnapBuddy 0.8.0
The release that makes the privacy notice true. v0.7.0 was tagged eleven hours before the trash was
written, so every installed copy has been deleting permanently while the published notice promised
ninety days of recovery. This closes that.
## Deleting is now recoverable
- **Trash.** A deleted capture moves to the trash and stays recoverable for 90 days instead of
vanishing. Restore puts it back where it was, with its share link intact.
- **Delete shown** clears everything currently filtered on the board in one action, rather than one
card at a time.
## Crashes no longer cost you the take
- A recording rescued after a crash now reaches the board **even when it gets there before the board
does** — previously that race left the file orphaned.
- A crash no longer leaves behind a file you can neither see nor delete.
## Bug reporting
- **Repro steps write themselves.** The interaction track is turned into numbered steps, so a bug
report arrives with what was actually clicked instead of "it broke".
- **Sharing controls in Settings** — what leaves your machine is now something you set, not something
you discover.
## Fixes you will notice
- Saving a PNG no longer produces `shot.png.png` when you type the extension yourself.
- A trim now moves **everything** that describes the footage — annotations and markers stay on the
frames they were drawn on, instead of drifting by the length of the cut.
- The share link waits for its card, so copying it immediately after a recording no longer hands you
a link to nothing.
- A double-click on the board stays one gesture instead of firing twice.
- The annotation editor is a real dialog: announced to screen readers, focus trapped inside it, and
focus returned to where you were when it closes.
## Cloud (early)
Recordings can upload to Cloudflare Stream and screenshots to R2, producing a share link that
unfurls properly in Slack, Teams and Discord. This is new and still being proven — **a shared
recording does not yet play in Chrome**, which is the next thing being fixed. Screenshots are fine.
---
Windows only. macOS and Linux have never been built.
SnapBuddy 0.7.0
v0.7.0
# SnapBuddy 0.7.0
The annotate editor is rearranged, cards can be named and saved in the format you
choose, and the saved `.md` now describes what you marked up.
## The editor looks different
The tools moved **below the picture**, where your hand already is after drawing.
Colours stay on top, next to the new file name and format controls. Undo, redo, clear
and the save buttons sit under the tools.
- The tool row is a grid now, so the labels line up and it reflows sensibly when the
window is narrow.
- **Close is an X in the top-right corner** instead of a button below the fold.
- The picture is capped a little shorter, because with controls above *and* below it,
"Save annotation" used to fall off the bottom of any window under about 1100px tall.
## Name your files, and pick the format
There is a name box and a format picker at the top of the editor. Both stick to the
card, so **Save files**, **Save as** and auto-save all write the same name and the same
format. Leave the name blank and you get the generated one as before.
PNG, JPEG or WebP.
## Ctrl/Cmd+C copies what is on screen, mid-edit
You no longer have to save first, or reach for the button. Draw the thing you want to
show someone and press Ctrl+C. Right-click on the picture still works too. Typing in the
prompt box or the hex field still copies that text, as you would expect.
## The saved .md is worth pasting into a ticket now
It used to be *worse* than what "Copy prompt" put on your clipboard — no repro
scaffold, no annotations. Both assemblers are one thing now, so the file gets everything
the clipboard does, plus:
- **What you marked up**, in words: `- **arrow** (red) at 62%,40% -> 71%,46% - "this 404s"`.
Positions are percentages, so they still mean something at any resolution. Video marks
carry their time window.
- **Screenshot annotations are kept as data.** They used to be flattened into the picture
and thrown away.
- **YAML front matter** at the top, so a script or an agent can parse the card instead of
reading around it.
- The image link now names the file that was actually written, which it did not once you
could rename a card or save it as a JPEG.
## Fixes
- **Saving no longer overwrites an earlier card.** There was no existence check at all.
Harmless while every name was a timestamp; the moment you can type "bug" twice it
destroyed the first card's picture *and* its notes. Now you get `bug (2)`.
- **Non-Latin file names work.** Every Cyrillic, Greek, Japanese or Chinese name used to
collapse to the literal word `capture` — so with the bug above, every save landed on
the same two files. `грешка на дугмету` is now `грешка на дугмету`.
- **The Recordings folder setting actually works.** Pointing it at another drive left
every new recording unplayable in the lightbox, while trim, GIF and burn-in all
succeeded — so it read as a broken file rather than a blocked path.
- **Naming a card no longer writes to a different card.** Annotating a screenshot, then a
recording, seeded the name box from the screenshot and saved back to it.
- **"Copy prompt" reports the right card.** On a recording it also names the duration
again instead of calling it a note.
- **A recording's redactions are no longer given away.** On a video, a redact is drawn
over the player rather than burned in — the pixels stay in the file — and the `.md`
was printing the exact coordinates next to the filename. It now says the redaction is
cosmetic and points at "Burn in".
- **Ctrl+C no longer overwrites your clipboard from the board.** The editor's shortcuts
kept firing after it closed.
- **"System audio" now says what it does** — it records everyone else on a call, and
their meeting app will not show a recording indicator.
- Share links are no longer written into the log file, which is the file you attach to a
support ticket.
- Generated text is plain ASCII, so the `.md` stops rendering as `# QA card — OPEN` in
older Windows tools. Your own notes are left exactly as you typed them.
## Under the hood
The 60-check browser harness now runs under a real controlled browser and finished in
4.5 seconds instead of appearing to hang, and there are screenshot baselines for the six
states that have actually broken before. It went from 60 checks to 73, plus 8 on the
extension and 6 pictures.
SnapBuddy 0.6.7
v0.6.7
SnapBuddy 0.6.7 — the first build shaped by real hands-on testing.
Everything here came out of actually using 0.6.6 rather than testing it. Updates itself from
0.6.0 or later.
### Trimming now keeps what you trimmed
Trim has never once worked. You could set the handles, press Trim, watch the trimmed copy play
back correctly — and then nothing you pressed did anything, because the app had already thrown
away the result a fraction of a second earlier. Loading the preview quietly reset the very state
the buttons needed. "Replace original" was just as dead as everything else.
A trim now becomes **its own card**, marked with a red *✂ Trimmed* badge, and the recording it was
cut from is left alone. Closing the preview keeps it rather than discarding it — there is an
explicit **Discard trim** if that is what you meant. **Replace original** is still there for
overwriting the source, but it is no longer the default button, because it is the only one that
cannot be undone.
Any timed annotations move with the cut instead of being dropped or left pointing at the wrong
moment.
### Exact trim times, and handles that tell the truth
You can type the start and end directly — `4.5`, `1:02.5`, `62.5` all work. Handy when you know
the moment you want and dragging to it is fiddly.
The handles themselves were honest all along but *looked* like they could not reach the ends: the
value really was 0 while the handle sat slightly inside the track, and the bar never filled at the
end. On a trim that matters — you cannot tell whether you are about to clip a frame. They now
reach both edges.
### Move works on every annotation
Arrow-with-text could not be moved by grabbing its label, only by the arrow itself. Every
annotation can now be dragged by any part of it.
### The camera
Not mirrored any more by default. The preview used to be flipped while the *recorded* video never
was, so you framed yourself against something different from what came out. There is a **Camera**
section in Settings if you prefer the mirrored view — it only changes what you see; the recording
is never mirrored either way.
The bubble is also a proper circle now, and you can drag it where you want it. It was a filled
square that ignored being dragged.
### A folder setting for recordings
Recordings, GIFs, trims and burn-ins have always gone to `Videos\SnapBuddy` with no way to change
it — separate from the card folder, which caused some confusion about where a GIF had gone.
There is now a **Recordings folder** setting. Leave it empty to keep the current location.
Changing it does not strand anything you have already recorded.
### Smaller things
- Messages like "GIF saved" appeared *behind* the preview window and were unreadable.
- Saved paths no longer start with `\\?\`.
### Known issues
- The webcam bubble has now been seen working, but background blur and replacement are not built.
- Recording more than one monitor at once is still not supported: one monitor, one window, or a
region of one monitor.
- Cloud upload remains groundwork only — off by default, no settings screen, storage not
connected.
If something misbehaves, `%APPDATA%\com.snapbuddy.desktop\logs` holds the current and previous run.
SnapBuddy 0.6.6
v0.6.6
SnapBuddy 0.6.6 — two things you asked for, and one deliberate change of habit.
Updates itself from 0.6.0 or later.
### Saving a card now asks you where
This is the change you will notice first. Until now **Save files** wrote straight into the
folder in Settings and told you afterwards. It now opens a normal Save As dialog, so a file
never lands somewhere you did not pick. The notes travel with the picture: the `.md` sidecar is
written beside the image, under the name you chose.
If you liked the old behaviour, it is still there — Settings → *Save straight to the folder
above, without asking where*. It starts **off** after this update, including on an upgrade,
because files appearing unasked is the thing being fixed. Auto-save-on-every-card is unaffected
and still writes to the folder; it is its own opt-in and prompting on every card would defeat
the point of it.
### Delayed capture
A **delay** control (none / 3s / 5s / 10s) sits next to the capture buttons. Set it, click
Screen, Region or Window, and you get that long to open a menu, hover a tooltip, or get the
window into the state you actually want to photograph. It applies to all three capture buttons
— setting a shot up is not something one of them does differently.
It does **not** apply to the tray menu or the global hotkeys, on purpose. Those exist to grab
something instantly, and a hotkey that quietly does nothing for five seconds reads as a broken
hotkey, not as a feature. Clicking a second time while the countdown is running is refused
rather than queued.
### Known issues
Unchanged from 0.6.5, and worth repeating:
- The webcam bubble has still never been tested against a real camera.
- Recording more than one monitor at once is still not supported: one monitor, one window, or a
region of one monitor.
- Trim, GIF export and annotation burn-in have had very little hands-on use.
- Cloud upload is still groundwork only — off by default, no settings screen, and the storage
backend is not connected. This build behaves like 0.6.5 unless you configured it by hand.
If something misbehaves, `%APPDATA%\com.snapbuddy.desktop\logs` holds the current and previous
run.
SnapBuddy 0.6.5
v0.6.5
SnapBuddy 0.6.5 — a plumbing release.
Nothing here changes what the app looks like. Updates itself from 0.6.0 or later.
### Updates will now replace the bundled ffmpeg
The installer skipped files that already existed, which meant an update could leave the OLD
ffmpeg in place underneath new code. It has never actually bitten, because the bundled ffmpeg
version has not changed since it was introduced — but the first time it did, recordings would
have started failing for a reason nobody would have guessed at. The installer now clears it
first, and the app writes which ffmpeg it found into its log at every launch, so a mismatch is
one line instead of a mystery.
### Groundwork for cloud uploads
The app can now register a finished recording with a SnapBuddy web account and get a share link
back. It is off by default, has no settings screen yet, and cannot upload the video itself —
the storage backend is not connected. Nothing is sent anywhere unless you configure it by hand,
and this build behaves exactly like 0.6.4 until you do.
### Known issues
- The webcam bubble is still untested against a real camera.
- Recording more than one monitor at once is still not supported: one monitor, one window, or a
region of one monitor.
- Trim, GIF export and burn-in have had little hands-on use. If something misbehaves,
`%APPDATA%\com.snapbuddy.desktop\logs` holds the current and previous run.
SnapBuddy 0.6.4
v0.6.4
SnapBuddy 0.6.4 — fixes the freeze.
One fix, and it is the important one. Updates itself from 0.6.0 or later.
### The app no longer locks up after a capture
Taking a region capture — and sometimes a window capture — could leave SnapBuddy unresponsive.
Once it happened, nothing else worked either: the buttons did nothing, the hotkeys did nothing,
and Windows eventually offered to close it.
The cause was that opening the region overlay ran on the same thread that keeps the window
responsive, and it then waited for that thread to do something else first. It was waiting for
itself. Those operations now run off that thread, which is where the rest of the app already put
them.
If you hit this before: nothing was lost. Recordings are written as you go, and any recording
interrupted by killing the app is rebuilt the next time SnapBuddy starts.
### If it ever happens again
SnapBuddy keeps a log at `%APPDATA%\com.snapbuddy.desktop\logs` — the current run and the previous
one. It is written as things happen, so it survives a freeze and the restart afterwards. That
folder is what to send; it is what identified this bug.
Everything else is unchanged from 0.6.3.
SnapBuddy 0.6.3
v0.6.3
SnapBuddy 0.6.3 — blur and pixelate now export too.
A small release. Updates itself from 0.6.0 or later; installs of **0.5.0 or earlier still need a
manual reinstall**.
### Burn in is complete
**⬓ Burn in** already wrote a shareable copy with your boxes, arrows, text and step numbers baked
into the picture. It skipped blur and pixelate, and told you so. Now it does those too.
They work differently from the rest, and better: a blur is recomputed on every frame rather than
stamped once, so it **tracks whatever moves underneath it**. If you blur a credential on screen
and the page scrolls, the blur follows the content instead of sitting in the wrong place.
Everything else is unchanged from 0.6.2.
### Known issues
- The webcam bubble is still untested against a real camera — there is no camera on the machine
this is built on.
- Recording more than one monitor at once is still not supported: one monitor, one window, or a
region of one monitor.
- Trim, GIF export and burn-in remain lightly used. If something misbehaves,
`%APPDATA%\com.snapbuddy.desktop\logs` holds the current and previous run.
SnapBuddy 0.6.2
v0.6.2
SnapBuddy 0.6.2 — annotate a recording, and choose when each mark appears.
Updates itself from 0.6.0 or 0.6.1. Installs of **0.5.0 or earlier still need a manual reinstall**
— they predate the signing key rotation and cannot verify newer builds.
### Timed annotations on recordings
Open a recording, pause where you want to make a point, and press **✏ Annotate here**. You draw on
the frame you are looking at, using the same tools as a screenshot — box, arrow, text, highlight,
step number, redact.
Each mark appears at that moment and stays for three seconds. Every annotation gets a row under
the player showing its window, with **in**, **out** and **always** to retime it against the
playhead, and **×** to remove it.
Nothing is written into the video. The marks live with the card, so you can retime, move or delete
them at any point — including long after the recording was made.
### Burn a copy for sharing
**⬓ Burn in** writes a separate `…annotated.mp4` with the marks baked into the picture, for
sending to someone who does not have SnapBuddy. Your original recording is untouched and stays
editable.
Blur and pixelate are not burned in yet — they read the pixels underneath, which needs different
handling. The export tells you if it left any out rather than dropping them quietly.
### A log file, for when something goes wrong
SnapBuddy now keeps a rolling log next to its settings, in
`%APPDATA%\com.snapbuddy.desktop\logs`. Two files: the current run and the previous one, so a
problem survives the restart that follows it. If the app ever stops responding, that folder is
what to send.
### Fixes
- The release tool reported a 38 MB installer as "0 MB". Cosmetic, but it sent people looking for
a corrupt upload.
### Known issues
- The webcam bubble is still untested against a real camera — there is no camera on the machine
this is built on. It reports a missing or blocked camera rather than showing a black circle.
- Recording more than one monitor at once is still not supported: one monitor, one window, or a
region of one monitor.
- Trim, GIF export and burn-in are new enough that they have had little hands-on use. If one
misbehaves, the log folder above will have something useful in it.
SnapBuddy 0.6.1
v0.6.1
SnapBuddy 0.6.1 — editing, shortcuts, and a fix that was hiding in plain sight.
If you are on 0.6.0 this updates itself. Installs of **0.5.0 or earlier still need a manual
reinstall** — they predate the signing key rotation and cannot verify newer builds.
### Fixed: the annotation toolbar was missing its colours
The colour swatches rendered as grey squares and the custom-colour picker stretched into a wide
bar across the toolbar. Every inline style in the app was being silently discarded by the content
security policy — the styles were correct, they just never reached the page. Recordings and
screenshots were unaffected, but the editor looked broken, and it was.
### Trim the ends off a recording
Open a recording and drag the two handles to set an in and out point. **Preview** plays just the
selection. Trimming writes a new file and plays it back for you — the original is not touched
until you press **Replace original**, and closing the window keeps the original.
### Export a recording as a GIF
One button in the player. Takes the first 30 seconds, uses a per-clip colour palette so flat UI
colours stay clean rather than turning to dithered mud.
### Rebindable shortcuts
Settings now has a **Shortcuts** section covering all six global hotkeys — capture screen, region
and window, start/stop recording, pause/resume, and copy last. Click a field and press the
combination. If a key is already claimed by another application, SnapBuddy tells you which key it
fell back to instead of leaving one that silently does nothing.
### Recording defaults
Settings now remembers whether the countdown, system audio and microphone start switched on.
Frame rate stays at 30 fps for now, so there is deliberately no control for it.
### Smaller things
- **Ctrl+Z / Ctrl+Y** (and Ctrl+Shift+Z) undo and redo in the annotation editor.
- **Space** pauses and resumes from the recording pill.
- The custom-colour picker is now the eighth swatch in the row, instead of a separate control.
- The webcam bubble no longer stalls for a second and a half when a recording stops.
### Known issues
- The webcam bubble has not been tested against a real camera — there is no camera on the machine
this was built on. It reports a missing or blocked camera in its own window rather than showing
a black circle.
- Recording more than one monitor at once is not supported yet; you can record one monitor, one
window, or a region of one monitor.
SnapBuddy 0.6.0
v0.6.0
SnapBuddy 0.6.0 — the recorder is here.
**This release must be installed manually.** The update signing key was rotated after 0.5.0, so
existing installs cannot verify this build and will not offer it. Uninstall 0.5.0 first, then run
the installer below. Updates from 0.6.0 onward work normally.
The installer is now ~49 MB (was 3.7 MB) because it ships an ffmpeg sidecar.
### Screen recording
- Record a monitor, a single window, or a drag-selected region.
- Pause and resume; the paused span is excluded from the recorded duration.
- System audio (WASAPI loopback) and microphone as independent toggles, mixed to one track.
- Webcam bubble: a draggable always-on-top preview, recorded as a separate track and composited
into the final MP4 at whatever position you left it. Toggle it on or off mid-recording.
- Crash-safe: an interrupted recording is rebuilt into a playable file on the next launch.
- Hardware H.264 with automatic fallback (NVENC → QuickSync → AMF → Media Foundation).
- Recordings land on the board as cards with a thumbnail, duration, and an in-app player.
### Capture and QA
- Cursor and click telemetry is written alongside every recording as a `.events.jsonl` sidecar.
- Every card carries an environment block — OS, app version, displays, locale, timezone.
- Copy-for-AI bundles the note, status, and environment into one paste.
### Controls
- Rebindable global hotkeys for capture, region, window, record, pause, and copy-last.
- Pre-record picker, floating recording pill, and a tray menu.
### Fixes
- Fixed a crash on every second recording in a session after any take that used the microphone.
- Fixed recordings coming out silent when system audio was selected.
- Fixed region recording, which never started and could strand a full-screen overlay.
- Escape on the recording pill no longer discards the take.
- Deleting a card now actually deletes the file, and cannot be tricked into deleting anything
outside the recordings folder.
SnapBuddy 0.5.0
v0.5.0
First self-updating build. From here SnapBuddy updates itself — no more manual reinstalls.
**Updates**
- `Check for updates…` in the tray right-click menu and in Settings.
- A quiet check runs a few seconds after launch and always asks before installing anything. A failed check stays silent.
- Updates are verified against an embedded signing key, install without a UAC prompt, and don't trigger SmartScreen. Only this first manual install does.
**Annotate fixes**
- Blur, pixelate and redact no longer erase annotations drawn before them — effects now always sit behind your boxes, arrows and text.
- The selected colour is visible at last: the active swatch is ringed and a chip beside the picker shows the current colour. Typed shorthand hex like `#abc` now works.
- Closing the editor with unsaved annotations asks **Save / Discard / Cancel** instead of silently discarding, and Escape is handled.
- A stray click on the editor backdrop no longer wipes your work — a drag that ends past the canvas edge used to do exactly that.