v1.8.5 #359
naveenraj-17
announced in
Announcements
v1.8.5
#359
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.
v1.8.5 — Orchestration cancel-scope crash + Docker release repair
🐛 Fixes
RuntimeError: Attempted to exit cancel scope in a different taskwhen launching an orchestration from the home command bar (#356). The same orchestration launched from the editor worked, which made this look content-dependent; it wasn't. The engine holds ananyiocancel scope acrossyields (the per-step timeout in_execute_loop), andanyiobinds a cancel scope to the task that entered it. The SSE consumer was pulling each event in a fresh task, so the scope was exited from a different task than entered it, and the run crashed after the agent step had already produced its complete output. All orchestration entry points now advance the engine generator from one dedicated task via the newcore/orchestration/runner.py, so the launch path can no longer change how the engine is driven./api/v1/chatand/api/v1/chat/streamnow recognize theorchestration_errorevent type that an orchestrator agent fails with, instead of onlyerror.failed to solve: not_found— cancelling a push whose image had already been built. The config had survived 20 releases on a shrinking margin. Publish no longer writes build cache at all (across the whole failing job it bought 2 cache hits), andcache-fromis now scoped per image.curl -fsSL …nodesource… | bash -discards curl's exit code, and the NodeSource script exits 0 after failing — so an intermittent 403 fromdeb.nodesource.comfell through to Debian'snodejspackage, which provides only/usr/bin/node. That is exactly how v1.8.4 shipped. The base images are now Debian 13 trixie, whosenodejsis already v20, so NodeSource's original rationale no longer applies: Node and npm now come from Debian, and the build asserts both binaries and fails loudly if either is missing.🔧 Release pipeline
publish-dockeris now one job per image instead of three sequential steps — roughly 70 minutes down to 25, and a single failing image no longer forces a rebuild of all three. Images are still multi-arch (linux/amd64,linux/arm64) in a single manifest list; the split is by image, not by platform.workflow_dispatch(version/ref/images) so a half-failed release can be republished without a version bump. Re-running a failed release run cannot fix this class of failure, because it replays the workflow file from the tagged commit.docker-build.yml's push trigger watchedmainwhile the release line ismaster, so it never fired there. Its layer caches were only ever written bypull_requestruns, which are ref-scoped and unreadable from a release build.✅ Tests
backend/tests/unit/test_orchestration_runner.py— single-task pump, sentinel handling, detached-run semantics, and cancellation.backend/tests/api_app/test_orchestration_realrun.py— real orchestration run through the streaming path, covering the RuntimeError: Attempted to exit cancel scope in a different task when launching an orchestration from the home command bar (works from the editor) #356 regression.backend/tests/unit/test_react_engine_parsing.py—iter_with_heartbeatpump and stream-end propagation.⬆️ Upgrading
No frontend changes in this release, so no rebuild or re-bundle is needed. No settings or data migration required.
pip install --upgrade synapse-orch-ai, thensynapse start.synapse upgrade, thensynapse start.docker compose pull && docker compose up -d. If you pin tags, move them off1.8.4.git pull, thensynapse stop && synapse start.Full Changelog: v1.8.4...v1.8.5
This discussion was created from the release v1.8.5.
All reactions