Changelog

v3.1.0

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