Repository navigation
0.10.0 — 2026-09-27
Release Notes
It's Daemon Time.
Plain synaps is now a thin client over a shared
background daemon: extensions boot once, sessions are journaled and
resumable, and more than one client can sit on the same session. The
context-continuation work (#112) ships alongside it, off by default.
Added
- Daemon mode, on by default. Plain
synapsadopts the running daemon
for its profile, or spawns one, and attaches as a thin client. An
auto-spawned daemon exits 10 s after its last client leaves; a lost daemon
connection exits with code 4. Extensions load once and are shared across
sessions and subagents. Measured on real sessions: 74–78% less memory for
5–10 sessions, about 2 MB per extra session. (#105, #111, #115, #116, #122) - Several clients on one session: attach from another terminal (mirror,
observe or take over), replay of a parked session on attach, and a bare
--continue.synaps daemon reloadswaps in a new binary without ending
sessions. (#111, #116) - Session identity: a session's environment and working directory come
from the client that created it, not from the daemon;--system ./file
is read on the client, by content. (#117, #119) - Secrets never reach the daemon. A thin client strips secret
environment variables before connecting, and they are never written to
the session files: secret-looking names (*_KEY,*_TOKEN,*SECRET*,
*PASSWORD*,*_CREDENTIALS,*_PAT,*_DSN) and any value that
carries credentials in a URL (aDATABASE_URLholding a username and
password, an authenticated proxy, a Sentry DSN). The agent's tools run with the
stripped environment, and a command that fails while referencing a
stripped variable gets a notice. An authenticatedHTTPS_PROXYis used
implicitly by curl and git, so it fails without one. (#119, #152) - Daemon and startup settings in the config file and on the Settings
page:startup.quick_start(on),daemon.idle_exit_secs(10; 0 = never),
daemon.prompt_abandon_secs(3600),daemon.parked_evict_secs,
startup.extensions_ready_timeout_secs. Environment variables still take
precedence. (#138) - Local multimodal attachments:
/attach,/attachmentsand/detach
in the TUI and headless chat, for images, PDFs and UTF-8 text, translated
per provider capability. Nothing changes until you attach. (#112, #137) /autoautonomous driver: explicitly started, one per session, Esc or
Ctrl-C cancels. (#128, #137)- Opt-in context continuation, Axel memory backend and project forum,
all off by default (context_management.mode = off,
memory.backend = legacy). The Axel backend needs its separately built
sidecar and Linux. (#112, #120, #121, #137) events.auto_turn_cap(0 = unlimited). (#106)- Models: GPT-6 Astra and the Ultra
xhigheffort for Codex (#110);
Grok 4.7 through xAI OAuth Responses (#146). - TUI: response start/reset rendering, non-blocking sidecar startup and a
/sidecarcommand. (#126)
Changed
- Subagent tool descriptions: completion is reactive; never sleep or poll.
(#118)
Fixed
- A bash command that printed output and then failed reached the model
as a success (F28): the output won over the exit status. Affected every
build since streaming landed. (#119) - A turn where the model spoke before a tool call and then had nothing to
add was treated as an error and dropped (F19). (#120) - A hostile provider
output_indexcould grow memory without bound. (#145) edit/writeatomic writes could collide on the temporary path. (#141)- Session saves failed under traverse-only (0711) parent directories. (#150)
Upgrade notes
SYNAPS_DAEMON=0turns every daemon feature off and runs in-process, as
in 0.9.SYNAPS_DAEMON_ADOPT=0keeps plainsynapsin-process while
leavingsynaps daemonand--attachavailable. If the daemon cannot
start, plainsynapsfalls back to in-process with a notice.- In daemon mode the agent's tools no longer see secret environment
variables (see "Secrets never reach the daemon" above). Use
SYNAPS_DAEMON=0for a workflow that needs one in the agent's shell.
Internal
- Benchmark suite:
BENCHMARKS.mdandbenchmarks/. (#139, #140) - CI flake fixes and the engine test port. (#125, #142, #143, #151)
Install synaps 0.10.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/HaseebKhalid1507/SynapsCLI/releases/download/v0.10.0/synaps-installer.sh | shDownload synaps 0.10.0
| File | Platform | Checksum |
|---|---|---|
| synaps-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| synaps-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| synaps-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| synaps-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| synaps-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |