MCQ online exams, a module management system, a pluggable frontend theme engine with two new themes, per-theme homepage content editing, About Pages, and a major security & data-integrity hardening pass.
A complete multiple-choice exam subsystem: build a question bank, assign questions per exam, and run timed attempts with question/option shuffling. Automatic grading (with optional negative marking), result publishing, per-question statistics, and Excel export of results. Questions and exams lock automatically once attempts exist.
Enable or disable application modules from a dedicated admin page. Disabled modules disappear from sidebars and dashboards and their routes are blocked, while core modules stay protected and can never be switched off.
The public website is now fully themeable. Choose between the classic Skylark theme and two brand-new designs — KingFisher and Phoenix — from a dedicated Themes page in the admin panel. Themes can override any public page and fall back gracefully where they don't.
Each theme's homepage sections — texts, images, icons, and repeating cards — can be edited from a modern tabbed content editor with live icon previews and image uploads. Leave a field blank and it falls back to the theme's built-in default.
Create unlimited rich-text "About Us" pages with a CKEditor-powered admin CRUD, slug-based URLs, ordering, and active toggles. Published pages appear automatically in the public site's header, mobile menu, and footer.
The homepage hero badge, titles, and recognition text are no longer hard-coded — they're driven by your school settings and editable through the slider form.
Sensitive uploads now live on a private disk and are streamed through a secure download controller behind admin authorization — files are no longer directly reachable by URL.
Admin-area routes are now enforced server-side against the user's menu permissions, so access control no longer relies on hiding links alone.
Receipt, payroll, transaction, support-ticket, and system ID generation now use database row locks inside transactions — duplicate numbers under concurrent use are no longer possible.
Fee collections, payroll, account transactions, student promotions, and batch fee operations are wrapped in database transactions so ledger data stays consistent even if something fails mid-way.
Resetting application data now requires typing RESET and confirming your current password — both verified on the server.
Fee collection now rejects payments greater than the payable amount after discount, in both single and bulk collection.
The Classes list now shows subject, exam, fee, and teacher counts per class; the Sessions list gains student counts, stats tiles, and deletion protection for sessions that still have students.
Transcript grading is now handled by a single GradeCalculator service, keeping report cards, tabulation sheets, and transcripts consistent.
New model factories, seeders, and feature/unit tests cover academic results, number generation, fee collection rules, MCQ exams, and module toggling — guarding the upgrade path for future releases.
Looking for an earlier release? Browse the release archive.