Changelog
What's new in Synara.
New providers, performance work, and the steady polish that makes the app faster and sturdier. Every release is logged here — the same notes you see in the app's "What's new" dialog.
Latest release 0.5.5· Jul 17
Synara 0.5.5
Antigravity joins Synara — Connect the Antigravity CLI as a first-class coding agent, with discovered models, reasoning controls, streaming activity, approvals, and resumable conversations.
The new provider adapter covers installation and authentication guidance, model and effort discovery, session creation and resume, tool and plan events, permission requests, usage reporting, cancellation, and restart recovery. Synara also includes dedicated Antigravity branding throughout provider setup and selection.
Live turns settle cleanly — Working indicators and streamed turn chrome no longer linger after the underlying provider session has already finished.
Turn settlement now follows the owning session lifecycle, while WebSocket RPC requests resolve or reject across close, timeout, send failure, and reconnect paths. This keeps pending UI state from becoming stuck during partial streams or interrupted connections.
Active chats stay lighter — Conversation updates do less repeated reconciliation work, keeping busy transcripts and sidebar-driven changes more responsive.
Chat state now avoids redundant scans and projections during live updates, bundled theme seeds reset consistently, and common transcript behavior remains on the simpler rendering path without introducing new measurement loops.
Dropped paths become reliable mentions — Drop files and folders whose names contain spaces or parentheses into the composer without losing or mangling the path.
Desktop path payloads are parsed and normalized through shared composer logic, then preserved as mentions across chat and Kanban task creation. Focused coverage includes encoded paths, multiple drops, punctuation, send normalization, and unsupported payloads.
Provider failures stay contained — A failed Cursor model refresh no longer takes down the model picker or discards usable choices from other discovery sources.
Model-catalog queries retain successful and cached data when one Cursor discovery path fails, while pull-request data is coalesced through shared list logic and picker popups use a unified interaction model. Diff headers now use Synara's own visual chrome for a more consistent workspace.
Synara 0.5.4
Review pull requests without leaving Synara — Browse, search, and filter pull requests across your projects, then open a complete review workspace beside the conversation.
The new GitHub CLI-backed Pull Requests view groups work by involvement and state, supports project-scoped discovery, and opens summary, code, and timeline views with checks, reviewers, commits, file changes, and discussion context.
Take action from the review workspace — Comment, merge, close, reopen, and pin pull requests while keeping the latest repository state close at hand.
Mutations use shared cache coordination, single-flight refreshes, guarded optimistic state, and recovery paths so overlapping actions and refreshes remain predictable. Pinned pull requests stay easy to return to from the project workspace.
Repository failures stay contained — One unavailable repository no longer prevents useful pull-request results from the rest of your workspace.
GitHub CLI availability, authentication, repository discovery, partial-result errors, stale cached data, and retry recovery now have explicit states. Per-repository failures remain visible without discarding successful results.
Send feedback from anywhere — Open the new feedback dialog from the command menu or with /feedback whenever an idea or problem comes up.
Feedback is now a global workflow rather than a settings-only destination, with consistent command routing and a focused dialog that keeps the current task in place.
Desktop windows reopen where you left them — Synara restores the previous desktop window size, position, and maximized state while keeping reopened windows on a visible display.
Window state is persisted across launches and validated against the current monitor layout, avoiding off-screen restoration when displays have changed.
Model and session behavior is more predictable — Agent sessions, transcript rendering, model discovery, and reasoning controls now stay aligned across more providers.
Session orchestration and transcript rendering share a cleaner lifecycle, Pi custom-provider authentication follows auth.json semantics, Cursor transport-only variants stay out of the picker, and Grok reasoning-effort options match provider capabilities. The interface also adopts the system UI font more consistently.
Synara 0.5.3
Capture any Mac app straight into your task — Press both Option keys to capture the window you are using and attach it to the current Synara task.
AppSnap is an opt-in macOS workflow with a dedicated setup panel, permission guidance, capture feedback, app icons, and a first-run introduction. Captures stay tied to the active task without stealing focus, and the desktop helper is included in packaged Mac builds.
AppSnaps wait safely until you send — Captured windows remain available through navigation, restarts, retries, and manual attachment flows.
Pending image blobs are persisted outside the lightweight draft record, restored into the composer on startup, counted against attachment limits, deduplicated across retry paths, and hydrated immediately before send. Failed or overlapping captures recover without duplicating attachments or replaying feedback sounds.
Long messages are easier to scan — Large user messages collapse into a focused preview while rich markdown and attachment chips remain readable.
Transcript measurement, overflow detection, markdown chip rendering, and the simple non-virtualized timeline path now work together more predictably, reducing layout churn without losing the full message on demand.
Agent sessions fail more clearly — ACP errors preserve more useful detail, and session and transcript state stay steadier during active work.
ACP request failures now retain structured provider context, while session orchestration and transcript handling avoid redundant state transitions and keep live output presentation predictable.
Synara 0.5.2
Factory Droid is now a first-class provider — Droid is now available alongside Synara's other agents, with runtime model discovery, session import, token multipliers, and resilient resume and recovery.
Synara now connects to Factory Droid through ACP, discovers models and their switching capabilities at runtime, imports existing Droid sessions, carries context across forks and restarts, and keeps bootstrap, configuration, and turn teardown state coherent. The release also adds the Factory logo and richer Droid token reporting.
Large conversation histories start reliably — Synara now upgrades large local histories without leaving the project list stuck on its loading screen.
The activity-sequence backfill now builds one indexed lookup instead of repeatedly scanning the entire event history. A database with more than 180,000 activities completes the recovery in seconds while preserving every project, thread, message, and activity.
Switch models from the keyboard — Use Alt+] and Alt+[ to cycle through available models without leaving the conversation.
The shortcuts use the active provider's available model options and keep model selection quick during an ongoing workflow.
Unfinished task lists stay visible — Task lists now remain in the transcript after a turn completes, making follow-up work easier to resume.
Runtime task projections preserve unfinished items after completion while keeping finished and resumed task state consistent.
File undo leaves chat history intact — Undoing an agent turn now rolls back its files without deleting the conversation that explains the change.
Turn-scoped checkpoints restore workspace state while preserving transcript history and provider conversation state.
Smoother cross-platform agent workflows — Codex model options, Windows launching, project folder labels, and Git status checks now behave more predictably across platforms.
Runtime-discovered Codex reasoning efforts map correctly, the Windows CLI path forwards arguments reliably, project picker labels match the host OS, and Git status handles directories outside repositories gracefully.
File changes are calmer to scan — File-change headers use a softer visual treatment, keeping active work readable without competing with the diff itself.
Synara 0.5.0
Synara, all the way through — The app now uses one identity everywhere, from its desktop installation and command line to packages, settings, diagnostics, and release artifacts.
The desktop bundle is now com.emanueledipietro.synara, the CLI is @synara/cli with the synara command, and every first-party runtime identifier uses the Synara namespace. The 0.4.2 bridge preserves renderer state during the origin change.
Claude keeps context under control — Claude sessions now report live context usage, warn before compaction, switch model and context settings in place, and resume with their safeguards intact.
The adapter combines SDK context controls with accumulated token usage, preserves the effective context window across responses, keeps fallback reroutes pinned until you choose another model, and stores resume state without forcing unnecessary provider restarts.
Agent task progress stays visible — Claude task tools and Codex task events now appear through one shared progress stream, so resumable work is easier to follow while it runs.
Claude TaskCreate, TaskUpdate, TaskGet, TaskList, and TodoWrite results are normalized into the shared runtime task list and persisted in the resume cursor. Codex task events and provider summaries use the same projection, with coverage for reconnects and resumed sessions.
Codex reasoning and streams are easier to trust — Codex reasoning summaries, context compaction, task updates, and noisy app-server output are handled more reliably, keeping live transcripts clearer during long turns.
The app-server bridge now ignores non-protocol stdout safely, preserves provider-authored reasoning summaries, normalizes runtime events, and hardens resume and ingestion paths so progress is not lost between streamed updates.
Chat startup and recovery are lighter — Chat dock panels load on demand, deleted projects remain safe client tombstones, and browser profile migrations repair database sidecars transactionally instead of leaving partial state behind.
The chat route measures LCP while deferring secondary panels, while project deletion and desktop profile repair now preserve predictable local state through reloads, retries, and interrupted migrations.
Desktop updates have stronger guardrails — Release automation now validates compatibility-feed manifests and protects the packaged desktop from unsafe bundle swaps across update and startup paths.
The release workflow verifies the pinned updater lane, keeps clean releases off the compatibility channel, repairs update-feed metadata, and hardens desktop startup when an app.asar swap is detected.
Synara 0.4.2
Synara is preparing a seamless identity upgrade — Launch this version at least once before installing the next Synara release so your drafts, pins, theme, browser state, and other local interface preferences move with you.
This bridge writes a validated Synara-only snapshot of renderer state, keeps existing project and thread data intact, and prepares database and checkpoint metadata for the final identity cutover. Earlier command and environment aliases are accepted by this bridge release only and will be removed next.
Claude threads use far fewer tokens and restart less — Long Claude conversations now track their 1M-token context window per thread, compact automatically, and switch models without restarting the session — ending runaway usage.
Each thread tracks its own context window and warns as usage approaches the limit. After a safeguard reroute, the fallback model stays pinned until you explicitly pick another model, and model or context-window changes apply in-session instead of tearing the session down.
Desktop updates now verify their own installs — Synara checks that an update actually installed after restart, detects failed installs, and recovers instead of silently staying on the old version.
A durable install marker survives restarts and tracks handoff state, an install watchdog recovers from hung installs, and on macOS dedicated diagnostics capture updater state to make failures actionable.
Studio shortcut and migration fixes — The new-chat keyboard shortcut now routes correctly inside Studio, composer drafts survive the storage migration, and incomplete legacy home imports repair themselves.
Renderer storage migration is guaranteed to run before app hydration, the legacy environment identity is restored from the bridge marker, and checkpoint metadata is canonicalized while keeping existing persisted refs readable.
Synara 0.4.1
A dedicated Studio workspace for agent-led work — Studio gives long-running, agent-led work its own focused space, keeping it distinct from your regular chats while making it quick to start or revisit.
Studio projects, threads, routing, sidebar rows, empty-state entry points, and restore behavior now share a clear workspace boundary. The release also hardens cross-kind project ownership so a regular chat and a Studio thread cannot accidentally reuse the same container.
Studio outputs are collected where you need them — Files, generated images, and other agent outputs from Studio are surfaced in the Environment panel so finished work is easier to find and open.
The server records Studio output activity and generated-image metadata, then projects it into a dedicated Environment section with resilient display helpers and targeted coverage for output ordering and presentation.
Starting work in a worktree is more transparent — Project actions now make worktree setup visible, so you can understand what is being prepared before a new workspace-backed thread starts.
New setup steps and timeline states expose progress and failure more clearly, while the underlying scaffold path self-heals and keeps project/worktree ownership consistent through retries and restores.
Returning to a chat or Studio is more reliable — Synara is more careful about restoring the right destination after reloads, segment switches, reconnects, and partially completed project creation.
Routing now prefers canonical containers, waits for snapshot hydration where needed, fails closed on ambiguous thread kinds, and guards against overlapping fresh-chat creation so drafts and active work land in the intended surface.
Live transcripts stay steadier during active work — Transcript rendering and active-turn behavior have been refined to keep ongoing agent work easier to follow without needless scroll or layout churn.
The session orchestration and timeline paths were refactored with focused coverage for worktree setup, transcript rows, sidebar visibility, and workspace handoffs, preserving predictable behavior as sessions stream and reconnect.
Safer provider startup and Windows launching — Authentication preparation and provider launch handling are more robust, including a fix for launching Codex on Windows.
The release prepares the Codex auth overlay before dependent startup paths run, hardens process environment handling, and includes the Windows launcher repair alongside broader orchestration and projection reliability work.
Synara 0.4.0
Prompt history keeps drafts and attachments together — Browsing your previous prompts no longer strips the attachments from the draft you are building, so history navigation is safer for image- and file-heavy follow-ups.
Composer draft history now preserves attachment state while you move through previous prompts, resets stale navigation state more carefully, and avoids duplicate optimistic history entries after sends.
Pull request context is clearer in the Environment panel — Threads attached to GitHub pull requests now surface richer PR context, including merged-state handling and more readable review/check previews.
The PR snapshot path now captures pull request data for the Environment panel, handles merged PRs more predictably, trims long review previews, dedupes GitHub field requests, and tightens merge-head formatting.
Claude rate limits fail more gracefully — When Claude reports usage or rate-limit trouble, Synara now presents the condition more calmly instead of turning it into a generic provider failure.
Provider usage handling now narrows usage summary types more safely and treats Claude usage limit responses as a recoverable, user-facing state with focused parser and resilience coverage.
Desktop restarts handle broken stderr pipes — The desktop app is less likely to crash or get noisy when a restarted child process loses its stderr pipe during shutdown or relaunch.
Desktop process restart handling now tolerates broken stderr writes, including the EPIPE path that could appear while the app was restarting provider or server processes.
Small reliability fixes across agents and PR flows — This release rounds off recent agent-session and pull-request work with tighter assertions, safer formatting, and cleaner edge-case behavior.
The release includes automation migration lineage assertion fixes, PR snapshot review follow-up fixes, provider usage type narrowing, and general cleanup from the prompt-history and PR environment-panel review loops.
Synara 0.3.9
Export a thread as a ZIP — Type
/exportin a saved, idle chat to download a portable archive with the full thread projection and a readable Markdown transcript.The export route streams
thread.jsonandtranscript.mdthrough 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 cleanup — Deleting 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 timing — While 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 reliable — Synara 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 distinct — ACP-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 models — Git 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.
Synara 0.3.8
Grok resume handles long sessions more safely — Grok and other ACP-backed sessions are better at resuming after compaction or reconnects without replaying messages into the wrong runtime or growing memory unexpectedly.
ACP resume now drops replay before the event consumer is attached, seeds compaction quiet windows from response timing, hardens provider/runtime ingestion, and covers JSON-RPC/session-runtime edge cases that previously made resume replay fragile.
Worktree setup failures recover cleanly — When a worktree setup step fails, Synara now shows the failed setup state, keeps the timeline from looking stuck, and resets the local dispatch when you send again.
ChatView and timeline setup snapshots now carry explicit setup step status, targeted cleanup for failed local dispatches, and focused browser/unit coverage for new-turn reset and setup rows.
Automation messages are labeled — Prompts sent by an automation now carry a lightweight 'Sent via Automation' label above the bubble, so you can tell at a glance which turns you typed and which a scheduled or heartbeat run kicked off.
User turns dispatched by the automation engine now persist a
dispatchOriginon the message end to end (command → event → projection → snapshot), and the transcript renders a clock-marked chip that mirrors the existing steering label.Approval prompts are easier to answer — Pending approvals now use a clearer shared choice-row layout, with steadier panel behavior and browser coverage for allow/deny decisions.
ComposerPendingApprovalPanel now shares ComposerChoiceRow structure with pending inputs, tracks decision actions in browser tests, and trims duplicated action styling.
Startup does less surprise work — Synara avoids unnecessary provider refresh work during startup and gates Claude keepalive behavior more carefully, so opening the app is calmer and less likely to fight credential checks.
Server startup no longer runs provider refresh eagerly, Claude keepalive respects auth-state timing, provider usage hooks handle inactive summaries more predictably, and related settings/server query invalidation paths have tests.
Folded work rows report time more accurately — Collapsed transcript segments now show a 'Worked for' duration that spans the whole folded section, not just a single row inside it.
Timeline duration grouping now tracks folded row boundaries and tests the aggregate timing behavior so compact transcripts better match what actually happened.
Synara 0.3.7
Update downloads show their progress — When Synara is downloading a desktop update, the sidebar update button now shows a live percent badge so you can tell whether it is moving or nearly ready.
The desktop update helper now clamps reported download percentages, hides them outside active downloads, and covers edge cases for null, negative, oversized, and fractional progress values.
Claude auth checks are less jumpy — Claude sessions are less likely to be marked logged out during refresh-token races, especially when health checks and the macOS credential keepalive run near the same time.
claude auth statusis now serialized through a shared lock, retried once for structured false negatives, and can fall back to verified local credential metadata before showing an unauthenticated state.Turn checkpoints are harder to confuse — Synara preserves the first pre-turn snapshot more carefully, so transcript diffs and restore points better match what was on disk when you pressed send.
Checkpoint capture now has single-flight behavior per repo/ref, a bounded capture timeout, first-writer-wins
skipIfExistsbaselines, and extra recovery when a startup or backup path missed the original message baseline.The sidebar chat list behaves more naturally — The Chats section now lives with the rest of the scrollable sidebar content, has a familiar disclosure chevron, and keeps the footer focused on account/update controls.
Sidebar chat collapse state now exposes
aria-expanded, reuses the shared disclosure chevron, and separates chat rows from the footer while preserving sort and new-chat actions.First sends keep the workspace calm — Starting from an empty chat no longer opens the Environment panel by surprise after the first message turns the landing view into a transcript.
ChatView now records a closed environment-panel preference when sending from the centered empty landing, preventing the default-open policy from popping the panel into a just-started conversation.
Provider health parsing is easier to trust — Provider CLI output handling and Claude auth interpretation now have clearer, isolated parsing paths with more focused tests around failure and metadata cases.
Generic CLI-output helpers moved out of ProviderHealth, Claude auth parsing moved into a pure module, and new tests cover auth JSON markers, credential summaries, the auth-status lock, checkpoint single-flight behavior, and provider health edge cases.
Synara 0.3.6
Sonnet 5 is here — Synara now surfaces Sonnet 5 variants in the model picker, so Claude workflows can jump to the newest Sonnet generation right from the app.
The release adds Sonnet 5 model variant metadata and keeps the new choices aligned with the existing provider/model catalog, including sidebar status and model-picker presentation polish.
Cursor launch fallback is much sturdier — Synara now finds Cursor agent commands across more install layouts, including bundled sibling shims and legacy shim locations, while rejecting unsafe fallbacks.
Cursor ACP command discovery now resolves safer CLI paths, honors bundled sibling launchers, preserves legacy shim coverage, and avoids falling back to paths that do not match the expected Cursor agent shape.
Muxy can open from Synara — Open-in support now recognizes Muxy, so editor/open buttons can hand files to the right desktop target when Muxy is part of your workflow.
Editor metadata, open-route handling, and focused coverage were extended so Muxy is treated as a supported external app alongside the existing editor launch targets.
Live chats leave a clearer message trail — Active replies now expose a calmer live trail through the transcript, making long-running turns easier to follow while new work arrives.
The transcript gained MessageTrail rendering, shared message-trail logic, browser coverage, and timeline integration so live assistant activity can stay visible without fighting the normal message rows.
Image sharing works better on desktop — Share cards and exported profile visuals can now use the desktop clipboard image path, making it easier to paste polished snapshots elsewhere.
The web share-card export path now cooperates with desktop clipboard IPC, including preload contracts and browser-side helpers for copying generated image blobs.
Claude credentials stay fresh longer — Synara refreshes Claude credential freshness on macOS so long sessions are less likely to hit the familiar stale-token sign-in failure.
A Claude credential keepalive helper, adapter integration, and focused tests now keep the OAuth token file active enough to avoid the roughly eight-hour stale credential path.
Command rows and status icons got a polish pass — Sidebar status icons, branded command rows, chat bubble padding, and tool labels were tightened for a more readable daily workspace.
The release refines sidebar status presentation, brands command/tool rows more clearly, and trims chat typography spacing in dense transcript areas.
Synara 0.3.5
Temporary chats graduate more naturally — Draft and temporary threads now promote into the main chat flow more predictably, with clearer naming and steadier routing once work becomes real.
Disposable-thread helpers were renamed around temporary-thread behavior, ChatView and sidebar state now share the promotion path, and timeline coverage guards the new handoff from temporary work into durable chat rows.
Archived chats are easier to recover — Archive actions now use an undo toast instead of an interrupting confirmation dialog, so cleaning up threads is faster while still giving you a quick escape hatch.
The sidebar archive flow, shared toast primitive, settings surfaces, environment panel hints, and threadArchive helper now cooperate around immediate archive plus undo behavior.
Pending inputs and work rows feel calmer — User-input prompts, queued composer state, work rows, tool details, markdown spacing, and composer preview surfaces were tightened so active sessions scan better.
Composer pending-input panels now float more cleanly in the stack, queued headers and work rows have focused coverage, and shared rendering helpers reduce small inconsistencies across tool and diff displays.
macOS icon refreshes after app updates — The desktop app now refreshes macOS icon caches on startup/update paths so Dock and Finder icons are less likely to stay stale after an icon change.
A dedicated macOS icon-cache refresh helper was added to the desktop main process with coverage for the app-support marker, cache invalidation command, and platform gating.
Settings, heatmaps, and labels got a tidy pass — The settings route, activity heatmap export, share cards, model/traits pickers, sidebar labels, and dark-mode composer border all received small polish fixes.
This release cleans up settings panel primitives, aligns heatmap and diff-rendering helpers, restores a dark-mode composer input border, simplifies repeated labels, and trims a handful of dense UI edges.
Synara 0.3.4
Assistant streaming is on by default — New installs now start with assistant streaming enabled, so replies feel live immediately without needing a settings pass first.
The default app settings and shared settings schema now agree on streamed assistant output, keeping fresh web and server state aligned.
Live transcript follow feels smoother — Streaming replies, optimistic sends, tool details, and message entry animations now keep the transcript pinned more predictably while work is active.
ChatView, ChatTranscriptPane, MessagesTimeline, smooth streamed text, and browser regression coverage were tightened so live assistant text and tool rows do not fight the scroll position.
Provider health handles more real-world CLI states — Claude, Cursor, and OpenCode status checks are sturdier around credentials, headless environments, model probes, and transient command failures.
Provider health now detects usable local Claude CLI credentials before passing process env through, runs Cursor ACP probes with a safer headless env, handles model-probe failures without marking an authenticated provider unusable, and expands focused provider-health coverage.
OpenCode retry warnings are easier to follow — Retry warnings from OpenCode now stay in the work-log flow and collapse consistently across turns instead of cluttering the main conversation.
Provider runtime ingestion and session logic now preserve OpenCode retry-warning metadata, keep it attached to work rows, and cover repeated warning behavior in both server and web tests.
Tool rows and agent markers are cleaner — Agent mentions, task rows, tool labels, file-change rows, chat seams, and switches received a small polish pass that makes dense chats easier to scan.
Synara now reuses the central robot glyph for agent chips, improves file-change and tool-call labels, refines chat card contrast, and tightens shared switch sizing, thumb travel, and animation.
Release gates tightened browser and provider tests — The v0.3.4 deep release pass fixed exact-optional type drift in transcript browser coverage and provider health checks before publishing.
The release pass corrected a browser
scrollTotest helper so it no longer passes explicitundefinedoptional fields, fixed a Claude health env call the same way, and updated a ProviderHealth test to use the Effect platform error tag supported by this workspace.
Synara 0.3.3
VS Code from the Microsoft Store opens correctly on Windows — Synara can now launch VS Code Store installs through the right Windows app identity and URI fallback, so editor buttons work even when the normal
codecommand is unavailable.Editor launch discovery now understands Windows packaged app metadata, adds VS Code and VS Code Insiders Store coverage, falls back from command launch to URI activation, and keeps file-manager launches isolated from editor-specific behavior.
Provider update checks are now optional — A new settings toggle lets you disable provider update checks when you want Synara to stay quieter about external CLI versions.
Provider health, server settings, app settings migration, settings search, root notifications, and provider update filtering now share the same
enableProviderUpdateChecksflag so background update notices respect the user's preference.The app icon and Synara mark look cleaner — The desktop, web, marketing, and release assets were refreshed so the Synara icon renders more consistently across macOS, Windows, browser favicons, and update artifacts.
This release refreshes the inline Synara logo path, replaces generated icon assets from the full source image, corrects macOS bundle icon handling after the rounded-icon Ventura pass, and removes a literal Dock-icon workaround that was not the final direction.
Workspace browsing feels more unified — Workspace explorer navigation, file-row presentation, diff stat labels, and shortcut settings now use more shared behavior, making file browsing and review surfaces easier to scan.
Explorer keyboard navigation moved into shared logic with coverage, DockExplorerPane and workspaceExplorer were simplified, keyboard shortcut settings gained a clearer panel, and file/diff row styling now lines up with the rest of the workspace UI.
Idle server polling is lighter — Synara polls local server state less aggressively while idle, reducing background work without changing the active-session refresh path.
The server React Query helper now separates active and idle refresh intervals, the sidebar uses the calmer idle cadence, and focused tests cover the interval behavior.
Release gates caught a few small compatibility fixes — The v0.3.3 release pass tightened formatting, settings test coverage, and Effect API compatibility before publishing.
The release check formatted recent Windows editor-launch and desktop artifact code, updated the web settings push fixture for provider update checks, and switched one editor fallback path from
Effect.catchAllto the Effect API used by this workspace.
Synara 0.3.2
Project switching moved closer to your branch work — The branch toolbar can now show and change the active project, so project, branch, and worktree context are easier to keep aligned while you move around Synara.
This release teaches the branch toolbar about project selection, shared home-chat containers, draft-thread mapping, project creation recovery, and project picker state so navigation does not depend only on the sidebar.
Local previews can open more real files — Absolute local file paths now get preview grants, making image, PDF, and workspace previews more reliable when agent output points at files on disk.
The server now grants and validates local preview access more carefully, including trusted-origin checks, local image route coverage, workspace file-system normalization, and web-side preview/download handling for absolute paths.
Review diffs have a collapsible file tree — The diff panel now has a review file tree, giving larger review batches a clearer outline before you dive into individual patches.
Synara now builds file diff trees, renders a collapsible review panel with shared disclosure motion, and reuses file-row styling so review navigation feels closer to the rest of the workspace.
The workspace explorer is tidier — The right-side workspace explorer and preview header were split into cleaner pieces, reducing composer chrome churn and making file browsing steadier.
Workspace browsing now lives behind a reusable dock explorer pane and workspace explorer helpers, with tighter right-dock activation metadata, preview header behavior, and composer measurement boundaries.
Send actions check provider readiness first — Starting a chat, Kanban task, or handoff now refreshes provider availability before sending and returns focus to the composer more consistently.
Provider availability refresh has dedicated helpers and coverage, while ChatView, Kanban submit flows, thread handoff, and route startup paths now share more predictable send-readiness behavior.
Explorer icons and working states feel more coherent — File explorer icons, working shimmers, route inset surfaces, composer pickers, and sidebar details received a focused visual cleanup pass.
This release unifies more icon choices through central icon helpers, refines shimmer styling, tightens compact route surfaces, and keeps repeated explorer/sidebar affordances closer to the same visual language.
Long sessions keep their footing better — Transcript scrolling, session state, sidebar routing, and draft equality checks were refactored so active work stays calmer across thread and project changes.
ChatView now separates more browser-specific behavior, route inset layout has focused coverage, draft-thread comparisons are stricter, and project/chat container helpers handle exact optional state more safely.
Synara 0.3.1
Tool calls are easier to inspect — Transcript tool calls now expose clearer detail dialogs for shell commands, patches, file changes, and tool output, so review-heavy chats are easier to audit.
Synara now formats tool command transcripts, normalizes patch/change output, labels more tool kinds consistently, preserves structured work metadata through the timeline, and adds focused coverage for tool-call labels and formatting.
Long chats stay calmer while work is running — Transcript grouping and scroll behavior were refined so live assistant text, collapsed work rows, sidechat panes, and tool-only activity behave more predictably.
This release tightens message timeline derivation, keeps real assistant text separate from tool/work rows, improves collapsed-turn signatures, preserves assistant selection actions, and adds focused tests for timeline rows and ChatView state.
Multi-pane work is quicker to navigate — Recent views, split chats, pinned threads, hover cards, and project sidebar actions received a round of smaller navigation polish.
Recent view switching, sidebar hover-card anchors, thread/project hover content, pin toggles, chat header actions, project shortcut targets, and split/sidechat affordances now share more predictable state and keyboard routing.
Keyboard shortcuts got stricter — Shortcut defaults and migrations are now safer, with better handling for chat creation, terminal actions, navigation, and stale keybinding rows.
Server and web keybinding logic now validates persisted bindings more carefully, avoids carrying conflicting defaults forward, improves new-chat/new-terminal command resolution, and has expanded regression coverage.
Providers recover from more edge cases — Codex, Grok, Cursor, OpenCode, and provider health paths are sturdier around runtime events, discovery, process cleanup, and idle sessions.
Provider runtime ingestion now handles more canonical event shapes, provider service behavior has broader coverage, idle runtime cleanup was tightened, process runner handling is safer, and Codex review/compaction progress is easier to reconcile.
Automation setup asks for the right approval — Automation creation and updates now separate setup prompts, update-only flows, approval fallbacks, and risk acknowledgement more carefully.
This release hardens conversational automation setup, preserves update-only approval paths, restores the approval fallback, strips carried setup filler from prompts, and keeps the risk acknowledgement gate attached to dispatch.
Desktop updates and startup are quieter — The desktop shell now suppresses noisy Node warnings in more places and hardens electron-updater command handling on Windows.
Desktop startup applies safer warning handling, voice transcription edge cases were tightened, and electron updater command construction now has dedicated security coverage around Windows process spawning.
The interface has more useful visual signals — Provider icons, central icon assets, model pickers, composer controls, automation banners, Kanban cards, preview cards, and tooltips were cleaned up in small but visible ways.
Synara now ships a curated central-icons set, improves provider/model picker presentation, refines composer picker and automation banners, adds better project/thread hover details, and keeps repeated UI surfaces closer to the same visual language.
Synara 0.3.0
Automations are a real workspace surface — Synara now has first-class Automations for scheduled agent work, with sidebar navigation, list/detail pages, run history, triage actions, and inline editing.
This release wires automation contracts, persistence, scheduler leases, run tracking, RPC methods, sidebar badges, Current/Paused views, detail routes, editable fields, previous-run history, and result triage so scheduled work lives inside the same thread/provider/worktree pipeline as normal chat work.
Heartbeat automations can stop when the goal is met — Heartbeat automations can store an AI-evaluated stop clause, evaluate it after successful runs, and disable themselves with a recorded reason when the condition is satisfied.
Completion policies now support natural-language stop conditions, dedicated background evaluation, visible completion results, timeout handling, stale-result guards, legacy-row defaults, and archive/read preservation so a stop check cannot silently undo user triage state.
Automation creation understands natural prompts — The composer can turn automation-style prompts into scheduled drafts, including intervals, daily/weekly timing, cron-like schedules, heartbeat targets, and review dialogs.
Automation intent parsing now covers explicit and generated prompts, English and Italian stop/schedule phrasing, bounded fast-loop safety, draft review, source-thread handling, restored plan source metadata, inline editing from composer text, and stricter confirmation for LLM-generated automations.
Scheduled runs are harder to lose or corrupt — Automation scheduling, recovery, and run reconciliation were hardened so crashes, duplicate wakes, approval waits, stale cache updates, and cleanup failures are handled more predictably.
The automation service now has occurrence dedupe, scheduler leases, crash replay, failed-run rollback, startup recovery, bounded completion-evaluation queues, recovery/lease observability, approval ownership re-checks, standalone worktree cleanup, equal-timestamp cache merging, and DST/long-downtime schedule coverage.
Files attach, preview, and download more reliably — Chat now supports generic file attachments alongside images, with better chips/cards, safer upload normalization, worktree-aware previews, and in-app local image downloads.
File attachments now flow through contracts, upload storage, composer paste/drop, provider prompts, Kanban dispatch, recap/bootstrap surfaces, optimistic timeline rendering, caps/rollback, attachment-bearing plan follow-ups, explicit unsupported-file rejection, worktree-backed file preview roots, and blob-based download handling that keeps failed local image downloads inside Synara.
Providers and models stay scoped to the right project — OpenCode and Claude startup paths are more careful about cwd, model discovery, config scope, and sticky plan mode so new threads inherit less accidental state.
OpenCode model discovery can fall back to
opencode models --verbose, managed OpenCode/Kilo paths run in the request/session cwd, warm server reuse is scoped, file config is no longer replaced with synthetic empty config, OpenCode resume preserves cwd, and fresh Claude threads avoid inheriting plan mode from the previous active thread.Chats and side panels stay in sync — Deleted chats disappear immediately, the Environment panel behaves better in constrained layouts, automation cards show up in the transcript, and file previews avoid extra full-thread subscriptions.
Client projections now use delete tombstones and responsive archived bulk-delete updates, environment-panel open/close preferences survive chat switches, constrained/floating layouts stay calmer by default, thread automation summaries appear in the environment panel, created automation cards render in chat, and file preview routing avoids unnecessary full thread subscriptions.
Profile skill counts reflect more real work — Profile stats now count repeated
/skilland$skillusage more accurately, including retained history that should still contribute to your local activity picture.Skill aggregation now includes retention-hidden threads while still excluding manually deleted data, counts repeated slash/dollar skill tokens inside one prompt, avoids double-counting structured references, and has regression coverage for retained threads and repeated skill invocation.
Synara 0.2.41
Hand off chats from the header again — The chat header now has a compact Hand off menu, so you can start a provider handoff without hunting through the rest of the workspace.
The header handoff action now offers only usable target providers, checks provider availability before creating the handoff thread, and keeps the action disabled while the current thread is busy or waiting on approvals/input.
Project scripts stay out of the way — Project action dialogs remain available, but the old inline script runner no longer crowds the chat header controls.
Project script controls stay mounted for the shared Open-in/project-action dialog path, while the visible header play/chevron runner is hidden to keep the top bar focused.
Synara 0.2.4
Restarts bring you back to the right chat — Synara now waits for one fresh server snapshot before giving up on a remembered chat route, so app restarts are less likely to dump you onto an empty fallback screen.
Chat route restore now validates remembered thread/split routes against refreshed orchestration state, holds fallback while startup data is still empty, and has focused coverage for missing-thread and empty-startup recovery paths.
Disabled providers recover more predictably — Provider health refreshes now have regression coverage around re-enabling disabled providers, making settings changes less likely to leave stale unavailable states behind.
Provider health and Pi adapter paths were tightened with coverage for disabled-provider re-enable behavior, while provider badges and menu icons were kept aligned with the refreshed availability state.
The chat header is quieter — The old handoff shortcut has been removed from the chat header, leaving the main conversation controls easier to scan during active work.
The chat header no longer renders the handoff action path, reducing duplicate top-bar controls and keeping project/thread actions focused on the surfaces that still own them.
Synara 0.2.3
Your profile understands more of your work — Synara now tracks richer local profile stats, including your most worked project, skill and agent usage, active hours, provider/model mix, and prompt activity.
Profile stats now derive more signal from Synara's local projection database: most-worked project, prompt/thread activity, skill and agent usage, provider/model usage, reasoning patterns, active-hour windows, and token heatmap data are all represented in the profile contract and settings panel.
Large pastes become cleaner composer cards — Big pasted blocks now collapse into tidy attachment-style cards, keeping the composer readable while still letting you restore or remove the full text.
Large pasted text blocks are serialized separately from the visible prompt, shown as compact cards in the composer, expandable in sent messages, and counted with line/character metadata so long prompts are easier to review.
Pasted text survives message edits — Editing a message now preserves pasted text blocks instead of dropping or flattening them, so larger prompts stay intact when you refine them.
The composer draft, edit, assistant-selection, terminal-context, and WebSocket send paths now preserve structured pasted text blocks instead of folding them into fragile plain text. Focused tests cover pasted text, draft persistence, terminal context, timeline height, and edit behavior.
Synara 0.2.2
Your Synara profile has more personality — Profile settings now include richer identity details, activity stats, and a cleaner editing flow so Synara feels more like your own workspace.
This release adds profile stats aggregation, profile settings UI polish, activity heatmap refinements, avatar/profile editing updates, and focused coverage for the new profile data paths.
Deleted threads get a safer recovery window — Thread deletion now keeps soft-deleted data around long enough to avoid accidental loss while still letting cleanup happen predictably.
Synara now tracks thread retention state explicitly, covers soft-delete cleanup behavior with server tests, and keeps deletion/recovery semantics more predictable for early WIP data.
Live composer edits stay visible per turn — Composer changes made while a turn is running now stay attached to the right turn, reducing confusing stale text or hidden edits during active work.
The chat route and composer state handling were tightened so live edits remain visible in the correct turn lifecycle without bleeding into unrelated transcript updates.
Release checks are steadier — The release test path now avoids known teardown and child-process timing traps, making full validation less likely to stall after tests have passed.
Effect ACP child-process fixture tests now have explicit timeouts, and the server test script runs its Vitest files serially so the root Turbo test gate exits cleanly during release validation.
Synara 0.2.1
File comments can ride along with your next message — You can now leave focused line comments from composer and preview surfaces, then send them with the prompt so agents get clearer file-specific context.
This release adds file-line comment boxes, summary chips, draft persistence, reference attachment handling, preview/editor entry points, chat timeline support, and focused tests for comment parsing, composer drafts, terminal context, kanban dispatch, and chat-view logic.
Live file changes stay scoped to the active turn — The live changed-files panel now follows the turn that is actually running, avoiding stale or unrelated file edits when sessions overlap or recover.
Provider runtime ingestion now carries active turn identity through Codex, Claude, checkpoint, and live-change paths. Chat selectors and composer change headers were tightened so tool/file rows from older turns do not masquerade as current live output.
Partial workspace file references resolve more reliably — Opening files from shortened or partial references is more forgiving, especially when assistant output mentions a file path without the full workspace prefix.
Workspace file-system lookup now searches entries more deliberately, exposes shared server helpers, improves opener behavior, and adds coverage around partial references so previewing referenced files lands on the intended workspace item.
Restarted sessions are less likely to leave turns hanging — After provider restarts, reconnects, or quiet ACP sessions, Synara does a better job of reconciling active turns and finishing idle work instead of getting stuck.
Startup turn reconciliation, ACP idle watchdog handling, provider runtime ingestion, Cursor/Grok/OpenCode adapter event paths, command reactor cleanup, and shared thread summaries now work together to recover unfinished turns and surface stale runtime state more predictably.
Synara 0.2.0
PDFs open safely inside Synara — Local PDFs can now be previewed directly in the workspace pane with page navigation, zoom controls, selection-safe rendering, and hardened link handling.
This release replaces browser iframe PDF handling with a pdf.js-powered viewer, authenticated local preview routes, workspace/scratch allowlists, sanitized annotation links, page reset behavior when switching files, fresh page proxies per document, and focused server/web tests for local image/PDF access and PDF navigation helpers.
File preview is shared across chat and editor workspaces — The right dock and editor workspace now use the same richer file preview surface, so browsing files, images, markdown, and PDFs feels more consistent.
Synara now routes file preview through
WorkspaceFilePreview,PdfFilePreview, shared preview headers, markdown/source selection references, workspace file openers, dock pane activation metadata, local preview URL helpers, and tighter file reference context-menu behavior.Pi plugin sessions start in the right place — Pi-backed plugin flows now route through Synara more reliably, discover model support better, and keep startup prompts attached to the correct provider session.
The Pi adapter gained richer ACP handling, extension model discovery, cwd/session wiring, startup prompt routing, provider command reactor coverage, provider service safeguards, and an ACP mock agent so plugin startup, prompt forwarding, and provider state transitions are covered more directly.
Chat startup and timelines do less unnecessary work — Opening busy chats should feel calmer: timeline ordering, transcript selection, collapsed turns, and sidebar-driven updates were tightened for the common path.
This release optimizes chat view startup selectors, timeline ordering, settled-turn collapse fallback, message timeline height logic, transcript tail behavior, right-dock runtime activation, and route-level chat restoration with additional selector, timeline, and browser coverage.
Composer and markdown interactions picked up useful polish — Cmd+L now focuses the composer, markdown task lists render cleanly, inline mentions behave more predictably, and pending user-input panels are easier to scan.
New keybinding metadata and tests cover the composer focus shortcut, while markdown task-list parsing, chat references, inline mention chips, composer banners, pending user-input panels, and shortcut-sheet entries received focused fixes.
Cursor and changed-file views are easier to trust — Cursor message ids are handled more carefully, changed files moved to a flatter UI path, and stale plan/sidebar indicators were cleaned up.
Synara now preserves Cursor message identity more reliably, removes the older turn diff tree path, refines changed-file file-list rendering, fixes duplicate plan-mode icons and stale plan sidebar state, and hides inline project actions from the chat header where they created noise.
Local previews have tighter safety rails — Local image/PDF preview routes are more explicit about what can be opened, how auth applies, and when unsafe paths or URLs should be rejected.
Server-side local preview handling now shares local preview file helpers, narrows CORS behavior for preview responses, covers local image routes, hardens scratch workspace path generation, and keeps external PDF links on an allowlisted path instead of trusting unsafe annotation URLs.
Synara 0.1.9
Chats get Codex-style workspace folders — Project chats now keep their generated files in clearer chat-specific workspace folders, making it easier to understand what belongs to each conversation.
This release adds Codex-like workspace folder creation, associated worktree metadata handling, file-only workspace search, settings search deep links, and more defensive provider probing so workspace state stays more predictable across chat and editor surfaces.
Transcript turns collapse more reliably — Long-running assistant work, collapsed turn rows, and transcript tail-follow behavior are steadier during active output and after reconnects.
The timeline now falls back to the latest turn when visible turn ids are empty, fixes collapsed-turn and tail-jitter edge cases, and keeps scroll-follow logic scoped to real transcript messages instead of tool-only churn.
Browser sessions and copy links feel smoother — In-app browser sessions recover better, and copy-link flows now have cleaner behavior when moving between browser and chat contexts.
Browser session handling, copy-link actions, local image preview state, and shared error-card behavior were tightened so browsing, previewing, and moving references into prompts produce fewer stale or duplicated states.
Settings open faster and density is easier to tune — Settings navigation, sidebar search, and UI density controls picked up polish so repeated configuration work feels lighter.
Settings page open avoids extra streaming-tick re-renders, sidebar search deep links can jump directly to matching settings, UI density follow-ups refine sidebar and composer spacing, and shared project menus replace older bespoke editor picker code.
Editor and kanban workflows are cleaner — Editor mode feedback, project picker reuse, kanban composer menus, and image preview handling all received focused follow-ups.
This release fixes editor-mode production feedback, shares project menu picker behavior, splits kanban composer menu discovery from editor logic, and consolidates local image preview state across chat and editor views.
A World Cup soccer ball playground landed — There is now a playful soccer-ball physics view for experimenting with motion and interaction inside Synara.
The new World Cup soccer ball physics playground adds a self-contained visual interaction surface, with follow-up formatting and server typecheck cleanup landed on main before the release.
Synara 0.1.8
Editor workspace is built into chat — You can now keep a project file workspace beside the conversation, inspect files, and move references into prompts without bouncing between tools.
This release adds the editor workspace view, file reference selection state, syntax highlighting, project file-system APIs, and focused coverage for workspace entries, path containment, editor view state, and chat reference parsing.
Open-in editor support is broader and prettier — Ghostty, Terminal, JetBrains, Xcode, Zed, Cursor, VS Code, and other editor launchers now have better discovery, icons, and platform-specific launch behavior.
Synara now discovers native editor apps and icons, caches icon assets server-side, exposes authenticated icon routes, and tightens macOS/Linux/Windows launcher handling, including Ghostty working-directory behavior and Linux desktop-entry matching.
Skills are unified across providers — The settings skill catalog now understands provider roots and shared skill copies, so Codex, Claude, Cursor, and compatible providers show cleaner ownership instead of duplicate noise.
A shared server-side skills catalog, provider prompt injection, provider discovery service updates, settings model, and provider icon chips now keep provider-specific and portable skills aligned across the UI.
Composer, references, and diffs feel steadier — Composer controls, inline chips, file references, markdown rendering, and diff navigation picked up tighter layout and interaction polish.
The chat view now shares composer footer layout helpers, richer file-entry icons, code-selection actions, syntax highlighting, diff route search, improved diff toolbar/list behavior, and cleaner picker layout for model, trait, and open-in controls.
Provider status refreshes are less stale — Codex auth overlays, provider status refreshes, and provider discovery invalidation now recover better after focus changes, settings updates, and native provider checks.
The web app now refreshes provider auth/status on focus and root events, while the server-side provider discovery layer handles native skill and capability fallbacks more predictably.
Older data and terminals recover more predictably — Legacy migration trackers, pinned/sidechat reconciliation, terminal environment handling, and workspace path checks were tightened for early-WIP installs.
Synara now reconciles legacy migration bookkeeping before running migrations, expands migration coverage, validates workspace real-path containment, and carries terminal environment updates through shared server and web contracts.
Synara 0.1.7
Claude Fable 5 available to Claude and Cursor — Claude Fable 5 now appears across the Claude and Cursor model paths, so you can pick the new model without hand-editing provider settings.
The shared model contract, Cursor variant list, keybinding metadata, provider discovery invalidation, and model-picker coverage were updated so Claude and Cursor stay in sync when new supported models land.
Cursor model discovery is smarter — Cursor-backed sessions now discover ACP model support more reliably, refresh stale model lists, and recover better when the provider reports partial or invalid state.
Cursor ACP support now has stronger parsing, refresh, health, and adapter handling, with tests for discovery fallbacks, stale cache invalidation, and provider health behavior.
Provider usage is visible where you work — Usage limits and pace now show up in the chat environment, settings, and compact controls for Codex, Claude, and Cursor.
Synara now reads provider credentials and usage data through shared server parsers, normalizes snapshots, stores cached values in SQLite, and renders reusable usage rows, progress tracks, line lists, and settings panels in the web app.
Composer controls are easier to scan — Model and options pickers are split more cleanly, empty threads keep the focused picker layout, and stacked composer panels have steadier sizing.
The composer stack now uses shared panel content and sizing helpers, refreshed trait-picker behavior, tighter queued/live-change headers, and extra browser/unit coverage for compact controls and panel styles.
Desktop chrome and installers got sturdier — Windows desktop builds now use a more reliable custom titlebar path, and Linux download metadata matches the current AppImage asset naming.
The desktop app gained centralized Windows caption controls, top-bar gutter handling, preload IPC support, font-family cleanup, and backend Node option tests, while the marketing download page now points at the
-x64AppImage naming used by current releases.Long-running sessions recover under pressure — Backend memory diagnostics, WebSocket backpressure handling, and live stream recovery were tightened so heavy sessions stay predictable.
This release adds memory diagnostics, stream backpressure guards, buffered provider-runtime ingestion coverage, and Codex app-server recovery fixes to keep partial streams and reconnects from leaving the UI stale.
Small UI fixes landed across chat and navigation — Plugin mention icons stay correct after sending, sidebars and search palettes have sharper state, and chat/task rows picked up focused polish.
Mention-chip icon logic, composer mention parsing, sidebar route metadata, search palette tests, active task cards, right-dock layout, root route chrome, and settings navigation all received focused fixes.
Synara 0.1.6
Transcript markers make long chats easier to navigate — You can now mark important transcript moments, jump back to them, and manage them from the Environment panel without losing your place in busy threads.
Markers now round-trip through orchestration events, projection storage, migrations, shared validation helpers, transcript selection actions, highlighted markdown spans, marker-aware scrolling, and focused browser/unit coverage.
Links show real site identity — AI response links, source lists, composer chips, and sent user bubbles now share the same link parsing path with website favicons instead of generic globe icons.
Synara now caches site favicons server-side, serves authenticated favicon image URLs, recognizes bare domains in composer text, and keeps markdown link text aligned with the same medium-weight chip styling used while composing.
Local dev servers are easier to spot — The Environment panel can now show local servers tied to the current project, with clearer browser/terminal identity and controls for tracked project runs.
The server now monitors listening processes with address-family metadata, tracks project-run ownership, syncs local server state over WebSocket/RPC contracts, and adds sidebar/project-run affordances for starting, viewing, and stopping dev servers.
Transcript scrolling is calmer — Collapsed work sections no longer drag the transcript tail, marker navigation is more predictable, and thread rendering does less surprising work while sessions update.
The timeline path now separates marker scroll behavior from live-output sticking, avoids retriggering tail scrolls for collapsed work disclosure changes, and has extra coverage around marker selection, rendering, and scrolling.
Small orchestration and shortcut fixes landed too — Thread orchestration, terminal identity, recent view switching, retired-model shortcuts, and local-server cleanup picked up focused reliability fixes.
This release tightens provider/runtime event projection, terminal visual identity, local-server process cleanup, recent-view key handling, and retired model picker shortcuts, with new tests for the affected contracts and stores.
Synara 0.1.5
Desktop updates are packaged more reliably — The macOS release path now has stronger artifact smoke checks, zip finalization helpers, and updater download coverage so new builds are easier to trust before they ship.
Release tooling now validates Mac update artifacts, parses boolean environment flags consistently, and tests the resumable update downloader without the older update-feed cache layer. The README and release docs were refreshed around the current Synara desktop flow too.
The diff panel is easier to navigate — Diff review now has a cleaner toolbar, file list, jump menu, and patch viewport so repository and turn changes are easier to scan without losing context.
The large diff panel was split into focused components with explicit repo-vs-turn view logic, shared selectors, searchable file filtering, and tests for the new source-resolution behavior.
Queued chat turns stay chat turns — Queued follow-ups now preserve their own mode and attachments even when the live composer is sitting in a plan follow-up state.
Queue draining now dispatches the queued turn payload directly, keeps in-progress composer drafts intact, and has browser coverage for plan-mode threads with pending follow-ups and image attachments.
Composer panels line up cleanly — Plan activity, queued follow-ups, and live file-change panels now share one frame style above the composer, with consistent width, borders, radius, and dark-mode opacity.
The stacked composer chrome now flows through a shared panel wrapper and rail sizing token, while the file-change strip only appears for active turns that actually contain provider file edits.
Markdown and mention menus got sharper — Chat markdown spacing, composer command selection, plugin discovery, file icons, and mention rendering were tightened so selected references look the same before and after sending.
Provider discovery now normalizes aliases and built-in metadata more carefully, command menu grouping is simpler, markdown blocks have better visual rhythm, and sent user bubbles preserve the selected file/plugin icon instead of falling back to generic text.
Synara 0.1.4
Important work can stay pinned — Projects, threads, and specific transcript messages can now be pinned so the context you keep returning to stays close at hand across sessions.
Pin state is now projected through the orchestration model, stored in dedicated persistence columns, reconciled for older databases, and shared with focused client stores so sidebar ordering, project rows, and thread detail all agree after reloads.
Thread context has a memory shelf — The environment panel now carries pinned messages and editable notes, giving long-running chats a durable place for decisions, constraints, and useful references.
Pinned message actions round-trip through server commands and snapshots, while thread notes autosave through the same projected thread detail path. This keeps the side panel useful without turning the transcript itself into a scratchpad.
Jump between recent views faster — A new recent-view switcher lets you move through recent chats, terminals, and workspace surfaces with keyboard-first navigation and visible keycap hints.
Recent views are tracked in a dedicated store, activated through shared route logic, and covered by browser and unit tests so switching does not lose terminal/workspace state or collide with existing global shortcuts.
Composer references behave better — Mention chips, draft restoration, queued composer headers, picker sizing, and empty-chat controls were cleaned up so references stay readable while you build prompts.
Mention parsing now has shared helpers and tests, composer drafts keep stronger thread/project references, and compact controls use consistent iconography across the empty state and active chat surface.
Desktop updates can resume — The desktop updater now has resumable download infrastructure with coverage for partial files, retries, checksum-style state, and release browser test fixes.
The update downloader writes through a dedicated resumable path, validates persisted metadata, handles interrupted ranges, and is tested separately from the Electron main process wiring so future updater changes have a sturdier base.
Git actions know when pull is available — Git action controls now surface pull availability more accurately and avoid offering branch actions that cannot safely run for the current repository state.
The Git core contract, broadcaster, React query helpers, and UI control logic now carry pull availability together, so action buttons line up with upstream/behind checks instead of guessing locally in the component.
Runtime failures are easier to survive — External Claude shutdowns, terminal cleanup, websocket RPC errors, and provider session recovery picked up extra guards for reconnects and interrupted work.
Claude SIGTERM from outside Synara is treated as a benign suspend path, terminal process cleanup has stronger tests, and websocket RPC failure handling is less likely to leave the UI believing a request is still in flight.
Migrations and release checks got sharper — Pinned-state migrations, snapshot projection tests, browser release tests, shortcut tests, and shared pinning logic were expanded to keep this deeper state model predictable.
New migrations cover pinned messages, thread notes, and project pins; legacy pinned-thread reconciliation was tightened; and the release suite now exercises the new state through contracts, server projection, shared helpers, and web UI logic.
Synara 0.1.3
The chat side panel is clearer — Thread activity, agent detail rows, environment controls, Git actions, branch controls, and queued composer state were tightened so the main chat and side panel stay easier to scan during busy sessions.
Long chats can be recapped in place — Synara can now generate and cache thread recaps, show current-state context in the chat environment, and reuse provider-backed recap generation without making the transcript harder to follow.
Large diffs do less duplicate work — Repo diff totals are computed once for the active chat and shared between the header and environment panel, with memoized patch stats to avoid re-parsing the same large diff during live updates.
Archived cleanup is more immediate — Deleting archived threads now goes through one shared client path, removes rows optimistically, batches worktree-linked deletes, and reconciles once with the latest server snapshot.
Terminals and transcripts are safer under load — Terminal runtime cleanup, provider activity ingestion, transcript rendering, and session handoff logic picked up extra safeguards for reconnects, shell summaries, agent activity, and active task rendering.
Desktop update prompts are quieter — Background update polling no longer exposes a manual check button at the wrong time, update state is restored more predictably, and production builds keep source maps off unless a diagnostic release opts in.
Small release-readiness fixes landed too — Image attachment expectations, optional callback typing, recap test doubles, composer spacing, reference chips, and queued row styling were aligned with the current UI so the final check suite stays green.
Synara 0.1.2
Terminals are lighter — Terminal output now does less work end-to-end: batching, renderer acknowledgements, smarter backpressure, cheaper history updates, and more faithful reconnect replay keep busy terminals lighter under noisy commands and long-running TUIs.
Terminal workspaces feel cleaner — Terminal-only workspaces skip hidden chat work, panes move between layouts without remount churn, close prompts only appear when a tab is active or needs attention, and terminal font/color settings now follow the active theme.
OpenCode starts faster and fails louder — Local OpenCode servers are pooled for recent sessions, startup waits longer before timing out, session creation runs alongside inventory discovery, and failure details now include redacted command output instead of vague startup errors.
Provider health checks are less jumpy — Slow Claude and OpenCode probes get longer timeouts, transient command timeouts no longer make a previously ready provider look broken, and Claude auth refreshes invalidate cached subscription state.
Claude resumes recover from stale native sessions — When Claude reports a missing conversation id, Synara clears the stale resume cursor, recreates the provider session, and retries with transcript context instead of leaving the turn failed.
Desktop updates now have a manual escape hatch — If an in-app install silently fails, Synara restarts the backend, resumes update polling, deduplicates error toasts, and points you at the exact GitHub release page for a manual download.
macOS desktop chrome stays aligned — Traffic-light placement and renderer gutter spacing now share one geometry helper and react to Electron zoom changes, keeping top-bar controls lined up across chat, settings, and workspace views.
Settings and appearance controls are easier to scan — Theme selection moved to a segmented control, settings rows share tighter typography, provider update failures can expose a copyable manual command, and custom binary-path confirmations survive restarts.
Agent task activity is easier to follow — OpenCode task child sessions and newer shell-step events now flow into Synara's activity timeline, while generic agent task rows keep their useful prompt and result text instead of disappearing or showing wrapper noise.
Reconnect state is visible to UI runtimes — The web transport now publishes local WebSocket state changes, giving terminal recovery and other renderer code a cleaner signal when the server reconnects or closes.
Synara 0.1.1
OpenCode support is much deeper — OpenCode startup, model discovery, command discovery, server connection options, and experimental WebSocket mode now flow through the same settings and runtime paths as the rest of Synara.
Slash commands respect your OpenCode setup — Composer slash-command discovery now uses the configured OpenCode binary, server URL, password state, and WebSocket mode, so command lists match the runtime you actually selected.
Desktop updates are harder to get stuck — The updater now caches GitHub release metadata, preserves actionable update state across transient failures, detects stalled downloads, and clears stale same-version update payloads more deliberately.
The chat surface feels tighter — Composer padding, button spacing, picker sizing, panel headers, banners, dock surfaces, and chat chrome were tuned so the main workspace reads cleaner without losing controls.
Desktop chrome fits the OS better — macOS traffic-light spacing, sidebar seams, Electron card borders, motion, and titlebar controls were refined so the app frame feels more native on desktop.
Large chats do less unnecessary work — Markdown parsing is deferred more carefully, pending-interaction state is derived in one place, and transcript/session rendering avoids extra churn during busy or long-running chats.
Settings back navigation lands in the right place — The Settings sidebar back button now restores the last valid chat route, falls back to the newest live thread when needed, and drops stale split-view routes before navigating.
Chats and Workspace can be hidden — New sidebar section toggles let you hide the standalone Chats footer list or the Workspace tab while keeping Threads always available.
Imported legacy databases recover missing columns — Fresh repair migrations reconcile older imported migration trackers that skipped Synara's sidechat-source or pinned-thread columns, preventing startup crashes in those upgraded histories.
OpenCode looks better in dark mode — The OpenCode provider icon now switches to a clearer reversed asset in dark mode, with sidebar and provider picker styling adjusted around it.
Settings are easier to scan — Repeated boolean settings were consolidated into a shared row pattern, provider install rows got cleaner reset behavior, and OpenCode-specific controls sit with the rest of provider tools.
Synara 0.1.0
Synara is now the default home — The app now starts from
~/.synara, carries the Synara environment variables through the desktop and server runtime, and safely imports existing~/.dpcodeor~/.t3data on first launch.Desktop startup feels more native — Windows now hydrates the desktop environment from the registry so provider CLIs are found reliably, macOS keeps Liquid Glass styling only where it belongs, and older Macs get a rounded dock icon without breaking Tahoe.
Right dock and saved UI state are sturdier — Recovered browser, dock, sidechat, split-view, and panel state is now validated before use, preventing stale or corrupted localStorage from crashing the workspace.
Composer pickers are cleaner — The traits picker and shared menu styling were refreshed with a tighter layout, clearer selection states, and a calmer feel across model and composer controls.
Provider runtime noise is reduced — Claude thinking-token telemetry no longer floods the timeline, provider task warnings are deduplicated more carefully, and Codex home overlays avoid stale SQLite sidecar files during startup.
Small workflow details got sharper — Context meter labels, edit actions, completion separators, Git controls, diff routing, desktop update retry state, and shortcut handling all picked up focused fixes for smoother day-to-day sessions.
Synara 0.0.50
Claude Opus 4.8 is available — Synara now includes Claude Opus 4.8 in the Claude model picker.
Synara 0.0.49
Grok Build models stay current — Grok model discovery now combines the CLI with xAI language-model metadata, including API aliases, so Grok Build and code-fast variants appear in the picker without waiting for another manual app update.
Provider choices wait for real readiness — The provider picker no longer treats unknown provider status as usable. Providers stay in a checking state until Synara has confirmed that the local runtime is available and authenticated.
Desktop shutdown is calmer — The desktop backend now shuts down more deliberately on quit, reducing noisy restarts and preserving a cleaner thread sync path when the app is closing.
Large histories sync with less work — Snapshot queries, checkpoint reads, and transcript updates picked up more focused data paths, keeping busy workspaces lighter when sessions reconnect or histories grow.
Diffs and transcripts feel steadier — Whitespace diff controls, thread title updates, copy metadata, and live transcript rows received targeted fixes so common review and resume flows update more predictably.
Synara 0.0.48
Grok joins Synara — Pick Grok as a first-class coding provider with ACP-backed sessions, model selection, approval handling, resume support, provider health checks, settings, icons, and handoff wired through the same app surfaces as the rest of your agents.
Provider fallbacks and desktop menus behave better — Provider startup and recovery paths are more forgiving when preferred runtimes are unavailable, and desktop menu shortcuts now line up more reliably with the active workspace.
Large histories stay lighter — Snapshot hydration, diagnostics, and capped history paths now do less unnecessary work, reducing memory pressure when busy sessions or large workspaces reconnect.
Pi and OpenCode edge cases are smoother — Pi aborts now read as interruptions, thinking levels are clamped more safely, live sidebar updates are steadier, and OpenCode/provider update handling picked up targeted reliability fixes.
Answers survive the RPC hop — User-input answers are preserved through the JSON-RPC codec, which keeps pending provider questions from losing their payload as they move between the app and server.
Synara 0.0.47
Pi gets a much sturdier seat at the table — Pi provider sessions now benefit from tighter lifecycle handling, clearer extension-limit warnings, and provider probes that respect the binaries configured in settings.
Providers can keep themselves fresher — Provider auto-update plumbing landed across the app, making it easier to keep agent runtimes current without turning setup and maintenance into a separate chore.
Create PR only appears when it can actually work — Create-PR actions now check upstream branch and availability state more carefully, so the UI is quieter until the repository is ready for a real pull request.
Pending questions stop advancing at the wrong time — Pending user-input auto-advance now cancels on question changes and in-flight responses, reducing stale answers and empty submissions in interrupted provider flows.
Git status and provider transcripts read cleaner — Git status refreshes, pull-error messaging, Kilo/OpenCode transcript handling, repo diff scopes, and provider install docs links all picked up focused reliability polish.
Synara 0.0.46
Image attachments stay visible after sending — Persisted image previews now load through the same reliable byte-serving path as local generated images, fixing the brief preview flash followed by broken attachment thumbnails.
Kilo Code joins the provider lineup — Synara can now launch and monitor Kilo Code sessions alongside Codex, Claude, Cursor, and OpenCode, with health checks, settings, mentions, handoff, and model compatibility wired through the app.
Provider order is now yours to arrange — The settings screen now lets you drag providers into the order that fits your workflow, and the composer, sidebar, search palette, and plugin surfaces follow the same custom ordering.
Cleaner OpenCode and Kilo transcript updates — Synthetic snapshot progress is filtered more carefully, so restored or refreshed provider output avoids repeating internal progress text while keeping real assistant activity intact.
Diff totals are easier to trust at a glance — The chat header now owns unified diff totals, keeping added and removed line counts consistent between the header and diff panel as content refreshes.
Synara 0.0.45
OpenCode sessions understand the latest event stream — Synara now tracks the newer OpenCode SDK session events, keeps titles fresher, and has much deeper coverage around OpenCode startup, output, and recovery flows.
Interrupted turns recover more predictably — Ready and idle transitions now clear or restore turn state more carefully, reducing stuck busy states after reconnects, restarts, and partial provider streams.
Cursor model choices follow live ACP metadata — Cursor model selection now normalizes against the provider's current ACP options instead of relying on stale context traits, so the composer better matches what Cursor can actually run.
Diff and pinned-thread state stay in sync — Projection, sidebar, and store updates now carry pinned-thread metadata through the app, while the diff panel handles refreshed content with fewer display glitches.
Small workflow polish for Git and keybindings — Git summaries are clearer for rename-like moves into untracked folders, and routine keybinding reloads no longer pop a success toast every time they quietly refresh.
Synara 0.0.44
Codex image generation now renders in chat — Generated images from Codex are captured as local artifacts, rendered inline in assistant messages, and include expand and download controls without dragging bulky base64 payloads through the transcript.
Generated images use a safer local route — Synara now serves generated files through a dedicated local-image endpoint with MIME checks, workspace-aware path resolution, and Codex generated_images allowlists for both the normal home and desktop overlay home.
Provider favorites are quicker to manage — The provider model picker gained native favorite toggles and cleaner context-menu separators, making large Codex, Cursor, and OpenCode model lists easier to shape around the models you actually use.
Old inactive threads clean up after seven days — A safer retention job now removes stale inactive threads in batches, publishes maintenance progress, protects running work and approvals, and compacts SQLite when enough space can be reclaimed.
Transport and server edges are steadier — WebSocket HTTP URL helpers, lifecycle events, provider runtime ingestion, and chat-route plumbing were tightened so generated artifacts and cleanup events move through the app more predictably.
Synara 0.0.43
Cursor is now a first-class Synara provider — Run Cursor CLI sessions directly from Synara with ACP-backed startup, model discovery, existing-chat resume, handoff, and provider health checks alongside Codex and OpenCode.
New Effect TS ACP runtime — The new Effect TS ACP package owns generated schemas, JSON-RPC transport, client and agent helpers, terminal release handling, and protocol tests so provider integrations have a sturdier core.
The server moved onto Effect RPC — WebSocket routing, auth, readiness, settings, environment, git status, and orchestration flows were rebuilt around Effect services so reconnects and failure paths stay more predictable.
Cursor output is easier to read and resume — Cursor reasoning, tool progress, usage events, plan updates, composer behavior, and model-selection compatibility now render more consistently across fresh and resumed threads.
Busy sessions stay calmer — Sidebar project recovery, visible-thread PR lookups, task banner resizing, stale target repair, sidechat split handling, and compact chat controls were tightened for heavier day-to-day use.
Synara 0.0.41
Sidechat threads are easier to track — Sidechat source metadata now flows through projections, filters, and snapshots so secondary threads stay easier to separate from the main conversation.
Desktop startup feels faster — Packaged desktop builds now open the app window before backend readiness finishes, reducing the blank-start feeling while services come online.
Git gained commit and push — The Git actions menu can now commit current work and push it from Synara, keeping the common release and handoff flow closer to the chat.
Task controls are clearer — Active task controls were tightened, and approval counts are now separated from user input requests so pending work is easier to read at a glance.
Synara 0.0.40
Browser-use now drives the visible browser — The desktop browser and browser-use tools now share the same visible webview, so automation, screenshots, navigation, and manual browsing stay in sync instead of racing separate hidden pages.
The browser panel is steadier — Browser resizing, overlay handling, tab controls, screenshot actions, and browser-use panel requests were tightened while keeping the browser from reopening by default.
Plans are easier to export — Proposed plans now share one compact action set for copying markdown, saving into a
.planworkspace folder, or exporting a markdown file through the desktop save dialog.Split panes expand predictably — Expanding a chat pane now opens that selected chat as the single full-screen surface, closing the rest of the split layout.
Git flows are smoother — The Git menu now includes branch creation with Synara-style names, and PR creation can recover from GitHub duplicate-PR responses by reusing the existing open pull request.
Legacy T3 imports heal themselves — A new migration reconciles older imported T3 Code databases whose migration history skipped Synara schema changes, preventing missing-column crashes after import.
Idle sessions clean up after themselves — Provider runtimes and Codex discovery sessions now stop after idle periods, while active turns and pending approvals remain protected from premature shutdown.
Streaming output lands in the right message — Assistant turn ingestion now prefers existing completed item IDs when possible, reducing placeholder duplication and keeping streamed assistant text attached to the intended message.
Small workflow polish landed — Diff views can copy the full patch directly, terminal-started chats get a clearer header icon, sidebar titles truncate more cleanly, and long transcripts cap normalized messages for lighter rendering.
Synara 0.0.39
Split chats are easier to arrange — Split chat panes now support direct drag-and-drop, cross-project drops, and safer orphan handling so multi-chat layouts stay easier to build and recover.
Split chat navigation is steadier — Split chat activation, route restore, sidebar grouping, and thread subscriptions were tightened so opening and switching chats feels more predictable.
OpenCode tasks show live progress — OpenCode todo events now flow into Synara as active task updates, with a compact banner option for keeping current work visible without taking over the chat.
OpenCode models can be favourited — The model picker now supports OpenCode favourites, making preferred models quicker to find across larger provider model lists.
OpenCode context usage is tracked — OpenCode sessions now report context usage more consistently, giving Synara better runtime visibility as conversations grow.
Debug controls stay out of production — Debug feature flags are now hidden behind local opt-in behavior, keeping production sidebars cleaner while preserving developer-only controls.
Synara 0.0.38
Cursor CLI support landed — Cursor is now available as a provider, with ACP sessions, model discovery, existing chats, handoff, shortcuts, and git text generation wired into Synara.
Voice transcription is scoped more carefully — Voice transcription now stays on ChatGPT sessions, avoiding confusing provider mismatches while keeping dictation available where it is supported.
Voice transcription setup is smoother — Voice transcription setup was tightened so spoken prompts can flow into the composer more reliably in supported ChatGPT sessions.
Mentions keep their names — Composer replacements now preserve mention labels, so referenced files, apps, and tools remain readable after the prompt text is normalized.
Plugin mentions are handled in prompts — Plugin references can now flow through composer prompts cleanly, making connected-tool context less brittle when you hand work to an agent.
Toast behavior can be feature-flagged — Toast notifications picked up feature-flag wiring, giving Synara a safer way to roll notification changes forward or back.
Desktop reconnects are steadier — The desktop bridge now refreshes reconnects more reliably and preserves the workspace home directory, reducing drift after desktop runtime restarts.
Synara 0.0.37
Branch switching is much safer — Synara now handles messy branch switches with clearer recovery actions, recreated stashes, unpublished branch publishing, and stronger checks around conflicts and local work.
Plan mode proposals show up properly — Proposed plans from providers are now parsed and surfaced as first-class UI state, so planning turns feel more predictable instead of blending into ordinary assistant output.
Desktop navigation controls landed — The desktop app now has app-level back and forward navigation controls, making it easier to move around Synara without losing your place.
Sidebar ordering stays put — Stored sidebar sort preferences are preserved on load, fixing cases where project and thread ordering could unexpectedly reset.
Fonts are more consistent — Theme and chat font handling now share one normalization path, tightening up typography across the chat UI, model controls, and theme settings.
Synara 0.0.36
GPT-5.5 is available — GPT-5.5 is now in the model picker with the right default reasoning behavior, so you can move new Codex sessions onto the latest model directly from Synara.
OpenCode support is here — OpenCode is now available as a provider, with runtime model discovery, session handling, provider settings, model search, variants, agents, and git text generation wired into the app.
Model search feels faster — Large OpenCode model lists now get provider-aware search, clearer labels, automatic search focus, arrow-key navigation, and tighter picker clipping.
Diffs now start from the turn — Turn diffs use turn-start checkpoints, making changed-file views line up more closely with what the agent actually changed in the current turn.
Chat markdown is smarter — Math rendering was added to chat markdown, while literal dollar amounts stay intact so normal prices and currency snippets do not get misread as formulas.
More polish around search and releases — Sidebar theme search, release verification, Windows signing config, and a handful of provider/model edge cases were tightened up for a smoother build and update path.
Synara 0.0.35
🗂️ Project import browsing got smarter — The import palette can now browse nearby paths more directly, helping you find and open the right project location with less guesswork.
📊 Provider usage is visible in-context — The branch toolbar now surfaces provider usage snapshots, making it easier to keep an eye on current usage without leaving your working view.
🚀 Desktop startup feels clearer — Synara now shows a proper splash screen while the desktop backend spins up, so launch feels intentional instead of looking briefly stalled.
🎛️ Better provider and theme polish — Model capability handling, theme editing, and related picker behavior were tightened up so settings feel more consistent and trustworthy.
🛠️ Desktop release plumbing is sturdier — Startup readiness checks, desktop packaging config, and platform entitlements were refined to make desktop builds and app boot more reliable.
Synara 0.0.34
🎨 Theme packs are editable — The new theme pack editor lets you tune UI colors directly in Synara, with shared theme tokens keeping the sidebar, composer, transcript, and controls in sync.
🔔 Sidebar notifications are easier to read — Thread activity now surfaces more clearly in the sidebar, so updates, background work, and attention states are easier to spot without opening every conversation.
🧵 Steadier transcripts under load — Transcript rendering and sidebar-owned state were separated more cleanly, reducing unnecessary churn while long conversations and live agent output are moving.
🛡️ Safer runtime-mode recovery — Codex runtime permissions now propagate more reliably across resumed sessions and provider restarts, keeping the app closer to the mode you actually selected.
✨ Cleaner composer and picker styling — Composer chrome, picker hover states, runtime controls, and changed-file rows picked up a more consistent visual pass across light and dark themes.
Synara 0.0.33
📂 Browse local folders right from the composer — Folder mentions now open a real local directory picker, so you can drill into nearby files and attach the right path without leaving the chat flow.
🗂️ Cleaner file and folder mentions — Mention chips, file trees, and changed-file rows now use a lighter shared icon system that keeps paths easier to scan across the app.
🌐 Stronger desktop browser runtime — The desktop browser path picked up better IPC plumbing, screenshots, clipboard support, and more efficient state syncing for browser-driven tasks.
🛟 Smoother startup and provider recovery — Project hydration, desktop startup, auth visibility, and aborted-turn cleanup were tightened up so sessions recover more predictably after interruptions.
Synara 0.0.32
↪︎ Steering messages are clearly marked — Messages sent with steering now keep a lightweight 'Steering conversation' label above the bubble, even after the app reconciles with the server.
🚦 Less aggressive background return checks — Desktop update checks now wait for a real background return instead of reacting to every tiny blur/focus bounce.
🛟 No more stuck checking state — If the updater never answers, Synara now times out and recovers instead of hanging on a permanent Checking status.
Synara 0.0.31
Provider support is here — Use multiple coding agents with provider-aware models and handoff support built into the app.
🛠️ Custom binary paths for every provider — Point Synara at your own Codex or Claude binary when your setup lives outside the default install path.
📎 Reuse assistant replies as attachments — Select parts of an assistant response and send them back as structured context in your next prompt.
🧵 Better thread continuity — The app now remembers your last open thread, carries pull request context into draft threads, and keeps sidebar state more stable.
🩹 Smoother recovery and update checks — Project creation recovery, foreground update checks, and a few rough edges around long messages and download state have been tightened up.
Synara 0.0.30
💬 Chats are now available! — Write without a selected project, or create threads from there.
⌨️ New shortcuts — Quickly open a new chat or jump to your latest project thread with dedicated shortcuts.
🧠 Claude 1M context support — Take full advantage of Claude's 1M-token context window for long conversations and large codebases.
📁 Bulk thread actions — Select multiple threads at once and act on them together.
✨ Cleaner reasoning picker order — The reasoning picker has been reordered to make the most common choices quicker to reach.
💻 New polished UI/UX — A round of visual and interaction polish across the app.
Synara 0.0.29
🆕 What's new, inline — Every update now opens a one-time dialog highlighting the latest changes, so you don't have to hunt through a changelog to know what shipped.
The dialog only shows up once per release — dismiss it and it stays out of your way until the next version.
📚 Release history in Settings — A full changelog lives under Settings → Release history, grouped by version in a collapsible accordion.
Revisit any past release at any time. The same notes as the post-update dialog, nothing to hunt for.
Updated with every release. See releases on GitHub.
Download Synara