Skip to content

v7.31

Choose a tag to compare

@cpl-automation cpl-automation released this 19 Mar 10:35
· 337 commits to main since this release
32cebc3

Release Notes

This update provides important bug fixes and improvements.

Lecture Video

Note

This release adds new capabilities for Lecture Videos, which remain under active development and are not yet officially supported in Groups. APIs, features, and UI/UX may change before final release.

Lecture Video mode is currently visible only to institutional admins when creating an assistant.

New Features

  • Use the new Lecture Video UI to watch lectures and answer comprehension questions.
  • After completing a Lecture Video session, review your answers to comprehension questions and feedback given during the session.
  • Lecture-video assistants now generate spoken narration audio for intro prompts and post-answer transitions using the configured voice. Narrations are synthesized via ElevenLabs and stored for playback during lecture presentations.
  • Assistant cards and the assistant editor now show lecture-video processing status, with a refresh option next to the status text.
  • If narration processing fails, moderators can restart processing from the the assistant editor. Only the failed narrations are re-processed, preserving any that completed successfully.

Updates & Improvements

  • A specific error message is now shown when users attempt to start a lecture presentation whose narration processing has failed.
  • Copying a lecture video assistant is now blocked until narration processing is complete, preventing incomplete copies.

Internal

New Features

  • New CLI command: lecture-video run-worker starts a multiprocessing-based narration worker pool with configurable —workers, --poll-interval, —host, and --port flags.
  • New generic WorkerPoolManager in worker_pool.py — a reusable multiprocessing pool with lease-based run claiming, dead worker detection/respawn, and graceful shutdown.
  • New LectureVideoProcessingRun model tracking processing run lifecycle (queued, running, completed, failed, cancelled) with lease tokens, runner identity, and attempt numbering.

Updates & Improvements

  • Dependency upgrades.
  • Bump vite from 7.3.1 to 8.0.0 to resolve @sveltejs/vite-plugin-svelte issues.
  • Add Sentry configuration to schedule_tasks service worker to surface errors in scheduled jobs such as weekly summaries and hourly Canvas Sync runs.

Deployment Information

Schema Upgrade Migration Script Permissions Update Task Definition Update Configuration Update
YES YES No YES No

Deployment Details

  • Schema Upgrade:
  • Migration Script:
  • Task Definition Update:

Related PRs

  • chore(deps): bump pyasn1 from 0.6.2 to 0.6.3 in the uv group across 1 directory by @dependabot[bot] in #1539
  • deps(web-dev): upgrade vite by @ekassos in #1540
  • feat: add sentry to scheduled tasks by @ekassos in #1542
  • feat(lv): worker pool, narration generation, UI changes by @ekassos in #1543
  • deps(web-dev): upgrade vite by @ekassos in #1545
  • feat(lv): thread detail view, completion view by @ekassos in #1546

Full Changelog: v1162+srv588.web413...v1169+srv592.web417