Download Latest Version 1.3.7 source code.zip (35.5 MB) Google Add to Preferred Sources
Home / 1.3.3
Name Modified Size InfoDownloads / Week
Parent folder
1.3.3 source code.tar.gz 2026-07-25 33.1 MB
1.3.3 source code.zip 2026-07-25 34.5 MB
README.md 2026-07-25 7.2 kB
Totals: 3 Items   67.6 MB 0

2FA, Students Analytics

✨ Features

  • Merge pull request [#972] from learnhouse/feat/2fa-passkeys (1ff71127)
  • feat(auth): 2FA, magic-link login, per-org auth policy, session isolation & 2FA reset (36c6502c)
  • feat(billing): active-user tracking and overage billing (77c210ed)
  • feat(users): integrate student analytics into Users tab (per-row Analytics button + compare); drop separate tab; fix modal spacing (31f53151)
  • feat(audit): gate student analytics behind Pro plan, not Enterprise (f6d7a8de)
  • feat(users): per-student audit & analytics (da31eea3)
  • feat(api): email users when they join an organization (c6d417c2)

🐛 Bug Fixes

  • fix(editor): scale embed frame height with its container (708a3e14)
  • Merge pull request [#976] from marceli1404/fix/walk-directory-path-separators (10c526dd)
  • Merge pull request [#978] from learnhouse/renovate/all-minor-patch (6dc6dfe0)
  • fix(deps): update all non-major dependencies (440080b9)
  • Merge pull request [#981] from learnhouse/renovate/html2canvas-pro-2.x (7e05755a)
  • fix(deps): update dependency html2canvas-pro to v2 (28ae73b6)
  • fix(transfer): keep S3 walk roots slash-normalised when base path ends in / (eed9bd04)
  • fix: normalize walk_directory paths to POSIX separators on Windows (a69a191b)
  • fix: stop startup, email and list-render failures from cascading (4080d4ca)
  • Merge pull request [#974] from learnhouse/fix/assignments-sweep-hardening (c475d394)
  • fix(web): retrying a partial AI-task save no longer duplicates saved tasks (00a02984)
  • fix(web): stop losing autosaved answers and align grade previews with the server (2e5a6e7f)
  • fix(assignments): reconcile grades and certificates when tasks or answers change (4edad97c)
  • fix(assignments): cap AI tasks, reject negative max grade, block token file access, dedupe submit events (3d1cc921)
  • fix(api): admin-seat limit allows paid-plan overage (only free is capped) (8298adcf)
  • fix(api): admin-seat check 403'd every SaaS org — resolve limit from plan, not resolve_feature (d4ec421d)
  • Merge pull request [#977] from learnhouse/renovate/pin-dependencies (2da76467)
  • fix(deps): pin dependency regex to v2026.1.15 (7b70e745)
  • fix(migration): base user_audit_event on prod head r5s6t7u8v9w0, not the orphan a2b3 branch (00170bc7)
  • Merge pull request [#968] from learnhouse/fix/saas-plan-member-limits (40b47287)
  • Merge pull request [#967] from learnhouse/fix/instructor-quiz-autosave-blocked (857681fe)
  • Merge pull request [#970] from learnhouse/fix/grading-cards-nice-shadow (045d47d2)
  • Merge pull request [#969] from learnhouse/fix/content-idor-and-modal-close (e0322b06)
  • fix(web): use nice-shadow, not a border, on the grading-type cards (617828a2)
  • fix(web): always close the confirmation modal once the action settles (c07d1084)
  • fix(security): run the content access check on the canonical resolved path (399ef01e)
  • fix(plans): correct SaaS plan limits to 200/500 members, 2000 Pro credits (ca0ae9cc)
  • fix(api): don't block an instructor from saving their own quiz answers (48ce5866)
  • Merge pull request [#965] from learnhouse/fix/scorm-truncation-submit-ux-email-links (755ffca4)
  • Merge pull request [#966] from learnhouse/fix/org-logo-standard-pro (e8c6b44d)
  • fix(web): show the org logo for standard and pro, not just enterprise (ab694c6c)
  • fix(security): harden local content path handling (687206b6)
  • fix(api): point organization emails at the org, not the platform picker (e646e2ac)
  • fix(web): show progress while an assignment submits (5c4bd431)
  • fix(web): stop truncating gzipped SCORM assets and cache them (6f3d02ed)
  • Merge pull request [#964] from learnhouse/fix/shareable-links-join-email (c832f214)
  • fix(web): unify certificate PDF and unblock joining from a signed-in session (a31ca766)
  • fix(web): make shared links absolute (ef16ca3d)
  • Merge pull request [#963] from learnhouse/fix/cross-org-users-only (0e42e2cf)
  • Merge pull request [#956] from learnhouse/fix/learner-ux-feedback (d7332406)
  • Merge pull request [#961] from learnhouse/fix/auth-client-ip-and-telemetry (ab18c820)
  • Merge pull request [#957] from learnhouse/fix/oauth-org-membership (8db734c0)
  • Merge pull request [#958] from learnhouse/fix/session-stability (fe59ef09)
  • Merge pull request [#959] from learnhouse/fix/certification-data-loss (c3babd2b)
  • Merge pull request [#960] from learnhouse/fix/invite-lifecycle (14574fac)
  • fix(rbac): scope "Users Only" resources to their own organization (dffce3cd)
  • fix(invites): key invites on the normalised address and count only pending ones (bd737c69)
  • fix(certifications): stop deleting awarded certificates with the template (fc6e39e3)
  • fix(auth): forward the client IP through the auth proxy, and log refresh outcomes (c42b1121)
  • fix(web): forward client IP, pass redirects through, resolve roles after SSO (3ca647e0)
  • fix(auth): join the organization on Google sign-up (e6f1e763)
  • Merge pull request [#955] from learnhouse/fix/session-unexpected-logouts (fc113110)
  • fix(assignments): learner UX gaps and assignment integrity issues (a04102ae)
  • fix(auth): stop unexpected sign-outs from transient refresh failures (c652c159)

⚡ Performance

  • Merge pull request [#986] from learnhouse/perf/api-cold-start (c5b8a55e)
  • perf(api): bake bytecode, split docker layers for faster cold start (fd1ffb46)
  • perf(api): stop repeating the same work inside one assignment submit (caae3a08)

♻️ Refactoring

  • refactor(usage): align member metering with plan seats (307bc3a3)

🔧 Maintenance

  • chore(deps): regenerate apps/web/bun.lock (56738fa1)
  • chore(deps): regenerate apps/web/bun.lock (e34abc08)
  • Merge pull request [#984] from learnhouse/renovate/actions-cache-6.x (1a2ad7d6)
  • chore(deps): update actions/cache action to v6 (2f718e64)
  • Merge pull request [#979] from learnhouse/renovate/actions-setup-python-7.x (1d4336e9)
  • Merge pull request [#980] from learnhouse/renovate/astral-sh-setup-uv-9.x (5694e6ff)
  • chore(deps): update astral-sh/setup-uv action to v9 (ffb78d08)
  • chore(deps): update actions/setup-python action to v7 (5dc4de3d)

🎉 New Contributors

  • @marceli1404 made their first contribution!

👥 Contributors

@marceli1404, @swve


📦 Getting Started

New installation:

:::bash
npx learnhouse setup

Upgrade to this version:

:::bash
# Back up your database first
npx learnhouse backup

# Update to this specific version
npx learnhouse update --version 1.3.3

Docker image:

:::bash
docker pull ghcr.io/learnhouse/app:1.3.3

[!WARNING] This release includes 4 database migration(s). Back up your database before upgrading.

  • b8c9d0e1f2a3_add_user_audit_event.py
  • e9f0a1b2c3d4_add_organization_plan_history.py
  • t6u7v8w9x0y1_add_user_mfa_tables.py
  • u9v8w7x6y5z4_add_user_activity_day.py

Full Changelog: https://github.com/learnhouse/learnhouse/compare/1.3.2...1.3.3

Source: README.md, updated 2026-07-25