Changelog
Release notes for the StreamLayer TV Web SDK (@streamlayer/web-os) — new features, advertising and UI changes, and fixes, listed newest first by version.
1.4.x
1.4.0 (2026-11-11)
Analytics
- Analytics events for ads triggered by an Event Module now include the module's card ID as
parentTopicId
API & RPC
- New
useStreamLayerModuleAdhook allows showing and hiding ads associated with an Event Module card ID
useStreamLayerModuleAdno longer accepts ansdkargument; it now uses theStreamLayerProvidercontext
UI Components
- Programmatic ads that fail to load or have no content are now automatically closed instead of showing a blank ad shell
WebOS / TV
- Internal fixes to the release notes generation process
1.3.x
1.3.0 (2026-11-02)
-
Breaking: Polyfills are moved to a new
@streamlayer/web-polyfillspackage
Note: Thepolyfillsandpolyfills/bundledentry points are removed from@streamlayer/web-os. Import from@streamlayer/web-polyfillsinstead -
Introduces a new standalone lower-third ad unit
-
Adds missing backgrounds to form fields in some injected external ad units
1.2.x
1.2.2 (2026-10-19)
UI Components
- Fixes a visual alignment issue with interactive L-bar banners on desktop
- Promo videos in portrait Side-by-Side cards now scroll correctly with their container
- Pause ads now wait for their creative to render before becoming interactive
- Increases the z-index of a video element to prevent it from being obscured by other UI
Card Scheduling
- Unanswered Trivia and Prediction cards now reappear after a page reload
Gamification
- Programmatic ads now load correctly on mobile web devices
1.2.1 (2026-10-02)
UI Components
- The pause ad will no longer appear when the video is paused if another ad is already on screen
- Programmatic ad slots are now enabled by default
To disable this, set theprogrammaticAdSlotsprop tofalsein your configuration
WebOS / TV
- Fixes an issue where some UI components could remain invisible due to a missing animation in the stylesheet
1.2.0 (2026-09-30)
UI Components
- Corrects the display of 'Presented by' branding on programmatic ads
- Prevents page scrolling on mobile devices when an SDK overlay is active
- Improves the enter and exit animations for Amagi pause-ad overlays
- Restores missing TypeScript type definitions to the published package
Advertising
- Adds support for programmatic advertising
Please consult the integration guide for programmatic advertising configuration - A new
showAdFeedInspectorSDK option is available to display a panel with raw ad data for debugging
Card Scheduling
- Ads and interactive units will no longer be permanently suppressed after being shown or dismissed once
- Gamification cards on portrait mobile devices now use a consistent bottom sheet and wait for user sign-in before displaying
WebOS / TV
- Improves SDK lifecycle management to prevent leftover state when the component is unmounted
- Reduces package size by cleaning up internal dependencies
SDK Core
- Improves layout stability and appearance on mobile devices when rotating the screen
1.1.x
1.1.0 (2026-09-02)
UI Components
- Ads in portrait mode now render all call-to-action button variants correctly
- Ads with a 1:1 aspect ratio are now correctly displayed in portrait mode
- All ad header variants now render correctly in portrait mode
- Standard ads now render as a properly sized bottom sheet on mobile devices in portrait mode
For non-standard layouts, the height can be customized by setting the--adv-portrait-heightCSS variable. - Adds a new optional integration for serving pause ads from the Amagi platform
To enable, configure the SDK using the newoptions.amagiPauseAdsproperty. ThehlsPlayerandhtmlPlayerprops should now be used in place of the deprecatedssaiPlayerandssaiVideoRef. - Pause ads now have a resume button and a responsive layout for mobile devices
- Clicking the "Resume" button on a pause ad now correctly advances to the next ad in the rotation
- Ads from SSAI sources now correctly display the creative title
- Fixes an issue where pause ads would fail to appear in some circumstances
- Internal layout fix for the video player controls in the demo application
- Pause ad creatives are now preloaded to prevent a flash of unstyled content
SDK Core
- Active ads no longer disappear prematurely when the viewer pauses playback
- The video player layout no longer briefly shifts when a new ad is displayed
Advertising
- Adds support for a new full-screen "Insight" pause ad format on TV platforms
API & RPC
- Internal development toolchain upgraded
Gamification
- Gamification cards no longer reappear on page reload after being answered
WebOS / TV
- Internal change to release note generation tooling
1.0.x
1.0.0 (2026-08-30)
- Breaking: Adds support for programmatic (VAST) ads to Standard Ad placements, including the TV Sidebar and L-Bar
BREAKING: This introduces changes to the advertisement API. Please consult the migration guide.
UI Components
- The call-to-action button on the interactive SSAI ad overlay has been changed from "Send to phone" to "Learn more"
- Full-bleed pause ads now display title, description, logo, and a QR code CTA populated from the provided VAST tag
- The ad close timer configured in the Studio is now displayed for side-by-side and TV sidebar ad placements
- Adds new
externalAdDataprop to programmatically inject host-provided VAST ads into any ad placement - TV sidebar cards now scale correctly to fit on screens with resolutions shorter than 1080p, preventing content from being cut off
- Improves the reliability of remote control focus and navigation on TV platforms
- The side-by-side card layout now displays correctly on screens with aspect ratios wider than 16:9
- Fixes a display issue with the QR code hint text
- Internal build process improvements
- Dismissing a full-bleed pause ad with a TV remote now correctly resumes video playback and displays the close animation
- TV sidebar ads with video configured for a 1:1 aspect ratio now render correctly instead of being stretched to 2:1
- The "Send to User" button and QR code on TV ad cards have been resized and repositioned to better match design specifications
- Fixes a layout issue in ad notifications where the media element could overlap the sponsor logo
- Improves typography by using the Inter font on platforms where Apple's SF Pro font is not available, such as Tizen and webOS
- Improves TV remote navigation for Insight Ad cards, ensuring all elements including the close button are reliably focusable
- The post-answer feedback for trivia cards now correctly displays the viewer's selected answer instead of the correct answer
- Improves the stability of side-by-side video ads, preventing audio glitches and playback issues during device rotation
- The "Send to User" button now provides visual feedback (loading, success, error) and displays a QR code on TV platforms
- Fixes several ad playback and audio issues for side-by-side video ads, especially on mobile devices during screen rotation
- Fixes an activation issue with side-by-side ads on webOS
- Internal Storybook and documentation improvements
- Removes the hover effect from the close icon on TV sidebar cards, which is not applicable for remote control navigation
- Prevents the host video element from being remounted during SDK initialization on TV, avoiding playback interruptions
Advertising
- The SSAI ad progress bar now correctly tracks separate airings of the same creative instead of merging them into one long ad break
A newsdk.advertisement.getSsaiDebugSnapshotmethod is available for debugging SSAI integrations. - Introduces a new interactive overlay for SSAI streams on TV platforms, displaying brand information and a QR code CTA during ad breaks
Enable this feature via thessaiPlayerorssaiVideoRefprops on theStreamLayerSDKTvcomponent. - Adds support for Prebid.js for client-side header bidding auctions
Configure via theexternalAdDataprop. See the Prebid integration guide for details. - Adds new 'center' and 'left' layouts for full-bleed video pause ads, allowing for the display of ad title, description, and logo
Available via thefullbleed-video-centerandfullbleed-video-lefttemplates. - Internal documentation website improvements
- Fixes issues with side-by-side ads on webOS and exposes new methods for controlling advertisements
Card Scheduling
- Fixes a crash on older TV platforms by removing a dependency on BigInt, improving compatibility with legacy devices
- An open card now remains visible even when a new one is activated, and is only replaced when the new card explicitly opens
- The result notification for a prediction card is now correctly displayed even if the viewer has already voted
- Improves the behavior of time-sensitive cards when seeking backwards in a VOD or DVR stream
API & RPC
- Full-bleed pause ads can now render full-screen video from a VAST tag instead of just a static image
Note: Requires settingtemplate: 'fullbleed-video'in thepauseAdExternalUrlsconfiguration. - Injected VAST ads via
externalAdDatacan now be displayed in sidebar and L-Bar placements on TV platforms
Placement can be controlled via VAST extensions or theuiTypeproperty on theexternalAdDataobject. - Minor visual adjustments to the full-bleed pause ad to better align with design specifications
Authentication
- Introduces a new card scheduling engine to prevent spoilers in VOD and DVR streams by delaying card appearances
Note: This requires implementing the newgetVideoTimestampprop on the SDK provider to supply the current video playback time.
Gamification
- Fixes multiple issues with sponsor logo resolution, ensuring the correct logo is displayed based on Studio settings
Internals
- Adds a new "Image-Only" layout for Standard Ads on TV, where a full-bleed creative is shown without title, description, or sponsor logo
SDK Core
- Restores the L-Bar banner display for sponsored poll, trivia, and prediction cards
WebOS / TV
- Internal release process improvements
0.11.x
0.11.3 (2026-07-08)
- Parse host url for pause-ad, added sdk version to gpt request
0.11.2 (2026-07-02)
- Guard all web-storage access against null/blocked localStorage
0.11.1 (2026-07-01)
- Keep host video mounted during SDK boot on webOS TV
0.11.0 (2026-06-23)
UI Components
- Added click event for gpt analytics
- Added web view host prop
- Webos ui
- Implement Side-by-Side (Double box) layouts for Web TV - animation and fix bugs
- Jump pause ad overlay
- Insight Ad design issues
- Opening animation is not displayed when a user clicks the feature ad notification while another card opened
- Simple demo app refactor
- Demo app hover buttons
- Pause ad empty url
- Ad background displays with a delay, Incorrect X button hover state (O is displayed instead of X)
- Implement Side-by-Side (Double box) layouts for Web SDK
- Disable GPT ad iframe clicks on non-desktop
- White bg for iframe
- Fix side by side bugs for tv
- Fix desctop bugs
- Rename prop
- PauseAdBaseUrl
Advertising
- Add VAST impression and click tracking to external pause ad
- Implement Standard Pause Ad Fullbleed Mode for Web TV
Gamification
- Prediction result notification not shown due to hanging nanoquery fetch
- Show banner in Lbar mode for ad cards: Trivia, Predictions, Poll, Insight.
0.10.x
0.10.2 (2026-06-03)
- Use zero event as fallback
0.10.1 (2026-04-16)
- Pause ad background gradient
0.10.0 (2026-04-13)
UI Components
- Add autoPlayDelay prop to SideBySideContent for delayed video autoplay
- Add analytics events to ExternalVideoAd for GAM/VAST ads
- Added gpt ad story
- Add AdRender story for GAM display ad rendering
- App, tv test
- Added sbs to main story
- Implement Side-by-Side layouts for Web TV
- In sdk-web-demo-develop, GAM cards were not showing. Fix side-by-side card display in portrait mode.
- Fix video stream jumps when closing a side-by-side card.
- Side-by-side layout
- X button color/size, side-by-side ad display on activation, email button style/padding, button height, and mobile web SDK all deviate from Figma.
- Allowtransparency for iframe
- Show external ad, pause-ad transparency
- Added id and parent id to loaded event
- Added rdid, idtype to pause ad
- Allow transparency for iframe
- Story
- Update autoPlayDelay value
- Render external ad after merge conflicts
- KIND_AD_VIDEO_UNMUTED = 44 is sent when the ad is opened
- Add send to user button, fix adaptive
- Allow transparency to ad-renderer
- Added bg to ad overlay
- Adaptive
- Sbs layout refactor
- Misc fix
- Sbs content sizes
- Sbs paddings
- App sbs animation
- Desktop sbs layout
- Fix logo, refactoring styles
- Implement Side-by-Side layouts for Web SDK
- Check render sbs by type
- Lint err
- Implement Side-by-Side layouts for Web SDK
Gamification
- Sbs improvements
- Parse gam url
- Show sponsor logo if the useGeneralLogo flag is enabled, and use different logos (classic logo and center/transparent logo).
- Tizen. Insight Ad without notification. The card isn't showed when video is playing.
- [QA] The feature ad notification disappears after 1 minute
Advertising
- Added linear gam ad
- Sbs layout
- Prevent video remount in sideBySide advertisement mode
API & RPC
- Add GPT ad support to pause ad component
- Update storybook, nx
- Webview pause ad analytics
SDK Core
- Add side-by-side video advertisement layout for WebOS
- Sbs mobile layout
Authentication
- Make anonymous auth built-in to SDK Web
Internals
- Incorrect Insight Ad media is displayed
WebOS / TV
- Add debug logs
0.9.x
0.9.2 (2026-03-17)
UI Components
- Remove storybook from build
WebOS / TV
- Vite build
0.9.1 (2026-03-17)
UI Components
- Lint errors
WebOS / TV
- Release
0.9.0 (2026-03-03)
Gamification
- Send webhook event on SEND_TO_USER button click, remove ad label for exposed paused ad
- Remove redundant activeQuestionId.invalidate calls
- Tizen|WebOS. Poll - Ad. A card without notification activates with notification.
- Closing ad cards, analytics for ad card
- Ad type checking
- Send ad video analytics for insight
- Insight Ad background is not displayed
Analytics
- OverlaySessionId race condition on clear
- Clearing overlay session id
- Added debug analytics
- Analytics log
- Ad specific kind for all ad
- Clear overlaySessionId on close UI elements
UI Components
- Background update for exposed pause ad
- Blink we interstitial render for insight
- Banner shown analytics
- Send mute/unmute event only by click
- Fix adaptive position play button
API & RPC
- Race condition on read from api store
- Feed list req optimization
- Exports for storybook fix
Advertising
- Update pause ad url for demo app
Authentication
- Misc fix
Internals
- Api store
Notifications
- Show banner event for insight, render insight banner
WebOS / TV
- Build classic demo page on es5 format for legacy browsers, deprecate /classic for modern demo app
0.8.x
0.8.5 (2026-02-26)
- Do not retry invalid sdk key error
0.8.4 (2026-02-25)
- Always render child in StreamLayerSDKTv
0.8.3 (2026-02-20)
- Hide polymarket by default
0.8.2 (2026-02-16)
- Generate uuid
- Remove crypto from deps
0.8.1 (2026-02-15)
- Dependencies, export polyfills
0.8.0 (2026-02-15)
- Web-os es5 with polyfills bundle
0.7.x
0.7.4 (2026-02-13)
UI Components
- Adapt polymarket layouts
- A stream reloads when a user opens an Insight/Insight Ad
Internals
- Es5 build
0.7.3 (2026-02-11)
- Bump release
0.7.2 (2026-02-11)
- Bump release
0.7.1 (2026-02-11)
- Bump release
0.7.0 (2026-02-10)
Analytics
- Added navigated event to analytics
Internals
- Polymarket story
SDK Core
- Added polymarket component
0.6.x
0.6.2 (2026-02-10)
Maintenance release with no integrator-facing changes.
0.6.1 (2026-02-10)
Maintenance release with no integrator-facing changes.
0.6.0 (2026-02-09)
UI Components
- Added classnames to webos components
- Fix merge conflicts errors
- The 2:1 image is displayed despite a user activates Sidebar Standard Ad with 1:1 image
- Map teams in polymarket
- L-bar ad units indentation issues
- Pause-ad analytics
- Stream corners are not rounded when a user opens a Sidebar/L-bar ad unit
API & RPC
- Prefetch pause-ad, update nanostores
- Web SDK + Web SDK TV: Implement the Polymarket Ad
Analytics
- Reset pause ad params on close too
WebOS / TV
- Web-os classic splitting
0.5.x
0.5.3 (2026-02-03)
Maintenance release with no integrator-facing changes.
0.5.2 (2026-02-02)
- React-ui types alias in build
0.5.1 (2026-02-02)
Maintenance release with no integrator-facing changes.
0.5.0 (2026-02-02)
- Move core react sdk logic to react-ui and share between desktop and webos, fix pause-ad analytics
0.4.x
0.4.4 (2026-02-02)
- Include protobuf and connectrpc to the bundle
0.4.3 (2026-01-29)
- React useTransition polyfill
0.4.2 (2026-01-29)
- Remove @nanostores/react from deps
0.4.1 (2026-01-29)
- Exposed pause ad sidebar gradient
0.4.0 (2026-01-29)
UI Components
- Separate web-os to components
- Bell Pause Ads - adaptive play button for small screens
API & RPC
- Exposed pause ad analytics
0.3.x
0.3.9 (2026-01-27)
Analytics
- Update overlaySessionId when ad opened/closed
API & RPC
- Peer deps
0.3.8 (2026-01-26)
- The ad content is displayed with incorrect indents between each other; Ad badge is displayed in the incorrect position and indents, and Ad badge repeat
- Bell Pause Ads - adaptive layout for small screens
- Close channels list, web-os back button, left gradient, autofocus promo
0.3.7 (2026-01-22)
- Release packages
0.3.6 (2026-01-22)
Maintenance release with no integrator-facing changes.
0.3.5 (2026-01-22)
Maintenance release with no integrator-facing changes.
0.3.4 (2026-01-22)
Maintenance release with no integrator-facing changes.
0.3.3 (2026-01-22)
API & RPC
- Tizen. The banner is not displayed.
Gamification
- Tizen. Prediction result isn't displayed.
WebOS / TV
- Web-os vite external deps
0.3.2 (2026-01-21)
- Added pause ad for desktop
0.3.1 (2026-01-20)
UI Components
- Added pause ad delay prop
- Web-os option show pause ad button
- Classic version for webos
WebOS / TV
- Web-os options
0.3.0 (2026-01-19)
UI Components
- Load noninear ad
- Added control pause button visibility, do not show notification when pause ad activated
- Ad label
- Sdk key for demo tvs
- Misc fix
- Added static vast ad
- Added raw xml example
- The lower third notification should be aligned to the bottom.
- Text color for 'Paused' and 'Muted' is dimmed when the video is not in focus.
- CTA button colors in focus are working correctly.
- Focus defaults to the CTA button; if absent, to the video; if no video, to the close icon.
- Auto-focus in all notifications should be on the confirmation buttons (Answer, Discover...)
- Fix styles for 1280*720 trivia, poll, prediction cards. Fix styles insight notification
- ShowPauseButton
API & RPC
- Added vast url from event
- Webos legacy builds, styles for promo, update docs
Internals
- Show pause ad even if sidebar active
WebOS / TV
- React classic build
0.2.x
0.2.3 (2025-12-30)
- Tizen remote control
- Open inapp, anonymous login
- Implement video control logic and styles
0.2.2 (2025-12-24)
- Web-os package
0.2.1 (2025-12-24)
- Web-os package
0.2.0 (2025-12-24)
UI Components
- Use tv remote in pause ad
- Refactor remote control
- Tizen, web-os demo apps, background fixes, notification fixes
- Fix tv sdk background
- Added promo analytics to webos
- Update release, refactor story, fix eslint
- Added docs
- Controls for Notifications and Question (Trivia, Prediction, Poll)
- Various WebOS bugs.
- Incorrect Send an email button text color is displayed
- Implemented Play/Pause and Muted/Unmuted logic for Insight cards according to the documentation. Configured focus switching via TV remote.
- Google pal download, notifications conflict
- Build warns
- Render children component for StreamLayerSDKTv as a fallback
- Make the remote control functional in the Tizen emulator, refactoring, delete debug
- Video mute controls
- Enable google-ad on sidebar
- The video autoplays and loops with UI issues: a non-responsive "Back to Video" button, unchanged "Paused" text, rounded banner corners, and excessive text indents
- [QA] An empty space is displayed on the right side of the screen when a question content is disappeared
- [QA] The uploaded logo is not displayed when a user opens an Ad Poll/Trivia/Prediction card
- Implement Poll AD / Trivia AD / Prediction AD and Insight AD units for Web OS
- Add muted to app
- Feedback ad
- Misc fix
- Bg issue
- [QA] No in-app text is displayed on the Insight/Insight Ad
- For all new AD units interstitial notification should be replaced ordinary notification after 5 sec
- Lower Third in-app notification displayed broken
- Poll solid image
- Fix bugs
- Open poll question
- Open poll from notification
- Delete debug
Gamification
- Update gam integration
- Implemented Play/Pause and Muted/Unmuted logic for promo cards according to the documentation. Configured focus switching via TV remote.
- Gam ad parse
- Fix WebOS layout and visibility issues for ad units, video streams, and UI components including indents, cropping, and prediction results
- Fix open onboarding
- Update feed list when sdk is closed
- Insight AD notification
- Web SDK: Add Trivia AD unit
API & RPC
- Exposed pause ad
- Added sl-platform header
- Video ad metrics
- Update api dependencies
- Added check to send opened event
- AdUnit structure updates
- Refactor card ad frames
WebOS / TV
- Anonymous auth for webos
- Webos tv skip onboarding
- Update sdk-web-tv provider options
- Build webos
Internals
- Remote control by noriginmedia lib
- Hide notifications on show pause ad
- Ad video controls
Notifications
- Make the remote control functional in the Tizen emulator
- Refactoring for Tizen
SDK Core
- Promotion bg
- Ad background integration
Analytics
- Added new ad types to analytics
Authentication
- Sdk-web-anonymous-auth package dependencies
0.1.x
0.1.2 (2025-09-02)
Maintenance release with no integrator-facing changes.
0.1.1 (2025-09-02)
API & RPC
- Update protofiles
Authentication
- Skip anonymous-auth tests
UI Components
- Lower third notification is not pinned to the bottom of the screen
0.1.0 (2025-07-31)
First release covered by this changelog.
Updated 3 days ago
