v0.0.55 — Dashboard Second Elevation
What's Changed
- feat(semantic-improve): scale the coverage view for large multi-connection groups by @msywulak in #4654
- fix(tests): isolate staging seed test on a dedicated database (#4647) by @msywulak in #4656
- fix(dashboards): enforce first-publish privacy gate on write/share/delete paths (#4537) by @msywulak in #4657
- docs(roadmap): mark #4537 shipped (first-publish write-side gate) by @msywulak in #4658
- feat(dashboards): surface-native creation — "New dashboard" opens the bound editor on the canvas by @msywulak in #4659
- feat(dashboards): draft cache — draft cards carry their own cached data (#4554) by @msywulak in #4661
- fix(api): semantic-enrich helper warnings via injected sink, not console (#4465) by @msywulak in #4662
- refactor(api): consolidate the duplicate email recipient-domain knobs by @msywulak in #4664
- fix(api): run the stale region-migration reaper on a periodic fiber (#4459) by @msywulak in #4667
- docs: disclose the US sandbox-execution residency carve-out (#4223) by @msywulak in #4668
- fix(dashboards): freeze shared-snapshot parameter summary + gate PATCH parameter write on pre-read by @msywulak in #4653
- fix(dashboards): shared-view caption honors the as-of contract (#4565) by @msywulak in #4670
- fix(dashboards): sync share expiry control to the live share's real lifetime (#4536) by @msywulak in #4672
- feat(dashboards): framable shared-view embed + Embed tab + shareMode-aware copy by @msywulak in #4673
- feat(dashboards): tool-side seeding — execute cards, report per-card outcomes (#4558) by @msywulak in #4671
- fix(dashboards): canvas interaction polish — per-tile refresh, stable suggestion ids, surgical invalidation, live age captions (#4567) by @msywulak in #4676
- feat(dashboards): surface-gate createDashboard + strip screenshot base64 envelope (#4566) by @msywulak in #4675
- feat(dashboards): one shared card-input union — text/section cards reach the bound editor (#4562) by @msywulak in #4674
- feat(dashboards): canvas-mount draft render for never-run tiles (#4557) by @msywulak in #4677
- fix(dashboards): draft-aware Refresh-all writes the draft cache, not published (#4559) by @msywulak in #4678
- feat(dashboards): canvas renders the caller's draft whenever they have one (#4556) by @msywulak in #4680
- feat(dashboards): single edit mechanism — destructive bound ops land in the draft with inline undo (#4555) by @msywulak in #4681
- feat(dashboards): View is read-only — mutating tile controls move to Edit; scoped shortcuts by @msywulak in #4682
- docs: v0.0.55 closeout — dashboard embed guide + ROADMAP reconciliation by @msywulak in #4683
- test(dashboards): pin seedDraftCards batch concurrency contract by @msywulak in #4684
- fix(dashboards): gate topbar Edit affordances on the grid's stacked signal (#4689) by @msywulak in #4692
- fix(dashboards): distinguish 401 from 403 on shared-view auth wall (#4690) by @msywulak in #4693
- fix(dashboards): dashboard tiles render ResultChart plot-only, pinned to card type (#4688) by @msywulak in #4694
- fix(dashboards): embed ?theme= themes charts + discoverable light/dark control (#4686) by @msywulak in #4695
- fix(dashboards): text section-header tiles floor at a shorter TEXT_MIN_H (#4687) by @msywulak in #4696
- polish(dashboards): design-review nits from the v0.0.55 pre-release pass by @msywulak in #4691
Full Changelog: v0.0.54...v0.0.55