# v0.11.0 Release Notes

> v0.10.2 -> v0.11.0

## Summary

Introduces a declarative extension architecture: built-in API tools are migrated to JSON-based API Extensions, and Skill Extensions are distributed via an auto-sync mechanism that downloads official skills from GitHub at startup.

<details>
<summary>翻譯</summary>
引入宣告式 Extension 架構：內建 API 工具遷移為 JSON 格式的 API Extension，Skill Extension 則透過啟動時自動從 GitHub 下載的同步機制發布。
</details>

## Changes

### FEAT

- Migrate built-in API tools (`yahoo-finance`, `exchange-rate`, `ip-api`, `open-meteo`) from hardcoded Go implementations to JSON-based API Extensions under `extensions/apis/`, loaded at runtime via the API adapter
- Add `swagger-to-api` Skill Extension that converts OpenAPI 2.x/3.x specs into agenvoy API Extension JSON files written to `~/.config/agenvoy/apis/`
- Add `skill-creator` Skill Extension with scaffolding scripts (`init_skill.py`, `package_skill.py`, `quick_validate.py`) for creating and validating new Skill packages
- Add `SyncSkills` loader that fetches skill directories from `extensions/skills` on GitHub at startup, downloading only skills not yet present in `~/.config/agenvoy/skills/`, replacing the previous embedded FS approach

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

- 將內建 API 工具（`yahoo-finance`、`exchange-rate`、`ip-api`、`open-meteo`）從硬編碼 Go 實作遷移為 `extensions/apis/` 下的 JSON API Extension，由 API 適配器在執行時載入
- 新增 `swagger-to-api` Skill Extension，可將 OpenAPI 2.x/3.x 規格轉換為 agenvoy API Extension JSON 檔並寫入 `~/.config/agenvoy/apis/`
- 新增 `skill-creator` Skill Extension，含腳本工具（`init_skill.py`、`package_skill.py`、`quick_validate.py`）用於建立與驗證新 Skill 套件
- 新增 `SyncSkills` 載入器，啟動時從 GitHub 的 `extensions/skills` 下載本地尚未存在的 Skill，取代原有的 embedded FS 方案

</details>

### UPDATE

- Switch project license from AGPL-3.0 to Apache-2.0 to promote adoption and foster ecosystem growth

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

- 將專案授權從 AGPL-3.0 改為 Apache-2.0，以推廣此專案並建立生態系

</details>

### REMOVE

- Remove hardcoded `yahooFinance` Go package (`internal/tools/apis/yahooFinance/`) in favour of JSON-based API Extensions
- Remove `examples/.config/agenvoy/config.json` replaced by the new extension layout

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

- 移除硬編碼的 `yahooFinance` Go 套件（`internal/tools/apis/yahooFinance/`），改由 JSON API Extension 取代
- 移除 `examples/.config/agenvoy/config.json`，由新的 Extension 目錄結構取代

</details>

***

## Files Changed

| File | Status | Tag |
|------|--------|-----|
| `extensions/apis/exchange-rate.json` | Moved | FEAT |
| `extensions/apis/ip-api.json` | Moved | FEAT |
| `extensions/apis/open-meteo.json` | Added | FEAT |
| `extensions/apis/yahoo-finance-1.json` | Added | FEAT |
| `extensions/apis/yahoo-finance-2.json` | Added | FEAT |
| `extensions/extensions.go` | Added | FEAT |
| `extensions/skills/swagger-to-api/SKILL.md` | Added | FEAT |
| `extensions/skills/swagger-to-api/README.md` | Added | FEAT |
| `extensions/skills/swagger-to-api/LICENSE` | Added | FEAT |
| `extensions/skills/skill-creator/SKILL.md` | Added | FEAT |
| `extensions/skills/skill-creator/scripts/` | Added | FEAT |
| `internal/skill/sync.go` | Added | FEAT |
| `internal/skill/scanner.go` | Added | FEAT |
| `internal/tools/apiAdapter/translator.go` | Added | FEAT |
| `internal/tools/apis/yahooFinance/` | Deleted | REMOVE |
| `examples/.config/agenvoy/config.json` | Deleted | REMOVE |
| `LICENSE` | Modified | UPDATE |
| `README.md` | Modified | DOC |
| `doc/README.zh.md` | Modified | DOC |
| `doc/doc.md` | Modified | DOC |
| `doc/doc.zh.md` | Modified | DOC |
| `internal/tools/embed/tools.json` | Modified | FEAT |
| `internal/tools/executor.go` | Modified | FEAT |

***

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