Skip to content

2.3.0

Choose a tag to compare

@SkennyCMD SkennyCMD released this 14 Sep 13:54
· 34 commits to main since this release

Tutorly 2.3.0
Release date: September 14, 2026

This release brings GDPR right-to-erasure into the Admin Panel, adds the Node.js frontend's first automated test suite, and fixes a mobile Calendar overflow bug alongside three erasure-guard gaps.

✨ Added
GDPR Right to Erasure (Admin Panel) — the anonymize-on-erase feature (DELETE /api/{users,students,admins}/{id}, contributed via a community PR) is now reachable from the Admin Panel: an "Erase" button on every tutor, guest, and student card, gated by a type-to-confirm modal requiring the admin to type the account's username or name before it can be confirmed. Erased accounts show an ERASED badge with every control disabled, role-mismatch guards keep the tutor/guest erasure buttons from being used on the wrong kind of account, and erased tutors can no longer log in.
Node.js Test Suite — the Node frontend had zero automated tests until now (no CI, no pre-commit hooks). Added a Jest/Supertest suite covering every route in the app — 162 tests across 14 files — with the Java backend mocked at the HTTP layer via nock.

🐛 Fixed
Erasure-bypass gaps — three admin routes could still modify an already-erased account: updating a guest's profile, changing an erased student's class, and linking/unlinking an erased student or guest. All three now correctly reject with a 409.
Calendar (mobile) — the toolbar's tutor filter and color legend could overflow the screen width on narrow devices, making the whole page scroll horizontally. The row now wraps instead.