v7.30
Release Notes
This update introduces support for disabling prompt randomization, configuring additional providers, along with other bug fixes and improvements.
Assistants
New Features
- Disable prompt randomization under Advanced Options to leave
<random>blocks in the assistant prompt unprocessed. Use this option when the prompt needs to show randomization syntax as an example or template instead of executing it.
Groups
New Features
- Set up API keys for additional providers in the Manage Group page to enable additional capabilities for assistants and other PingPong features.
- Set up a Google Gemini API key for video processing and question generation, and an Eleven Labs API key for text-to-speech for video narration in Lecture Video mode.
- Cloning a Lecture Video mode assistant requires that both groups share the same AI Provider API key as previously, and the same Additional Providers API keys.
- The Manage Group page shows saved Additional Provider credentials in redacted form for Institutional Admins and indicates whether Lecture Videos are ready to use or still need setup.
- Moderators can now view their AI Provider (OpenAI or Azure) under Manage Group. Institutional Admins will continue seeing AI Provider credentials in redacted form.
- When one or more additional provider keys have been set up for a Group, moderators will see a new section with details. Institutional Admins will continue seeing Additional Provider credentials in redacted form.
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
- Users can now upload a lecture video when creating or updating a Lecture Video assistant.
- Creating a Lecture Video assistant requires a compatible manifest file with comprehension questions and a valid ElevenLabs Voice ID.
- The ElevenLabs API key/Voice ID combo is validated by generating a short audio snippet that users can preview before saving the assistant.
Updates & Improvements
- Creating Lecture Video assistants is available in Groups with both Gemini and ElevenLabs keys set up. Eligible users will see improved tooltip messages on the Create Assistant page explaining why Lecture Video mode is unavailable when they have permissions to create a Lecture Video assistant, but the Group is missing one or more required credentials.
- Configured Lecture Video assistants are only visible for members and moderators when both Gemini and ElevenLabs keys have been set up for the Group.
Known Issues
- While the Gemini configuration is required for setting up a Lecture Video assistant, it is not currently used to generate comprehension questions, and a user-provided manifest is required.
- The ElevenLabs configuration is not used to generate narration for question intros and question option outros.
Internal
New Features
- Added new CLI command to remove invalid lecture videos, assistants and threads created under previous schemas.
Updates & Improvements
- Centralized API key redaction into a shared helper to ensure consistent masking across all endpoints.
- API key responses now return
redacted_api_keyinstead ofapi_key. The field was renamed to make it explicit that the value is masked, not the raw key. - Credential validation calls to external providers are subject to a 10-second timeout.
- Added
elevenlabsandgoogle-genaias new backend dependencies. - Dependency upgrades.
- Upgrade pyjwt from 2.11.0 to 2.12.0 to resolve PyJWT accepts unknown
critheader extensions.
Deployment Information
| Schema Upgrade | Migration Script | Permissions Update | Task Definition Update | Configuration Update |
|---|---|---|---|---|
| YES | YES | No | No | No |
Deployment Details
- Schema Upgrade: Added new tables to support disabling prompt randomization, configuring additional providers, and storing voice IDs in Lecture Videos.
- Migration Script: Run
uv run python -m pingpong db m08_cleanup_invalid_lecture_video_schema_rowsto remove invalid lecture videos, assistants and threads created under previous schemas.
Related PRs
- feat(lv): allow storing ElevenLabs, Gemini API keys by @ekassos in #1532
- feat(lv): create and update assistants, validate elevenlabs voices by @ekassos in #1533
- deps(gha): bump the github-actions group with 7 updates by @dependabot[bot] in #1534
- deps(web): bump the production-dependencies group in /web/pingpong with 5 updates by @dependabot[bot] in #1535
- feat: option to disable prompt randomization by @ekassos in #1537
- deps(web-dev): bump the development-dependencies group in /web/pingpong with 8 updates by @dependabot[bot] in #1536
- chore(deps): bump pyjwt from >=2.11.0 to >=2.12.0 by @ekassos in #1538
Full Changelog: v1156+srv584.web409...v1162+srv588.web413