| Name | Modified | Size | Downloads / 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.pye9f0a1b2c3d4_add_organization_plan_history.pyt6u7v8w9x0y1_add_user_mfa_tables.pyu9v8w7x6y5z4_add_user_activity_day.py
Full Changelog: https://github.com/learnhouse/learnhouse/compare/1.3.2...1.3.3