NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI
The web stage for your LangGraph agent — AI-powered workspace with streaming, file browser, and canvas
Last release today
19 Oct 2026
Release timing varies
gaps range from 8 days to 2 months
Nearly every release is documented
notes for 55 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
4 months old
71 releases · first in 2026
One column per month.
Unknown /api/* paths returned 200 + the SPA HTML shell instead of 404. The SPA catch-all route swallowed the whole /api (and /ws) namespace, so a typo
/api/* paths returned 200 + the SPA HTML shell instead of 404. The
SPA catch-all route swallowed the whole /api (and /ws) namespace, so a typo'd
or missing API path silently returned an HTML page to programmatic clients. The
catch-all now raises a JSON 404 for /api/* and /ws/*; other paths still serve
the SPA. (gh #-dogfood)config text still referenced the pre-rename deepagents.toml;
now langstage.toml.index.html <title>) as
Cowork Dash; corrected to LangStage.langstage --version flag (it only had --show-config/--help).GET/POST/DELETE /api/cron,
POST /api/cron/{id}/run) — the path is /api/cron, not /api/schedules.langgraph-stream-parser floor to >=0.6.7 (tool_end name + dict
messages).README advertised a `/ws/chat` WebSocket transport that doesn't exist — the Architecture diagram and Features bullet promised WebSocket; connecting to
/ws/chat WebSocket transport that doesn't exist — the
Architecture diagram and Features bullet promised WebSocket; connecting to
/ws/chat returns 403 (no such route). The real chat transport is
Server-Sent Events: GET /api/stream?session_id=… + POST /api/chat. Corrected
the diagram, the Features bullet, and the Stack line. (gh #-dogfood)langgraph-stream-parser floor to >=0.6.6 (base + [agui]) so
dict-form-message agents ({"role":"assistant","content":…}) render in chat.…workspace — default_agent.py read only the deprecated DEEPAGENT_WORKSPACE_ROOT. It now reads the canonical name first and warns on the legacy one.
CompiledGraph whose node returns a finished AIMessage (rule-based / router /
retrieval agents, or any LLM call outside a token-streaming node) rendered an
empty assistant turn. Root cause was in the shared core; bumped
langgraph-stream-parser to >=0.6.4, which emits such content as a fallback.LANGSTAGE_WORKSPACE_ROOT was ignored when computing the default
agent's workspace — default_agent.py read only the deprecated
DEEPAGENT_WORKSPACE_ROOT. It now reads the canonical name first and warns on
the legacy one.Declare `langchain` as a dependency. langstage.middleware (canvas) imports langchain.agents.middleware and is loaded on hot paths (app, the check CLI
langchain as a dependency. langstage.middleware (canvas) imports
langchain.agents.middleware and is loaded on hot paths (app, the check CLI
command, the default agent), but langchain wasn't declared — it only arrived
transitively via the [deepagents] extra. A clean pip install langstage therefore
failed with ModuleNotFoundError: No module named 'langchain' on langstage check
/ langstage run. Now a hard dependency. (Found in production by the daily QA routine.)pip install .) and runs
an import + CLI smoke — the lane that matches a real pip install langstage. The
other jobs install [deepagents], which masked the missing langchain by pulling
it transitively. This guards against undeclared dependencies going forward.Durable agent checkpointer. The auto-attached checkpointer is now upgraded to a SQLite-backed AsyncSqliteSaver ( /.langstage/checkpoints.db) at server
AsyncSqliteSaver (<workspace>/.langstage/checkpoints.db)
at server startup, so conversation + interrupt state and the task review gate
survive restarts, and orphaned tasks resume from their last checkpoint
instead of from scratch. Only checkpointers LangStage auto-attached are
upgraded — a user-supplied checkpointer is never replaced. Falls back to
in-memory if the SQLite saver can't initialize.langgraph-stream-parser 0.6.1 (sharper async-delegation tool
descriptions, so the agent reaches for the task board for long/background work).langgraph-checkpoint-sqlite.Bring-your-own-agent integration — make pointing --agent at any LangGraph graph "just work," and tell users exactly what lights up.
Bring-your-own-agent integration — make pointing --agent at any LangGraph graph "just work," and tell users exactly what lights up.
langstage check --agent <spec> — a preflight doctor that loads your agent and reports which features will light up (checkpointer, Canvas, Plan/write_todos, async-delegation tools) and which need a convention or tool to unlock.LANGSTAGE_TOOLS — a one-import bundle (from langstage import LANGSTAGE_TOOLS) of the host's scheduling + async task-delegation tools, so a BYO agent unlocks agent self-delegation and agent-created schedules in one line.__version__ now reads from package metadata (was a stale hardcoded constant).Task board columns now expand to fill the panel width (they were fixed-width, leaving dead space when the right panel was widened).
Async task board — delegate tasks to background copies of the agent, track them on a Kanban board, and interact with each run.
Async task board — delegate tasks to background copies of the agent, track them on a Kanban board, and interact with each run.
queued → ongoing → review_needed → done (cancel/retry per card). Backed by the core 0.6 task engine (TaskRunner + a durable SQLite store) — non-blocking, single-process, no extra infra./api/tasks REST: list/get/create/cancel/retry, plus GET /{id}/events, POST /{id}/resume (HITL approve/reject), POST /{id}/message (talk-back).start/check/list/update/cancel_async_task tools, so it can spawn async sub-tasks (tracked on the board with parent links).>=0.6,<0.7 (+ [agui]); added aiosqlite.Adopt AG-UI: widen the langgraph-stream-parser ceiling to <0.5 and add an [agui] extra so this surface's agent can be served over AG-UI via langstage-
Adopt AG-UI: widen the langgraph-stream-parser ceiling to <0.5 and add an [agui] extra so this surface's agent can be served over AG-UI via langstage-agui. Additive; no runtime changes.
…→ `langstage` (the old command remains as a deprecated alias, and a deprecated alias package keeps import cowork_dash working with a warning).
cowork-dash is now langstage — the web stage (and namesake) of the LangStage family ("every stage for your LangGraph agent"). The rename also clears the collision with Anthropic's Claude Cowork.
cowork-dash → langstage; module cowork_dash → langstage; command cowork-dash → langstage (the old command remains as a deprecated alias, and a deprecated alias package keeps import cowork_dash working with a warning).LANGSTAGE_* env vars, project langstage.toml, global ~/.langstage/config.toml. The full legacy DEEPAGENT_* / deepagents.toml vocabulary still resolves as a deprecated fallback.>=0.3,<0.4.Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →