Skip to main content

What's New in v1.9.3 (for end users)

This release brings the 1.9.3 platform update from the vendor plus 17 user-facing improvements made during stabilisation. No new training is required โ€” most changes simply make existing features work the way you expect.

For a developer / system-administrator deep-dive (database migrations, architecture decisions, deployment notes), see the v1.9.3 Technical Notes.


At a glanceโ€‹

  • โœ… Continuous Assessment now appears in the Student Exam Report
  • โœ… Certificates save reliably, stay visible across session years, and the class/exam pickers cooperate
  • โœ… Subscriptions chain renewal end-dates correctly, with a dismissible "Pay in advance" prompt
  • โœ… First-time login flow has a polished verify-email success page with a brief countdown
  • โœ… Users โ†’ Status page no longer crashes when opened with no filter
  • โœ… Several dashboard banners and pay-links fixed for Paystack and Flutterwave schools

Continuous Assessment in Reportsโ€‹

The single-student Reports โ†’ Student Reports โ†’ Exam Report tab is now CA-aware.

For exams that have CA configured (CA1 + CA2 + Exam):

  • You now see one row per subject instead of three confusing rows.
  • The Max Marks column reads 100 (or whatever your configured total is).
  • The Obtained column shows the weighted aggregate.
  • The Grade column shows the matching letter from your school's grade bands.

This works automatically for any exam whose marks were entered through the CA Mark Entry screen โ€” no re-configuration needed. See CA in Reports for the full explanation.

The downloadable Yearly / Subject-wise / Rank-wise PDF generators currently still use the older per-component layout. They're on the roadmap.


Certificatesโ€‹

Several reliability and UX fixes for the Certificate Templates module:

  • Templates from previous session years stay visible in your templates list โ€” they no longer silently disappear.
  • Design canvas changes persist when you save and reopen a template.
  • On the Issue Certificate page, picking an exam now auto-selects the matching class, so the student list refreshes without you having to re-pick.
  • The legacy one-step "Issue Certificate" page continues to work alongside the newer two-step "Assign โ†’ Print" flow.

Full details in the Certificates guide.


Subscriptionsโ€‹

Several improvements for school admins managing their prepaid plan:

  • A new dismissible "Renew / Pay in advance" card appears at the top of your dashboard whenever you have an active prepaid plan. Click the ร— to hide it for the current cycle; it returns automatically for the next cycle.
  • The "Click here to pay" button works for Paystack and Flutterwave (previously only worked for Stripe).
  • Renewals correctly chain end-dates forward. Paying when your plan is valid through 27 June now extends to 2 July โ€” not "today + 5 days".
  • Subscriptions โ†’ History page now shows all your bills with correct due-date per cycle.

Full details in the Subscription Billing guide.


First-time loginโ€‹

A new branded email-verification success page with a brief countdown now appears when a school admin clicks the verify-email link from their welcome email. The user is auto-signed-in and taken straight to their dashboard โ€” no separate login step.

The verify link also works if the admin has closed their browser since the email arrived, on any device.

See School Admin โ†’ First Login for the updated walkthrough.


Users โ†’ Status pageโ€‹

The Users โ†’ Status page no longer crashes when opened without picking a role first. By default it now shows all non-Guardian users so the list is populated immediately.


What's NOT changedโ€‹

  • Your data is preserved exactly as-is โ€” no manual migration needed.
  • All existing reports, certificates, fees, exams, attendance, and notifications continue to behave the same way (with the improvements noted above).
  • No retraining required for teachers, parents, or students.

Need help?โ€‹

If something doesn't behave as described above:

  • Refresh the page (Ctrl+Shift+R / Cmd+Shift+R for a hard refresh).
  • Try a different browser to rule out a local cache issue.
  • Contact your 4SCH support representative with the URL where you saw the issue and a screenshot if possible.