Release Updates May 2026

May 28th, 2026

📣 From the CPO

Sarah Phoenix, Chief Product Officer, shares the thinking behind this week's release.

Our latest release focuses on the reliability of the learning experience, from the back-end management of content to the front-end discovery of new training. We’ve streamlined core administrative tasks and expanded accessibility across the platform to ensure that both managers and learners can navigate their goals without interruption.

Read More Here ↓

Streamlined Content Management

  • Finding the right material in large libraries is much faster with new filtering and visibility options for the Add Existing Page function within the authoring workflow, making content reuse a seamless part of the creation process.
  • Our SCORM engine now supports a 'set it and forget it' replacement workflow. Whether updating files directly or via the Content Asset Manager, administrators gain a unified interface with persistent version controls, ensuring learners always access the correct content without manual troubleshooting or performance bottlenecks.
  • Additionally, enhancements to ILT bulk functions allow you to manage webinar links and instructor emails at scale.

Frictionless Learner Journeys

We continue to refine the learner experience to ensure it is intuitive, predictable, and accessible to everyone.

  • Guided Discovery & Navigation: Learners now benefit from a more cohesive journey with automated "Related Content" recommendations across all content types, as well as a streamlined exit experience for SCORM courses within Learning Paths. These updates, paired with improved keyboard accessibility for list items, ensure every learner can navigate your site and discover their next training without barriers.

Quality Improvements

We released the following quality improvements:

đŸ”„Enhanced SCORM Replacement and Version ControlđŸ”„

Replacing SCORM content just got as reliable as the content itself.

Updating and replacing SCORM content is now more reliable, performant, and consistent across the platform. This update standardizes the SCORM replacement lifecycle, ensuring that learners always access the most current version of your content while providing admins with clearer control over progress resets.

Key Improvements:

  • Unified Replacement Experience: Whether you are replacing a file within a Course Topic, through the Asset Library, or as a Standalone SCO, the workflow and logic are now identical.
  • Immediate Content Updates: We’ve optimized how content updates are handled with our SCORM engine. Learners will now consistently load the most recent file version immediately after an administrator replaces it, eliminating "content desync" where learners might inadvertently view cached or orphaned versions.
  • Persistent "Reset Progress" Control: A new, persistent toggle has been added to the replacement modal. This toggle clearly indicates whether existing learner progress should be reset upon file replacement. Unlike previous versions where this setting might disappear after saving, the toggle remains visible to provide a clear record of the administrative choice made for that content version.
  • Enhanced System Stability: Behind the scenes, we’ve moved from high-volume synchronous API calls to a more scalable asynchronous background process. This ensures that even large-scale content updates (such as those affecting thousands of active learners) occur smoothly without impacting platform performance or causing timeouts. 

Why This Matters 🎯

For Learning Ops and Admins, this update reduces the manual overhead and risk associated with updating course materials. You can now confidently "set it and forget it," knowing that learners will seamlessly transition to new content versions with their progress handled exactly as you specified.

Enhanced Navigation and Completion Experience for SCORM Courses

Completing SCORM content is now a more intuitive experience.

Learners now enjoy a fully seamless SCORM experience. When engaging with SCORM content as part of a learning path, all actions are processed automatically behind the scenes, and upon course completion, learners are returned directly to their learning path without any manual navigation needed.

Expanded Certificate Reporting in NRT BI Connector

We have introduced a new certificate templates table to NRT BI Connector, enabling more robust reporting on certificate configurations. This update allows admins to access certificate titles and other template-level data that was previously unavailable for direct join.

Key Technical Details:

  • New Tables:
    • certificatetemplates — one row per certificate template configuration. Includes the template's `title`, expiration settings, recertification rules, custom CSS, asset references, and other configuration fields.
    • certificatetemplatelabels — one row per label entry on a certificate template (i.e., one row for each {{ { x, y, fontSize, fontColor, textAlign, certificateField } }} block that determines where a piece of data is rendered on the certificate image).
  • New columns on certificates:
    • certificatetemplateid — join key to certificatetemplates.id.
    • createdat — when the certificate row was created.
    • slug — URL-safe identifier for the certificate.
  • Schema Change on certificates: The title column has been removed from the certificates table to ensure the certificatetemplates table remains the single source of truth for this data (as it is in the production database). Pull title from certificatetemplates via the new join key.

Actionable Insights:

  • To pull the template title (or any other template-level field) onto a certificate row, join certificates.certificatetemplateid → certificatetemplates.id.
  • To pull label positioning data, join certificates.certificatetemplateid → certificatetemplates.id. From there, certificatetemplatelabels.certificatefieldid → {{certificatefieldsblocks.id }}resolves the field's slug, label, and type.
  • Note

    The createdat and updatedat columns on certificatetemplatelabels reflect the parent certificate template, not individual labels. For label-level time analysis, use the parent template's timestamps.

These changes are specific to Redshift and do not impact Looker. For more information on the updated schema, please refer to the BI Connector documentation.

Enhanced Bulk Import for ILT and Custom Events

You can now include Join Webinar Links and Instructor Messaging Emails when using the bulk import tool or REST API for ILT and Custom Events. Previously, these fields required manual updates within the platform after an import was completed.

  • Join Webinar Link: A new meeting.joinUrl.N column allows you to populate webinar links directly into specific event meetings.
  • Instructor Email: A new instructorEmails column allows you to set the recipient for instructor messaging at the course or course-group level during import.

These fields have also been added to the downloadable CSV templates in the Manager interface to streamline large-scale event management.

Expanded Related Content Support for All Content Types

The Related Content widget is now available for Article, Video, SCORM, and xAPI content types. Previously, this sidebar widget was only supported for Course, Microcourse, and Learning Path detail pages. With this update, administrators can enable the Related Content widget within the layout builder across all content types. This ensures learners receive automated recommendations in the sidebar whether they are viewing a full course, a microcourse, or standalone items like articles, videos, and uploaded SCORM/xAPI packages.

Improved Search and Filtering for Reusing Pages

When adding an existing page to a course, content administrators can now more easily identify and find the correct reusable content within large libraries. The search results in the Add Page Existing Page tab have been enhanced with new context and filtering options:

  • Source Course Visibility: A new Course column displays the name of the course where a page originated, helping admins distinguish between pages with similar titles.
  • Tag Filtering: A Tags dropdown filter now appears above search results when available. Admins can select one or more tags to instantly narrow down the list of pages to those associated with specific course groups.
  • Enhanced Metadata: The results table now includes additional columns for Type, Last Updated, and a Preview link, providing a comprehensive view of each page’s details before selection.
  • Mobile-Friendly Design: The search results table has been updated with a more responsive layout and accessible truncation for long course names, ensuring a better experience across different screen sizes.

Improved Content Filtering for Keyword and Semantic Search

We have introduced new filtering capabilities to the new Conversational AI Learning keyword and semantic search experience to help learners more easily navigate and discover relevant content.

Learners can now refine their search results by Content Type, allowing them to quickly filter for specific formats such as videos, events, or articles. This update ensures that as catalogs grow, learners can find the exact type of learning experience they need with fewer clicks.

👁 Accessibility Improvements

We released the following Accessibility improvements:

List Roll Page Accessibility: Item Description Focus

Keyboard navigation on List Roll pages is updated to ensure that item descriptions are now included in the focus order. Previously, screen reader and keyboard users could only focus on headers, making it difficult to access the full context of list items. This update ensures all descriptive text is reachable, providing a more consistent and navigable experience for learners using assistive technologies.

Bug Fixes

We released fixes for the following:

Ancillary API Key Processing Resolved

We resolved an issue where requests made using ancillary API keys resulted in "processing error" messages. This was caused by a caching error that prevented certain API keys from correctly inheriting their assigned permissions. All API endpoints now correctly authenticate and return data as expected when using ancillary keys.

Admin Help Menu Visibility Resolved

We have resolved an issue where the Help link in the administrative sidebar would intermittently disappear. This occurred due to a caching error that prevented the menu from displaying after a page refresh, even if the user had the correct permissions.

With this fix, the Help menu now remains consistently visible for administrators, ensuring reliable access to support resources and documentation without needing to clear browser or platform caches.

External Activity Completion Resolved

We resolved an issue where valid External Activity completion requests and signed return URLs would fail with a 400 error. This prevented learners from successfully completing assignments through external workflows and API integrations.

With this fix, both the platform-generated return URLs and direct API calls to the /assignmentExternalActivity endpoint correctly process and record assignment completions as expected.

Checkout Pricing Discrepancy Resolved

We resolved an issue in Ecommerce 2.0 where learners in certain regions, such as the US, saw an inflated total price during the payment step of checkout. This was caused by an incorrect tax calculation being applied before final recalculation, even when no tax was configured for the user's location.

With this fix, the total price remains consistent throughout the checkout flow, ensuring learners see only the accurate, itemized amounts before completing their purchase.

Webhook Data Consistency Improved

We resolved an inconsistency in our webhook payloads where the userDetail.client field was missing from Learning Path completion events (learningPathAction). This field was already present in Course completion events but was previously omitted for Learning Paths.

With this update, Learning Path webhooks now include the userDetail.client and userDetail.telephone fields, providing parity with other completion event schemas. This ensures that downstream automation and integrations can accurately map completions to the correct Panorama client records.

Reliable Management Log Tracking for API Actions

We have resolved an issue where administrative actions performed via the v2 incoming API—such as updating user statuses or modifying learning paths—were missing from the Management Actions Log dashboard.

While the underlying changes were successful, the tracking events were dropped due to a validation error with API-key identifiers. All future API-driven actions will now be correctly recorded and visible in Looker reporting.

Conversational AI Search Navigation for Gated Content

We have resolved an issue where learners using Conversational AI search encountered "404" errors or unexpected sign-outs when clicking on gated or purchasable content. Learners are now correctly routed to content detail pages where they can view enrollment and purchasing options, aligning the AI search experience with standard catalog behavior.

May 20th, 2026

📣 From the CPO

Sarah Phoenix, our Chief Product Officer, reflects on the strategic direction behind this week’s release.

This release focuses on improving platform reliability and the learner experience.

Read More Here ↓

Frictionless Learner Journeys

We resolved several friction points in the learner experience, including fixing errors during $0.00 checkouts in multi-currency environments and ensuring the Learner Activity Widget correctly prompts users to "Continue" overdue Learning Paths.

Reliable Catalog Search

We’ve improved catalog accuracy by ensuring that custom field filters no longer display stale values for deleted content. This ensures learners only see relevant, available options when browsing your library.

Hardened Security

Hardened Security: We have refined our security header handling to prevent potential token exposure and validated that administrators can manage critical security settings (like CSP and X-Frame-Options) directly within the platform to meet compliance requirements.

Bug Fixes

We released fixes for the following:

Improved Reliability for Multi-Content Enrollments

We have resolved an issue where enrolling a user in multiple content items simultaneously from the Access tab of their user profile would only partially process the request. Previously, while administrators would receive a success confirmation, only a subset of the selected courses, articles, or events would persist in the user's access list after a page refresh.

With this fix, all selected items are now consistently and correctly attached to the user’s profile in a single action, ensuring learners have immediate access to all assigned materials.

Improved Checkout for $0.00 Purchasable Courses

We have resolved an issue where purchasable courses set to $0.00 encountered errors during enrollment. Previously, learners in multi-currency environments often received a "price not set" error or were unable to advance past the email prompt.

With this update, $0.00 courses now correctly add to the cart and allow learners to complete the checkout process seamlessly across both Ecommerce 2.0 and Legacy environments. This ensures a frictionless experience for learners accessing free promotional or introductory content.

Improved Security Header Handling and CSRF Token Protection

We have enhanced the platform’s security posture by refining how sensitive tokens and security headers are handled. Specifically, we removed the Csrf-Token from HTTP response headers to prevent potential exposure in logs or third-party scripts. CSRF token delivery is now strictly limited to secure cookies and hidden HTML inputs for server-rendered forms, ensuring a more robust defense against cross-site request forgery without disrupting sign-in or password reset workflows.

Additionally, we have validated that critical security headers—including Content Security Policy (CSP), X-Frame-Options, and Permissions-Policy—can be managed directly by administrators within the platform. This ensures that security-conscious organizations can maintain high security scores and meet cyber insurance requirements through the Admin Security Options menu.

Localized Personal Credit Account Labels in Purchase Widget

We have resolved an issue where the "Redeem with credits" dropdown in the course purchase widget did not correctly display localized or custom labels.

Previously, even if administrators updated the translation for dashboard.personal-credit-account in Settings Translations Platform Content, the purchase widget continued to show the hardcoded default English text ("My Personal Credit Account"). With this fix, custom translations and localized labels now consistently reflect across both the learner dashboard and the course purchase widget, ensuring a cohesive experience for non-English sites and branded platforms.

Reliable Learning Path Notification Trigger Options

We have resolved an issue where switching between notification triggers would cause the "Learner completed the Learning Path Milestone" option to disappear from both the Actions and Exclude Conditions menus. Previously, if an admin toggled a notification from the default "Send days after" trigger to "Send immediately" and then back again, these specific milestone options would no longer be available without refreshing the page.

With this fix, all relevant action and exclusion options correctly persist and display regardless of trigger changes, ensuring a smoother configuration experience for admins.

Corrected CTA for Overdue Learning Paths

We resolved an issue where the call-to-action (CTA) button in the Learner Activity Widget incorrectly displayed "View Details" for Learning Paths with a passed due date. The button now correctly displays "Continue Learning Path," allowing learners to resume their progress directly and reducing unnecessary navigation steps for overdue assignments.

Improved Accuracy for Catalog Custom Field Filters

We have resolved an issue where custom field values remained visible as filter options in the catalog even after the associated content was deleted. Previously, these orphaned filter values could lead learners to empty search results. With this fix, deleting a course now correctly unindexes its custom field data, ensuring that catalog filters accurately reflect only the content currently available.

About Blocks Widget: Internal Link Navigation

We resolved an issue where the “Open URL in New Tab” setting in the About Blocks widget did not function for internal links. Previously, even when the setting was enabled, internal links would bypass the new tab instruction and open in the current window.

With this fix, the widget correctly honors the admin configuration:

  • Enabled: Internal links now open in a new browser tab as expected.
  • Disabled: Links continue to navigate within the same tab via client-side routing to maintain performance.
  • External Links: Standard behavior for external URLs remains unchanged and continues to respect the toggle.

May 13th, 2026

📣 From the CPO

Sarah Phoenix, our Chief Product Officer, shares her perspective on how this week's release fits into our broader product strategy.

This release addresses a set of targeted fixes focused on platform consistency, data accuracy, and security. These updates resolve issues that directly impact the reliability of learner-facing workflows, admin reporting, and integrations.

Read More Here ↓

Greater consistency and reliability across the platform

  • Key learner-facing workflows—including registration options, microcourse navigation, and waitlist-to-enrollment transitions—now behave more predictably, with enrollment data accurately reflected across widgets and reports.
  • A platform-wide HSTS security policy ensures all browser connections are automatically secured over HTTPS, and an API permissions fix restores expected learner access to assessment endpoints for customers using GraphQL integrations.
Quality Improvements

We released the following quality improvements:

Expanded Award Data for Reporting and BI Connector

  • Populated Award Details Report: The awardTypes field is now populated within the Award Details report inside the platform, allowing admins to report on specific award categories and classifications.
  • NRT BI Connector Availability: The awardtypes table is now available via the Near Real-Time (NRT) BI Connector. This enables teams using external BI tools to join award types with learner records for deeper analysis of gamification and certification trends. You’ll see this updated reflected in NRT BI Connector documentation alongside a more holistic update with the next week or two.

Bug Fixes

We released fixes for the following:

Accurate Waitlist Status for Enrolled Learners

We have resolved an issue where learners who enrolled in a course from a waitlist continued to appear as "Waitlisted" in the Learner Access widget and administrative reports.

Previously, a course could appear in both the "My Learning" and "Waitlisted" tabs of the Learner Access widget simultaneously after a learner successfully enrolled via a waitlist notification. Additionally, the Enrollment Tab of the content-level report would incorrectly show the learner as remaining on the waitlist while also being enrolled. With this fix, the platform now correctly clears the waitlist status upon enrollment, ensuring that the Learner Access widget, tab counts, and administrative reports accurately reflect the learner's current enrollment state.

Enhanced Security with HTTP Strict Transport Security (HSTS)

We have implemented a platform-wide HTTP Strict Transport Security (HSTS) policy to ensure all browser communications with Thought Industries sites occur over secure HTTPS connections. This update includes the Strict-Transport-Security header on all responses, which instructs browsers to automatically upgrade any insecure HTTP requests to HTTPS, providing additional protection against man-in-the-middle attacks and data interception.

This security enhancement is automated and requires no administrative changes to your site configuration.

Consistent Newsletter Sign-Up Visibility on Redeem Page

We resolved an issue where the newsletter sign-up checkbox would disappear from the Redeem page when a registration code was embedded directly in the URL (e.g., /redeem/your-code).

The newsletter opt-in is now consistently displayed regardless of whether a code is manually entered or pre-loaded via the URL path. This ensures that learners always have the opportunity to opt into marketing communications during the redemption process, maintaining a reliable growth mechanism for your marketing pipeline.

Assessment GraphQL Mutations Role Access Fix

Resolved an issue where the CreateAssessmentAttempt and UpdateAssessmentAttempt GraphQL mutations incorrectly required a manager role. These mutations now correctly allow access for learners with a student role, enabling them to initiate and update assessment attempts as intended.

Consistent Redirects for Logged-Out Microcourse Access

We have resolved an issue where logged-out learners attempting to access a microcourse via a direct content URL encountered a "No pages are available" error followed by a 404 page.

With this fix, logged-out users are now automatically redirected to the course detail page (including a return URL), providing a consistent experience with other content types like courses and articles. This ensures that learners can view purchase or enrollment options instead of encountering broken links.

May 7th, 2026

📣 From the CPO

This week, Chief Product Officer Sarah Phoenix puts the release into context, highlighting how it advances our broader product strategy.

This week’s release is focused on operational reliability and accessibility. Panorama operators with sublicense separation will see more dependable deep-link handling, admins get a new filter to speed up email troubleshooting, and we've continued closing gaps for keyboard-only navigation.

Read More Here ↓

More reliable operations and reporting

  • Deep links, bookmarks, and LMS-originated URLs now resolve correctly across Panorama sites with sublicense separation, reducing support burden for teams that distribute links externally.
  • The Email Activity report now supports filtering by recipient email address, making it faster to isolate delivery issues.

Continued Accessibility Progress

Keyboard focus now correctly enters the expanded course sidebar navigation, removing a barrier for assistive technology users.

Quality Improvements

We released the following quality improvements:

Improved Email Activity Details Report

Driven by your feedback, Admins can now filter the Email Activity Details Report, giving them the flexibility to search by individual email and troubleshoot email delivery issues for specific users. Navigate to Reporting > Reports > Email Activity Details to see this new filter.

May Release_Email Activity Report_Email Filter_AdminView.png

License Selector Fallback for Deep Links

For platforms using Panorama Sublicense Separation, we have resolved an issue where learners accessing content via deep links (e.g., bookmarks or LMS links) in a new browser tab could lose their license context, potentially causing assignment submission errors.

The platform now automatically detects missing license sessions on deep links and redirects learners to the license selector. Once a license is chosen, the learner is returned to their originally requested content (or their dashboard if the selected license lacks access), ensuring all activity and data are correctly associated with the proper license context.

👁 Accessibility Improvements

We released the following Accessibility improvements:

Expanded Course Sidebar Focus Order

We have updated the course player to ensure the sidebar navigation is correctly included in the keyboard focus order when expanded. Previously, focus would skip the expanded menu and land directly in the page content, preventing keyboard-only and screen reader users from navigating the course.

Now, expanding the sidebar via keyboard moves focus directly to the first navigation item. Learners can tab through all menu items in order before exiting to the main course content, ensuring a more accessible and predictable navigation experience.

Bug Fixes

We released fixes for the following:

Fixed: Consistent Display of Active Session Dates in Catalog

We have resolved an issue where the catalog incorrectly displayed the start and end dates of the first-created session in a course group, even when that session was in the past and no longer active. This occurred primarily for main site learners when a course contained multiple sessions and the original session had an "end access" date.

With this fix, the catalog now correctly prioritizes and displays date information for the current or primary session. This ensures learners see accurate enrollment timelines and can seamlessly access the course detail page without being blocked by expired session data.

GraphQL Mutation: UpdateInPersonEvent Custom Field Persistence

We have resolved a synchronization issue where the UpdateInPersonEvent GraphQL mutation successfully updated the customFields object in the Postgres and reporting (Redshift) databases, but those changes failed to propagate to the administrative event editor UI.

This fix ensures that the customFields array—specifically metadata such as difficulty levels or department tags—is correctly indexed and rendered within the Design → Edit Catalog Settings view, maintaining data parity between programmatic API updates and the platform interface.

Improved Course Management Visibility on Small Screens

We have resolved a UI issue in the course list (located at learn/manager/courses) where folders on the left-hand navigation were being cut off on smaller screen sizes. Previously, on condensed browser windows, the archive toggle would overlap the folder list, and scrolling would not bring the final items into view.

With this fix, the folder sidebar now correctly supports scrolling and responsive layout adjustments, ensuring all navigation elements remain accessible regardless of screen dimensions.

Was this article helpful?
0 out of 0 found this helpful

More resources

  • Academy

    Go from beginner to expert with hands-on training

  • Community

    Ask questions, swap ideas, and learn from people like you

  • Developer Docs

    Reference guides and code samples for developers