Skip to content

Releases: comppolicylab/pingpong

v7.58.2

05 Jun 06:29
Immutable release. Only release title and notes can be modified.
bf94b4e

Choose a tag to compare

Release Notes

This update provides important bug fixes and improvements.

Lecture Slides (Preview)

Resolved Issues

  • Fixed: Updating a Lecture Slides assistant may fail to save.

Deployment Information

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

Deployment Details

  • N/A

Related PRs

  • fix(slides): MissingGreenlet when updating assistants by @ekassos in #1825

Full Changelog: v1396+srv717.web524...v1398+srv718.web524

v7.58.1

05 Jun 05:22
Immutable release. Only release title and notes can be modified.
99fcc89

Choose a tag to compare

Release Notes

This update provides important bug fixes and improvements.

Anonymous Sessions

Resolved Issues

  • Fixed: Deleting an uploaded file by an anonymous user may fail.

Deployment Information

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

Deployment Details

  • N/A

Related PRs

  • fix: MissingGreenlet when deleting anonymous user files by @ekassos in #1823

Full Changelog: v1394+srv716.web524...v1396+srv717.web524

v7.58

05 Jun 04:37
Immutable release. Only release title and notes can be modified.
0f005c7

Choose a tag to compare

Release Notes

This update introduces new safety features, along with important bug fixes and improvements.

Assistants

New Features

  • Introducing support for input and output moderation in Next-Gen Assistants. PingPong will request that OpenAI returns moderation scores for the model input and generated output.
  • PingPong does not currently take any action based on moderation results. Moderation scores are stored in full for future use.
  • Introducing support for the input_file message type in Next-Gen Assistants.
    • For PDF documents, on models with vision capabilities, such as gpt-4o and later models, the API extracts both text and page images and sends both to the model.
    • For non-PDF document and text files (for example, .docx, .pptx, .txt, and code files), the API extracts text only.
    • For spreadsheet files (for example, .xlsx, .csv, .tsv), the API parses up to the first 1,000 rows per sheet and adds model-generated summary and header metadata so the model can work from a smaller, structured view of the data.

Notes

  • The moderation model is free to use and no additional charge is added to the Responses API request when the moderation request is included.
  • The moderation score feature in Next-Gen Assistants builds upon existing safety features in PingPong, including the per-user, opaque safety identifier provided with every user message in Next-Gen Assistants in Chat mode, and all Voice mode conversations.
  • The input_file message type is currently unavailable for user-uploaded files in Next-Gen Assistants. Continue utilizing File Search and Code Interpreter for PDFs and other documents.

Lecture Slides (Preview)

Note

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

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

New Features

  • The Lecture Slides editor now includes a slide timeline with PDF thumbnails, slide selection, and question markers so instructors can move through a deck and its Knowledge Checks from one timeline-style view.
  • Instructors can now add, edit, and delete Lecture Slide Knowledge Checks directly in the slide editor.
  • Lecture Slide Knowledge Checks now support three authoring modes: full instructor-authored questions, partial drafts for the model to complete, and marker-only questions where the instructor chooses the slide break and lets the model write the full question.
  • Instructors can now edit Knowledge Check prompts, spoken intros, answer choices, correct-answer selection, and per-answer spoken feedback from the assistant editor.
  • Instructor-authored Knowledge Checks can now be included when creating or updating Lecture Slide assistants, instead of relying only on generated questions.
  • Lecture Slide generation now preserves complete instructor-authored questions exactly and avoids generating duplicate questions after the same slide.
  • Partial Knowledge Check drafts and marker-only question requests are now passed into manifest generation so the model can complete or create questions at the requested slide positions.
  • Saving Knowledge Check narration or feedback edits now queues only the affected question audio for regeneration.
  • Changing the Lecture Slides voice or requesting audio regeneration now resets both slide narration audio and Knowledge Check audio.
  • The assistant save flow now treats Lecture Slide question edits as first-class changes and includes them in the unsaved-changes summary.

Updates & Improvements

  • Standardize knowledge check placement between slides for upcoming features.
  • Update generation prompts for new knowledge check placement.
  • Lecture Slides chat now uses slide narrations, knowledge checks, playback state, and the original slide PDF as context instead of separately generated summary checkpoints and moment contexts.
  • The slide processing pipeline now generates only knowledge checks for lecture slide manifests, reducing generation work and keeping chat context closer to the source slides.
  • Existing lecture slide PDFs can be backfilled into OpenAI file storage so previously created slide decks can use the same PDF-grounded chat context.
  • Lecture Slides chat now provides the model Knowledge Check context in developer messages only as learners reach each check, instead of loading the full list when chat first starts.
  • Lecture Video and Lecture Slides now use a shared lecture prompt template with separate context sections for each lesson type.
  • New Lecture Slide assistants now start with a slide-specific chat prompt that grounds learner answers in slide narrations, the source PDF deck, current slide state, and knowledge-check history.
  • The Edit Assistant page now compares and resets Lecture Slide chat instructions against the Lecture Slides default prompt instead of the Lecture Video default prompt.
  • To more effectively manage costs, return to the default service tier, down from priority.
  • To more effectively manage latency, use medium reasoning effort instead of high.
  • Lecture Slide narration and manifest generation now reuse the stored OpenAI copy of the uploaded slide deck instead of uploading a temporary PDF for each generation step.

Deployment Information

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

Deployment Details

  • N/A

Related PRs

  • feat(slide): move questions to the end of the slide by @ekassos in #1794
  • feat(next-gen): intorducing moderation by @ekassos in #1803
  • feat(slides): do not generate summaries and moments by @ekassos in #1802
  • change(slides): do not include full knowledge check history by @ekassos in #1805
  • feat(slides): update default lecture prompt by @ekassos in #1808
  • change(slides): lower service_tier and reasoning by @ekassos in #1812
  • feat(slides): revamp slide editor and question generation by @ekassos in #1818
  • change(slides): use stored slide deck on openai for generation by @ekassos in #1821

Full Changelog: v1385+srv708.web522...v1394+srv716.web524

v7.57.2

04 Jun 17:51
Immutable release. Only release title and notes can be modified.
9c183e7

Choose a tag to compare

Release Notes

This update provides important bug fixes and improvements.

Internal

Updates & Improvements

  • Dependency upgrades.

Deployment Information

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

Deployment Details

  • N/A

Related PRs

  • deps(py): bump starlette from 0.52.1 to 1.0.1 by @ekassos in #1792

Full Changelog: v1383+srv707.web522...v1385+srv708.web522

v7.57.1

04 Jun 00:16
Immutable release. Only release title and notes can be modified.
ba3babf

Choose a tag to compare

Release Notes

This update provides important bug fixes and improvements.

Internal

Updates & Improvements

  • Dependency upgrades.

Deployment Information

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

Deployment Details

  • N/A

Related PRs

Full Changelog: v1381+srv706.web522...v1383+srv707.web522

v7.57

03 Jun 15:10
Immutable release. Only release title and notes can be modified.
48cf717

Choose a tag to compare

Release Notes

This update provides important bug fixes and improvements.

Lecture Slides (Preview)

Note

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

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

Updates & Improvements

  • The lecture slide processing pipeline calls ffmpeg directly to combine narration objects for improved performance and reliability.

Internal

Updates & Improvements

  • Dependency upgrades.

Deployment Information

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

Deployment Details

  • N/A

Related PRs

  • deps(web-dev): bump the pnpm-dev-minor-patch group in /web/pingpong with 3 updates by @dependabot[bot] in #1787
  • deps(web): bump tldts from 7.4.0 to 7.4.2 in /web/pingpong in the pnpm-prod-minor-patch group by @dependabot[bot] in #1786
  • deps(py): bump sentry-sdk from 2.61.0 to 2.61.1 in the uv-prod-minor-patch group by @dependabot[bot] in #1788
  • chore: update diagram image source by @ekassos in #1789
  • feat(slide): use ffmpeg for audio processing by @ekassos in #1790

Full Changelog: v1377+srv704.web521...v1381+srv706.web522

v7.56

02 Jun 03:21
Immutable release. Only release title and notes can be modified.
f9c218f

Choose a tag to compare

Release Notes

This update provides important bug fixes and improvements.

Shared Links

New Features

  • Use the new view=simple query parameter for a simplified PingPong interface. This experience only works when using Shared Links.
  • Added custom handling for view=disagreementproject for Shared Links.

UI

New Features

  • When PingPong is embedded, external links, and some links that may lead users to pages they cannot navigate back from will open in a new window. This feature was previously available to some users when PingPong was launched in an LTI context.

Updates & Improvements

  • Added the "PingPong's privacy statement" link in the thread footnote to the list of links that will open in a new window when embedded or in an LTI context.
  • The assistant generation badge has been removed. A warning when using the older, Classic assistants may still appear for users.

Thread Archive

Updates & Improvements

  • The assistant generation badge has been removed. Moderators can reference the assistant version in the Edit Assistant page.

Internal

Updates & Improvements

  • Dependency upgrades.

Deployment Information

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

Deployment Details

  • N/A

Related PRs

  • feat(ui): add simple view mode by @ekassos in #1776
  • change(ui): remove assistant version badge by @ekassos in #1777
  • feat(ui): open links in new tab on embed by @ekassos in #1778
  • deps(gha): bump getsentry/action-release from 3.6.0 to 3.6.1 in the github-actions group by @dependabot[bot] in #1779
  • deps(web): bump the pnpm-prod-minor-patch group in /web/pingpong with 4 updates by @dependabot[bot] in #1780
  • deps(web-dev): bump prettier-plugin-svelte from 3.5.2 to 4.0.1 in /web/pingpong by @dependabot[bot] in #1782
  • deps(py): bump the uv-prod-minor-patch group with 4 updates by @dependabot[bot] in #1783
  • deps(py-dev): bump pytest-asyncio from 1.3.0 to 1.4.0 in the uv-dev-minor-patch group by @dependabot[bot] in #1784
  • deps(web-dev): bump the pnpm-dev-minor-patch group across 1 directory with 7 updates by @dependabot[bot] in #1781
  • feat(ui): disagreementproject custom icon by @ekassos in #1785

Full Changelog: v1368+srv702.web515...v1377+srv704.web521

v7.55

30 May 13:14
Immutable release. Only release title and notes can be modified.
448c0d9

Choose a tag to compare

Release Notes

This update includes bug fixes and improvements.

Lecture Slides (Preview)

Note

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

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

Updates & Improvements

  • Longer Lecture Slide lessons with shorter transcripts can now generate in a single pass instead of being split only because of duration.
  • Lecture Slide manifest generation now estimates prompt size before splitting processing into chunks, improving reliability for large or transcript-heavy slide decks.
  • Lecture Slide processing now uses tokenizer-based chunking so generation requests stay within model input limits while preserving context around chunk boundaries.
  • When a Lecture Slide generation request still exceeds the model context limit, PingPong now splits the affected chunk near the transcript midpoint and retries the smaller pieces.

Resolved Issues

  • Fixed: Lecture Slide manifest generation may hit model context limits for dense decks because chunks were based on duration rather than source size.
  • Fixed: Lecture Slide PDF previews may fail to load because the PDF viewer used an incompatible PDF.js build.

Deployment Information

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

Deployment Details

  • N/A

Related PRs

Full Changelog: v1365+srv701.web514...v1368+srv702.web515

v7.54

30 May 12:24
Immutable release. Only release title and notes can be modified.
d48c5e3

Choose a tag to compare

Release Notes

This update includes bug fixes and improvements.

Lecture Slides (Preview)

Note

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

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

Updates & Improvements

  • Lecture Slide manifest generation now gives the model clearer timing rules for placing questions within slide timing ranges.
  • Lecture Slide manifest generation now derives slide-relative question and resume offsets from the absolute lesson timestamps, improving alignment between questions, slide positions, and narration playback.
  • Lecture Slide manifest generation now uses higher-effort OpenAI reasoning and priority processing for generated manifests.
  • Lecture Slide manifest generation now opts out of stored OpenAI Responses API runs.

Resolved Issues

  • Fixed: Reprocessing Lecture Slide assets may not fully replace existing slide pages with regenerated slide images and extracted text while preserving page notes.
  • Fixed: Regenerating a Lecture Slide manifest may preserve stale knowledge check questions and options instead of replacing them with the latest generated manifest output.
  • Fixed: Reviewing slides in Edit Assistants may not work because some browsers may not load .mjs JavaScript assets from the PingPong web server with the expected JavaScript MIME type.

Deployment Information

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

Deployment Details

  • N/A

Related PRs

  • feat(slide): updates to slide processing and manifest generation by @ekassos in #1773

Full Changelog: v1363+srv700.web513...v1365+srv701.web514

v7.53

30 May 03:26
Immutable release. Only release title and notes can be modified.
48d7905

Choose a tag to compare

Release Notes

This update includes bug fixes and improvements.

Lecture Slides (Preview)

Note

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

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

New Features

  • Introducing Lecture Slides mode for PDF-based interactive lessons. Instructors can upload a slide deck, choose a narration voice, and create a lesson where students view slides while listening to generated narration.
  • PingPong now renders uploaded PDF slides into lesson pages, generates per-slide narration, synthesizes audio, and builds a continuous narrated slide lesson.
  • Lecture Slides can include generated single-select Knowledge Checks that pause the lesson, present answer options, play question and feedback narration, and resume at the configured point after a response.
  • Students can start a Lecture Slides lesson from the assistant landing page and use the same lesson player controls as Lecture Videos, including play/pause, seek, volume, captions when available, question markers, and continue-watching prompts.
  • Lecture Slides chat is available when generated context and word-level transcription are available, letting students ask questions with context from their current slide position, answered Knowledge Checks, and upcoming Knowledge Checks.
  • Lecture Slides landing pages show a thumbnail from the slide deck, making it easier to identify a lesson at a glance.

Updates & Improvements

  • The assistant editor now includes Lecture Slides mode alongside Lecture Video mode for lecture lessons.
  • Instructors can upload or replace a lecture-slide PDF, view processing status, and refresh the latest slide status from the assistant editor.
  • Instructors can edit per-slide author notes used during narration generation and edit generated narration text after processing. Saving manual narration edits regenerates audio.
  • Instructors can review generated Knowledge Checks for each slide from the slide editor, including answer options, feedback, and correct-answer labels.
  • Advanced Options now include separate Lecture Slides instructions for knowledge-check generation and narration generation.
  • Instructors can request targeted Lecture Slides regeneration: audio only, narration plus audio, or Knowledge Checks.
  • Failed Lecture Slides processing can be retried from the assistant editor.
  • The assistant sidebar and lesson picker now identify Lecture Slides lessons separately from Lecture Video lessons.

Deployment Information

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

Deployment Details

  • Schema Upgrade: Adds Lecture Slides storage, including slide deck source objects, rendered slide images, generated narration and caption objects, pages, questions, question options, correct-option links, runtime thread state, interactions, chat/caption metadata, processing runs, assistant/thread lecture slide references, and the lecture_slides interaction mode.
  • Runtime Dependency: The server image includes poppler-utils so Lecture Slides processing can render uploaded PDF pages.

Related PRs

  • feat: add lecture generation models by @ekassos in #1762
  • feat(slide): add lecture slide runtime state by @ekassos in #1763
  • feat(slide): add general runtime adaptor by @ekassos in #1764
  • feat(slide): add lecture slide runtime by @ekassos in #1765
  • feat(slide): implement lecture slide control endpoints by @ekassos in #1766
  • feat(slides): wire lecture video UI for slides by @ekassos in #1767
  • feat(slide): add server code for chat by @ekassos in #1768
  • feat(slide): add processing pipeline by @ekassos in #1769
  • feat(slide): add backend support for slides by @ekassos in #1770
  • feat(slide): add UI lecture slide functionality by @ekassos in #1771
  • feat(slide): implement retry functionality for lecture slide processing by @ekassos in #1772

Full Changelog: v1351+srv690.web509...v1363+srv700.web513