New Timeline view for Week — sessions and tasks laid out on a proportional time axis instead of a stacked list, so same-time items line up across every day.
- Timeline view — an alternative Week layout where sessions and tasks are positioned by actual clock time rather than stacked in a list, so a 3pm booking lines up horizontally across all 7 days. Toggle with the 📐 Timeline button or the L shortcut.
- Configurable Day Start/End and a default pill length for Timeline view, set in System Configuration → Session Grid.
- Task Length (minutes) field on the task create/edit modal — defaults to 60, used to size the task's pill in Timeline view (e.g. set 120 for a 2-hour task).
- All-day tasks, and anything outside the configured Timeline day range, are pinned as small chips rather than disappearing.
- Overlapping items at the same time (e.g. a task and a session together) now lay out side-by-side instead of stacking invisibly on top of one another.
- Timeline pill colours, text weight, and the paid/unpaid indicator now match list view exactly.
- A keyboard shortcut change could be silently overridden by an old value baked into previously-saved settings, so a new default wouldn't take effect until manually reset. Shortcut preferences now only save genuine customisations, and a one-time migration corrects any already-affected saved data.
Mobile cloud sync reliability fixes — pushes from mobile no longer silently go missing, and unlock/launch can no longer overwrite unsynced local changes with older or conflicting cloud data.
- A push triggered by closing or backgrounding the app could be silently dropped if it landed inside the sync throttle window and the tab was suspended before its retry could fire — this was the main reason mobile → desktop sync was less reliable than desktop → mobile. A missed push is now recorded and automatically sent the next time the app opens.
- Before sending a recorded push, the app now checks whether the cloud has moved on in the meantime (i.e. another device pushed since). If so, it defers to a manual Pull with a clear warning rather than risking an overwrite in either direction.
- Force-pull on unlock could previously overwrite a genuinely newer, not-yet-synced local edit with older cloud data. It now compares timestamps properly and only pulls when it's actually safe to.
- A sync-pending flag could linger indefinitely after being resolved elsewhere (e.g. by a manual pull) — it's now cleared correctly in every case.
New CPD Log & Hours Tracker — plan, log, and report your continuing professional development in line with BACP guidelines.
- CPD Log: record training, reading, peer groups, webinars, personal therapy, and supervision, each with hours, provider, and a reflection on impact to practice.
- Hours tracker with a progress bar against your annual target (default 30h, BACP's general guideline) — supervision hours are shown separately and don't count toward the target, in line with BACP's rules.
- Configurable CPD year — set your own cycle start date (e.g. calendar year or a UK tax-year-style Apr–Mar cycle) instead of a fixed Jan–Dec year, and browse previous cycles.
- Printable CPD summary report and CSV export, for accreditation renewal or audit.
- Full CPD data syncs and backs up alongside everything else — cloud sync, JSON export/import, and encrypted backup all now include it.
Cloud sync race-condition fixes — manual pull can no longer be silently overwritten by a background push, and redundant sync calls have been cleaned up.
- Manual pull (⬇ Pull) could be silently overwritten if a background push fired at the same time — pull now takes the same sync lock as automatic push/pull, so the two can no longer race.
- Removed a redundant, non-debounced auto-push that could fire in bursts and collide with the sync throttle during rapid editing — only the properly debounced push remains.
- Removed a duplicate cloud push that ran twice when locking the app — only the intended pre-lock push runs now.
Mobile reliability fixes — cancelled sessions now show correctly on mobile, auto-lock no longer fires on every background reload, and invoicing gains flexible date ranges plus new export formats. (Updated 'edit session details' functionality across multiple devices.)
- Invoice date range — select any custom "From" / "To" range for invoicing, covering multiple months or any custom period, in addition to the existing Last Month / This Month shortcuts.
- Invoice export — export a generated invoice as a .DOC (opens directly in Word) or a structured .XML file, alongside the existing print/PDF option.
- Auto-lock now tracks genuine inactivity rather than re-locking on every app open — on mobile, briefly backgrounding the app (which often triggers a full page reload) no longer forces the passcode prompt unless you were actually away for the full auto-lock period.
- Cancelled sessions weren't shown as cancelled (greyed out, struck through) in the mobile day view — they now match the styling used everywhere else in the app.
- A fresh mobile screen load could show the app fully unlocked but with all data missing, requiring a manual cloud pull to recover it. Local data and cloud sync now always load correctly on open, including when auto-lock decides not to re-lock.
Improved cloud sync and updated task creation options.
- Improved stability of cloud sync.
- Updated colour options for task pills.
Improved billing workflow flexibility — updates invoice compilation sequences with an adjustable description parameter to cleanly customize line items immediately prior to template generation.
- Custom service description input field — added a structured inline input block within the invoice selector workspace interface.
- Dynamic invoice generation parameters — linked the finalized workflow routine directly to the item definition fields to inject custom text arrays seamlessly instead of relying on a fixed baseline description string.
Enhanced cloud sync pipeline — patches background execution routines to optimize automated save distribution, synchronize remote states on initialization, and validate active sessions upon locking sequences.
- Auto-push after local save — updated scheduling mechanics to forward data profiles directly to the cloud interface precisely 1.5 seconds following local storage validation.
- Force-pull on unlock authentication — adjusted initialization protocols to bypass local revision timestamp assessments when the application is unlocked, securing consistent alignment with cloud records.
- Auto-push on termination context — linked remote data synchronization processes directly into application lock routines to anchor operational integrity automatically before session suspension.
Professional letter generation tool — write professional communications directly to external healthcare departments, authorities, or support frameworks from within operational views.
- Generate Letter — produce a professional printed letter from your practice directly from the session action menu. Fill in recipient, purpose, session count, clinical summary and your accreditation details. Opens a print-ready window in the same style as invoices. Suitable for GP correspondence, DWP letters, CMHT referrals, fit note support, and any other outbound clinical communication. Client anonymity is preserved throughout — only the anonymised client code appears in the letter.
- Cloud sync conflict protection — manual pull now checks for unsaved local changes before overwriting, with a clear warning showing timestamps. Pulling when already up to date shows a toast confirmation rather than silently completing.
Clinical reporting and interface improvements — generate printable outcome summaries and reclaim screen space with a collapsible client panel.
- Clinical Summary Report — generate a printable, exportable summary of clinical metrics (CORE-10, PHQ-9, GAD-7, and omdex-modes compass) for any client over a specified date range. Accessible from the sidebar. Includes PDF print and CSV export.
- Collapsible All Clients column — the All Clients panel in the Overview can now be collapsed to a minimal strip, giving the notes and schedule columns more horizontal space.
Expanded clinical assessment options with PHQ-9 and GAD-7 tracking, alongside targeted quality-of-life adjustments to the booking workflows and invoice management.
- PHQ-9 & GAD-7 assessment tools — optional tracking forms for depression and anxiety metrics are now fully integrated directly into the clinical notes entry pane.
- Custom booking session times — added an optional time input field when scheduling slots, allowing custom precise times to override grid defaults.
- Invoice placement — the 🧾 Invoice button has been cleanly integrated into the Email Communications sub-menu overlay to streamline outbound client interactions.
- Booking modal interface — streamlined layout geometry by removing the redundant session type selection panel.
A small follow-up update refining the Core 10 button in the notes input pane for a smoother clinical notes workflow.
- Core 10 button in the notes input pane updated for clearer access and improved behaviour while entering session notes.
CORE-10 clinical outcome metrics integrated into the notes panel — score, track, and colour-code client distress levels without leaving the session view.
- CORE-10 assessment tool — a full 10-item outcome measure is now accessible directly from the notes panel in the overview. Enable via System Configuration → Security → Clinical.
- Distress colour indicator — the Core10 button in the notes pane reflects the saved score with a green-to-red colour scale (healthy through severe distress), giving an at-a-glance signal without opening the assessment.
- Reversed scoring for positively-worded items — questions 2 and 3 are now correctly scored in reverse (right answer = 0, left = 4), in line with the CORE-10 specification.
- Column headers added to the assessment table — scale labels (Not at all / Occasionally / Sometimes / Often / Most or all of the time) now appear above the response columns.
omdex-journal has been temporarily taken offline for a significant code overhaul. It will return. If you already have a copy, it continues to work as normal.
A small quality-of-life release removing the periodic backup nag popup, which was disruptive on mobile.
- Backup reminder popup removed — the periodic confirm() dialog prompting a .json export no longer appears. The backup streak badge in the interface remains as a passive indicator.