# v0.16.1 Release Notes

> v0.16.0 -> v0.16.1

## Summary

Expanded extension ecosystem with Threads and yt-dlp tools, refactored internal package hierarchy for clearer separation of concerns, and improved filesystem path handling and exclude logic.
<details>
<summary>翻譯</summary>
擴展生態系新增 Threads 及 yt-dlp 工具，重構內部套件層級以明確職責分離，並改善檔案系統路徑處理與排除邏輯。
</details>

## Changes

### ADD
- Add Threads extension tools (get-quota, publish-text/image/carousel, refresh-token) with cross-platform install script
- Add yt-dlp extension tools (downloader, info) with install script and READMEs

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

- 新增 Threads 擴充工具（get-quota、publish-text/image/carousel、refresh-token）及跨平台安裝腳本
- 新增 yt-dlp 擴充工具（downloader、info）及安裝腳本與 README

</details>

### FIX
- Allow keychain directory access in Darwin sandbox profile
- Suppress tool error event when error memory provides a recovery hint
- Ensure warning messages always appear after model footer line

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

- 修正 Darwin 沙箱設定檔允許 keychain 目錄存取
- 修正當錯誤記憶提供復原提示時抑制工具錯誤事件
- 修正警告訊息始終顯示於模型頁尾列之後

</details>

### UPDATE
- Restrict tool call throttle to `api_` prefix only
- Improve tilde expansion, empty-dir fallback in `AbsPath`, and clarify tool descriptions
- Improve exclude logic with deduplication, unexported type, and glob fix
- Proactively fetch data for investment queries, auto-record `api_` tool errors, and re-trim context before each `Send`
- Refine system prompt routing rules and fix history timestamp parsing
- Enforce `fetch_page` follow-up for research-oriented news queries

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

- 限制工具呼叫節流僅作用於 `api_` 前綴
- 改善 `AbsPath` 的 tilde 展開、空目錄 fallback 及工具描述說明
- 改善排除邏輯，加入去重、unexported type 及 glob 修正
- 投資查詢主動預取資料、自動記錄 `api_` 工具錯誤、每次 `Send` 前重新裁剪 context
- 精細化系統提示路由規則並修正歷史時間戳解析
- 強制研究導向的新聞查詢執行 `fetch_page` 後續動作

</details>

### REFACTOR
- Integrate exclude check into `AbsPath` directly
- Split filesystem package into single-responsibility files (`absPath`, `isDenied`, `isExclude`, `listDir`, `usage`, `walkFiles`, `writeFile`)
- Rename `adapter` to `toolAdapter` and `tools/api` to `tools/external`
- Reorganize adapter packages under `internal/adapter` hierarchy
- Move session management into `internal/session`

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

- 將排除檢查整合進 `AbsPath`
- 將 filesystem 套件拆分為單一職責檔案
- 將 `adapter` 重命名為 `toolAdapter`，`tools/api` 重命名為 `tools/external`
- 將 adapter 套件重組至 `internal/adapter` 層級
- 將 session 管理移至 `internal/session`

</details>

***

## Files Changed

| File | Status | Tag |
|------|--------|-----|
| `extensions/scripts/threads-*/` | Added | ADD |
| `extensions/scripts/yt-dlp-*/` | Added | ADD |
| `install_threads.sh` | Added | ADD |
| `install_youtube.sh` | Added | ADD |
| `internal/sandbox/darwin.go` | Modified | FIX |
| `internal/agents/exec/toolCall.go` | Modified | FIX / UPDATE |
| `internal/agents/exec/execute.go` | Modified | FIX / UPDATE |
| `internal/filesystem/absPath.go` | Added | REFACTOR / UPDATE |
| `internal/filesystem/isDenied.go` | Added | REFACTOR |
| `internal/filesystem/isExclude.go` | Modified | REFACTOR / UPDATE |
| `internal/filesystem/listDir.go` | Added | REFACTOR |
| `internal/filesystem/walkFiles.go` | Added | REFACTOR |
| `internal/filesystem/writeFile.go` | Added | REFACTOR |
| `internal/filesystem/usage.go` | Modified | REFACTOR |
| `internal/filesystem/filesystem.go` | Modified | REFACTOR |
| `internal/filesystem/denied.go` | Deleted | REFACTOR |
| `internal/session/config.go` | Added | REFACTOR |
| `internal/session/session.go` | Added | REFACTOR |
| `internal/session/summary.go` | Added | REFACTOR |
| `internal/toolAdapter/api/` | Added | REFACTOR |
| `internal/tools/external/` | Added | REFACTOR |
| `configs/prompts/system_prompt.md` | Modified | UPDATE |
| `doc/architecture.md` | Added | DOC |
| `doc/architecture.zh.md` | Added | DOC |
| `doc/logo.svg` | Added | DOC |

***

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