# v0.4.4 Release Notes

> v0.4.3 -> v0.4.4

## Summary

Cache parsed JSON objects in Entry to eliminate repeated `json.Unmarshal` on read/query hot paths, and make `Entry.value` unexported to enforce cache consistency at compile time.
<details>
<summary>翻譯</summary>
在 Entry 中快取已解析的 JSON 物件，消除讀取與查詢熱路徑的重複 json.Unmarshal，並將 Entry.value 私有化以在編譯期強制快取一致性。
</details>

## Changes

### PERF
- Cache deserialized JSON in `Entry.parsed` field, populated on `Set()` and AOF replay via `parseCached()`
- Replace per-call `json.Unmarshal` with cached lookup in `GetField`, `SetField`, `IncrField`, `DelField`, and `Query`
- Trade-off: JSON entries use ~2x memory (raw string + parsed object), non-JSON entries have zero overhead

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

- 在 `Entry.parsed` 欄位快取已解析的 JSON，透過 `parseCached()` 在 `Set()` 和 AOF replay 時填充
- 將 `GetField`、`SetField`、`IncrField`、`DelField`、`Query` 中的逐次 `json.Unmarshal` 替換為快取查詢
- 代價：JSON entry 記憶體約 2 倍（raw string + parsed object），非 JSON entry 零開銷

</details>

### REFACTOR
- Make `Entry.Value` unexported (`value`) — all reads go through `Value()`, all writes through `setValue()` or `setParsed()`
- Replace `json.Marshal(entry)` with `entry.JSON()` across all file-write paths (8 call sites)
- Remove `encoding/json` import from `get.go`, `query.go`, `incr.go`, `incrField.go`, `del.go`, `setField.go`, `ttl.go`

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

- 將 `Entry.Value` 改為私有（`value`）— 所有讀取走 `Value()`，所有寫入走 `setValue()` 或 `setParsed()`
- 所有寫檔路徑（8 處）的 `json.Marshal(entry)` 替換為 `entry.JSON()`
- 移除 `get.go`、`query.go`、`incr.go`、`incrField.go`、`del.go`、`setField.go`、`ttl.go` 中不再使用的 `encoding/json` import

</details>

***

## Files Changed

| File | Status | Tag |
|------|--------|-----|
| `core/store/set.go` | Modified | PERF, REFACTOR |
| `core/store/get.go` | Modified | PERF, REFACTOR |
| `core/store/query.go` | Modified | PERF, REFACTOR |
| `core/store/setField.go` | Modified | PERF, REFACTOR |
| `core/store/incrField.go` | Modified | PERF, REFACTOR |
| `core/store/del.go` | Modified | PERF, REFACTOR |
| `core/store/incr.go` | Modified | REFACTOR |
| `core/store/ttl.go` | Modified | REFACTOR |
| `core/store/aof.go` | Modified | PERF, REFACTOR |
| `core/store/exec.go` | Modified | REFACTOR |
| `core/store/find.go` | Modified | REFACTOR |
| `README.md` | Modified | DOC |
| `CLAUDE.md` | Added | DOC |
| `core/store/query_test.go` | Added | TEST |
| `core/store/find_bench_test.go` | Added | TEST |

***

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