v1.9.0 #369
naveenraj-17
announced in
Announcements
v1.9.0
#369
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
🚀 Synapse v1.9.0 — Seamless Orchestration
Every run is fully recorded as it happens, so you can close the tab, come back hours later, and see exactly what happened and what is happening right now. Crashes resume from where they stopped instead of replaying whole nodes. And when a run needs you, Synapse comes and finds you. 🔔
✨ Highlights
🎬 Leave and come back — runs are replayable
Every orchestration run writes an append-only event journal as it executes. Reopening a run replays that journal into the same live view you would have seen watching from the start, then keeps tailing in real time. Reloading the page, navigating away, or dropping your connection no longer loses a run's history.
GET /api/orchestrations/runs/{run_id}/eventsand/events/stream— SSE,Last-Event-IDaware, replay-then-tail.🧠 Reasoning is visible
Agent reasoning was already streaming from the backend — the UI was quietly dropping it. The orchestration run log and the main chat now render reasoning alongside tool calls, so you can see why an agent did something, not just what it called.
⚡ Mid-node continuity
A crashed or cancelled run used to restart the failed node from scratch — an agent step that had made a dozen tool calls would make them all again, side effects included. 😬 Nodes now carry their progress across a resume:
🔔 Run notifications
Synapse now tells you when a run needs you, finishes, or fails.
📊 Orchestration dashboard
The Orchestrations page is no longer an empty canvas until you pick something. It opens on a tabbed dashboard — Orchestrations · Active · Recent · All runs — and lands on Active whenever something is running.
The runs tables show status (distinguishing 🟡 Needs input from Paused), the current step name, what triggered the run (Manual,
Schedule · <name>, or Agent chat), steps completed, cost, start time and a live duration. Clicking any row opens that run's replay, and a Back button returns to the dashboard without interrupting the run.🐛 Fixes
RuntimeError: Attempted to exit a cancel scope that isn't the current task's— a clean pause was reported as a failure.RUNS_DIRand the notification store live underbackend/logs/and ignoredSYNAPSE_DATA_DIR, so the test suite had been writing fixture runs into real user data. Both are now isolated per-test.🔌 API changes
All additive — no breaking changes. ✅
GET /api/orchestrations/runs/{run_id}/events?after=for incremental fetchGET /api/orchestrations/runs/{run_id}/events/streamLast-Event-IDGET /api/notifications?after=GET /api/notifications/streamGET /api/orchestrations/runs?limit(default 20, max 200); response gainssession_id,current_step_id,steps_completed,last_step_name,waiting_for_human,total_cost_usd; excludes builder/nested runs and runs of deleted orchestrationsSettings gains one optional key,
run_notification_channel_id(empty = in-app notifications only).🛠️ Notes for operators
backend/logs/orchestration_events/as one JSONL file per run, capped per run and degrading to structural events only beyond the cap. Likeorchestration_runs/, this path is not relocated bySYNAPSE_DATA_DIR— worth accounting for in backup and disk planning.boto3/botocore,greenlet,openai,sqlalchemy,typing-inspection,twilio), all within existing major bounds.Built with ❤️ on the Synapse orchestration engine · AGPL-3.0
This discussion was created from the release v1.9.0.
All reactions