Version 0.42
July 16, 2026
Roster support only for the student David reviewed
Student edits, join approvals, account-wide password resets, and class-local deletions now stay tied to the exact student membership on David's screen; changed roster or account state stops the stale action.
Why it matters
- - An older Students, Dashboard, or Live Dashboard tab cannot overwrite or approve a newer membership state.
- - A password reset cannot silently target an account link that changed after David reviewed the student.
- - Deletion remains all-or-nothing, and a failed Auth enablement returns the join request to pending so David can retry.
Verification
- - All 382 unit tests pass across 36 files, including stale lifecycle actions, roster compare-and-set misses, Auth rollback, approval retry rollback, and transactional deletion drift.
- - Critical-source coverage is 85.05% statements, 71.67% branches, 96.21% functions, and 93.75% lines; actions reach 94.75% line coverage and dependent deletion reaches 100% lines/functions.
- - All 465 public smoke and accessibility cases pass across Chromium, Firefox, WebKit, Mobile Chrome, and Mobile Safari, including the Version 0.42 release entry.
- - Typecheck, full lint, zero-warning static security lint, production build, backendless demo, 10 skeleton states, theme contrast, npm audit with zero vulnerabilities, and git diff validation pass.
- - The public Version 0.42 release card was inspected at desktop and 390px mobile widths with no horizontal overflow.
- - Read-only Appwrite schema, production health, integrity, and backup/restore planning checks pass without classroom or Auth writes.
- - The Linear release ledger was updated before this public page entry.
Source: Linear release ledger document, PI-213
- Replaced raw student IDs across edit, approval, password-reset, and delete controls with the rendered student version.
- Added compare-and-set roster saves, live-Auth email reconciliation, Auth email rollback, and retry-preserving approval rollback.
- Repeated the exact student review inside dependent deletion before archived-card, activity, assignment, or roster cleanup.