Releases: brianwestphal/apple-fm
Releases · brianwestphal/apple-fm
Release list
v1.2.0
Features
- Tool calling: the model can now invoke built-in
readandbashtools during chat, each gated by a per-call permission prompt. - Press Esc to interrupt an in-flight reply.
Fixes
- Hardened the
read/bashtools and the permission gate against untrusted model output, and tightened probe parsing. - Tool output is now capped to the on-device context window.
- Model-runtime errors (including context-window-exceeded, which now triggers a compaction retry) surface as clean, readable errors.
v1.0.1
Releases
No user-facing changes in this release.
v1.0.0
Features
- apple-fm now installs on any platform — non-macOS systems install cleanly and degrade gracefully instead of failing, while the on-device model remains available on macOS 26+.
- Helper binaries are now signed and notarized.
v0.1.0
First tagged release.
Added
- Swift
apple-fm-helper(--probe/--generate/--session) over an NDJSON
wire protocol, and a tested, zero-runtime-dependency Node layer. - CLI (
apple-fm):probe,generate(prompt or stdin;--system,--schema,
--stream,--temp,--max-tokens), and an interactivechatwith slash
commands (/reset,/system,/clear,/compact,/help,/quit). - Library API:
probe,generate,ChatSession,LiveSession, protocol
helpers, and types. - Native guided generation.
--schemacompiles a JSON Schema to a
GenerationSchema, so the model's output is guaranteed to conform (numeric
minimum/maximumenforced); structured output can also stream, as JSON
snapshots. - Persistent multi-turn chat.
chatreuses one on-device
LanguageModelSessionacross turns (KV-cache) instead of replaying the
transcript, and auto-compacts older turns near the context window.
Verified
- Smoke-verified on a macOS 26 / Apple Intelligence machine: probe, generate
(freeform / guided / streamed), guaranteed structured output, and multi-turn
chat.
Not yet done
- An automated on-device test in CI (AF-2) and the signed + notarized release
pipeline (AF-12, verified on the first tagged release) are tracked.