···7788## [Unreleased]
991010+### Fixed
1111+- Fix sheets chat input: keyboard handler no longer captures typing in AI chat sidebar (#233)
1212+1313+### Changed
1414+- Refactor duplicated AI chat wiring into shared `initChatWiring()`, removing ~230 lines of duplication (#234)
1515+- Add 11 tests for `initChatWiring` (config propagation, toggle, send/stop/clear, editor-type labels)
1616+1717+### Security
1818+- Fix XSS + review findings from AI chat PR #160 (#232)
1919+1020## [0.12.0] — 2026-03-24
11211222### Added
2323+- Add automated semantic versioning to CI pipeline (#182)
1324- AI chat panel on all editor types (docs + sheets) with shared module (#229)
1425- AI content actions: AI can insert, replace, and suggest changes in documents (#231)
1526- AI spreadsheet actions: AI can set cell values/formulas and clear ranges (#231)
···1930- Sheet context extraction: AI can read spreadsheet data as TSV
20312132### Changed
3333+- Expand AI chat test coverage: EditorType, DOM structure, streamChat, sendChat (#230)
3434+- Ship PR #147: docker-compose deployment, workspace/landing page (#210)
3535+- Ship PR #146: Matrix AI PWA - monitor CI and merge (#211)
2236- Moved ai-chat.ts from src/docs/ to src/lib/ (shared across editors)
2337- Replaced emoji icons with SVG in sheets toolbar (history, share buttons)
2438- System prompt adapts per editor type (writing assistant vs data assistant)
···3044- Add AI chat panel for docs with Aperture and OpenRouter integration (#215)
31453246### Fixed
4747+- Fix hiding single column also hides adjacent column (#223)
3348- Fix: express.static serves HTML without no-cache headers (#227)
3449- Add Clear-Site-Data header to bust Firefox cache + version bump (#226)
3550- Fix stale SW in regular Firefox — force update mechanism (#225)