Released 2026-06-05
Bug Fixes
- Better error handling when a custom IKeyValueStoreAccessor returns a response object with a .Value member that is null
- Fix server error when generating a launchUrl with an empty value for a launch setting
- [NET] Fixes Accept-Language request header handling
- [.NET] Updated log4net to resolve a "moderate" CVE CVE-2026-40021 (Engine is not vulnerable by default)
- [Upgrade Tool] - Fixes xAPI activity migration error when "MaxRowsPerDatabaseUpsert" is configured higher than "1".
- [Content Vault] Fixed support for vaulting import-by-reference media content tracks (such as captions) where such tracks are managed by Engine
Improvements
- New media player progress indicator: added setting MediaContentDisplayCompletionProgress which can display a Progress Completion Indicator for Media Content (Audio, Video, PDF, YouTube, and Vimeo). When set to Disabled, the Progress Completion indicator is hidden. When set to PercentOfCompletionThreshold, displays a Progress Completion Indicator for Media Content that reflects the percentage of the media that the learner has consumed before being considered to have completed the content.
- Added setting AudioVideoPlayerUseEnhancedUI which will stylize the video playback bar to show skipped video sections and the furthest watched point for the video. AudioVideoPlayer has to be set to VideoJS for the UI changes to be displayed.
- [LTI 1.3] New setting Lti13SubjectIdentifierFormat adds the option to use the registration's Learner Identifier string as the Subject Identifier [sub] claim included in Platform-originating LTI 1.3 authentication tokens. Setting values are Legacy or LearnerId.
- Update docs to reflect new requirement for MySQL 8.4 and above since 8.0 is now EOL. 8.0 will continue to work, though.
- Engine's API, "CourseImport" notifications, and import result postbacks will now include the duration of course import jobs - provided that they have reached a terminal status of "COMPLETE" or "ERROR".
- [SCORM 1.2] Attempts to repair state when relaunching after a bad exit
- Added 'IsManifestFileParsingEnabled' setting to allow skipping manifest file parsing, which makes bulk uploads faster where the manifest is known to be good
- Updated PDF.js to latest version 5.7.284
- [Java] updated bouncycastle library from 1.81 to 1.81
- [Content Vault] Added optional referrer check for media content.
- [Content Vault] Added support for vaulting import-by-reference media & AICC content where that reference is pointing to content managed by Engine