Layr now uses pages as the source of truth from storage through the editor, renders difficult PDF imagery more faithfully, and makes project creation, navigation and search results more direct.
Pages now carry the canonical identity, title, project membership, state and editor routes that used to depend on a parallel drawing record. Existing drawing links remain compatible, while new navigation and APIs use the page directly.
A project can start from drawings, specifications or both without first splitting the set among named people and disciplines. Team membership and access controls are unchanged; the retired delegation step and its saved metadata are gone.
Rotated, flipped, masked and repeatedly placed PDF images now follow one consistent transform and alpha-compositing path. Sparse pages retain trustworthy source rotation instead of being turned by weak text evidence.
Fresh sessions open with the outline expanded, page names fall back consistently when authored titles are absent, and compact search results make the whole matching row clickable and visibly active.
Local health checks now identify the checkout and verify every lazily loaded pipeline core before reuse. A deleted, foreign or incomplete process is reported with recovery guidance instead of being mistaken for a healthy worker.
The production-release workflow now verifies merge-commit provenance and compares the computed merge tree before declaring branches divergent. Normal release receipts no longer cause an unnecessary merge back into development, while hotfixes and unexplained production changes still stop for review.
| Area | What to know |
|---|---|
| Migration 065 | This forward-only migration preserves unambiguous legacy page identity, metadata and project membership, then removes the compatibility trigger and RPCs, projects.drawing_ids and public.drawings. It uses explicit preflights and DROP TABLE without CASCADE; any unknown dependency aborts the transaction. After it commits, rollback requires restoring the compatibility schema and data from backup. |
| Migration 066 | Existing layr-admin configuration whose left sidebar default is collapsed is updated to expanded. Users can still close the outline and use the existing O shortcut. |
| Hosted environments | The migrations have already run on development through its branch deploy. Production still needs 065 and 066; CI applies them in order before publishing the production app when this release is merged. |
| Flags and app configuration | No application feature flag or required hosted app environment variable changes in this release. |
| Email intake | The new Cloudflare Email Worker is not part of the Layr app deploy. Enabling it requires a deliberate DNS move to Cloudflare, preserved Vercel and notification-email records, GitHub and Slack secrets, Email Routing configuration and a smoke test. Until an operator completes those steps, inbound email intake is not live. |
/api/drawings entry points and old browser links remain as compatibility adapters; the underlying database drawing record does not.