Synara 0.3.9 release notes.

What changed in Synara 0.3.9 (Jul 5), including Export a thread as a ZIP, Archived stats survive cleanup, Active turns show steady work timing, Terminal shutdown is more reliable, Resumed ACP replies stay distinct, Git writing respects OpenCode and Kilo models.

Release 0.3.9· Jul 5

Jul 5— link to Synara 0.3.9

Synara 0.3.9

  • Export a thread as a ZIPType /export in a saved, idle chat to download a portable archive with the full thread projection and a readable Markdown transcript.

    The export route streams thread.json and transcript.md through the server with shared eligibility checks, desktop-friendly CORS/error handling, large-thread history hydration, and browser download support from both typed slash commands and the command menu.

  • Archived stats survive cleanupDeleting or purging old threads no longer erases their lifetime contribution to profile stats, so cleanup keeps your usage history intact.

    Thread deletion now snapshots profile aggregates before purging rows, merges archived stats back into profile queries, preserves command receipts, cleans checkpoint refs carefully, and includes a migration plus purge/retention regression coverage.

  • Active turns show steady work timingWhile an agent is working, the transcript now keeps a stable 'Working for' header at the top of the active turn instead of relying only on a transient shimmer row.

    MessagesTimeline now inserts a stable active-turn header for duration display while preserving the existing setup shimmer, making live turns easier to scan and less jumpy during layout updates.

  • Terminal shutdown is more reliableSynara is better at shutting down stubborn terminal process trees without returning early while child processes are still alive.

    TerminalManager now routes shutdown through a dedicated process-tree killer with SIGTERM-to-SIGKILL escalation, cancellation when processes exit cleanly, nested process activity coverage, and tests for disposal timing.

  • Resumed ACP replies stay distinctACP-backed sessions are less likely to lose assistant replies after a restart or resume because fallback assistant message IDs no longer collide across runtime instances.

    A per-runtime instance ID is included in fallback ACP assistant item IDs, preventing resumed sessions with the same provider session ID and segment index from overwriting earlier transcript messages.

  • Git writing respects OpenCode and Kilo modelsGit commit, diff summary, and PR text generation now honor runtime-discovered OpenCode and Kilo model selections from Settings.

    Settings now persists discovered Git-writing model options, git actions pass the chosen provider/model through the shared contracts, and query cache keys include the text-generation selection so generated commit/PR text routes to the intended backend.

Updated with every release. See releases on GitHub.

Download Synara