Layr now treats pages as the source of truth, adds a Bluebeam-style annotation and measurement toolkit, and makes scale calibration flexible enough to save and reuse across devices.
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.
Pen, Line, Polyline, Polygon, Cloud, Cloud+, Dimension, Arc, Length, Angle, Image, Diameter, Radius, Volume and dedicated Sketch tools now share one quick-key system and consistent drawing behavior. Measurement tools produce takeoff quantities; decorative markups stay out of QTO.
Dynamic Fill turns an enclosed region into a selected boundary and a chosen area output. Polygon and ellipse cutouts subtract voids from their host, while perimeter, wall area, volume, diameter and radius report the units their quantities require.
Architectural, engineering and metric presets cover a wider range, and manual scales accept structured values and units on both sides of the ratio. Signed-in users can save a scale to their account and reuse it on another device through Layr-styled, keyboard-accessible menus.
Rotated, flipped, masked and repeatedly placed PDF images now follow one consistent transform and compositing path. The outline opens ready to use, page names fall back consistently, matching search rows act as one target, and neighboring pages prefetch the geometry they actually need.
A project can start from drawings, specifications or both without first assigning the set among named people and disciplines. Team membership and access controls remain in place; the retired delegation step and its saved metadata are gone.
| 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. Explicit preflights make unknown dependencies abort 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. |
| Migration 067 | Adds the account-scoped user_preferences key/value table used first for saved scale presets. Its UUID user key references auth.users; the existing migration-031 event trigger enables RLS, and server-side session-scoped access uses the service role with no client policies. |
| Hosted environments | The development branch deployment applies migrations 065–067 before this release is offered for production. Production still needs all three; CI applies them in order before publishing the production app after the release PR is merged. |
| Flags and app configuration | No application feature flag or required hosted app environment variable changes are included. |
| Email intake | The new Cloudflare Email Worker is not part of the Layr app deploy. Enabling it requires a deliberate DNS move, preserved Vercel and notification-email records, GitHub and Slack secrets, Email Routing configuration and a smoke test. |
/api/drawings entry points and old browser links remain as compatibility adapters; the underlying database drawing record does not.