# v0.1.0 Release Notes

> v0.0.0 -> v0.1.0

## Summary

Initial release of ToriiDB embedded database with Redis-style KV commands, TTL expiration, AOF persistence, and multi-database support.
<details>
<summary>翻譯</summary>
ToriiDB 嵌入式資料庫首次發行，支援 Redis 風格 KV 指令、TTL 過期機制、AOF 持久化與多資料庫架構。
</details>

## Changes

### FEAT
- Add interactive KV store with file-based JSON persistence
- Add AOF append-only file persistence and startup replay
- Add DEL command for batch key deletion
- Add automatic value type detection (JSON / String / Int / Float / Bool / Date)
- Add EXIST and TYPE commands
- Add optional TTL expiration for SET command
- Add TTL / EXPIRE / EXPIREAT / PERSIST commands
- Add lazy delete on GET for expired keys
- Add background goroutine for periodic expired key cleanup
- Add multi-database architecture (DB 0-15) with SELECT switching
- Add per-DB independent memory space, AOF file, and directory
- Add lazy directory and file initialization on first write

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

- 新增互動式 KV 儲存與 JSON 檔案持久化
- 新增 AOF 持久化與啟動 replay
- 新增 DEL 批次刪除指令
- 新增值類型自動偵測（JSON / String / Int / Float / Bool / Date）
- 新增 EXIST 與 TYPE 指令
- 新增 SET 可選 TTL 過期
- 新增 TTL / EXPIRE / EXPIREAT / PERSIST 指令
- 新增 GET 時 lazy delete 過期清除
- 新增背景 Goroutine 定期清理過期 key
- 新增多資料庫架構（DB 0-15）與 SELECT 切換
- 新增 per-DB 獨立記憶體空間、AOF 與目錄
- 新增延遲建立目錄與檔案（首次寫入時建立）

</details>

### REFACTOR
- Extract store logic into `core/store` package with separate files
- Unify ADD/SET into single SET command with NX/XX flags
- Standardize error responses to `(nil)`

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

- 拆分 store 邏輯至 `core/store` package
- 合併 ADD/SET 為統一 SET 指令，支援 NX/XX flag
- 統一錯誤回傳為 `(nil)`

</details>

***

## Files Changed

| File | Status | Tag |
|------|--------|-----|
| `.gitignore` | Added | CHORE |
| `Makefile` | Added | CHORE |
| `cmd/test/main.go` | Added | FEAT |
| `core/store/store.go` | Added | FEAT |
| `core/store/set.go` | Added | FEAT |
| `core/store/get.go` | Added | FEAT |
| `core/store/del.go` | Added | FEAT |
| `core/store/exec.go` | Added | FEAT |
| `core/store/ttl.go` | Added | FEAT |
| `core/store/aof.go` | Added | FEAT |
| `README.md` | Modified | DOC |

***

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