← Back to home

What's new in EduSupervise

Recent product changes, in plain English. Plumbing and test commits stay in the engineering log at the bottom.

October 2026

  • Office notices: post an announcement, see who has read it, and nudge anyone who has not acknowledged it.
  • Events and rooms: staff meetings and PD days show on Today and in your calendar feed, and the gym, library or a laptop cart can be booked without double-booking.
  • Leave requests: ask for time away, get an answer, and see your balance. Approved leave puts your duties out for cover.
  • Field trips: plan who is going and what needs doing; their duties go out for cover automatically.
  • Cover is easier to arrange: the office can assign cover from a list of people who are free, you can ask a named colleague to take a duty, and substitutes get a private link for their day.
  • Reports now include absences, and there is an optional weekly duty limit.

September 2026

  • Duty reminders use your school timezone, so they fire on the right local morning.
  • Teachers whose schedule is not published yet get a clear “not ready” state instead of a blank week.

August 2026

  • You can delete your own account at /account/delete, with a 30-day grace period.
  • School admins get a readiness check before a schedule is treated as live.
  • Duplicate duty reminders are suppressed.
Engineering log

Raw commit history, with conventional-commit prefixes stripped. Newest first.

2026-10-11

  1. One close button in the phone menu; drop an unused import (#102)

    2bfb4f7

2026-10-05

  1. Group the sidebar and phone menu under headings (#101)

    463d75a

2026-10-04

  1. Teacher acknowledges an announcement; teacher room request needs approval (#99)

    0cdf14b

  2. Run the Docker runtime check on PRs only when packaging changes; cache Gradle (#98)

    7192c5b

  3. Skip re-running Build/e2e on main pushes and skip docs-only PR work (#95)

    6fadede

2026-10-02

  1. Security: scripts need a per-page nonce (no unsafe-inline for scripts) (#94)

    e4231ad

  2. Clear every known audit finding (#93)

    4238810

  3. Make the demo and browser tests trustworthy, and run the browser tests in CI (#92)

    8d5b2ab

2026-10-01

  1. Allow the Coolify development URL to be configured (#91)

    be20b20

  2. Prepare checked-image releases and Coolify adoption for EduSupervise (#70)

    9dab1ab

  3. Phone-width browser checks for the platform modules, and the bugs they found (#90)

    da60abb

  4. Mark the school-platform modules as merged (#89)

    453a764

  5. Absence report and one-day coverage view (#73), plus roadmap status (#88)

    78a814f

  6. Private day links for substitutes (#79) (#87)

    2ebf29a

  7. Field trips with attending staff, cover and a checklist (#78) (#86)

    5e68856

  8. Leave requests, approvals and balances (#77) (#85)

    eec6180

  9. Weekly duty limit, over-limit report, named hand-overs (#76) (#84)

    71525ea

  10. Staff events and room/equipment booking (#74) (#83)

    e060a6d

  11. Office notices with read and acknowledge tracking (#75) (#82)

    a25c578

  12. Admins can assign cover to an open duty by hand (#81)

    3ffd45f

2026-09-30

  1. School platform roadmap (absences, events, announcements, fairness, leave, trips) (#80)

    a270ab3

  2. Patch vulnerable transitive deps, add owner TODO, park SSH auto-deploy (#69)

    4f35b64

  3. Deploy: print the deploy key as one base64 line and validate it in the workflow (#68)

    c890872

  4. Deploy: one-command server setup for auto-deploy; make skipped deploys visible (#67)

    f2902ba

  5. Reconcile the finish-the-app plan with what shipped (#66)

    50c021e

2026-09-29

  1. Real app icon: a duty clipboard with a check (#65)

    74048d8

  2. Browser tests for school workflows; admin setup card; role-boundary tests; CSV, calendar and demo banner fixes (#62)

    9459d71

2026-09-26

  1. Merge pull request #64 from camster91/fix/ios-pbxproj-parse

    765ffba

2026-09-25

  1. Repair project.pbxproj broken by aps-environment edit

    afe90ac

  2. Merge pull request #63 from camster91/feat/gap-remedy-ux

    5796814

  3. Type the CSRF mock and tx param in admin tests

    629abf6

  4. Close public, nav, and admin-setup gaps

    c182c5a

  5. Merge pull request #61 from camster91/fix/update-sh-strip-single-quotes

    f57e3df

  6. Strip single-quoted secrets in update.sh

    88a0ae2

  7. Calendar weeks, recorded duty completion, fair assignee suggestions (#60)

    a4c8dae

  8. Free beta, working coverage & reminders, admin tools, phone apps, auto-deploy (#59)

    94eed35

  9. Merge pull request #48 from camster91/codex/redact-malformed-apns-key-example

    d0b15f3

  10. Call the db:migrate script in step 6

    313d723

  11. Bind cached parse jobs to the uploader's school

    c55300c

  12. Build fresh databases from migrations only

    f8ef281

  13. Mirror same-school user keys into the bootstrap schema

    0dedb47

2026-09-24

  1. Merge pull request #58 from camster91/claude/peaceful-lovelace-7x9rwj

    144f01a

  2. Merge pull request #56 from camster91/claude/peaceful-lovelace-7x9rwj

    ec7d95d

  3. Enforce same-school user links with composite foreign keys

    4bf3d1a

  4. Merge pull request #55 from camster91/claude/peaceful-lovelace-7x9rwj

    65636d1

  5. Reject user ids from another school in admin mutations

    aaa8005

  6. Detect and clean up synthetic QA data

    84ef0c7

  7. Restore onboarding recovery journeys and cover review save

    2e9b55d

  8. Restore accessible schedule review and add recovery

    8db1847

  9. Merge pull request #54 from camster91/claude/peaceful-lovelace-7x9rwj

    36d7ae5