Release Updates November 2026

Join our What's New: Release Review webinar

Want the highlights without digging through release notes? Join our monthly What's New: Release Review webinar, where we recap everything shipped in the last month, demo new features, and answer your questions live.

Learn more and register →

November 4th, 2026

📣 From the CPO

Setting up learning should take one pass, not two. These updates remove extra steps for teams who set up learning, whether they’re inviting learners into a Panorama or building courses through the API.

Read More Here
  • Assign learning in the same invite: When managers invite learners into a Panorama or sublicense, they can now assign courses, subscriptions, or learning paths in that same invite. This works for single invites and bulk imports. Learners start with their content already in place, and managers don’t need a second step to assign it.
  • API-built courses arrive catalog-ready: Teams that create or update courses through the Content API can now include the free-text detail tabs learners see on the course page. They can also attach tags by name. Courses built by API now arrive with their descriptions and tags already in place, so teams no longer have to fill them in by hand afterward or look up tag IDs first.

✅ Quality Improvements

Assign Courses and a Panorama in the Same Learner Invite

When inviting a new learner or importing learners in bulk, managers can now assign courses, subscriptions, or learning paths together with a Panorama or sublicense in a single invite. Selecting a Panorama no longer hides those pickers, and the content selected with the Panorama is saved on the learner. Previously, choosing a Panorama removed the pickers, so both assignments could not be completed in the same invite. This update applies automatically — no action needed.

Course API accepts tag names

Course create and update can now attach tags by name, not only by existing tag ID. On POST /incoming/v2/content/course/create and PUT /incoming/v2/content/course/update, send tags with the names you want. Each name is trimmed and matched in Tag Manager without regard to case. A name that is not already there is created, then attached. A second course that sends the same name, including a different capitalization, reuses the existing tag.

tagIds still works as before. If you send both tags and tagIds, the course is attached to the combined set, with duplicates removed, up to the existing limit of 10 tags. Sending more than 10 returns an error, and names past that limit are not created. An empty or whitespace-only name is rejected. A name that matches a Tag Manager folder, rather than a tag, is also rejected.

On update, tags follows the same replacement rules as tagIds when sent on its own: omit it to leave the course's tags unchanged, send null to clear them, or send an empty array to clear them to an empty list. Tags removed from a course stay in Tag Manager.

This applies automatically for API callers. No feature flag or setting change is required. The API reference for CourseAttributes and UpdateCourseGroup documents the new tags field.

Free-Text Course Detail Tabs on the Content API

The Content API can now set free-text catalog detail tabs when you create or update a course. Those tabs appear on the course detail page the same way they do when you add them in manager, so API-built courses can include long descriptions and extra catalog tabs in the same request.

On POST /incoming/v2/content/course/create and PUT /incoming/v2/content/course/update, send an optional tabs array of objects with a required label and an optional HTML body (the same editor format as manager free-text tabs). Each request can include up to 10 tabs. A label can be up to 100 characters, and a body can be up to 5,000 characters. This API writes free-text tabs only.

  • Create: tabs in the request appear on the course detail page and in manager catalog settings.
  • Update: sending tabs replaces the free-text tabs and leaves instructor, product, syllabus, testimonials, and meetings tabs already on the course in place. Omit tabs to leave existing tabs unchanged. Send tabs: [] or tabs: null to remove free-text tabs.
  • Validation: a missing or blank label returns HTTP 400 with Tab label is required and does not write the course. The same 400 applies when tabs is not an array, a body is not text, or a label or body is over the length limit.

No extra setup is required. Authenticate with a company content API key as you do for other Content API calls.

🐛 Bug Fixes

  • Expired Sessions Send Learners Back to Sign-In
    • When a learner's session expires, they are sent back to the sign-in page again, including when they choose "I'm still here" after the session has already ended. Previously, an expired session could stay on the course: later work was not saved, and signing back in showed that progress missing. A brief service interruption no longer signs the learner out. This update applies automatically — no action needed.
  • Learner Dashboard Loads When Credly Token Is Expired
    • My Learning now loads the rest of a learner's content groups when a company's Credly connection is rejected because the API token is expired or invalid. Previously, that rejection stopped the dashboard and showed a processing error, even though the learner was signed in. Credly badge counts are omitted until the token is valid again. A working Credly token still shows badge counts as before. This update applies automatically — no action needed.
  • Session Selection on Multi-Session Instructor-Led Events
    • Resolved an issue on multi-session instructor-led training and webinar detail pages where choosing an available session reset the dropdown to a full waitlisted session and blocked enrollment. Learners can now keep the session they select: available sessions show Enroll, full sessions show Join Waitlist, and enrollment applies to the chosen session. This update applies automatically — no action needed.
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