Changelog

Every release. With the why.

We ship weekly and write the notes ourselves. No marketing-flavored bullet points — just what changed, why we shipped it, and what to watch for.

Featurev4.7.02026-04-18

Specialty-aware Copilot profiles

Copilot now loads a per-specialty prompt + model pairing by default. Radiology subspecialties (neuro, musculoskeletal, pediatric) each get a tuned profile rather than a generic one.

  • New AIPromptOverride table — per-clinic, per-specialty prompt customization.
  • Radiology subspecialty profiles: neuro, MSK, pediatric, cardiothoracic.
  • Model resolver picks the highest-capability model that supports the specialty's required tools.
Performancev4.6.22026-04-11

Turbopack dev server, 4× cold start

Shipped the Turbopack-based dev server to all internal environments. Cold start on the full monorepo went from 72s to 18s; hot reload from 3-8s to sub-second.

  • Dev server default now Turbopack; legacy webpack is available via `npm run dev:webpack`.
  • Fixed Turbopack OOM on large route trees by raising Node heap to 8GB in Docker.
  • Incremental type-check now runs on a worker thread — no more blocking the request pipeline.
Featurev4.6.02026-04-04

Denials worklist with AI-suggested fixes

Billing teams get a dedicated denials worklist with root-cause clustering and a suggested-fix column powered by the claims model. Two-click rebill for the common cases.

  • Cluster view groups denials by CARC/RARC + payer + procedure family.
  • Suggested fix draws from the last 90 days of successful resubmissions at your clinic.
  • Appeals templates auto-fill with chart excerpts and supporting documentation.
Securityv4.5.12026-03-27

SOC 2 Type II renewal, new audit log surface

Completed our annual SOC 2 Type II audit with zero exceptions. Alongside it, shipped a new admin audit log view — filter by user, action, patient, and time range, export as CSV.

  • SOC 2 Type II report (period 2025-03-01 → 2026-02-28) available on request under NDA.
  • New /admin/audit surface with per-row justification and linked resource.
  • Tamper-evident hash chain on the audit log table (verified at read time).
Featurev4.5.02026-03-14

Bilingual EN↔AR patient portal

The patient portal now supports full Arabic UI with RTL mirroring, Arabic numerals, and Hijri date display. The clinician surface stays in English — the chart is one source of truth either way.

  • Language switcher in the portal header, remembered per account.
  • SMS, WhatsApp, and email templates auto-select language based on patient preference.
  • Transcript language detection per turn — a bilingual visit records both languages cleanly.
Fixv4.4.32026-03-05

Scheduler: block conflicting recurring appointments

Fixed an edge case where a recurring appointment could be booked over a one-time block-off if the block was added after the series. Now validated on every occurrence.

  • Availability engine re-checks each generated occurrence, not just the series root.
  • Block-offs now emit a scheduler event that invalidates overlapping upcoming slots.
  • Added regression tests for 14 previously-broken scheduling edge cases.
Featurev4.4.02026-02-22

Dental 3D scan review in-chart

Upload STL or PLY from your intra-oral scanner and review it in-chart with measurements and annotations. Treatment plan automatically links the scan as evidence.

  • WebGL viewer with bite plane, occlusion check, and measurement tool.
  • Scan files encrypted at rest, tenant-scoped, streamed with signed URLs.
  • Lab order includes the exact scan file revision referenced by the plan.
Performancev4.3.02026-02-08

Chart load budget cut to 400ms p95

Rebuilt the patient chart loader around parallel fragment fetches and a per-tenant Redis cache. The chart renders in under 400ms at the 95th percentile on a normal record.

  • Problem list, meds, allergies, and vitals load in parallel, not serial.
  • Redis cache for the last 50 charts opened per provider, invalidated on write.
  • Waterfall cleanup — removed 11 redundant round-trips from the first paint.