Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
2 changes: 1 addition & 1 deletion .changeset/daemon-file-ref-drop-path.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
"@moonshot-ai/kimi-code-sdk": minor
---

Daemon file references no longer persist a materialization path: the daemon-file URL builder takes only a file id, and the parsed reference no longer carries a `path` field. The display path is derived from the session media store at read time, so a session fork or home relocation can no longer stale a persisted reference. Urls with a legacy `?path=` query still parse.
Daemon file references no longer persist a materialization path: the daemon-file URL builder takes only a file id, and the display path is derived from the session media store at read time, so a session fork or home relocation can no longer stale a persisted reference. Urls with a legacy `?path=` query still parse.
3 changes: 1 addition & 2 deletions .changeset/fix-gemini-thought-signature.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
"@moonshot-ai/kimi-code": patch
"@moonshot-ai/kimi-code-sdk": patch
---

Fix Gemini tool-calling sessions failing on follow-up requests: preserve the tool-call thought signature and keep trailing user text before function results.
Fix Gemini tool-calling sessions failing on follow-up requests.
2 changes: 1 addition & 1 deletion .changeset/goal-objective-length-warning.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
"@moonshot-ai/kimi-code": patch
---

Warn in the footer while a typed `/goal` objective exceeds the 4000-character limit, and restore the input instead of losing it when an over-limit objective is rejected. The error message now suggests putting long content in a file and referencing the file path.
Warn while a typed `/goal` objective exceeds the 4000-character limit; a rejected objective now keeps the typed input and suggests moving long content into a file.
6 changes: 0 additions & 6 deletions .changeset/goal-objective-too-long-message.md

This file was deleted.

2 changes: 1 addition & 1 deletion .changeset/lazy-global-search-startup.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
"@moonshot-ai/kimi-code": patch
---

Fix several seconds of startup lag: the global search index (used only by the web UI's search) was being opened and synced in every terminal session, including ones that never search. It now loads on demand, so interactive startup stays fast.
Fix slow startup: the global search index now loads on demand instead of at every launch.
2 changes: 1 addition & 1 deletion .changeset/media-registrar-stale-alias.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
"@moonshot-ai/kimi-code": patch
---

Fix an `[unexpected] Error2: Model "<alias>" is not configured in config.toml` error printed on startup when a restored session references a model that is no longer configured (e.g. after logging out of the managed Kimi Code account). Media tool registration now degrades gracefully instead of throwing from the `agent.status.updated` listener.
Fix a spurious startup error when a restored session references a model that is no longer configured, for example after logging out of the managed account.
2 changes: 1 addition & 1 deletion .changeset/persist-token-counting-ledger.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
"@moonshot-ai/kimi-code": patch
---

Persist the token counting ledger (`token_counting.measured` / `truncated` / `rebased`) to the wire journal, so the displayed context size keeps its measured value after archiving and unarchiving a session (or any close → resume) instead of dropping to a smaller estimate until the next LLM call.
Fix the displayed context size dropping to a smaller estimate after archiving and resuming a session.
2 changes: 1 addition & 1 deletion .changeset/queue-skill-commands-while-busy.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
"@moonshot-ai/kimi-code": patch
---

Queue slash skill commands entered while the agent is busy instead of rejecting them with "Cannot /<cmd> while streaming" — they now behave exactly like normal input: queued visibly by default, and Ctrl-S steers them into the running turn as real skill activations.
Queue slash skill commands entered while the agent is busy instead of rejecting them; they now behave like normal input, and Ctrl-S still steers them into the running turn.
1 change: 0 additions & 1 deletion .changeset/undo-todo-panel-revert.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
"@moonshot-ai/kimi-code": patch

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Restore a changeset for the new SDK todo API

The SDK change in 98ebda8 is not merely an internal read: it adds the public Session.getTodos() method and exports SessionTodoItem and SessionTodoStatus. Removing the SDK entry leaves that API addition absent from the generated SDK changelog; add a separate @moonshot-ai/kimi-code-sdk changeset with SDK-specific wording rather than dropping the package entirely.

Useful? React with 👍 / 👎.

"@moonshot-ai/kimi-code-sdk": patch
---

Fix the todo panel keeping items written by an undone turn: /undo now restores the todo list to its state before the undone turn.
5 changes: 5 additions & 0 deletions .changeset/v1-mcp-management-plane-sdk.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@moonshot-ai/kimi-code-sdk": minor
---

Unify the MCP management surface behind a source-tagged registry: `listMcpServers` now covers plugin-declared servers with `source` / `origin` / `mutable` markers, and adds `getMcpServer`, `testMcpServerConfig`, runtime `addMcpServer` with an optional persist flag, and an `oauth-expired` auth state; `reconnectMcpServer` re-resolves the current config unless given a replacement. Also adds the app-level `inspectAppMcpServers` with locator-addressed OAuth RPCs, and redacts secret-bearing `env` / `headers` values in status entries.
5 changes: 5 additions & 0 deletions .changeset/v1-mcp-management-plane-vscode.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"kimi-code": patch
---

Show plugin- and file-declared MCP servers in the MCP servers panel as read-only entries instead of offering to edit or delete them.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Distinguish project files from editable user files

This release note incorrectly classifies every file-declared server as read-only. McpServerRegistry.list() marks user-level mcp.json entries as mutable: true; only project-layer file entries and plugin entries lose the edit/delete controls. As written, users may expect their normal user-level servers to become read-only, so identify these as project-declared servers instead.

Useful? React with 👍 / 👎.

6 changes: 1 addition & 5 deletions .changeset/v1-mcp-management-plane.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
---
"@moonshot-ai/kimi-code": patch
"@moonshot-ai/kimi-code-sdk": minor
"kimi-code": patch
---

On the legacy engine, plugin MCP server changes (install / enable / disable / remove / reload) now apply to open sessions immediately, and an MCP server OAuth sign-in or credential reset automatically refreshes the affected sessions instead of leaving them stuck until a manual reconnect; a connection that fails mid-session for auth reasons is now reported as needing sign-in rather than as a generic failure.

`@moonshot-ai/kimi-code-sdk`: the MCP management surface is now backed by a unified, source-tagged registry — `listMcpServers` also covers plugin-declared servers (read-only, with their effective config) and returns `source` / `origin` / `mutable` markers; new `getMcpServer` for a single effective config; `testMcpServerConfig` probes an unsaved inline config; sessions can connect a server at runtime via `addMcpServer` with an optional persist flag; `reconnectMcpServer` accepts an optional replacement config and otherwise re-resolves the current config instead of reusing a stale snapshot; `listMcpServerAuthStatuses` accepts `cwd` / `verify` (online probe) and distinguishes dead grants via the new `oauth-expired` state; stored OAuth grants now record their absolute expiry and are refreshed proactively and single-flight per credential. Session status entries and read-only management entries redact secret-bearing stdio `env` / remote `headers` values to key lists, and concurrent logins for the same credential join a single browser flow. A new app-level inspection, `inspectAppMcpServers`, reports every server's effective config and real (probe-verified) authorization state — including plugin servers and runtime-name collisions — and the OAuth flow RPCs have locator-addressed variants (`authenticateAppMcpServer` / `resetAppMcpServerAuth`) so plugin servers can be signed in and reset directly.
On the legacy engine, plugin MCP server changes (install, enable, disable, remove) now apply to open sessions immediately, and an MCP OAuth sign-in automatically refreshes the affected sessions.
Loading