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 approved SimDeck improvements.

Source of truth

SimDeck release notes

Approved release notes are published here. Draft entries are labeled and are not live releases.

Version 0.35

July 16, 2026

Safer student account changes

Teacher roster edits now follow the live student sign-in, recover safely from partial email failures, and explain when one password or email belongs to more than one class.

Why it matters

  • - A rejected account-email change no longer leaves the roster showing an address that cannot sign in, and a later retry cannot silently skip the repair.
  • - Each linked student card explains how many classes share the account, whether a restored class reserves the email, and where a password reset applies.
  • - Roster deletion is labeled as removing the student from this class, while invitations distinguish first-time password creation from returning-account sign-in.

Verification

  • - All 271 unit tests pass across 27 files, including live-account failure, stale and blank marker repair, provider rejection, Auth rollback, rollback-failure recovery, shared-scope markup, and exact 256/257 password boundaries.
  • - Critical-source coverage is 83.43% statements, 66.33% branches, 94.39% functions, and 92.05% lines; the membership helper remains above 97% statement and 98% line coverage.
  • - All 465 public smoke and accessibility cases pass across Chromium, Firefox, WebKit, Mobile Chrome, and Mobile Safari, including the new Version 0.35 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 shared-account roster treatment was inspected at desktop and 390px mobile widths, and the Version 0.35 release card was inspected from the rendered app.
  • - The Linear release ledger was updated before this public page entry.

Source: Linear release ledger document, PI-213

  • Made live Appwrite Auth the source of truth for linked email edits, with provider-first writes, roster rollback, and stale-marker reconciliation.
  • Kept display names per class instead of renaming a shared account, and left shared/reserved emails read-only while preserving authoritative server checks.
  • Added exact shared-account scope copy, 8-to-256 teacher password reset boundaries, and class-local deletion wording to the teacher roster.

Version 0.34

July 16, 2026

One student account across classes

Students can now use one verified SimDeck email and password in multiple classes and restored game copies while each class keeps its own approval, access, and cards.

Why it matters

  • - A student joining another or restored class enters the real password for their existing SimDeck account instead of being blocked by a duplicate email.
  • - Students with several memberships get a signed-in class chooser, while class codes and direct inventory links still open the intended class.
  • - Deleting one student row or class keeps the shared sign-in active for other linked classes and restored rosters waiting to be reclaimed.

Verification

  • - All 465 public smoke and accessibility cases pass across Chromium, Firefox, WebKit, Mobile Chrome, and Mobile Safari.
  • - All 120 accessibility cases are green; all 22 public DOM states per browser remain clear of serious and critical axe findings.
  • - All 75 exact feedback-role cases, 90 field-feedback cases, 25 crafted-feedback trust cases, 25 input-purpose cases, 10 provider-limit cases, 10 password-guidance cases, and 5 class-code entry cases remain green.
  • - All 259 unit tests pass with 82.87% statement, 65.66% branch, 94.04% function, and 91.71% line coverage across 15 critical modules.
  • - Typecheck, lint, static security, production build, backendless demo, 10 skeleton states, theme contrast, npm audit with zero vulnerabilities, Appwrite schema, production health, integrity, and restore planning pass.
  • - The Linear release ledger was updated before this public page entry.

Source: Linear release ledger document, PI-213

  • Verified an existing account's password and exact identity before linking it to a target class, while preserving first-time account creation.
  • Kept approval, pending status, access codes, roles, cards, transfers, and activity isolated per class even when one Auth identity is shared.
  • Added concurrency-safe duplicate prevention, exact class selection, student-specific sign-out, fail-safe shared-account cleanup, and protection against one-class email edits desynchronizing a shared identity.

Version 0.33

July 16, 2026

Account fields that match their real limits

Class join and password reset now disclose and enforce Appwrite's account-name and new-password limits before a submission can fail at the provider.

Why it matters

  • - Students see the full supported password range—8 to 256 characters—before creating or resetting a credential.
  • - Class-join names stop at the supported 128-character account limit instead of accepting a value that cannot be saved.
  • - Oversized names, passwords, and confirmations identify only the field to fix while system and provider failures remain at the form level.

Verification

  • - All 70 focused provider-limit, oversized-feedback, field-association, and password-guidance cases pass across Chromium, Firefox, WebKit, Mobile Chrome, and Mobile Safari.
  • - All 445 public smoke and accessibility cases pass across the five required browser profiles.
  • - All 85 field-feedback cases, 65 exact feedback-role cases, 25 crafted-feedback trust cases, 25 input-purpose cases, 10 provider-limit cases, 10 password-guidance cases, and 5 class-code entry cases remain green.
  • - All 115 accessibility-specific cases remain green; all 21 public DOM states per browser remain clear of serious and critical axe findings.
  • - All 228 required unit tests pass with 81.79% statement, 64.02% branch, 92.02% function, and 91.30% line coverage across the critical-source set, including 100% coverage of the shared auth constraints.
  • - Typecheck, lint, static security, production build, backendless demo, 10 skeleton states, theme contrast, and npm audit with zero vulnerabilities pass.
  • - The Linear release ledger was updated before this public page entry.

Source: Linear release ledger document, PI-213

  • Added one shared source for the account-name and new-password boundaries used by both public forms and server actions.
  • Stopped crafted oversized submissions before Appwrite lookup, account creation, sign-in, or password recovery calls.
  • Kept password guidance attached to both password fields while adding exact upper-bound feedback to the affected control.

Version 0.32

July 16, 2026

Field-specific sign-in and recovery errors

Trusted sign-in, class-code, and password-recovery errors now identify the exact field that needs attention while system-wide failures stay at the form level.

Why it matters

  • - Screen readers can identify the email, password, confirmation, or class-code field that needs correction instead of hearing only a detached page alert.
  • - Incorrect credentials identify the pair without revealing which value failed, while class-code and password-recovery errors identify only the correctable field.
  • - Rate limits, backend outages, account-loading failures, and reset-provider failures remain form-wide because no single input caused them.

Verification

  • - All 60 focused field-feedback cases pass across Chromium, Firefox, WebKit, Mobile Chrome, and Mobile Safari.
  • - All 385 public smoke and accessibility cases pass across the five required browser profiles.
  • - All 21 public DOM states per browser remain clear of serious and critical axe findings; all 115 accessibility-specific cases remain green.
  • - All 65 prior feedback trust and role cases, 25 input-purpose cases, 10 password-guidance cases, and 5 class-code entry cases remain green.
  • - All 219 required unit tests pass with 81.60% statement, 63.71% branch, 91.97% function, and 91.20% line coverage across the critical-source set.
  • - Typecheck, lint, static security, production build, backendless demo, 10 skeleton states, theme contrast, and npm audit with zero vulnerabilities pass.
  • - The Linear release ledger was updated before this public page entry.

Source: Linear release ledger document, PI-213

  • Connected trusted field errors to affected controls on teacher login, student login, class join, reset request, and password update.
  • Kept password requirements in each password field's description when adding a current error.
  • Added 12 separately reported route-state regressions per browser profile, covering eight field-specific and four form-level states.
Newer releases

Page 12 of 19

Older releases

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

PrivacyTermsSupportHelpWhat's new