0.6.1 (2026-08-30)¶
Quality-of-life release: move and duplicate diagram actions, drastically lighter exports, an export modal redesign, and a unified button design system documented in DESIGN.md.
✨ Features¶
- Move diagram between projects: new toolbar action with a project picker modal. The diagram is moved to the target project root (folder cleared), with server-side ownership checks.
- Duplicate diagram: clone any diagram from the toolbar. The confirmation modal suggests a localized name (
<name>-copiain Spanish,<name>-copyin English) that you can edit. The clone opens automatically re-centered (fit to screen). - PNG resolution selector: choose Screen (1x), Standard (2x, default) or High (3x) when exporting PNG.
- Export modal redesign: the modal now works in two steps — pick a format, adjust the options that actually apply to it (PNG resolution only appears when PNG is selected), then hit Export.
🚀 Performance¶
- PDF exports are now 5-15x lighter: the embedded raster switched from lossless PNG to JPEG at quality 0.98 — visually indistinguishable on diagrams. A 20 MB PDF now lands in the ~1.5-5 MB range.
- PNG exports capped at 8192px and downloaded via Blob URLs, avoiding base64 overhead and memory spikes on huge diagrams.
🎨 Design system¶
- Canonical primary/secondary button pattern documented in DESIGN.md (solid purple +
.btn-glass, focus ring, disabled states, loading spinner). All buttons across the app migrated to the single standard.
🔧 Internal¶
- Dependency updates: FastAPI ^0.141.1, cryptography ^50.0.0, black ^26.5.1.
- pytest.ini:
asyncio_mode = autoand registered markers (unit / integration / slow / property). - Integration tests for moving and duplicating diagrams (
test_move_diagram.py,test_duplicate_diagram.py).