# v0.30.0 Release Notes

> v0.29.1 -> v0.30.0

## Summary

Execution gains clearer lifecycle boundaries, context-aware fallback selection, and optional fast provider routing. Tool and skill surfaces are streamlined while session memory handling becomes more modular.

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

執行流程建立更清楚的生命週期邊界，支援依上下文選擇 fallback，並可選擇更快速的供應商路由。工具與技能範圍同步精簡，session 記憶處理也更模組化。

</details>

## ⚠️ Breaking Changes

### Session compaction API moved and fallback selection changed

The session compaction entry point moved from the execution package into the dedicated `compact` package. Fallback candidates are now filtered against the current input window when possible.

**Migration:**

```go
// Old
exec.CompactHistory(ctx, sessionID)

// New
compact.SessionHistory(ctx, sessionID)
```

Callers that select fallback agents should account for input-window filtering. If no candidate passes the filter, the original fallback list remains available.

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

Session 壓縮入口從 execution package 移至專用的 `compact` package，並在可行時依目前輸入視窗篩選 fallback 候選者。

**Migration：**

```go
// 舊
exec.CompactHistory(ctx, sessionID)

// 新
compact.SessionHistory(ctx, sessionID)
```

選擇 fallback agent 的呼叫端需注意輸入視窗篩選行為。若沒有候選者通過篩選，仍會保留原本的 fallback 清單。

</details>

### Execution metadata API changed and automatic skill improvement removed

The execution metadata type is now `ExecuteMeta`, and execution helpers were split into focused files. The automatic skill-improvement workflow and its extension were removed.

**Migration:**

```go
// Old
exec.ExecData{...}

// New
exec.ExecuteMeta{...}
```

Update custom callers and integrations that construct execution metadata, and remove dependencies on the deleted automatic skill-improvement workflow.

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

執行 metadata 型別改為 `ExecuteMeta`，執行輔助邏輯也拆分至職責明確的檔案。自動技能改進流程及其 extension 已移除。

**Migration：**

```go
// 舊
exec.ExecData{...}

// 新
exec.ExecuteMeta{...}
```

請更新建立執行 metadata 的自訂呼叫端與整合，並移除對已刪除自動技能改進流程的依賴。

</details>

### Image generation support removed

The `image2` command, configuration flag, image-generation tool, and related registration path were removed. Existing users must remove image-generation configuration and stop invoking the deleted command or tool.

**Migration:**

- Remove `enable_image2` from persisted configuration.
- Remove calls to the `/image2` command and `generate_image` tool.
- Use an external image-generation integration if image output is still required.

This is a temporary removal; it will be added back after `go-llm-router` adds image-generation support.

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

`image2` 指令、設定旗標、圖像生成工具及相關註冊路徑已移除。既有使用者需移除圖像生成設定，並停止呼叫已刪除的指令或工具。

**Migration：**

- 從持久化設定移除 `enable_image2`。
- 移除 `/image2` 指令與 `generate_image` 工具的呼叫。
- 若仍需要圖像輸出，請改用外部圖像生成整合。

這是暫時移除，等待後續 `go-llm-router` 添加圖像生成功能後加回。

</details>

## Changes

### BREAKING

- Move session compaction into a dedicated package and filter fallback agents by input window (@pardnchiu) [5c349929]
- Move execution metadata to `ExecuteMeta` and remove automatic skill improvement (@pardnchiu) [0d8e05ec]
- Remove image2 generation support and its configuration and registration paths (@pardnchiu) [ec417260]

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

- 將 session 壓縮移至專用 package，並依輸入視窗篩選 fallback agent
- 將執行 metadata 移至 `ExecuteMeta`，並移除自動技能改進
- 移除 image2 圖像生成支援、相關設定與註冊路徑

</details>

### FEAT

- Add a fast mode toggle and upgrade `go-llm-router` to v0.4.0 (@pardnchiu) [724002aa]

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

- 新增 fast mode 切換，並將 `go-llm-router` 升級至 v0.4.0

</details>

### DOC

- Document fast mode and temporary image generation removal (@pardnchiu) [06fd1ace]

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

- 補充 fast mode 與圖像生成功能暫時移除文件

</details>

## Scope

- `doc/` — DOC (API and architecture documentation)

- `internal/agents/exec/compact/` — BREAKING (`sessionHistory.go`, `trimFallback.go`)
- `internal/agents/exec/` — BREAKING, FEAT (multiple files)
- `internal/agents/exec/fast/` — FEAT (`fast.go`)
- `internal/runtime/` — BREAKING (multiple files)
- `internal/runtime/tui/` — BREAKING, FEAT (multiple files)
- `internal/session/config/` — BREAKING (`config.go`)
- `internal/tools/external/image2/` — BREAKING (removed)
- `extensions/skills/improve-skill/` — BREAKING (removed)
- `cmd/app/` — BREAKING (multiple files)
- `internal/utils/` — BREAKING, FEAT (`utils.go`)
- `go.mod`, `go.sum` — FEAT

***

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