Skip to main content
SimDeck
AboutWhat's newHelpDemoSupportStudent login
AboutWhat's newHelpDemoSupportStudent login
View demo
ChinaEgyptClassroom

Release ledger

What's new in SimDeck

A version-by-version record of the improvements, mirrored from the SimDeck release ledger in Linear.

Source of truth

Linear release ledger

Public notes summarize the canonical Linear source in teacher-facing language. The first entry below is the latest verified SimDeck delivery.

Open Linear source

Version 0.66

September 2, 2026

One-time classroom notices stay one-time during live refresh

Teacher success and error messages now remain readable for the current view, then disappear on the next manual, automatic, or browser refresh.

Why it matters

  • - Keeps a completed Undo confirmation visible long enough for David to read it.
  • - Prevents an old success message from returning after live classroom data refreshes.
  • - Preserves the selected class, filters, and other URL context while consuming only the one-time message.

Verification

  • - Authenticated smoke coverage opens a live classroom notice, confirms it remains visible after URL cleanup, and consumes it through Refresh now.
  • - A following browser reload proves the consumed notice does not return.
  • - Full unit, typecheck, lint, build, exact PR-head CI, production deployment, and isolated teacher retest remain required before acceptance.

Source: Linear PI-239

  • Synchronizes the cleaned address with Next's internal canonical URL instead of reusing stale router history state.
  • Applies to the shared teacher notice used across Classes, Students, Activity, and live classroom pages.
  • Keeps the existing accessible status and alert announcement behavior.

Version 0.65

September 2, 2026

Clear recovery when a teacher opens a private student link

A signed-in teacher who opens a student's private inventory now stays in teacher mode and sees a direct explanation instead of landing silently on Classes.

Why it matters

  • - Confirms that the teacher session is still active and that student inventories are private.
  • - Returns the teacher to the class library, where they can open the appropriate class and manage its students and cards.
  • - Keeps private student data hidden without presenting an unrelated student login form.

Verification

  • - Authentication-boundary coverage asserts the exact teacher-mode recovery route and message.
  • - Full unit, typecheck, lint, build, exact PR-head CI, production deployment, and isolated teacher retest remain required before acceptance.

Source: Linear PI-239

  • Routes cross-role inventory access directly to Classes with an accessible error message.
  • Avoids the intermediate class-less dashboard redirect that previously discarded the explanation.
  • Preserves the existing teacher session and authorization boundary.

Version 0.64

September 2, 2026

A private password must differ from the temporary password

A newly provisioned or teacher-reset student cannot satisfy the required password-change step by entering the same temporary password again.

Why it matters

  • - Keeps the first-login safety promise accurate: students must choose a different private password before cards open.
  • - Shows a clear correction message without changing the password or clearing the required-change gate.
  • - Applies the same protection to voluntary student password changes.

Verification

  • - Focused server-action tests prove reused passwords never reach Appwrite and never clear the required-change marker.
  • - Rendered form coverage verifies the guidance is visible.
  • - Full unit, typecheck, lint, build, exact PR-head CI, exact production deployment, and isolated student retest remain required before acceptance.

Source: Linear PI-239

  • Rejects a new password that is identical to the current password before calling the authentication provider.
  • Keeps the server-owned required-change marker intact on rejection.
  • Explains beside the form that the new password must differ from the current one.

Version 0.63

September 2, 2026

David-first classes and teacher-provisioned student accounts

Teachers turn protected China or Egypt templates into editable classes, create student sign-ins before class, and guide each student directly to their own cards.

Why it matters

  • - Puts editable classes first and protected templates second, with Use template as the clear primary action.
  • - Creates each student account from the roster with a school email and temporary password instead of a class code.
  • - Requires a private password before a newly provisioned or teacher-reset student can open or change cards.
  • - Sends one-class students directly to their cards and labels multi-class choices with the class and teacher.
  • - Separates preparation from live classroom controls and keeps one recommended next action above the fold.
  • - Keeps long labels such as ARMY inside card rows and removes oversized fixed-height class cards.

Verification

  • - Focused regressions cover protected copying, retry identity, account provisioning, password enforcement, reset ownership, stale sessions, notices, and responsive source constraints.
  • - Typecheck, lint, build, exact PR-head CI, responsive rendered inspection, and isolated teacher/student production rehearsal remain delivery gates until the release candidate completes them.

Source: Linear PI-239

  • Copies template cards, roles, and role packages without students or live state, while a stable creation intent makes retry safe.
  • Reports reviewed roster batches row by row and preserves every existing account password.
  • Stores the first-login requirement on the server-owned Auth record and rechecks it on every student card mutation.
  • Revalidates account-wide teacher ownership immediately before a teacher password reset reaches Auth.
  • Suppresses card success receipts when a newer restore, reversal, or transfer state makes them stale.
Newer releases

Page 2 of 16

Older releases

SimDeck is demo classroom software for role-based card inventories.

PrivacyTermsSupportHelpWhat's new