5.22.0
What's Changed
🎉 Exciting New Features
- Cart System Modernization - Summary by @DawoudIO in #7506
- UI/css consolidation by @DawoudIO in #7473
- ensure select2 UI matches bootstrap4 and fixed issues by @DawoudIO in #7482
- Complete CKEditor4 → Quill 2.0.3 migration with event form UX enhancements and CSS consolidation. by @DawoudIO in #7488
- API: Add null safety and make notification endpoint configurable by @DawoudIO in #7496
- UI: Modernize icon usage across the UI to be fully compatible with Font Awesome 6 by @DawoudIO in #7497
- UI: Family View Style Cleanup by @DawoudIO in #7498
- Replace jquery-photo-uploader with Uppy by @Copilot in #7501
- UI Cleanup for People Dashboard & Person List by @DawoudIO in #7504
- Modernize and enhance Group Management UI/UX by @DawoudIO in #7513
- Modernizes the Sunday School Dashboard and Class pages by @DawoudIO in #7514
- Remove redundant breadcrumbs and simplify dashboard UI by @DawoudIO in #7516
- Add dedicated Notes sections to Person and Family views by @Copilot in #7502
- Implement Site-wide Floating Action Buttons (FAB) by @DawoudIO in #7505
- Adds comprehensive AI coding agent documentation covering: by @DawoudIO in #7512
🪲 Bugs
- Fix Slim middleware ordering and error handling by @DawoudIO in #7494
- Fix: Add missing RoutingMiddleware to Slim 4 applications causing post-login 404 errors by @Copilot in #7480
- Fix: Group-specific properties not creating records when adding members to groups by @Copilot in #7439
- Bug: Financial type fix by @DawoudIO in #7492
- Bug: Fix timezone issue for all-day calendar events by @DawoudIO in #7515
- Fix DataTable UI Issues: Headers, Attributes, and Responsive Implementation by @DawoudIO in #7499
💬 Localization
- 🌍 POEditor Locale Update - 2025-11-01 by @github-actions[bot] in #7511
Security
- CSP - Security Hardening by @DawoudIO in #7471
- Implement configurable Content Security Policy (CSP) enforcement by @Copilot in #7413
- Fix SQL Injection Vulnerability in EditEventTypes.php (CVE-2025-1023) by @Copilot in #7424
- Fix CSRF vulnerability in password change endpoints by @Copilot in #7500
- Fix: Consume tokens after validation to prevent reuse by @DawoudIO in #7503
Inner Beauty
- starting 5.22.0 by @DawoudIO in #7468
- Strict type checking enabled by @DawoudIO in #7489
- Webpack improvements by @DawoudIO in #7366
- Build/simple cleanup by @DawoudIO in #7474
- Modernize React code: replace var with const/let and add missing key … by @DawoudIO in #7484
- Build/remove scss by @DawoudIO in #7472
- no need for an events.js by @DawoudIO in #7475
- Webpack usage for UI icons & Fonts by @DawoudIO in #7479
- Remove empty line at the beginning of index.php by @vitormattos in #7483
- UI/deprecated html by @DawoudIO in #7490
- Code: AuthService migration by @DawoudIO in #7491
- Consolidate Docker Infrastructure with Multi-Stage Builds and Profiles by @DawoudIO in #7485
- Remove empty index.html placeholder files by @DawoudIO in #7509
- Cleanup package config, routes, and test updates by @DawoudIO in #7495
👒 Dependencies
- [Snyk] Upgrade i18n from 0.15.1 to 0.15.2 by @DawoudIO in #7477
- [Snyk] Upgrade bootstrap-datepicker from 1.10.0 to 1.10.1 by @DawoudIO in #7476
- UI Package Cleanup by @DawoudIO in #7487
Full Changelog: 5.21.0...5.22.0