Inventory & Photos removed from main sidebar; remain accessible at the project level for focused global navigation.
Fixed a bug where permission checkboxes didn't appear and descriptions showed raw translation keys on un-seeded database environments.
Settings are now organized into Organization, Projects, and Estimating sections for easier navigation.
Fixed a form submission bug where adding a contact would accidentally submit the entire project.
Choose what details appear in estimate exports — full breakdown, totals only, or work-area summary.
New four-stage lifecycle dashboard plus real-time feedback while editing line items.
Draft invoices now let you adjust due dates, payment terms, and billing address; drag line items between work areas to reorganize.
North American phone numbers now format as (281) 455-6643 with a +1 prefix when applicable, for clearer, consistent display.
Browse client estimates and invoices, view contact emails, and manage related data in a full-height panel with searchable tabs.
Client portal now groups unscoped work items at the bottom with a clearer "General" label.
Estimate clients can now view and download PDFs inline without popup blocks interrupting their workflow.
Job-level items are now labeled General and grouped at the bottom, so room sections take visual priority.
Pack-back estimates provision fresh boxes, contractor bags, and stretch film since pack-out materials can't be reused.
Upload hundreds of photos without UI stalls. Project inventory analysis is now efficient with capped AI budgets and smart dispatch coalescing.
Virtualized tables and optimized rendering keep the inventory tab fluid even on large projects.
Photo grids no longer have their own scroll pane; the page owns scrolling. Mobile layouts now use dvh instead of svh for better viewport fit.
Capture PM and insured details when creating projects; get notified when you're assigned; bulk-update inventory salvage and pack-out status.
Capture project managers, insured details, and client POs on project creation with automatic team notifications.
Removed manual Roof Area input; area now auto-calculates from footprint and pitch.
Wide logos no longer stretch unbounded in estimate portals and email templates.
Structure, site, and elevation areas now use linked feet-and-inches inputs with automatic area calculation.
Customer replies to estimates or invoices now land in the sender's inbox instead of a generic contact address.
Watch your PDF load with a visual indicator, plus automatic fallback generation of missing cover text sections.
Project pages now pin the chrome at the top on lg+ screens, with independent scroll panes and keyboard shortcut (f) to collapse the header.
PDF iframe shows a loading indicator while rendering, cover fields are guaranteed when sending, and the preview page is clearly marked as editable.
Server actions now show the real error message instead of a numeric error code.
Set proper dimensions and add line items to STRUCTURE, SITE, and ELEVATION work areas — formulas now resolve correctly.
SVG and image uploads for user avatars, org logos, and branch logos now succeed without 403 errors.
Wide wordmarks in sidebar and settings tables now render with object-contain instead of being cropped to a square.
Cleaner estimate tables, better invoice creation feedback, and improved account verification experience.
Fixed focus loss when moving between Bag #, Count, and Unit price fields in the inventory spreadsheet.
Upload 500 errors are now resolved for avatars, branch logos, and organization logos.
Only admins and owners can configure Stripe payments; team members see who in the org to ask.
Organization, branch, and user logos in SVG format now display properly instead of triggering downloads.
Work-area templates now resolve quantity formulas using the destination room's dimensions.
Salvageable items now get automatic pack-out assignments: AI picks bagged, boxed, or wrapped and assigns tracking numbers. Your edits are respected.
The underline below the title on estimate and invoice cover pages is now navy blue instead of red, matching the app's brand colors.
Preview estimates while keeping the app shell visible for navigation and context.
Estimate covers now display property address under the client name. Preview layout no longer scrolls the document body.
PDF and spreadsheet toggle now in the toolbar. Preview refreshes when thumbnails or estimate details change.
Documentation, estimating, pack-out, and storage now each have their own sub-phase with independent inventories and estimates.
Phase navigation is cleaner and simpler with contents sub-phase tabs now integrated directly into the main nav card.
Copy an existing estimate to a new draft revision, or click work-area headers to verify scope without leaving the estimate.
View and edit estimates with a professional cover page, scope summary, and spreadsheet preview before sending to clients.
Clicking back on contents sub-phase estimates no longer crashes—the sub-phase context is preserved.
Clicking Back from a contents estimate preview now returns to the correct tab instead of an error page.
The preview panel now fills your viewport without pushing the outer page past its bounds.
Fixed unwanted page scrolling when using the estimate preview overlay.
Fixed double-scrolling in the estimate preview — page now stays in place while editor and spreadsheet scroll internally.
Missing phases display a clean 404 page instead of a generic error.