Added dismissModule field to whatJustHappened panel data in setDataToPanel. When true, dismisses the overlay notification on demand for player states where it must not remain visible (e.g. ad break, native player UI, navigation away). The dismissed note is suppressed from immediately re-appearing; later notes surface normally. If both dismissModule and triggerModule are supplied, dismissModule takes precedence.
Added an Overlays section to the Web SDK docs, covering what an overlay is, how it differs from a panel, how overlays are triggered (broadcast, timecoded, and client-side rules), and the full will-appear → did-appear → did-engage → did-dismiss lifecycle.
Added an Overlay Integration guide with a copy-pasteable onOverlayEvent implementation, will-appear callback semantics, player timecode requirements, focus hand-off, CTA handling, and repositioning.
Documented that overlays require WebGL2 and WebAssembly for Rive rendering. On TV browsers missing either, the SDK logs and renders nothing, so overlays silently never appear.
Clarified in onOverlayEvent that the SDK waits 2 seconds for the will-appear callback before applying canAppear: true / canFocus: false and showing the overlay. Call the callback synchronously.
Added optional platform parameter to configure ('bbd' | 'desktop_web', defaults to 'bbd'). Omitting this parameter renders the TV UI; pass 'desktop_web' for desktop web applications.
Added getPlatform() to the Core SDK. Returns the platform declared in configure, or 'bbd' if none was specified.
Added web:panels:close event type to onPanelEvent. Emitted on desktop web when the user clicks the panel's close button. The event carries no payload; the host is responsible for hiding and unmounting the panel.
Added WhatJustHappenedButton React component to the SDK exports. Renders an module notification when a key moment is detected during a live event. See WhatJustHappenedButton.
Exported WhatJustHappenedButtonProps, WjhAppearResponse, and WjhNote types from @maestro_io/maestro-web-sdk.
Added whatJustHappened panel type to MaestroPanelType. Use with setActivePanel to switch the active panel to the event recap view.
Added whatJustHappened panel data support to setDataToPanel. Pass { whatJustHappened: { triggerModule: true } } to manually trigger the module notification.
Added 'whatJustHappened' as a valid toTarget value for startFocusManagement, enabling the host to return focus to the What Just Happened overlay after the user has arrowed away from it.
Raised minimum Node.js requirement from >=10 to >=18. Ensure your environment runs Node.js 18 or later.
Added required onOverlayEvent(event: OverlayEvent): void method to IMaestroEventDelegate. TypeScript implementations that omit this method will fail to compile — add onOverlayEvent to your delegate.
Changed startFocusManagement on IMaestroEvent to require a StartSDKFocusManagementParams argument ({ toTarget: 'overlay' | 'sidebar' }) and to return void synchronously instead of Promise<void>. Pass a toTarget value and remove any await at call sites.
Updated startFocusManagement on IMaestroEventDelegate to receive a StartClientFocusManagementParams argument with fromTarget: 'overlay' | 'sidebar' and an optional keyPress field.
Fixed didHidePanel incorrectly clearing navigation focus state on panel hide. Focus state is now preserved so navigation resumes correctly when the panel is shown again. see
Fixed setActivePanel not working when the SDK's focus management was active. The method now correctly switches the active panel and focuses the corresponding navigation button regardless of focus management state. see
Changed getCurrentEventID return type from string | null to string | string[] | null. In a multi-event session, the method returns all active event IDs as string[]. Update any code that assumes the return value is always a string or null. see
Added getCurrentEventIDs method to IMaestroEvent for retrieving all event IDs in the current session as string[]. see
Added multiviewPanel panel type. Initialize it by passing { apiKey: string, eventId: string } to setDataToPanel.
Added multiviewPanel:stream-state-changed and multiviewPanel:director-state-changed event types emitted via onPanelEvent when the multiview panel is active.
Remove environment, pollFrequency, progressUpdateFrequency, userID, maestroJwt, clientAppToken, clientAppSwid from base SDK class, along with getters and setters. see
Stats don't call getStatsAPIBaseURL anymore and it will soon be deprecated. We can construct the endpoint based on the known domain + event page configuration and metadata.
Add Analytics call (by calling trackAction and trackImpression) when user makes certain action or something gets rendered. Here are the list of the current analytics events: