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 useStreamLayerModuleAd hook allows showing and hiding ads associated with an Event Module card ID
    useStreamLayerModuleAd no longer accepts an sdk argument; it now uses the StreamLayerProvider context

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-polyfills package
    Note: The polyfills and polyfills/bundled entry points are removed from @streamlayer/web-os. Import from @streamlayer/web-polyfills instead

  • 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 the programmaticAdSlots prop to false in 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 showAdFeedInspector SDK 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-height CSS variable.
  • Adds a new optional integration for serving pause ads from the Amagi platform
    To enable, configure the SDK using the new options.amagiPauseAds property. The hlsPlayer and htmlPlayer props should now be used in place of the deprecated ssaiPlayer and ssaiVideoRef.
  • 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 externalAdData prop 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 new sdk.advertisement.getSsaiDebugSnapshot method 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 the ssaiPlayer or ssaiVideoRef props on the StreamLayerSDKTv component.
  • Adds support for Prebid.js for client-side header bidding auctions
    Configure via the externalAdData prop. 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 the fullbleed-video-center and fullbleed-video-left templates.
  • 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 setting template: 'fullbleed-video' in the pauseAdExternalUrls configuration.
  • Injected VAST ads via externalAdData can now be displayed in sidebar and L-Bar placements on TV platforms
    Placement can be controlled via VAST extensions or the uiType property on the externalAdData object.
  • 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 new getVideoTimestamp prop 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.