# v0.29.0 Release Notes

> v0.28.39 -> v0.29.0

## Summary

MCP client and server land in one runtime package on the official SDK. Guide tooling collapses into a single topic entry point, and chatbot formatting moves into channel system prompts.

<details>
<summary>翻譯</summary>

MCP client 與 server 收斂到同一 runtime 套件並改接官方 SDK。Guide 工具合併為單一 topic 入口，chatbot 格式規則改嵌進各通道 system prompt。

</details>

## ⚠️ Breaking Changes

### MCP packages unified under `internal/runtime/mcp`

Client and server no longer live in separate packages. Import paths and constructors moved together.

**Before:**
```go
import (
    "github.com/pardnchiu/agenvoy/internal/runtime/mcpserver"
    "github.com/pardnchiu/agenvoy/internal/toolAdapter/mcp"
)

server := mcpserver.New()
```

**After:**
```go
import "github.com/pardnchiu/agenvoy/internal/runtime/mcp"

server := mcp.NewServer()
// MCP client types also live in this package
```

**Migration:**
- Replace `internal/runtime/mcpserver` imports with `internal/runtime/mcp`
- Replace `internal/toolAdapter/mcp` imports with `internal/runtime/mcp`
- Replace `internal/toolAdapter/{api,script}` imports with `internal/runtime/toolAdapter/{api,script}`
- Call `mcp.NewServer()` instead of `mcpserver.New()`

<details>
<summary>翻譯</summary>

MCP client 與 server 合併至 `internal/runtime/mcp`。請更新 import 路徑，並將 `mcpserver.New()` 改為 `mcp.NewServer()`；toolAdapter 亦下沉至 `internal/runtime/toolAdapter`。

</details>

### Guide tools collapsed into `reasoning_guide`

Standalone guide tools are removed. All topics now go through one tool with a `topic` enum.

**Before:**
```text
tool_generate_guide
tool_error_guide
subagent_dispatch_guide
html_render_guide
reasoning_guide(topic=subagent_delegation|...)
```

**After:**
```text
reasoning_guide(topic=tool_generate|tool_error|rag_web|market_analysis|targeted_read|ask_user|subagent_dispatch|write_todo|html_render)
```

**Migration:**
- Delete calls to `tool_generate_guide`, `tool_error_guide`, `subagent_dispatch_guide`, and `html_render_guide`
- Use `reasoning_guide` with the matching `topic` value
- Rename topic `subagent_delegation` → `subagent_dispatch`
- Config symbols renamed: `ToolGuide` → `GuideToolGenerate`, `ToolErrorGuide` → `GuideToolError`, `SubagentDispatchGuide` → `GuideSubagentDispatch`, `HtmlRenderGuide` → `GuideHtmlRender`, `Reasoning*` → `Guide*`

<details>
<summary>翻譯</summary>

獨立 guide 工具已移除，一律改呼叫 `reasoning_guide` 並指定 `topic`。`subagent_delegation` 更名為 `subagent_dispatch`；configs 符號亦對應改名。

</details>

## Changes

### BREAKING
- Merge MCP client and server into a unified runtime package (@pardnchiu) [22e1bc18]
- Consolidate guide tools into `reasoning_guide` and reorganize prompts (@pardnchiu) [b9b446ed]

<details>
<summary>翻譯</summary>

- 將 MCP client 與 server 合併為統一的 runtime 套件
- 將 guide 工具收斂為 `reasoning_guide` 並重整 prompts

</details>

### FIX
- Fix subagent failure recovery and temporary session handling (@pardnchiu) [b04c54d2]

<details>
<summary>翻譯</summary>

- 修正子代理失敗復原與臨時 session 處理

</details>

### REFACTOR
- Migrate MCP client to official modelcontextprotocol go-sdk (@pardnchiu) [68de48c8]
- Move toolAdapter package under runtime (@pardnchiu) [b7964c0b]
- Move MCP client package from toolAdapter to runtime (@pardnchiu) [02330890]
- Embed chatbot formatting rules in channel system prompts (@pardnchiu) [40a67051]

<details>
<summary>翻譯</summary>

- 將 MCP client 遷移至官方 modelcontextprotocol go-sdk
- 將 toolAdapter 套件移至 runtime 底下
- 將 MCP client 套件由 toolAdapter 移至 runtime
- 將 chatbot 格式規則嵌入各通道 system prompt

</details>

## Scope

- `internal/runtime/mcp/` — BREAKING, REFACTOR
- `internal/runtime/toolAdapter/` — BREAKING, REFACTOR
- `internal/tools/` — BREAKING, REFACTOR (`guide.go`, removed `guide/` package)
- `configs/` — BREAKING, REFACTOR (`configs.go`, `prompts/guide/`, `prompts/system_prompt/`)
- `cmd/app/` — BREAKING, REFACTOR
- `internal/agents/exec/` — FIX, REFACTOR
- `internal/session/summary/` — FIX
- `internal/runtime/chatbot/tool/` — REFACTOR
- `go.mod`, `go.sum` — REFACTOR

***

Generated by [SKILL](https://github.com/pardnchiu/skill-version-generate)
