May 29th, 2026

New

Fixed

CareNova v1.1.0 — SaaS Mode & April Update ⚡

CareNova v1.1.0 is the first major feature update — shipping full SaaS multi-tenant architecture, invoice PDF export, clinic-scoped landing pages, and a set of stability and UX improvements across the platform.


⚡ SaaS Mode — Full Multi-Tenant Architecture

  • Workspace isolation — each clinic runs in its own workspace; data, staff, and settings are fully scoped to the tenant with no cross-clinic leakage

  • Membership-gated dashboards — authenticated users only access clinic dashboards they are members of

  • Invalid or unknown workspace codes route to a safe clinic-unavailable state instead of ambiguous access

  • New clinics are no longer auto-linked to unrelated platform or demo operators by default

  • Platform / super-admin workspace entry — opening a workspace routes to the correct clinic dashboard with middleware targeting and staff-login fallbacks

  • Active workspace restoration on login — the system resolves the correct workspace from UserWorkspace membership, not just a cookie; returning users land in their dashboard, not onboarding

  • Workspace logout confirmation — confirm before signing out from the workspace top bar

  • Clinic staff management per workspace — add, update, and remove clinic staff from the workspace UI

💰 Invoices & Billing

  • Invoice PDF export — download a print-ready PDF per invoice directly from the invoice list actions

  • Bulk invoice PDF — select multiple invoices and download a single combined PDF, one invoice per page

  • Invoice row selection — checkbox per row, select-all for the current page, and bulk toolbar actions (download, delete, clear selection)

  • CSV export removed from the invoices toolbar in favor of PDF-based print workflows

🌐 Landing Pages

  • Clinic-scoped landing URLs — middleware ensures all public landing routes include ?clinic=; cookie-based fallback when the query parameter is missing

  • Internal landing navigation preserves the active clinic query parameter across home, appointment, blog, and policy pages

  • Tenant-aware favicon metadata on landing routes — resolves per tenant instead of a single static app icon for all tenants

  • Landing Page Settings — server actions now resolve the active workspace clinic in SaaS mode so dashboard branding matches the public preview

  • Landing pages use cached, merged settings for performance and consistency with tenant branding

  • Dedicated clinic-unavailable experience when a workspace or clinic target cannot be resolved

🔔 Notifications

  • Notification bell now shows an unread count badge — stays responsive to new items

  • Notification queries and mutations scoped to the active clinic

  • Clearer behavior when no active clinic is present

👥 Staff & Onboarding

  • Admins can optionally enable auto-accept for new staff signups per clinic

  • When auto-accept is disabled, pending staff see a clear pending approval state during sign-in

⚙️ Settings

  • Version tab now lists all releases from /versions/*.md — newest first, each expandable

🛠️ Technical & Developer

  • Middleware logging includes request correlation identifiers for easier tracing

  • .env.example expanded with connection and migration guidance

  • Drizzle introspection uses a connection timeout to avoid hangs on bad endpoints

  • New and updated localization strings for invoice bulk actions, download flow, and common labels across all supported locales (en, fr, es, ar)

  • Dashboard sidebar top navigation group no longer uses a clinic-type overview banner label — section headers can be omitted for a cleaner layout

🛡️ Security

  • SaaS mode enforces workspace membership before serving any clinic-scoped dashboard experience

  • Cross-tenant dashboard access prevented — invalid workspace codes route to a safe state

  • Workspace isolation — new clinics no longer auto-linked to unrelated platform or demo operators

🔧 Upgrade Notes

  • No mandatory database migration for this release — deploy using your normal checklist

  • After deploying, verify: workspace cookies, landing URLs with ?clinic=, invoice PDF generation (single and bulk), and Settings → Version changelog rendering

  • Bare landing URLs without ?clinic= are redirected via middleware and cookie fallback — existing bookmarks continue to work

  • Extended License holders: full SaaS mode and multi-tenant rights are now active