TherapyCRM

Release notes

New features, improvements and fixes in each TherapyCRM release.

v1.0.9 ·

faster, safer, repeatable releases

TherapyCRM 1.0.9 standardizes how every change is validated and promoted. Pull requests receive one consistent set of quality and security checks, release candidates are exercised in staging, database changes are rehearsed on a fresh production-derived copy, and production receives the exact immutable image already verified upstream.

New features

  • Every change now follows one protected promotion path from a feature branch through develop and main before production
  • Essential end-to-end tests protect pull requests while the complete suite runs nightly and against the verified staging release candidate
  • Database migrations are rehearsed on a fresh production-derived Neon branch before production approval

Improvements

  • One stable required check replaces overlapping branch-specific validation workflows
  • The same content-addressed container image is promoted through environments instead of being rebuilt for production
  • Deployment verification now confirms the exact image digest, application version, rollout readiness, health, readiness and public app information
  • Release notifications are published only after the production rollout has been verified

Bug fixes

  • Prevented the GitOps application-image update from accidentally changing the Playwright runner image
  • Prevented disposable migration-test databases from colliding when workflow runs overlap
  • Removed production test-bypass controls so every release follows the same gates

Breaking changes

  • No existing API contract, clinical workflow or tenant data is changed by this release
  • Production releases now require a main-branch release candidate and protected approval

v1.0.8 ·

scheduling accuracy, safer staff invitations, and optional consent enforcement

TherapyCRM 1.0.8 collects the fixes from a full acceptance pass over scheduling, clinical setup, billing and accessibility, and adds an optional practice setting that requires client consent before an active client can be created. New practices now receive their complete clinical library at sign-up, recurring appointments keep the correct local time across daylight-saving changes, and staff invitations arrive as a single-use set-password link instead of a temporary password.

New features

  • Practice owners can require treatment, HIPAA and PIPEDA consent before an active client is created, from Settings then Security. The setting is off by default and never changes clients you already have
  • New practices are provisioned with the full clinical library — goals, interventions and assessments — ready to use from the first sign-in instead of appearing only after the library page is first opened
  • Invoice creation accepts an Idempotency-Key header so a retried or duplicated request returns the original invoice instead of billing twice

Improvements

  • Recurring appointments hold their local start time across daylight-saving changes, so a weekly 2pm session stays at 2pm before and after the clock change
  • Waitlist matching evaluates preferred days and time windows in the practice timezone, so clients with a preferred window are no longer skipped when a slot frees up
  • Screen-reader users hear an unread count on the notifications bell, and the list sort control keeps its name on small screens
  • Unread badges meet the AA colour-contrast minimum in both light and dark themes
  • Page headings follow a correct outline, so screen-reader and keyboard navigation by heading works predictably
  • Client intake shows the outstanding required fields directly on the review step instead of only in a tooltip
  • Practice currency is derived from the country chosen at sign-up, so Canadian practices are created in CAD
  • New practices email portal invitations by default while automated notifications stay opt-in

Bug fixes

  • Fixed recurring appointment series drifting by an hour once the series crossed a daylight-saving boundary
  • Fixed waitlisted clients with a preferred time window being passed over when a matching slot was cancelled
  • Fixed an appointment being able to be rescheduled backwards into the past, which distorted billing periods and utilization reporting
  • Fixed database constraint conflicts returning a generic error instead of a clear message, including duplicate records, duplicate funding enrolments, and funding histories that must be retained
  • Fixed edits to a signed or in-review progress note returning a server error rather than a clear explanation that the note is locked
  • Fixed two starter assessments being offered for assignment although they had no capture form

Breaking changes

  • No existing client, appointment, progress note, invoice or funding record is modified by this release
  • Consent enforcement is disabled for every existing and new practice and only applies to clients created after an owner enables it
  • Staff invitations and administrator re-invitations no longer email a temporary password; recipients set their own password through a single-use link
  • No existing API contract is removed

v1.0.7 ·

connected home practice and secure digital forms

TherapyCRM 1.0.7 adds a managed Home Practice Library with automated adherence reporting, clearer portal payment-plan schedules, and a complete typed-form workflow from practice-authored templates through staff or guardian completion, clinical review, secure attachments, and publication.

New features

  • Practice administrators can build and manage reusable Home Practice activities, cadence rules, reminders, overdue prompts, adherence percentages, and engagement reports
  • Guardians can see payment-plan totals, installments, payment status, balances, and currency-consistent schedules from the client portal
  • The typed form builder adds email, phone, time, multi-select, tags, checkboxes, repeating groups, display sections, and validated conditional logic
  • Published form versions can be assigned to staff or portal respondents with due dates, instructions, reminders, draft saving, return notes, resubmission, acceptance, and cancellation
  • Secure attachment fields support configurable image and document policies, private uploads, malware scanning, revision-aware review, audited downloads, and committed-record retention
  • Reviewers can inspect attachment filenames and scan status, return a response for correction, approve it, and deliberately publish the resulting clinical document

Improvements

  • Home-practice occurrences use frozen timezone-aware due windows, replay-safe materialization, deduplicated reminders, and 7-to-90-day engagement reporting
  • Form responses stay pinned to the exact published template version and preserve an append-only assignment and attachment event trail
  • Staff and guardian response editors share the same typed validation, responsive layout, attachment policy, and revision behavior
  • Document review decisions now update the linked form assignment in the same database transaction and immediately clear stale workspace caches
  • Review screens and PDF summaries represent repeating values, conditional fields, no-value display blocks, and attachment manifests consistently
  • Interrupted attachment scans are recovered by the supported form-assignment reminder job with bounded retries and durable scan evidence

Bug fixes

  • Fixed document review approval leaving a linked form assignment in a stale needs-review state
  • Fixed returned form responses retaining stale reviewer text after a later revision was loaded
  • Fixed completed form details exposing obsolete review actions from an infinite client cache
  • Fixed direct or reloaded Forms workspace links losing the assigned-forms scope
  • Fixed portal response mutations reporting success before refreshed detail and list state were available
  • Fixed payment-plan displays omitting their authoritative currency and installment context

Breaking changes

  • Database migrations 1073 through 1077 must complete before this application version serves production traffic
  • Production attachment uploads require durable private media storage and an available ClamAV daemon configured through CLAMAV_HOST
  • The home-practice and form-assignment reminder jobs must have exactly one active production scheduler
  • No existing form, document, home-practice, invoice, or portal API contract is removed

v1.0.6 ·

safer clinical billing and reliable session capture

TherapyCRM 1.0.6 introduces a practice-owned billing service catalog for therapy and non-therapy charges, strengthens assessment and session billing provenance, adds clinician-confirmed mastery decisions, and delivers replay-safe offline clinical session capture with practice-authored prompt hierarchies.

New features

  • Practice administrators can manage a dedicated billing service catalog for therapy sessions, assessments, documentation, reports, forms, and other chargeable work
  • Therapy types can map to catalog services while retaining their scheduling purpose, and appointments and completed clinical sessions carry their exact billing-service provenance into invoice drafts
  • Assessment billing now requires an approved or published clinical capture and creates replay-safe catalog-backed invoice drafts
  • Qualified clinicians can confirm mastery with a rationale, evidence window, published-document references, and a frozen analytics snapshot
  • Session Runner now protects drafts and completed sessions in an encrypted on-device queue, restores work after refresh, and safely synchronizes when connectivity returns
  • Practice Settings now supports ordered prompt-hierarchy authoring, publishing, retirement, versioning, and exact assignment to data-collection templates

Improvements

  • Assessment and behaviour-workflow stages now use stable published template family and version references instead of mutable template names
  • Session completion is atomic across all collected goals and uses payload-sensitive replay receipts to prevent partial or duplicate clinical records
  • The same versioned session-sync contract is available to future iPhone and iPad clients while keeping signing, approval, mastery confirmation, and billing decisions online
  • Prompt buttons display the practice-defined codes, names, order, and colors while storing an immutable hierarchy snapshot with each clinical record
  • Clinical workflow, assessment, billing, and compliance routes now honor independent practice feature gates
  • Notification digests and clinical workflow retries are registered in the supported scheduler manifests

Bug fixes

  • Fixed document persistence rejecting valid prompt codes supplied by a template's pinned prompt-hierarchy version
  • Fixed protected offline sessions showing stale queue status after a synchronization conflict
  • Fixed template renames breaking new assessment assignments or behaviour-workflow stages
  • Fixed ordinary goal updates being able to mark a goal mastered without a qualified clinician decision and evidence record
  • Fixed retries creating duplicate assessment or session invoice drafts
  • Fixed billing screens depending on therapy types for charges that are not therapy services

Breaking changes

  • No breaking API changes for existing web clients
  • Database migrations 1065 through 1072 must complete before this application version serves production traffic
  • Future native clients should use the versioned mobile clinical-session contract and maintain a Keychain-backed encrypted local queue

v1.0.5 ·

stronger account security and clearer workspaces

TherapyCRM 1.0.5 adds authenticator-app multi-factor authentication across practice and platform accounts, controlled recovery for verified administrators, stronger session and credential boundaries, and a simpler workspace experience that keeps My Day inside Dashboard and Reviews inside Documents.

New features

  • Staff and platform operators can protect their accounts with a TOTP authenticator app and one-time recovery codes
  • Practice administrators can configure MFA as optional, required for selected roles, or required for all staff with a bounded enrollment grace period
  • Platform operators can maintain a separate global MFA policy for cross-tenant administrative access
  • Practice owners can reset MFA for members of their own practice after identity verification, while platform operators can reset MFA only for practice owners
  • Dashboard now contains Overview and My Day as in-place tabs, and Documents now contains All Documents, My Documents, Created by Others, and Reviews in one workspace

Improvements

  • Security settings now show personal enrollment status, remaining recovery-code count, policy controls, and clearly confirmed administrative reset actions
  • Authenticator setup and challenge flows work consistently for normal staff login, required enrollment, temporary-password handoff, mobile authentication, and the platform console
  • Dashboard and Documents preserve shareable tab URLs while legacy My Day and Review routes redirect into their parent workspaces
  • Role-aware navigation keeps unavailable clinical and approval tabs hidden and presents a clear module-disabled state when a licensed feature is unavailable
  • Background notification, message, update, and booking-request polling no longer counts as user activity for the inactivity timer

Bug fixes

  • Fixed session-expiry warnings appearing too soon after login because background requests refreshed or distorted activity state
  • Fixed credential changes and administrative MFA resets leaving older web, mobile, or platform authentication state usable
  • Fixed MFA challenge handoff after mandatory temporary-password replacement and across logout or re-entry
  • Fixed recovery-code reuse and repeated authenticator time-step acceptance
  • Fixed My Day and Reviews opening as visually separate pages instead of behaving like the surrounding workspace tabs
  • Fixed narrow-screen security badges and workspace tabs wrapping into unclear layouts

Breaking changes

  • No breaking API changes. Existing users start with MFA optional unless an authorized policy changes enforcement
  • Production and multi-instance environments must provide a dedicated versioned MFA encryption key before starting this release

v1.0.4 ·

safer scheduling and connected practice operations

TherapyCRM 1.0.4 strengthens the day-to-day workflows used by a multidisciplinary therapy centre. The release improves scheduling readiness, recurring appointments, email and in-app notifications, invoice and payment communication, clinical-document lifecycles, role boundaries, consent enforcement, and temporary-password security after a comprehensive multi-role production-practice simulation.

New features

  • Recurring appointment cancellation now offers an explicit choice between one occurrence and the selected occurrence plus all following visits
  • Scheduling readiness now detects fixed therapist and room contention, transition-time conflicts, inactive clients, expired plans, and planning-window demand more accurately
  • Appointment creation and rescheduling now enforce therapist working hours while allowing an explicit authorized override
  • Client payment receipts can be delivered once to each active, unique client or guardian recipient
  • New staff and administratively reset users must replace temporary credentials before accessing practice data
  • Clinical and document views now use shared, relationship-aware access rules and minimum-necessary projections

Improvements

  • Appointment, reminder, cancellation, reschedule, recurring-series, waitlist, and schedule-publication messages now coordinate email and in-app delivery without per-visit alert floods
  • Appointment emails use the branch timezone, custom appointment location when present, and portal-safe client links
  • Invoice templates receive a complete runtime data contract and fail closed when required authored variables cannot be resolved
  • Scheduling fix dialogs refresh readiness after room or therapist changes and present clearer contention guidance
  • Treatment-plan service delivery, interventions, resources, goal progress, session duration, review, and amendment states are surfaced more consistently
  • Dashboard, search, reports, messages, staff directories, reminders, and notifications apply tighter practice, role, assignment, and recipient scopes

Bug fixes

  • Fixed invoice emails exposing unresolved invoiceDate, servicePeriod, services, and alternativePaymentInfo placeholders
  • Fixed duplicate schedule-publication messages by batching one summary per recipient
  • Fixed branch-crossing client choices and stale scheduling resources in appointment and readiness workflows
  • Fixed recurring cancellation so following occurrences retain cancelled audit history and receive one clear series summary
  • Fixed appointment lifecycle notices showing UTC-shifted times, incorrect locations, or staff-only guardian links
  • Fixed manual client payments failing to produce the configured payment receipt
  • Fixed document-review, signing, authorship, publication, and current-version access boundaries
  • Fixed lead conversion proceeding without required treatment, privacy, HIPAA, and PIPEDA consent

Breaking changes

  • No breaking API changes. Existing appointments, documents, invoices, templates, users, and audit history are preserved
  • Users marked with temporary credentials are intentionally limited to password replacement and sign-out until the password is changed