Release Notes

v0.8.1

Booking improvements, multilingual support, and login security

This release brings a significantly improved appointment booking experience across the admin portal, client portal, and public booking widget, along with full Romanian language support and a new language management workflow for practices. Login security has been strengthened, and several fixes improve reliability across scheduling, availability, and portal controls.

Features

  • Unified booking slot display: Available time slots are now shown consistently across admin appointment creation, the client portal, and the public booking widget, making it easier to compare and select times regardless of where you are booking.

  • Next-availability search: When no slots are available on the selected day, the booking flow now automatically finds and shows the next day with open appointments, saving time for both staff and clients.

  • Staff-first appointment creation: Admins can now select a staff member first when creating an appointment, and the available locations and services are automatically narrowed to match that person's assignments and skills.

  • Appointment list sorting and custom columns: The appointments list now supports sorting by any column, including custom fields, and the column chooser lets you add appointment-specific custom fields to the view.

  • Availability rails on staff calendars: Staff calendar views now show availability windows at a glance, with notes visible on hover, making it easier to see when a therapist is scheduled to work.

  • Client portal appointment area controls: Practices can now separately control whether clients can see their appointment history and whether they can book or reschedule appointments themselves, giving more flexibility over what clients can do in the portal.

  • Language management for practices: A new Languages section in admin configuration lets practices enable languages, set the order, and see a readiness report showing which content still needs translation before a language goes live.

  • Romanian language support: Romanian is now available as an optional language for practices, covering the admin portal, client portal, public booking widget, and booking confirmation emails.

  • Scheduled release digests: Weekly and monthly release-note digests are now published alongside instant release notes, with dedicated tabs and date filters on the public releases page.

  • Overlap error messages: When a client already has an appointment in the selected time slot, the booking form now shows a clear, specific message instead of a generic unavailability notice, for both admin and client-facing flows.

  • Quick status changes from calendar and dashboard cards: Appointment status can now be updated directly from calendar and dashboard schedule cards without opening the full appointment detail.

  • Booking notes in the client portal: Clients can now see and edit their booking notes as a full-width field on the appointment edit page.

  • Consistent table and tab appearance: Table headers and navigation tabs across the admin portal now have a uniform height that adapts to touch and mouse input, improving usability on all devices.

  • Login lockout management: Authorised staff can now clear login lockouts for clients and other staff members directly from the relevant access tab, without needing to contact support.

Fixes

  • Appointment status timing: Completing or marking an appointment as no-show is now only possible after the appointment has started, preventing accidental early status changes.

  • Appointment activity log details: Activity log entries for new appointments now show the service name and friendly date-times instead of internal identifiers and raw timestamps.

  • Slot list scrolling: The available and unavailable slot lists in admin appointment creation now scroll independently, keeping the page usable when there are many options.

  • Time-slot validation timing: The missing time-slot warning in admin appointment creation now only appears after you attempt to submit, rather than immediately on page load.

  • Public booking client registration: Clients who book through the public widget are now correctly assigned a source, status, and location, and their registration is recorded in the activity log.

  • Public booking confirmation summary: The selected time summary is no longer duplicated on the public booking confirmation screen, and reservation messaging is removed after confirmation is complete.

  • Calendar status menu: Only one appointment status menu can be open at a time on the calendar, preventing overlapping dropdowns.

  • Onboarding checklist accuracy: The getting-started checklist now correctly starts at zero completed tasks after a fresh setup, ignoring pre-filled trial data.

Security and reliability

  • Stronger login protection: Login responses no longer reveal whether an account exists, is locked, or has had failed attempts, making it harder for automated tools to probe for valid accounts.

  • Permissioned lockout recovery: Login lockouts can only be cleared by staff with the appropriate permissions, and all unlock actions are recorded in the audit log.

  • Server-side appointment status rules: Appointment status transitions are now validated on the server, so rules around completed and no-show statuses cannot be bypassed through the interface.