Changelog
New Features
-
Subscription Management:
Complete overhaul of subscription management UI with new pages for viewing and managing subscriptions, including subscription card components and detailed subscription tables
-
Reports & Analytics:
Introduced comprehensive Reports & Analytics dashboard for central admin with KPI widgets displaying total tenants, active tenants, trial tenants, total users, total revenue, and MRR
-
Report Exports:
New report export system with downloadable CSV/Excel reports including Trial Conversion Report, MRR by Plan, Customer Churn Rate, and other revenue metrics
-
Service Map Pattern:
Implemented centralized service management pattern for reports, enabling better organization and extensibility
-
Tenant Factory Reset:
Added ability to reset tenant data with confirmation dialog, allowing fresh start while preserving account
-
Tenant Usage Tracking:
Implemented tracking of last used timestamp for tenants to monitor activity
-
Filter Drawer:
Added comprehensive filter drawer for class schedules with multiple filter options including class type, instructor, and date range
-
Subscription Mixins:
Created reusable subscription management mixins for cancel, resume, freeze, unfreeze, mark as paid, and renew actions
-
Payment Consolidation:
Unified all payment methods (Stripe, PayPal, Razorpay) into single PaymentPage component
-
Dashboard Enhancements:
Improved dashboard layout with better KPI visibility and integrated TodaySchedules component
-
TipTap Editor:
Enhanced heading functionality with slugified IDs for better anchor linking
Improvements
-
Laravel 12.x Migration:
Successfully upgraded entire platform to Laravel 12.x with extensive refactoring
-
Theme System:
Enhanced theme color handling with CSS variables for better theming support
-
Subscription Features:
Added contract and freeze settings to subscription plans with grace period and billing interval adjustments
-
Editor UX:
Increased ProseMirror minimum height to 150px for improved usability
-
Notification Timing:
Reduced default timeout for scan notifications from 15 seconds to 5 seconds
-
Route Organization:
Streamlined addon route registration with dedicated methods for API and web routes
-
Database Performance:
Changed personal_access_tokens 'name' column to text type and indexed 'expires_at' column for better performance
-
Class Type Filters:
Updated class type filter to support multiple selections
-
Translation System:
Enhanced translation update method to include original translations and ensure directory creation for tenant language files
-
Cache Configuration:
Corrected cache default key from CACHE_STORE to CACHE_DRIVER
-
Multi-Branch Module:
Improved branch access control and cookie handling for better multi-location support
-
Referral Module:
Enhanced referral system with better hooks registration and database seeding
-
Code Quality:
Standardized chart heights and removed responsive options for consistency across dashboards
Fixes
-
Trial Conversion Report:
Fixed critical SQLSTATE error in trial conversion report query binding by creating custom implementation
-
Foreign Key Constraints:
Restored foreign key constraints for plan and coupon in subscriptions table
-
Migration Issues:
Resolved migration-related bugs including namespace corrections and model import paths
-
Shop Module Seeder:
Switched to raw DB queries in ShopDatabaseSeeder to avoid model observer issues
-
Admin Model References:
Updated all Admin model import paths to use correct Tenancy namespace
-
Gate Cloud:
Ensured tenancy is initialized before checking configuration
-
Webhook Testing:
Updated webhook test URL to correct endpoint
-
Route Naming:
Corrected various route names for better clarity including "Subscription Details" to "Subscription"
-
Payment Page Routing:
Fixed import path for PaymentPage component
-
Composer Dependencies:
Updated coderstm/laravel-core to v6.3.20 with proper version references
-
Router Consistency:
Fixed error handling in routes to ensure proper fallback behavior
-
POS Page:
Improved message formatting and removed unused lodash function
-
Subscription Loading:
Simplified subscription loading logic and removed unused price calculations
-
User Reports:
Removed deprecated UserReportsController and associated routes
-
Tenant Data Cleanup:
Added tenancy initialization checks before data cleanup in various listeners
-
Opening Times Helper:
Fixed opening_times helper to return collection with is_today flag
Technical Improvements
-
Test Coverage:
Added comprehensive tests for ReportsController with supporting trait for report data creation
-
Code Organization:
Refactored multiple components for improved readability and maintainability
-
Security:
Added XSRF token handling in API client for improved security
-
Asset Management:
Introduced Vite configuration for better asset management
-
Module System:
Streamlined module enabling process with improved error handling and cache checks
-
Tenancy Support:
Enhanced tenant migration and seeding commands in upgrade process
-
API Resources:
Updated download response structure in ReportExportsController
-
Documentation:
Added comprehensive documentation for personal training scheduling flow