v0.3.5
What's changed
- Security: use origin-checked URL parsing for the post-auth redirect
- Lines: make resize actually scale the stroke (gizmo, panel, magic resize)
- Elements: remove the Line/Arrow tiles (toolbar drawing tools are the one way)
- Color picker: viewport-clamped fixed popover so the panel never clips it
- Profiles: regional preferences (timezone, time format, week start)
- Profiles: default the timezone to the browser's
- README: add editor-in-action GIF and a sample design
- Photo grids: whole-grid resize re-lays cells
- Editor: image picker on empty frames, visible pen anchors and cursor
- Editor: resize drags flip through zero like a mirror
- Dashboard and settings: URL-addressable sections and tabs
- Dashboard: lazy-load design and template previews
- Uploads: stop labeling every 413 as a storage quota error
- Editor: wheel scroll works over canvas overlays
- Editor: active page follows the scroll, inserts join the active page
- Pages bar: pinned controls, on-top size menu, calm thumbnail strip
- Editor: the Rotate around pivot actually takes effect
- Engine: text effects render on curved text
- Engine: declare the optional arc method on CanvasLike
Platform notes
- Each archive contains just the self-contained
hycanvasbinary with the frontend embedded; see the README for setup (.env, PostgreSQL). The first-run wizard generates the configuration for you, and.env.examplein the repository documents every setting. - First run:
./hycanvas service startdaemonizes the server (pidfile + logfile next to the binary; Linux, macOS, and Windows) and asks whether to set up in the browser or in the terminal. The browser wizard at /installation/step-1 is unlocked by the one-time access secret it prints; the CLI wizard asks the same questions right there. Other verbs:stop,restart,status,log -f../hycanvas startruns in the foreground. - The macOS binaries are not signed or notarized. If macOS quarantines the download, run
xattr -d com.apple.quarantine hycanvasor right-click the binary and choose Open. - ffmpeg is only required for server-side video export; everything else works without it.
Full Changelog: v0.3.4...v0.3.5