Skip to content

Commit 33d1811

Browse files
authored
Merge pull request #59 from levelcodeai/docs/release-notes-v1.0.4
docs: RELEASE-NOTES.md for v1.0.4 (MCP support + live step limit)
2 parents 58d1170 + 1f70524 commit 33d1811

1 file changed

Lines changed: 30 additions & 14 deletions

File tree

RELEASE-NOTES.md

Lines changed: 30 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,45 @@
1-
# LevelCode v1.0.2
1+
# LevelCode v1.0.4
22

3-
A UI-polish release. The model picker is **name-forward** instead of a wall of detail, a finished plan **folds away** on its own, and the footer shed a redundant chip.
3+
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.
44

55
## Highlights
66

7-
### A cleaner model picker
7+
### Bring your own tools, over MCP
88

9-
Picking a model used to mean reading three technical fields per row — the raw id (`anthropic/claude-opus-5`), the context size, and a `6.67× credits · 1000K ctx · ≈103 turns left` second line. Handy for debugging, noise for choosing. Each model is now a single, **name-forward** line: just the name, an active check, and a lock on "coming soon" models — the way Cursor and Claude Code present them.
9+
Point LevelCode at any [Model Context Protocol](https://modelcontextprotocol.io) server and its tools join the agent's own — namespaced `server__tool`, usable by every model LevelCode supports, with no code to write. This first release speaks **stdio** (a server you run as a local subprocess), which covers the overwhelming majority of servers and sidesteps the remote-transport spec churn landing this year; remote/HTTP servers come later.
1010

11-
Your plan and remaining credits still sit in the picker's header, so the number that matters isn't lost; only the per-row debug detail is gone. Type to filter by model name.
11+
You declare a server in one of two places, and they are trusted differently on purpose:
1212

13-
### A finished plan cleans up after itself
13+
- **`levelcode.ai.mcp.servers`** (your own settings) — you typed it, so it starts.
14+
- **`.levelcode/mcp.json`** (committed in a repo) — read and listed, but it **never starts on its own**.
1415

15-
When the agent works from a checklist, a completed plan used to sit fully expanded in the sticky bar — a large part of the panel — long after the run had ended. Now, matching how Claude Code and Cursor handle a finished plan:
16+
### Security is the feature, not a footnote
1617

17-
- **It auto-collapses** to its green header the moment every item is done: still there, still one click to expand, just no longer hogging the view.
18-
- **A dismiss (×)** closes it outright — and also clears a plan left **stranded by a run that was stopped or errored**. It's keyboard-operable (Tab to it, Enter / Space to close), like the other controls in the plan bar.
18+
Spawning an MCP server is at least as dangerous as running a shell command, so every edge is gated:
1919

20-
### A slimmer footer
20+
- **A launch gate for repo servers.** A `.levelcode/mcp.json` server asks before it ever runs, showing you the **literal command, arguments, and environment** — no summarizing. Approve once and it's remembered, but trust is bound to a **SHA-256 fingerprint of exactly what would run**: change the command, an argument, *or* an env var and it asks again — so a repo can't get `npx …server-filesystem` approved and then quietly swap in `curl … | sh` under the same name. With no window to ask in (a headless or test context) it **fails closed** and simply doesn't start.
21+
- **Every tool call asks by default**, showing server · tool · arguments before it runs.
22+
- **Autopilot doesn't relax this.** MCP tools are third-party code, so autopilot still prompts for them — the *only* thing that grants a silent run is your own per-tool allow-list (`"github__list_issues": "allow"`). A server's own "this is safe" hint grants nothing on its own; its "this is destructive" hint forces a prompt regardless.
2123

22-
Dropped the redundant home-icon **"LevelCode Cloud"** chip from the status bar. The mode-and-plan chip on the right (`Gateway · Pro+`, `BYO key`, `Direct · no key`) already tells you where your requests go.
24+
### Manage MCP servers without touching JSON
25+
26+
A new **`AI: Manage MCP Servers…`** command (and a link at the foot of `/mcp`) lets you:
27+
28+
- **Add or remove a server** through a prompt instead of hand-editing settings — it writes your global settings only, never a repo's, so adding one can never weaken the launch gate above. The arguments box takes a real command line and splits it quote-aware, so `-y @modelcontextprotocol/server-filesystem "/Users/me/My Documents"` stays one path.
29+
- **Revoke trust** you granted a repo server, per server or workspace-wide — the missing other half of "trust on first use," which used to be a write-once decision.
30+
- **See a stale approval for what it is** — a server whose command changed since you approved it now reads `command changed — needs approval`, not a bland "not started," because that gap is exactly the attack the launch gate exists to stop.
31+
32+
### See what's configured with `/mcp`
33+
34+
`/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.
35+
36+
### Autopilot honors a changed step limit, live
37+
38+
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.
2339

2440
## Test coverage
2541

26-
- **24 suites** across the bundled extensions, all green on every release.
27-
- These are webview / picker UI changes, so they're verified by parsing the shipped `chat.html` — every script block, plus the `webviewCss` and `creditFormat` suites that read it — rather than by snapshot.
42+
- **27 suites** across the bundled extensions, all green.
43+
- 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.
2844

29-
**Full changelog:** https://github.com/levelcodeai/levelcode/compare/v1.0.1...v1.0.2
45+
**Full changelog:** https://github.com/levelcodeai/levelcode/compare/v1.0.3...v1.0.4

0 commit comments

Comments
 (0)