# v0.12.0 Release Notes

> v0.11.2 -> v0.12.0

## Summary

Introduced a full scheduler subsystem with one-time and recurring cron task support, replaced the custom cron parser with go-scheduler, and centralized filesystem paths, session management, and embedded assets into dedicated packages.

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

新增完整排程子系統，支援一次性與週期性 cron 任務，以 go-scheduler 取代自製 cron 解析器，並將檔案路徑、session 管理與嵌入資源集中至獨立套件。

</details>

## Changes

### FEAT
- Add one-time task scheduler with script execution, file persistence, and Discord channel callback
- Add recurring cron task support with channel callback on completion
- Add schedule-task skill to handle time-delayed and periodic task requests from Discord

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

- 新增一次性任務排程，支援腳本執行、檔案持久化與 Discord 頻道回呼
- 新增週期性 cron 任務，執行完成後自動回呼指定頻道
- 新增 schedule-task skill，處理 Discord 中含時間延遲或週期意圖的任務請求

</details>

### FIX
- Ensure agent response always contains non-empty visible output
- Unify timestamp header format across all reply messages

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

- 確保 agent 回應一定包含非空的可見內容
- 統一所有回覆訊息的 timestamp header 格式

</details>

### UPDATE
- Replace text acknowledgement with gorilla emoji reaction as processing indicator
- Inject runtime OS and local time into agent system prompt on every request
- Add scheduling trigger rules and script output constraints to Discord system prompt
- Update remove_cron and remove_task tool descriptions to require user confirmation when multiple tasks exist

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

- 以猩猩 emoji 反應取代文字確認作為處理中指示
- 每次請求時將執行環境 OS 與本地時間注入 agent system prompt
- 在 Discord system prompt 新增排程觸發規則與腳本輸出規範
- 更新 remove_cron / remove_task 工具說明，多個任務時必須讓使用者確認

</details>

### REFACTOR
- Replace custom cron expression parser (validateExpression, matchField, runCronLoop) with go-scheduler library
- Extract session management into dedicated `filesystem/sessionManager` sub-package
- Centralize all filesystem paths into `internal/filesystem` package, removing `internal/utils`
- Consolidate embedded assets (prompts, provider JSONs) into `configs` package
- Extract common scheduler helpers: `buildLine`, `removeScript`, `isSkippable`, `checkIndex`, `execScript`
- Extract repeated empty-response guard into `actionError` helper

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

- 以 go-scheduler 取代自製 cron 表達式解析器（validateExpression、matchField、runCronLoop）
- 將 session 管理抽離至 `filesystem/sessionManager` 獨立子套件
- 將所有檔案路徑集中至 `internal/filesystem`，移除 `internal/utils`
- 將嵌入資源（prompt、provider JSON）整合至 `configs` 套件
- 抽離排程共用 helper：`buildLine`、`removeScript`、`isSkippable`、`checkIndex`、`execScript`
- 將重複的空回應防護邏輯抽離為 `actionError` helper

</details>

### ADD
- Add project-agenvoy skill for Agenvoy repository context queries
- Add NVIDIA provider JSON configuration

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

- 新增 project-agenvoy skill，用於查詢 Agenvoy 專案相關 context
- 新增 NVIDIA provider JSON 設定

</details>

### CHORE
- Disable CI test workflow temporarily, pending feature stabilization
- Add go-scheduler dependency (v1.2.0)

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

- 暫時停用 CI 測試 workflow，待功能穩定後補齊
- 新增 go-scheduler 依賴（v1.2.0）

</details>

***

## Files Changed

| File | Status | Tag |
|------|--------|-----|
| `internal/scheduler/addTask.go` | Added | FEAT |
| `internal/scheduler/addCron.go` | Added | FEAT |
| `internal/scheduler/crons.go` | Added | FEAT |
| `internal/scheduler/tasks.go` | Added | FEAT |
| `internal/scheduler/scheduler.go` | Added | FEAT |
| `internal/tools/schedulerTools/cronRoutes.go` | Added | FEAT |
| `internal/tools/schedulerTools/taskRoutes.go` | Added | FEAT |
| `extensions/skills/schedule-task/SKILL.md` | Added | FEAT |
| `internal/agents/exec/execute.go` | Modified | FIX |
| `internal/discord/new.go` | Modified | UPDATE |
| `configs/prompts/discord_system_prompt.md` | Modified | UPDATE |
| `internal/tools/embed/tools.json` | Modified | UPDATE |
| `internal/filesystem/filesystem.go` | Added | REFACTOR |
| `internal/filesystem/sessionManager/session.go` | Added | REFACTOR |
| `internal/filesystem/sessionManager/summary.go` | Added | REFACTOR |
| `configs/configs.go` | Added | REFACTOR |
| `extensions/skills/project-agenvoy/SKILL.md` | Added | ADD |
| `configs/jsons/providors/nvidia.json` | Added | ADD |
| `.github/workflows/test.yml` | Deleted | CHORE |
| `go.mod` / `go.sum` | Modified | CHORE |
| `internal/utils/file.go` | Deleted | REFACTOR |
| `internal/utils/utils.go` | Deleted | REFACTOR |

***

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