Jump to
- May 28
- Quality Improvements
- Accessibility Improvements
- Bug Fixes
- May 20
- Bug Fixes
- May 13
- Quality Improvements
- Bug Fixes
- May 7
- Quality Improvements
- Accessibility Improvements
- Bug Fixes
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 tocertificatetemplates.id. -
createdatâ when the certificate row was created. -
slugâ URL-safe identifier for the certificate. -
Schema Change on
certificatesThe title column has been removed from the certificates table to ensure the:certificatetemplatestable remains the single source of truth for this data (as it is in the production database). Pull title fromcertificatetemplatesvia 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.Ncolumn allows you to populate webinar links directly into specific event meetings. -
Instructor Email: A new
instructorEmailscolumn 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.
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.
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.
We released the following quality improvements:
Expanded Award Data for Reporting and BI Connector
-
Populated Award Details Report:
The
awardTypesfield 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
awardtypestable 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.
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.
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.