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.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.

Version 0.41

July 16, 2026

Setup changes only for what David opened

Card-template and role-package setup controls now stay tied to the exact template, role, card option, and complete package on David's screen; a changed setup stops the stale edit without partial cleanup.

Why it matters

  • - A stale Cards drawer cannot overwrite, copy, or delete a card template after another setup change.
  • - A stale Roles editor cannot overwrite or delete a role, and package changes cannot silently use a newer role, package, or card template.
  • - Destructive and package changes remain all-or-nothing because SimDeck repeats the exact setup review inside the Appwrite transaction.

Verification

  • - All 368 unit tests pass across 35 files, including stale setup preflight, compare-and-set misses, transactional drift, dependent-deletion rollback, fresh duplicate audit fields, and rendered setup snapshots.
  • - Critical-source coverage is 85.11% statements, 71.75% branches, 96.21% functions, and 93.69% lines; deal selections and dependent deletion reach 100% line and function coverage.
  • - All 465 public smoke and accessibility cases pass across Chromium, Firefox, WebKit, Mobile Chrome, and Mobile Safari, including the Version 0.41 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.41 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 writes.
  • - The Linear release ledger was updated before this public page entry.

Source: Linear release ledger document, PI-213

  • Replaced raw template and role mutation IDs with rendered versions across card update, duplicate, delete, role update, and role delete controls.
  • Bound package add/change and removal to the rendered role, canonical complete package, and selected card-template version before and inside the transaction.
  • Made template and role saves compare-and-set their rendered versions, while copies receive fresh identity and audit timestamps.

Version 0.40

July 16, 2026

Deals only for the setup David reviewed

Role-package deals and manual card adds now stay tied to the exact role, package rows, card template, and students on David's screen; if any setup changed, SimDeck stops without partial classroom work.

Why it matters

  • - A stale role wizard, package builder, game desk, or card-library drawer cannot deal a newer setup than the one David reviewed.
  • - A changed template or student destination must be refreshed and selected again before a manual card add can continue.
  • - Multi-student role deals remain all-or-nothing and show when the selected package would exceed the 100-write atomic limit.

Verification

  • - All 356 unit tests pass across 35 files, including malformed and duplicate snapshots, stale preflight setup, in-transaction drift, trusted activity metadata, and the 100-write deal cap.
  • - Critical-source coverage is 85.30% statements, 72.41% branches, 96.15% functions, and 93.61% lines; the new deal-selection helper reaches 100% line and function coverage.
  • - All 465 public smoke and accessibility cases pass across Chromium, Firefox, WebKit, Mobile Chrome, and Mobile Safari, including the Version 0.40 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 role-deal limit notice, exact setup controls, and public Version 0.40 release card were 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 writes.
  • - The Linear release ledger was updated before this public page entry.

Source: Linear release ledger document, PI-213

  • Bound every role-deal and manual-add form to rendered role, package-row, template, and student versions with shared setup controls.
  • Repeated the complete setup review inside the Appwrite transaction before any role assignment, card insert, or activity write.
  • Capped role-card quantities and complete deal size, then recorded the trusted setup snapshots in successful activity metadata.

Version 0.39

July 16, 2026

Single-card changes only for what David saw

Use, Restore, Archive, and Transfer now stay tied to the exact card and student destination on David's screen; if either changed, SimDeck stops instead of overwriting newer classroom work.

Why it matters

  • - A stale game-desk or activity tab cannot use, restore, archive, or transfer a card after another classroom action changed it.
  • - A student destination that was renamed, deleted, or otherwise changed must be selected again before a direct transfer can continue.
  • - Use history names the card's trusted current holder, while Use and Bank-routing policy are checked again inside the transaction.

Verification

  • - All 324 unit tests pass across 33 files, including stale versions for all four actions, raw-ID tampering, trusted Use attribution, destination drift, and Use/Bank policy drift.
  • - Critical-source coverage is 84.99% statements, 71.88% branches, 95.98% functions, and 93.30% lines.
  • - All 465 public smoke and accessibility cases pass across Chromium, Firefox, WebKit, Mobile Chrome, and Mobile Safari, including the Version 0.39 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 direct-action safety notice and the public Version 0.39 release card were 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 writes.
  • - The Linear release ledger was updated before this public page entry.

Source: Linear release ledger document, PI-213

  • Bound every visible single-card teacher control to the rendered card version with shared hidden inputs across student inventory, David reserve, Bank, and Activity.
  • Replaced raw direct-transfer student IDs with versioned destination selections and repeated destination validation inside the atomic transfer.
  • Removed browser-supplied Use attribution and reloaded the trusted card holder and relevant card policy inside the transaction.
Newer releases

Page 8 of 16

Older releases

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

PrivacyTermsSupportHelpWhat's new