Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion RELEASE-NOTES.md
Original file line number Diff line number Diff line change
@@ -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

Expand Down Expand Up @@ -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.
Expand All @@ -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