Full document, spreadsheet, slideshow, and diagram tooling
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

chore: bump to v0.3.0 — version history, save pipeline, ExcelJS

+19 -3
+18 -2
CHANGELOG.md
··· 7 7 8 8 ## [Unreleased] 9 9 10 + ## [0.3.0] — 2026-03-19 11 + 10 12 ### Added 11 - - Empty Trash button to permanently delete all trashed documents at once 13 + - **Version history panel** (Cmd+Shift+H): slide-in sidebar showing all saved versions with relative timestamps, named versions with star badges, word/cell count diffs, restore with confirmation 14 + - **IndexedDB local backup**: every save backed up locally, crash recovery falls back to local when server fails, keeps last 3 backups per document with FNV-1a hash verification 15 + - **Save retry**: 3-attempt exponential backoff (1s, 2s, 4s) on server failure 16 + - **Save indicator**: colored dot (green=saved, orange=saving, red=error) with pulse animation, Cmd+S to force save 17 + - **beforeunload protection**: browser warns on unsaved changes, emergency IndexedDB backup 18 + - **Named versions**: "Name this version" via PUT metadata endpoint 19 + - **ExcelJS**: replaced SheetJS with ExcelJS for proper cell style extraction (background colors, text colors, fonts) 20 + - **Empty Trash button**: permanently delete all trashed documents at once 21 + - **Playwright e2e tests**: 16 tests covering document/sheet lifecycle, import, collaboration 22 + - **CI test gate**: unit + e2e tests run before build, blocking broken deploys 23 + 24 + ### Fixed 25 + - XLSX import crash: missing `ensureSheet`/`renderSheetTabs` parameters 26 + - Trash toggle: list now renders and displays correctly when expanded 27 + - Import naming: files use filename (minus extension) as document name 28 + - Title select-all: clicking title selects all text for easy renaming 12 29 - Auto-versioning: snapshots auto-created every 5 minutes for recovery 13 - - Save protection: `_hadSnapshot` persists across saves, not just loads 14 30 15 31 ## [0.2.0] — 2026-03-19 16 32
+1 -1
package.json
··· 1 1 { 2 2 "name": "tools", 3 - "version": "0.2.0", 3 + "version": "0.3.0", 4 4 "private": true, 5 5 "type": "module", 6 6 "scripts": {