Scratch

Scratch

Changelog

Every release of Scratch, in one place.

0.1.0 — initial release

The first release of Scratch. macOS, Apple silicon.

First-run onboarding

  • Three-step setup on first launch: appearance, summon shortcut, dock visibility. Skip at any step and the walkthrough buffers still seed.
  • Five pre-loaded walkthrough buffers appear after setup: welcome, keyboard shortcuts, Markdown and slash commands, capture text (with a plain-language buffer about the screen-recording permission), and a pointer to settings. They behave like any other buffer.

The buffer

  • Single global hotkey (⌥Space by default) summons and dismisses the window from anywhere on macOS.
  • Always-on Markdown editor (CodeMirror 6) with live preview, slash commands, and GFM.
  • Cross-buffer search (⌘⇧F) over every buffer, plus in-buffer find (⌘F).
  • Local-only by design: buffers live as plain Markdown files in your application data folder. No account, no sync service, no server-side copy.
  • Choose where buffers are stored (Settings → General → Buffer location) — point it at iCloud Drive or Dropbox to sync across machines, with an optional copy of your existing buffers. Changes made by a sync client or another machine reflect live; only genuinely different content on disk counts as a change, so a byte-for-byte sync echo never raises a false alarm. If the open buffer changes on disk while you have unsaved edits, a banner lets you keep yours or take the other version.

Editor

  • Configurable font size, line height, tab size, line numbers, spell check, and cursor style.
  • Three built-in themes (Bone, Slate, Slate Brass) plus custom themes saved from any appearance state.
  • Density preset (compact, cozy, comfortable) and accent color (four presets or any hex).

Inline calculations

  • Lines that look like math get a live result at the end of the line — arithmetic, percentages, named variables scoped to a block, and x-as-multiplication between numbers.
  • Variables are italicized inline and autocomplete suggests them as you type (alongside sqrt, round, min, pi, and friends).
  • Unit conversion covers everything mathjs knows about (length, mass, time, area, volume, temperature, data). Use to or in between an expression and the target unit.
  • A faint dashed preview pill shows the result on the line you’re composing. Press Tab (or ⌘=) to bake the value into the buffer as plain text.
  • Local only. No network calls — currency conversion is intentionally out of scope.
  • The whole feature can be turned off in Settings → Editor → Inline calculations.

Intelligence

  • On-device rephrase via Apple Foundation Models. Off by default; enable in Settings → Intelligence. Requires macOS 26 on Apple silicon.
  • A floating pill appears above any text selection with four built-in tones (Tighten, Refine, Soften, Fix).
  • Up to six user-defined rephrase templates with a label and an instruction. Each one appears as a chip on the pill. The instruction is sent verbatim to the local model as a system prompt; nothing leaves the device.
  • One-off custom rewrites via the chat-bubble icon at the end of the pill — type a prompt, press Enter, and the rewrite lands in place. The instruction is discarded after use.

Window and system

  • Pin (always-on-top), opacity, and remember-bounds toggles.
  • Auto-hide on blur, quit on close, launch at login, start hidden, dock visibility, and menu-bar visibility.
  • Customizable shortcuts for summon, settings, new buffer, next/previous buffer, and delete buffer. Conflict detection in the shortcuts panel.
  • Menu-bar tray with quick access to summon, settings, and quit.
  • macOS trackpad swipe gestures move between buffers.

Export and capture

  • Export the current buffer as Markdown, or all buffers as a .zip of Markdown files.
  • Send the current buffer to Obsidian or Apple Notes.
  • Capture text from any region of the screen — Scratch reads the selection and drops the recognized text into the buffer.
  • Reveal buffers folder from the File menu or settings.

Command-line interface

  • A headless scratch CLI reads and writes the same buffers as the app. Nine commands (new, list, read, write, append, title, search, path, help), atomic writes, frontmatter preserved.
  • Honors the same buffer-location setting as the app, with SCRATCH_BUFFERS_DIR as an override. Works whether the app is running or not.

Updates and licensing

  • 14-day local trial with clock-rollback protection. After expiry, existing buffers remain readable; new edits require activation.
  • Activation via Ed25519-signed license key, pasted into Settings → Activation.
  • Auto-update via GitHub Releases, with manual check from Help → Check for updates.

Acknowledgements

  • Settings → About lists every third-party open-source project bundled with Scratch, with its version, SPDX license, and full license text. Generated at build time from the production dependency tree.

Privacy

  • Crash reports and usage metrics are off by default. Both are independent toggles in Settings → Privacy.
  • Buffer content is never transmitted. Crash payloads are limited to error name, truncated message, stack trace, Scratch version, OS version, and architecture.
  • Anonymous installation identifier (random UUID, persisted locally) is the only identifier sent.