Client database input and editing. New themes added.
- Updated client database functionality: set client code and initials; sort by A-Z or 'newest.'
- Editing client codes now reflects across all sessions and notes.
- Even more themes even though you never asked for them!
A data-reliability fix — sessions, tasks and day notes are now kept in full instead of only the last six months.
- Fixed browser auto-save silently dropping sessions, tasks and day notes older than six months, which also left them out of newer .JSON backups and cloud sync.
Two-week stacked view and full task drag-and-drop, plus a round of data-reliability fixes to stop sessions and tasks going unsaved.
- Two-Week View — stack two weeks in the Week view, week 2 layered below week 1, each half independently scrollable. Toggle with the 🗓️ 2-Week button or the K shortcut.
- Task drag-and-drop — task pills in Week view (including the all-day lane) and Month view can now be dragged straight onto a different day to move them.
- Timeline auto-stretch — a session or timed task moved outside the configured day start/end now stretches that week's Timeline view to include it at its real time, instead of being pinned off to the side.
- Fixed editing a task's date having no effect — changing the date in the task edit modal now actually moves the task, and shifts the rest of a recurring series or its future occurrences by the same number of days.
- Fixed several actions applying on screen but skipping the save step, risking data loss if the app was closed before the next automatic save: bulk slot actions (marking multiple slots busy/available/booked), deleting a single session, deleting a session and its future recurrences, and deleting a recurring task series.
- Fixed a conflict between task-pill dragging and multi-slot marquee selection that silently cancelled task drags before they could start.
User-definable business types with visual schedule indicators — plus a fix for schedule pills that weren't reflecting each client's actual session length.
- Business Types editor in System Config → Comms & Signature — define custom business lines (e.g. Music, Consultancy, Coaching) alongside the default Counselling and Other, available in both the Add Client and Edit Client dropdowns.
- Diagonal colour-stripe indicator on schedule pills for any client booked under a non-Counselling business type, auto-coloured per type for quick visual scanning.
- Fixed Week Timeline view sizing every booked pill to the global default pill length instead of the individual client's own session length.
- Fixed the Add Client form silently discarding session length, client type, and custom category — these previously only saved when editing a client afterward, not on initial creation.
- Fixed the custom category field not appearing when selecting "Other" while adding a new client (only worked when editing an existing client).
- Editing a client whose business type has since been removed from the list no longer silently resets it to Counselling on save.
Mobile feed fixes and quick navigation updates — resolved missing off-grid client session times in mobile views and added a dedicated email generation action button to the main sidebar.
- Added Generate Email button directly to the main sidebar for quick access to client communications.
- Fixed off-grid client sessions not showing up in the mobile feed view.
Major interface & navigation update — independent Chrome and Font customization engine, guaranteed Overview timeline anchoring, and seamless auto-scrolling to Today across view switches.
- Standalone Chrome & Font selectors — isolated window chrome styles and custom font configurations into independent global options managed via localStorage, allowing mix-and-match styling regardless of the selected color palette.
- Refined system header layout — aligned the Chrome selector and Font options controls into dedicated inline dropdown containers in the settings interface.
- Overview navigation — guaranteed today's date block is always included in the Overview timeline even on days without scheduled sessions or tasks, ensuring a permanent anchor target.
- Auto-scroll integration — seamlessly autoscroll and snap to Today when switching views to Overview, eliminating manual scroll requirements.
- Fixed 'Go To Today' action failing on empty days due to missing target element anchors in the Overview list container.
- Resolved render timing race conditions by preventing redundant re-renders during view switches.
Clinical Summary Reports can now include session notes, either from the report's date range or across all time.
- Session Notes option in the Clinical Report — include every note alongside CORE-10, PHQ-9, and GAD-7, either matching the report's date range or pulling all notes ever recorded for that client regardless of date.
- Included notes appear as a dated section in the printed/PDF report and are also added to the CSV export.
Timeline view improvements for tasks and a major theme expansion to 52 fully balanced color palettes.
- Upgraded colour themes array to 52 options, perfectly balanced across the spectrum with new mid-tone, light-mode, and retro presets.
- Improved visibility of tasks on hover in Timeline view.
- Fixed all-day tasks visibility in Timeline view.
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.