Changelog
Every Halen release, newest first. View on GitHub for the full source-of-truth file.
v0.2.0
2026-05-23
Current
The first signed, notarized release. Drag-to-Install with no Gatekeeper warnings, ten built-in plugins, a first-run walkthrough, and auto-updates via Sparkle.
Added
- Notarized DMG distribution. Downloaded from this site or GitHub Releases, the DMG opens cleanly on a fresh Mac. No right-click → Open detour. No Settings → Security override. The .app inside is also notarized and stapled.
- Sparkle 2.x auto-updates. Halen checks for new releases daily, verifies update payloads with EdDSA, and installs them in place. Settings → About has a manual “Check for updates” button.
- First-run setup walkthrough. Three glassmorphic steps — Welcome, Choose plugins, Permissions — that runs on first launch and is re-runnable from Settings.
- Five new bundled plugins. Personal Style Guide (banned-words/preferred-terms), Clarity Checker (passive voice, run-ons, vague pronouns, dangling modifiers), Tone Profiles (per-app formal/casual hints), Email Reply (
⌃⌥Ein Mail / Outlook / Spark / Airmail / Mimestream / Canary), Inline Autocomplete (ghost text, Tab to accept). - Inline-underline overlay. Severity-tinted strip under flagged paragraphs, toggleable from Settings.
- Plugin Store window. Standalone window opened from the dropdown’s header button, ready for third-party plugins via JSON-RPC over stdio.
- Burnout Copilot and Meeting Prep are now out-of-process plugins. They ship in this repo under
plugins/and load via the same external-plugin path as any third-party plugin. - Streaming rewrite. Sentiment Guard’s rephrase action streams Gemma 4 output into the popover instead of waiting for the whole response.
- Default-off plugin set. Voice Dictation, Autocomplete, Style Guide, Email Reply, and Tone Profiles default to off on a fresh install; onboarding flips them on if you opt in.
Changed
- Dedicated classifier model. Tone scans now route through Qwen 2.5 0.5B (the
.classifiertier) instead of Gemma 4. Sub-100 ms warm latency. - Apple-style microcopy pass. All user-facing copy — onboarding, Settings labels, popover headlines, plugin summaries — shortened and simplified.
- Paragraph-classification settle 2.5 s → 1.0 s. Faster popovers while typing.
Fixed
- StyleGuide word-boundary correctness. Banning “form” doesn’t flag “format”; locked in by tests.
- Input-size guards. AskHalen, SnippetExpander, and the paragraph classifier all have explicit upper bounds to prevent pasted code/logs from blowing through model contexts.
- iCloud-synced repos can codesign. Build script stages to
/tmp/halen-build/when the parent directory is iCloud-managed.
Removed
- MLX backend moved off main. mlx-swift can’t compile its Metal shaders via
swift build, so the MLX path lives on themlx-activationbranch until an xcodebuild pipeline lands.
v0.1.0-alpha
2026-05-16
First public download. Ad-hoc signed (no Developer ID yet), so Gatekeeper blocks first launch and the user has to right-click → Open.
Added
- Seven first-party plugins out of the box: Ask Halen, Typo Fixer, Sentiment Guard, Voice Dictation, Snippet Expander, Burnout Copilot, Meeting Prep.
- Inference routing: Apple Foundation Models on macOS 26+, bundled Gemma 4 E4B on llama.cpp, Ollama on localhost.
- JSON-RPC plugin protocol — drop a script into
~/Library/Application Support/Halen/Plugins/and Halen picks it up.