// changelog

Changelog

What changed in each version of Snipstack, newest first. The app shows its version under Settings > About.

1.0.2

Added

  • Pair a phone (Settings > Sync, or the command palette): shows a QR code that connects the Snipstack phone app to the same database. The code contains your database token, is drawn only while the dialog is open and is never saved or logged.
  • Support links: a “Buy me a coffee” line in Settings > About and Support Snipstack in the tray menu.

Fixed

  • Windows: pasting from the quick-search window now lands in the app you were using, instead of the hidden search box.

1.0.1

The first public release.

Local library

  • Secure Electron shell: sandboxed renderer, context isolation, strict Content Security Policy, bundled fonts and assets, no remote content.
  • SQLite library (better-sqlite3, WAL) with bundled, forward-only migrations.
  • Full-text trigram search with Unicode folding; title matches rank above body matches; under 50 ms on 10,000 snippets.
  • Snippets with multiple fragments, folders, tags, favorites, Trash with restore, and {{variable}} templates.
  • Every input crossing from the UI to the main process is validated.

Sync with your own Turso database

  • Optional background sync through a Turso (libSQL) database you own, in a separate worker process.
  • Last-writer-wins per row with a hybrid logical clock; the losing version of a conflicting edit is always kept as a conflict copy, in both directions.
  • Remote schema migrated automatically after app updates; sync stops safely when a database was migrated by a newer Snipstack.
  • Auth token encrypted with the OS keychain, never shown, logged or written to settings; strict database URL rules.
  • Sync is tested with randomized multi-device runs that check no edit is lost.

Main window

  • Resizable three-pane layout: sidebar with smart views, folder tree and tags; virtualized snippet list; detail pane with CodeMirror editing.
  • Autosave (no Save button), language detection on paste, fragment tabs.
  • Variables panel and fill dialog with live preview; Copy and Copy rendered.

Speed features

  • Command palette (Ctrl+K / Cmd+K) for snippets, folders and every action.
  • Global quick-search hotkey (Ctrl+Shift+Space, Option+Space on macOS) with a rebind prompt when the hotkey is taken.
  • Optional paste into the previous app.
  • Tray with recent snippets and sync status; close to tray.
  • Keyboard shortcut cheat sheet (?).

Onboarding, sync, settings and data

  • First-run wizard: start locally or connect Turso (test, merge or replace, progress), with optional starter commands (about 120, platform-aware).
  • Sync status badge and popover (Synced, Syncing, Offline, Sync error, Local only), Sync now, and a reconnect flow for expired or unreadable tokens.
  • Settings: General, Editor, Sync, Shortcuts, Data, About; light, dark and system themes.
  • Versioned JSON export and import; collisions are kept as reviewable conflict copies.
  • Conflict review: keep this device’s version or the other version.
  • Start with the OS, hidden to the tray.

Installers and updates

  • Installers: Windows NSIS (x64, per-user), macOS DMG and zip (x64 and arm64), Linux AppImage and deb (x64).
  • Automatic updates on Windows and with the Linux AppImage, from the Snipstack downloads server, with a setting to turn them off. The deb and the unsigned macOS builds are updated by hand.
  • Local diagnostics: log file and “Copy diagnostics” with secrets redacted. Nothing is sent anywhere.
  • Builds are not code-signed yet; the download page documents the Windows SmartScreen and macOS Gatekeeper steps.