- Reports: Migrate DepEd Transparency Board PDF export to backend Puppeteer service with enlarged layout and per-section downloads
- Settings: Replace dynamic grace period days input with cutoff date picker and calculated days preview; separate schedule date pickers
- Documents: Default requirements section to collapsed/closed state in upload OCR modal with pulsing border container
- Fix contrast on Auto-Graduation trigger button and ensure desktop responsiveness across report buttons
- Fix 1px bottom overflow on Overall Compliance KPI card by adjusting height and padding
- Fix text truncation for Pending Docs KPI card
- Fix 49px bottom overflow on Students Per Year card by adjusting container and chart heights
- Fix LayoutBuilder inside IntrinsicHeight issue on desktop report charts
- Refine security settings, audit trail platform tracking, and document handling
- Clean up unused conversion providers and LibreOffice service
SecurityException crash on Android 12+ when SCHEDULE_EXACT_ALARM special
access not user-granted. Now checks canScheduleExactAlarms() and falls back
to setAndAllowWhileIdle() (inexact, no special permission needed). Both
schedule() and cancel() wrapped in try/catch to prevent future alarm crashes.
ForegroundService requires a live Flutter engine and cannot be cold-started
from a BroadcastReceiver. flutter_foreground_task handles boot-restart
internally via autoRunOnBoot=true. BootReceiver now only reschedules
the AlarmManager chain.
- Migrated user management to a 3-step stepper
- Redesigned Reports screen with side-by-side charts and KPIs
- Fixed timezone date formatting in Dashboard Activity logs
- Implemented custom native Android splash screen and removed flutter_native_splash