ClinicDesk — Changelog

Every user-visible change to ClinicDesk, newest first.

This log covers changes that matter to users — new features, behaviour changes, removals, and bug-fix summaries. Internal refactors, dependency bumps, and build-system tweaks are left out. The format follows Keep a Changelog.

Back to ClinicDesk

How entries are labelled
  • Added — new capabilities.
  • Changed — adjustments to existing behaviour you should notice.
  • Fixed — defects that affected the product day to day.
  • Removed — capabilities that were taken out.

1.2 — May 2026

Correctness, security, and polish pass across the whole application.

Added
  • Per-IP login rate limit — five failed attempts from the same computer triggers a 15-minute lockout. The lockout is per-workstation, so a single PC stuck on a typo won’t lock out the rest of the clinic.
  • Double-booking guarantee. The server now blocks overlapping appointment slots for the same doctor at booking time, with a clear error message. Cancelled appointments do not count as conflicts.
  • “Now” line on the doctor schedule — the boss/doctor schedule shows a horizontal line at the current time across today’s view.
Changed
  • Cancelling an appointment now requires a reason, which is stored on the appointment for future reference.
  • Patient editing is now safe for partial updates. Editing a patient updates only the field you changed — leaving an optional field blank no longer wipes it.
  • Invoice numbers follow the INV-YYYY-NNNNN format consistently across all generated invoices.
  • Three-payment splits totalling the bill (e.g. $33.33 / $33.33 / $33.34) now correctly mark the invoice as paid.
  • Over-payments are rejected with a clear message instead of silently accepting more than the balance due.
  • Session cookies now use SameSite=Lax in addition to HttpOnly, closing a CSRF exposure.
  • Self-service password changes now require your current password. First-login forced changes still bypass this gate.
  • Deactivating a user immediately invalidates their active session — they can no longer keep working until the session expires.
Fixed
  • Em-dashes, middots, and special characters render correctly on every page. No more garbled “—” symbols on Reports, Settings, pager labels (“5–10 of 60”), and tooltips.
  • Dates match your local clock everywhere. The dashboard, the “today” tab on the doctor schedule, and date-default fields no longer skip a day in the early morning hours.
  • CSV report downloads open cleanly in Excel with proper UTF-8 detection (no leading “” garbage before the first header).
  • Daily Revenue returns rows when you pick a single date.
  • Patient Statement loads faster — eliminated extra database queries per invoice.
  • Empty report date ranges return an empty table instead of an error.
  • Special characters in names and notes (apostrophes, quotes) are handled safely throughout the UI.
  • Money rounding drift fixed across invoices and partial payments — balances can no longer end at -0.005 and mis-classify as still partial.
  • Appointment status state machine. Terminal states (completed, cancelled, no-show) can no longer be changed.

1.1 — March 2026

Multi-day schedule, hashed passwords, network access, and PDF invoices.

Added
  • Doctor schedule now supports multi-day view with week navigation.
  • Secure hashed password storage implemented to enhance account security.
  • LAN and public IP access now supported for deployments on dedicated and virtual private servers.
  • Enhanced user interface designed for Doctors, Secretaries, and Administrators.
  • Schedule slot indicator added to help prevent overlapping appointments.
  • Personalised option to display the clinic name across all application screens.
  • Invoices can now be exported as PDF from the browser interface.
  • Added email notification support for appointment confirmations.
Changed
  • Patient search now indexes by phone number in addition to full name.
  • Session timeout extended from 30 to 60 minutes with a warning prompt.
Fixed
  • Partial payments now update invoice status correctly.
  • Resolved a rare crash when deleting a patient with open appointments.
  • Audit log timestamp offset on servers in non-UTC timezones.

1.0 — January 2026

First public release.

Added
  • Appointment scheduling with full status tracking (pending, confirmed, completed, cancelled, no-show).
  • Patient records with complete profile management — demographics, contact, blood type, allergies, emergency contact, and notes.
  • Clinical visit records — diagnosis, treatment, prescription, follow-up interval.
  • Document attachments per appointment and per visit.
  • Invoicing and partial payment tracking with subtotal, tax, total, due date, and balance due.
  • Role-based access control — Admin, Secretary, and Doctor roles enforced on every protected endpoint.
  • Secretary-to-doctor assignment management.
  • Full audit log for every create / update / delete operation.
  • Browser-based UI — no client installation required.
  • SQLite database with WAL mode for reliable concurrent multi-user access.

Back to ClinicDesk