4.8.0 (2026-06-02)
⚠ BREAKING CHANGES
- external log monitors keyed on the literal string "Failed to read charging station template file" must also match "Invalid charging station template payload (not a JSON object)" for JSON-shape errors; file I/O errors retain their previous wording via handleFileException.
🚀 Features
- config: add Zod-based simulator configuration syntax validation (#1874) (c1c8233)
- resolve #1020 — Persist minimal simulator state and reconstruct template indexes on startup (#1858) (79a4089)
- resolve #314 — Add charging station template Zod validation with schema versioning (#1860) (8bb806d)
- sandcastle: make strategy dispatch registry-driven (#1862) (5d430ad)
🐞 Bug Fixes
- deps: update all non-major dependencies (#1864) (4fa2f91)
- deps: update all non-major dependencies (#1869) (2de4de3)
- deps: update all non-major dependencies (#1876) (6ff82fa)
- deps: update all non-major dependencies (#1878) (c360bff)
- deps: update dependency commander to v15 (#1879) (dd9b63e)
- deps: update dependency vue-router to ^5.1.0 (#1877) (8a3154c)
- sandcastle: resolve TDZ in strategies/index.ts module init (829c659)
- utils: make file persistence atomic across writers (#1871) (550824f)
✨ Polish
- bootstrap: factorize UI server start/stop logic (24169fc)
- relocate simulator config to src/utils and enforce barrel discipline (07fb30e)
📚 Documentation
- align project_overview with empirical component boundaries and import discipline (28b0b9e)