Engine and Engine Dispatch 24.2.11
Released 2025-04-25
Improvements
- [Upgrade/Install] - Use more generic, MariaDB-friendly syntax when creating new xAPI tables.
- [Java] - Bump commons-dbcp2 dependency from 2.9.0 to 2.13.0.
- Avoid excessive, verbose tracking of volume changes during media content runtime.
- Media courses no longer track progress in cmi5 review mode.
- The V2 API's GetUserCount response now includes usage from deactivated tenants.
- [Upgrade/Install] - Support online indexing for PostgreSql.
Bug Fixes
- [Upgrade/Install] - Fixes duplicate schema prefix for some database operations against PostgreSQL.
- [Upgrade/Install] - Fixes inaccurate 'processing row' count logging during upgrade.
- [Upgrade/Install] - To avoid data loss during xAPI migration, batch records by update date and the table's primary key rather than just the table's primary key.
- [.NET] - Fixes missing param type "VARCHAR" error when operating against MySQL.
- Properly encodes spaces and percent signs when generating SCORM-to-tincan interaction IDs.
- For legacy integration customers making V2 API requests, prevents an endpoint's query parameter string from being included in the PersistToStringUnencrypted and ParseFromDictionary methods' dictionary.
- Fixes incorrectly formatted Last-Modified header on /statements and /state LRS requests.
Dispatch Improvements
- [LTI] - During OIDC initialization, Engine's "externalConfig" can be sent as a query parameter or as part of the request path.
- [LTI] - Include a line item with content items in Engine's deep linking response when a platform includes the "accept_lineitem" property as "true" in its deep linking request message.
- [LTI] - Introduces new "DispatchOverridePlatformAcceptLineItemMode" setting to override the default deep linking response behavior and include a line item even when the platform does not set "accept_lineitem".
- [LTI] - Added support for multiple LTI tool deployments for a single destination. A single destination may be configured with a comma-separated list of multiple deploymentIds that will share the same destination configuration, including client_id and public key.
- [LTI] - More secure LTI logging.
Dispatch Bug Fixes
- [.NET] - Fixes inability to dispatch content to the cmi5 standard on the Net platform
Engine and Engine Dispatch 24
Released 2025-03-07
This is the first release of Engine 24. Here's what's new:
LTI improvements
- Deep linking from LTI 1.3 tools: Engine now allows importing content from LTI 1.3 tools into Engine.
-
Support LTI OIDC Login with LTI Client Side postMessages for both the Engine LTI 1.3 plugin (Engine as a platform) and for Engine Dispatch (Engine as a tool)
- If Lti13PostMessageOIDCLoginEnabled is set, LTI Client Side postMessages will be used for LTI 1.3 OIDC Login when cookies aren't available
- The new tenant setting LtiStorageTarget indicates the platform supports this launch flow and specifies the name of the target frame on the platform browser to which to send postMessages. This setting is _parent by default.
- When creating an LTI 1.3 connector, the field
toolJWKSUrl
can be specified instead of the fieldtoolPublicKey
- Engine's API now provides the ability to create valid LTI 1.3 tokens with arbitrary claims, to make it easier to use any LTI feature Engine does not yet support by relying on Engine's configuration to be used when creating the message.
Client-Side Player API
It is common for LMS UIs to show a green checkmark or “Next” button, or have some other visible indication when a learner completes a course. It’s also common to want to show a loading screen while a course is launching, or to trigger a clean exit of the player from a button in LMS’s UI. In Engine 24, our player can use postMessage to notify the parent frame or window when content is loaded, when the player exits, and (for SCORM content only) when the registration’s status changes. The LMS’s UI can also use postMessage to notify the player that it should exit, providing it with an opportunity to save the learner’s progress before unloading.
.NET 8
.NET Engine now uses .NET 8 instead of the old .NET Framework.
The .NET Framework that Engine used prior to 24.1 is still supported by Microsoft, but has been superseded by the newer .NET platform (formerly .NET Core), and third-party .NET Framework components are largely unmaintained. Many of our .NET Engine customers have already upgraded, but have had to retain support for .NET Framework in their environment specifically for Engine. This upgrade improves security and brings Engine more in line with their applications.
Note: this is a breaking change, Engine will no longer work with .NET Framework
Jakarta EE (Tomcat 10 and above)
Engine now uses Jakarta EE (Tomcat 10 or above) instead of Java EE
This is something we have to do in order to stay up to date with where the Java development community is heading. For most customers, the impact is they will now be able to (and need to) switch to a newer version of Tomcat.
Note: this is a breaking change, Engine will no longer run on a Java EE servlet container (such as Tomcat 9)
Known Issues (which we are working on)
- [.NET Only] launch-scoped settings can be created but will be ignored, with no message indicating they are ignored
- Upgrade will not work for installations that were first upgraded to Engine 23 on minor release 23.1 through 23.7
Note: There are a number of potentially breaking changes in Engine 24. If you are upgrading from an older Engine please check out this document for details on those.