All releases

App release

LearnHouse 1.3.2

App1.3.2

15 features30 fixes9 other

Assignments improvements and bug fixes

This release includes 4 database migration(s). Back up your database before upgrading.

  • a2b3c4d5e6f7_unique_assignment_submission_rows.py
  • e7f8a9b0c1d2_add_pass_threshold_to_assignment.py
  • f1a2b3c4d5e6_unique_certificateuser_user_certification.py
  • r5s6t7u8v9w0_add_resource_activity_subtype.py

Features

  • feat(email): org-scope and white-label the account welcome email0dd130d8
  • feat: add language trnaslations for paste from clipboard button text6d5d7681
  • feat(docs): reference v2 — auth rights, search/SEO/llms, playground upgrades, docs-aligned layoutafcb75da
  • feat(docs): add full API reference generated from the live OpenAPI speca22450fb
  • feat(scorm): large-package upload with progress, parallel S3 transfer, streaming playback2f445c67
  • feat(web): show an upgrade prompt when a plan limit is reached95f9106f
  • feat: add paste from clipboard button to the Course Thumbnail input in the Create Course dialog59de6370
  • feat(api): harden free-tier abuse surfaces against invite-spam relaydeb0a3fc
  • feat(activities): show unpublished courses + per-type counts in resource picker21d87bf4
  • feat(activities): add Resource activity + SCORM upload picker cardfd04e5c2
  • feat(audio): add "Speak" monologue mode and a length selector64a7f1e3
  • feat(audio): generate a podcast discussion script from a topic, then narrate it5205436e
  • feat: activation + monetization improvements and AI podcast/audio generationbe516976
  • feat: use i18n strings for course mobile view49a579c8
  • feat(scorm): support 5GB SCORM uploads (proxy timeouts + UI copy)be309799
  • Merge pull request #952 from learnhouse/feat/welcome-email-org-whitelabelb149bd4e
  • Merge pull request #935 from SenithVijayantha/feat/language_translations_for_paste_from_clipboard_button36a22884
  • Merge pull request #934 from learnhouse/feat/docs-api-reference5b792a0e
  • Merge pull request #932 from SenithVijayantha/feat/paste_img_from_clipboard_to_course_thumbnail_inpute1577942
  • Merge pull request #933 from learnhouse/feat/scorm-large-package-uploadba5935c3
  • Merge pull request #926 from learnhouse/feat/scorm-and-resource-activitieseb717765
  • Merge pull request #921 from learnhouse/feat/activation-and-monetization-improvements351c1d7d

Fixes

  • fix(security): sanitize dynamic URLs at href/redirect sinks451fb2d3
  • fix(security): validate course export archive path before serving1e9ff315
  • fix(security): bump python base image to 3.14.6-slim-bookwormd0fe96ef
  • fix(security): patch high-severity transitive advisoriesc40f71b9
  • fix(deps): update @react-email/components to v1 (1.0.12)efc097d3
  • fix(deps): update loops to v7e2716363
  • fix(deps): update resend to v6dc0b7bf3
  • fix(deps): update workos to v9 (9.1.0)53c2ea22
  • fix(deps): update dependency pydantic-ai-slim to v2d1b13865
  • fix(ci): reconcile web lockfiles and de-flake account-age tests6ab92388
  • fix(deps): update all non-major dependencies4e787ad1
  • fix(web): certificate rendering, learner name & completion, plan gating, i18n9b44e48c
  • fix(web): assignment learner & grading UXa2cdace2
  • fix(assignments): admin completion reporting, AI-gen authorization & webhook events894a580a
  • fix(certifications): completion integrity & certificate lifecyclee0aea375
  • fix(security): restrict assignment submission files to owner or instructor89aa0f70
  • fix(assignments): grading engine correctness & submission integritydea18d93
  • fix(deps): update dependency shiki to v4702e7c83
  • fix(billing): harden the Stripe plan-write path against silent upgrade dropseed8a168
  • fix(courses): derive pasted thumbnail extension from clipboard image type2911f032
  • fix(api): enforce plan/usage limits that were silently bypassed73b30a1b
  • fix(courses): make Share Course links absolute (#923)36ac3adc
  • fix(activities): allow same-origin framing for resource routes14577ca8
  • fix(activities): typecheck + lint on changed files964c5d89
  • fix(audio): stop generated scripts being cut off mid-sentencee2bd1987
  • fix: enforce member limit on the invite path so the upgrade gate works223bc070
  • fix(api): allow API tokens on /usergroups with org-boundary guardsb1c44aad
  • fix(assignments): scope task submission uuid updates65c719e0
  • fix: use two ampersands33267b94
  • fix(scorm): allow same-origin framing of SCORM content34a6a291
  • Merge pull request #954 from learnhouse/fix/security-hardeningd7002ec7
  • Merge pull request #946 from learnhouse/renovate/major-react-email-monorepo6f1974ba
  • Merge pull request #947 from learnhouse/renovate/loops-7.xae6a0f18
  • Merge pull request #949 from learnhouse/renovate/resend-6.xedca1075
  • Merge pull request #951 from learnhouse/renovate/workos-9.xe639432f
  • Merge pull request #948 from learnhouse/renovate/pydantic-ai-slim-2.x82f0acee
  • Merge pull request #940 from learnhouse/renovate/all-minor-patchd8bf2fee
  • Merge pull request #938 from learnhouse/fix/learner-onboarding-blockers3d636d07
  • Merge pull request #950 from learnhouse/renovate/major-shiki-monorepo87176c36
  • Merge pull request #937 from learnhouse/fix/billing-plan-write-hardeningaa8bee1e
  • Merge pull request #927 from learnhouse/fix/headless-usergroups-api-tokens16539e75
  • Merge pull request #925 from gutocarollo/fix/assignment-task-submission-uuid-scope8be60533
  • Merge pull request #920 from learnhouse/feat/scorm-5gb-timeouts-and-copy07ea6876

Refactoring

  • refactor(web): share catalog pagination controls85816575
  • Merge pull request #929 from gutocarollo/fix/catalog-pagination-refactor86936b96

Documentation

  • docs: document AI audio/podcast generation and media-model env varsdd64c708

Maintenance

  • chore(deps): update dependency @types/node to v26d52397fa
  • chore(renovate): run dependency updates weekly instead of biweekly52b31fc5
  • chore(deps): update actions/upload-artifact action to v7c3fdf85c
  • chore(deps): update actions/setup-node action to v71b21ba86
  • chore(deps): update actions/checkout action to v793cc561b
  • chore: hide hint and reference file when empty on student activity5a43c93d
  • chore: show Get Started on mobile for unauthenticated users9b000334
  • Merge pull request #944 from learnhouse/renovate/node-26.x60fb7934
  • Merge pull request #953 from learnhouse/chore/renovate-weekly-schedulebccb95a0
  • Merge pull request #942 from learnhouse/renovate/actions-setup-node-7.xba72aa54
  • Merge pull request #941 from learnhouse/renovate/actions-checkout-7.xbae5d635
  • Merge pull request #943 from learnhouse/renovate/major-github-artifact-actionsa855aa85
  • Merge pull request #922 from rzmk/rzmk/hide-on-activitya66eea34
  • Merge pull request #914 from rzmk/get-started-mobile2ce22930
npx learnhouse update --to 1.3.2