diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index 16dd9e1..0a5ac21 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -1,6 +1,6 @@ # LevelCode v1.0.4 -The big one: **the agent can now use external tools over MCP** — a filesystem server, GitHub, Postgres, an internal company server — alongside its own built-in tools, with a security model that treats an MCP server as exactly what it is: arbitrary code that runs with your privileges. Plus autopilot now honors a changed step limit live. +The big one: **the agent can now use external tools over MCP** — a filesystem server, GitHub, Postgres, an internal company server — alongside its own built-in tools, with a security model that treats an MCP server as exactly what it is: arbitrary code that runs with your privileges. Plus autopilot now honors a changed step limit live, and the agent's activity timeline reads as one clean thread. ## Highlights @@ -33,6 +33,10 @@ A new **`AI: Manage MCP Servers…`** command (and a link at the foot of `/mcp`) `/mcp` lists every **configured** server — running or not — with its state, where it came from, its exact command, and (once live) its tools and whether each is allow-listed. It answers the two questions you actually have — *why isn't my server being used?* and *what is this repo asking to run?* — that a list of only-running servers can't. The context-usage popover now also breaks out an **MCP tools** line, so the standing per-turn cost of a chatty server is no longer invisible. +### A cleaner agent timeline + +The activity thread under each run — its tool calls, approvals, and commands — now reads as **one connected line** instead of disconnected stubs: the connector rail threads continuously through consecutive steps (only a stretch of narration breaks it), the way GitHub, Cursor, and Claude Code draw theirs. And an **approved MCP tool call is now a single row** — not an `Approved · server · tool` chip *plus* a separate `🔌 server · tool` node — so it's one row per action, matching how allow-listed calls already looked. + ### Autopilot honors a changed step limit, live Raising **Maximum tool-use steps** mid-run now takes effect on the very next step, instead of being frozen at the value from when the goal started — so bumping it from 25 to 1000 when autopilot pauses at "step limit" actually lets it keep going. @@ -41,5 +45,6 @@ Raising **Maximum tool-use steps** mid-run now takes effect on the very next ste - **27 suites** across the bundled extensions, all green. - The MCP core is pure, testable modules by design: config merge + tool-name namespacing + the approval policy (`mcpConfig`), the launch fingerprint and trust logic, and the `/mcp` + manage-servers row builders are all unit-tested **without spawning a process or opening the editor** — in the same two-corpus style the command-danger classifier uses, where the test banner states the load-bearing direction. +- The webview timeline changes are pinned by the chat UI's static-CSS-invariant suite (`webviewCss`) — e.g. the rail's connector offset can't silently drift from the row gap, and the one-row MCP fold stays wired end to end (`agent.js` → approval chip → run-node). **Full changelog:** https://github.com/levelcodeai/levelcode/compare/v1.0.3...v1.0.4