Skip to content

v7.33

Choose a tag to compare

@cpl-automation cpl-automation released this 06 Apr 22:01
· 292 commits to main since this release
37ae755

Release Notes

This update introduces a new way to interact with Lecture Videos, along with important bug fixes and improvements.

Assistants

Resolved Issues

  • Fixed: Next-Gen Assistants may not have access to Code Interpreter files uploaded at the assistant level when responding to the first user message.

Canvas Connect

Updates & Improvements

  • Sort group names when displaying the available Groups to link to when setting up Canvas Connect.

Groups

New Features

  • Root and Institutional Admins can now select pre-configured billing keys in the Manage Group page for AI Providers and Additional Providers.

Updates & Improvements

  • Only OpenAI and Azure default API keys show as a pre-configured billing account for access to AI services when setting up a new group.

Resolved Issues

  • Fixed: Adding multiple group members by email may fail when the email list to import is inputted with new line delimiters.

Institutions

New Features

  • When managing an institution, admins can set default keys for Lecture Video Narration and Lecture Video Manifest Generation.

Lecture Videos

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 feature_flags.lecture_video_elevenlabs_only_mode config option to allow creating Lecture Video assistants without a Gemini API key.
  • Use the chat interface to ask an assistant questions about the Lecture Video being played.
  • Chat in Lecture Video mode requires a Version 2 manifest that includes word_level_transcription.
  • The Lecture Video will pause as soon as users start typing in the chat interface.
  • Sending messages is only allowed when a Lecture Video is playing, or after having answered a question.
  • PingPong will send representative samples of the Lecture Video transcript, along with representative video frames, to provide the necessary context to the model.
  • After the Lecture Video has concluded, read a transcript of the entire conversation.

Known Issues

  • Selecting an assistant model is not currently supported. PingPong will always use the assistant default model, which is currently GPT-5.4.
  • Specifying instructions, reasoning effort, temperature, and other Chat mode settings is not currently supported.

Messages

New Features

  • Support for hidden messages that are filtered out from get_thread and similar endpoints, but passed on to the model.

Threads

Updates & Improvements

  • Updated auto-scrolling behavior, where the thread will only "snap" to the bottom of the thread when near the bottom of the conversation only when streaming a response.

CLI

New Features

  • The db set-api-as-default CLI now supports setting default API keys for ElevenLabs and Gemini providers.

Updates & Improvements

  • db set-api-as-default will reject un-redacted keys before prefix/suffix matching to avoid accidental broad matches.

Internal

Updates & Improvements

Deployment Information

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

Deployment Details

  • Schema Upgrade: This update includes the following database schema upgrades:
    • Add institution lecture video default API keys
    • Add lecture chat manifest storage and transcript cursor
  • Task Definition Update: db set-api-as-default now supports an expanded set of values for --provider: ["openai", "azure", "gemini", "elevenlabs"]
  • Configuration Update: Use the new feature_flags.lecture_video_elevenlabs_only_mode config option to allow creating Lecture Video assistants without a Gemini API key.

Related PRs

  • chore(deps): bump requests from 2.32.5 to 2.33.0 in the uv group across 1 directory by @dependabot[bot] in #1557
  • deps(web-dev): bump the development-dependencies group in /web/pingpong with 8 updates by @dependabot[bot] in #1556
  • deps(gha): bump the github-actions group with 5 updates by @dependabot[bot] in #1554
  • feat: default institution purpose keys by @ekassos in #1560
  • deps(gha): bump the github-actions group with 5 updates by @dependabot[bot] in #1563
  • feat: CLI to set global default API keys by @ekassos in #1565
  • deps(py): bump the production-dependencies group with 2 updates by @dependabot[bot] in #1562
  • chore(deps): bump cryptography from 46.0.5 to 46.0.6 in the uv group across 1 directory by @dependabot[bot] in #1561
  • deps(web-dev): bump the development-dependencies group in /web/pingpong with 9 updates by @dependabot[bot] in #1564
  • deps(web): bump the production-dependencies group in /web/pingpong with 5 updates by @dependabot[bot] in #1555
  • chore(deps): bump pygments >= 2.20.0, < 3.0.0 by @ekassos in #1567
  • chore(deps): bump yaml >=2.8.3 <3.0.0 by @ekassos in #1568
  • chore: update uv 0.10.4 -> 0.11.2 by @ekassos in #1569
  • chore: code review updates by @ekassos in #1570
  • chore(deps): bump aiohttp from 3.13.3 to 3.13.4 in the uv group across 1 directory by @dependabot[bot] in #1571
  • feat: default keys in Manage Group by @ekassos in #1574
  • feat: allow running lecture video without gemini by @ekassos in #1575
  • feat(lv): chat with videos by @ekassos in #1576
  • fix: new lines in bulk email imports by @ekassos in #1577
  • chore(deps): update lodash by @ekassos in #1578
  • feat(lti): sort group names in link page by @ekassos in #1580
  • fix(next): initial runs missing assistant-level CI files by @ekassos in #1579
  • deps(gha): bump the github-actions group with 5 updates by @dependabot[bot] in #1581
  • deps(web): bump the production-dependencies group in /web/pingpong with 5 updates by @dependabot[bot] in #1582
  • deps(web-dev): bump the development-dependencies group across 1 directory with 8 updates by @dependabot[bot] in #1583
  • deps(web-dev): bump vite from 8.0.3 to 8.0.5 in /web/pingpong by @dependabot[bot] in #1584
  • chore: update dependabot config by @ekassos in #1585
  • deps(web): bump the production-dependencies group in /web/pingpong with 2 updates by @dependabot[bot] in #1586
  • chore: update dependabot config by @ekassos in #1589
  • deps(web-dev): bump @sveltejs/kit from 2.55.0 to 2.56.0 in /web/pingpong in the dev-minor-patch group by @dependabot[bot] in #1591
  • chore: update dependabot config by @ekassos in #1595
  • deps(py-dev): bump locust from 2.43.3 to 2.43.4 in the uv-dev-minor-patch group by @dependabot[bot] in #1598
  • deps(py): bump pytz from 2025.2 to 2026.1.post1 by @dependabot[bot] in #1594
  • deps(web-dev): bump the pnpm-dev-minor-patch group across 1 directory with 2 updates by @dependabot[bot] in #1596
  • deps(gha): bump aws-actions/configure-aws-credentials from dc64d283718fb89ace3839da443b41ded26d2612 to 81676eb9eb2e6fb98a1253b759204644c9c51095 in the github-actions group across 1 directory by @dependabot[bot] in #1590
  • deps(py): bump the uv-prod-minor-patch group across 1 directory with 8 updates by @dependabot[bot] in #1597

Full Changelog: v1177+srv592.web423...v1203+srv608.web436