New features, improvements and fixes in each TherapyCRM release.
v0.2.30 ·
Leads Prospect/Guardian Enhancement and CI/CD Improvements
This release adds prospect/client fields to leads so contact persons (parents/guardians) and actual therapy prospects are tracked separately. On lead-to-client conversion, prospect names are correctly assigned and guardian records are automatically created. Also includes soft-delete client list fix and CI/CD runner migration.
New features
Added prospect/client name, DOB, and relationship fields to lead intake form
Added Contact person is the client toggle to distinguish guardian from prospect
Lead-to-client conversion now swaps names and creates guardian record automatically
Lead detail page shows Prospect/Client banner and Guardian/Contact Person label
Improvements
Switched CI/CD from self-hosted k3s runners to GitHub-hosted ubuntu-latest
Improved page scroll behavior by fixing html/body overflow
Bug fixes
Fixed soft-deleted clients still appearing in client list after deletion
Fixed extra whitespace at bottom of pages caused by body overflow
v0.2.29 ·
Documents Page Fix and Enhanced Data Handling
This release resolves critical issues with the documents page display functionality and improves data handling across multiple components. The documents feature is now fully operational with proper API response parsing and enhanced null safety throughout the application.
New features
Added delete confirmation dialog component for safer data management
Enhanced staff repository with comprehensive role management capabilities
Improved treatment plan forms with better data validation
Improvements
Fixed React Query data extraction to properly parse JSON responses from API
Enhanced null safety with optional chaining across all React components
Improved error handling and debugging capabilities in multiple pages
Better data flow management in lead and client intake forms
Optimized API response handling for nested data structures
Bug fixes
Fixed critical documents page issue where documents were not displaying despite API returning data
Corrected API endpoint path from /api/documents/documents to /api/documents
Resolved React Query Response object parsing issue preventing data display
Fixed null reference errors when accessing properties from LEFT JOIN queries
Resolved data extraction issues from nested API response structures
v0.2.27 ·
Frontend Stability and API Response Handling Improvements
This release focuses on resolving critical frontend runtime errors and implementing consistent API response handling patterns across all main application pages. The fixes ensure robust data handling and eliminate JavaScript errors that were preventing proper page functionality.
New features
Unified API response handling pattern for consistent data extraction across frontend components
Comprehensive TypeScript interfaces for API responses (ClientsResponse, DocumentsResponse, StaffResponse)
Robust error handling for nested API response structures
Improved frontend stability across all main application pages
Improvements
Enhanced data handling in clients page with proper response structure extraction
Improved documents page data processing with consistent error handling
Streamlined staff management component with unified API response patterns
Better TypeScript type safety across all frontend data fetching operations
Bug fixes
Fixed "clients.filter is not a function" error on /clients page by properly extracting data array from nested response
Resolved "documentsData.filter is not a function" error on /documents page with correct API response handling
Fixed "staff.filter is not a function" error on /staff page using consistent data extraction pattern
Eliminated JavaScript runtime errors preventing proper page rendering and functionality
v0.2.26 ·
Multi-Day Scheduling with Full-Day Window Preferences
This release significantly improves the scheduling engine with multi‑day scheduling capabilities, prioritizes client full‑day window preferences, and implements minute‑level overlap detection for more accurate conflict resolution. Additionally includes helper scripts for schedule testing and validation.
New features
Multi‑day session scheduling: rotates through multiple days per required session starting from current day
Minute‑level fixed‑schedule overlap detection using enhanced isRangeFree function
Helper scripts for schedule validation: run‑schedule‑once.ts and regenerate‑scenario.ts
Improvements
Scheduling engine now tries multiple available days per session for better distribution
Days matching client full‑day windows are now preferred in scheduling order
Enhanced conflict detection with minute‑level precision for fixed schedules
Improved scheduling logs show preferred day order with day‑of‑week indicators
Better session distribution across available days with rotation logic
Bug fixes
Fixed fixed-schedule overlap detection to use minute-level granularity instead of hour-level checks
Resolved scheduling conflicts where clients could be double‑booked at exact times
Fixed session scheduling to properly rotate through all available days before reporting conflicts
v0.2.25 ·
Full‑Day Scheduling Constraints and Treatment Plan Enhancements
This release introduces full‑day scheduling constraints, improves the treatment plan workflow, and refines the scheduling engine and related routes. It also includes quality‑of‑life fixes, targeted debug scripts for scheduling analysis, and a basic smoke test to ensure the app loads successfully.
New features
Full‑day scheduling constraints implemented in the scheduling engine
Enhanced treatment plan form and view for clearer workflow and selections
Scheduling analysis endpoints refined to support new constraint logic
Initial smoke test added to verify application loads
Improvements
Scheduling engine logic refined for constraint handling
Schedule detail page updated for better clarity with full‑day rules
Added debug scripts for targeted schedule data inspection
Resolved merge conflicts in treatment plan form and restored rotation group selection bound to form field (junction table link)
Fixed schedule detail page implementation issues
v0.2.28 ·
Authentication System Fixes and Database Schema Completion
This release resolves critical authentication issues including login validation mismatches and completes the password reset functionality by ensuring all required database tables exist. The authentication system is now fully operational with proper email-based login validation.
New features
Complete password reset functionality with proper database table structure
Fixed authentication validation to use email field instead of username
Resolved login validation schema mismatch preventing user authentication
Enhanced browser compatibility with proper cache control headers
Improvements
Unified authentication field validation across Passport.js and input validation middleware
Improved database migration reliability with proper table creation verification
Enhanced error handling for authentication workflows
Better compatibility with different browser caching behaviors
Bug fixes
Fixed login validation expecting username field when system uses email field authentication