5.21.0
🎉 Exciting New Features
- Add Admin-only option to view and delete system logs by @Copilot in #7437
- Add admin task and management page for log file cleanup by @Copilot in #7410
🔑 Security
- App Bootstrap cleanup and security updates by @DawoudIO in #7461
- Security: Sanitize User Input in API Endpoints by @DawoudIO in #7467
- Fix CVE-2019-17205: Stored XSS vulnerability in deposit comments by @Copilot in #7431
🪲 Bugs
- Fix CSV import bug: correct inverted date validation logic in ParseDate function by @Copilot in #7440
- Fix Config.php writability check failing during initial setup by @Copilot in #7426
- Fix TypeError in AppIntegrityService::getIntegrityCheckMessage() after upgrade to 5.12.0 by @Copilot in #7425
- Fix: Birthday calendar filter to use proper integer comparison by @Copilot in #7429
- Fix logging timezone consistency by setting UTC default before bootstrap by @Copilot in #7412
- Fix missing directories in backup when bBackupExtraneousImages is False by @Copilot in #7418
- Fix backup database error by adding proper directory creation error handling by @Copilot in #7417
- Fix: Calendar deletion and access token update bugs by @Copilot in #7383
💬 Localization
- 5.20.0 POEditor Update - 2025-10-06 by @github-actions[bot] in #7385
- 5.19.0 POEditor Update - 2025-10-11 by @github-actions[bot] in #7393
- Locale: Better Scripts & KO Locale by @DawoudIO in #7397
- 🌍 POEditor Locale Update - Download KO-KR by @github-actions[bot] in #7399
- 🌍 POEditor Locale Update - 2025-10-12 by @github-actions[bot] in #7401
- Updated locale scripts by @DawoudIO in #7402
- 🌍 POEditor Locale Update - 2025-10-13 by @github-actions[bot] in #7453
Inner Beauty
- started 5.20.0 by @DawoudIO in #7395
- Fix unnecessary exception logging for public API authentication checks by @Copilot in #7415
- Slim MVC - Ensure all code is compatible with Slim v4 by @DawoudIO in #7465
- New DepositService - SQL to ORM by @DawoudIO in #7466
- Upgrade Cypress System and Test to match latest recommendations by @DawoudIO in #7384
- Docker cleanup / speed up by @DawoudIO in #7386
- Update build-test-package.yml to modern actions by @DawoudIO in #7398
- Cleanner e2e upgrade script with no manual changes by @DawoudIO in #7405
- cleanupLocalGit is not a needed via Grunt by @DawoudIO in #7407
- fixed 2 versions of cypress and upgraded to latest version by @DawoudIO in #7406
- remove babel as it is not used by @DawoudIO in #7408
- Build - Starting release 5.21.0 by @DawoudIO in #7444
- Potential fix for code scanning alert no. 142: Workflow does not contain permissions by @DawoudIO in #7459
- Potential fix for code scanning alert no. 139: Workflow does not contain permissions by @DawoudIO in #7460
- Move upgrade routines from SystemService to new VersionUtils utility class by @Copilot in #7414
- Slim cleanup by @DawoudIO in #7462
- Add missing PHP extension requirements for intl, bcmath, and sodium by @Copilot in #7394
- removed grunt-lineending by @DawoudIO in #7400
- Fix version detection error when already on latest release by @Copilot in #7411
Full Changelog: 5.19.0...5.21.0