JavaScript Player - Release Notes¶
For full details on how to upgrade to player v1, see the migration guide.
v1.7.5 (2025-04-09)
Bug Fixes
- Subtitles in safari
v1.7.4 (2025-02-25)
Bug Fixes
- Don't assume skd URI is a UUID
v1.7.3 (2025-01-31)
Bug Fixes
- Set initial subtitles
v1.7.2 (2025-01-27)
Bug Fixes
- Do not set preferred subtitles when fallback to forced subtitles happens
v1.7.1 (2025-01-13)
Bug Fixes
- Turning off subtitle
- Update subtitles after seeking
v1.7.0 (2024-12-18)
Features
- Handle assets with multiple Fairplay encryption keys
Bug Fixes
- Forced subtitles handling
v1.6.2 (2024-11-19)
Bug Fixes
- Forward Exposure API error code
v1.6.1 (2024-08-28)
Bug Fixes
- Player error message cast connector
v1.6.0 (2024-04-03)
Features
- Support FAIRPLAY_LICENSE_ERROR and FAIRPLAY_CERTIFICATE_ERROR metrics
Bug Fixes
- Properly parse urls when throwing errors in exposure service
- Do not show forced text tracks as selectable
- Reenable the pingstate when it is a single program and has ended
v1.5.1 (2024-01-24)
Bug Fixes
- Low latency stream not catching up correctly
v1.5.0 (2024-01-24)
Features
- Add
isVolumeReadOnly()
method, if true volume cannot be changed.
Bug Fixes
- Unhandled rejection error when load media fails
- PlaybackRate decreased when playing low latency content close to live edge
- Add ProgramAssetId to programChanged event in analytics
- Volume slider visible on ipad even though it cannot be changed
v0.72.3 (2024-01-08)
Bug Fixes
- Add ProgramAssetId to programChanged event in analytics
v1.4.0 (2023-12-22)
Features
- Add translations for player skin strings
- Set os name & version for analytics instead of parsing userAgent
- Add clockOffset to analytics payload
Bug Fixes
- Emit PlayerEvent.ERROR for cast load error
- Poster not fully visible
- Seek doesn't work on low latency channels
- Low latency channels latency higher than 1 fragment duration
- Multi-line subtitle rendering
- Microsoft edge can't play HEVC streams with DRM protection
- isBrowserSupported not detecting lg tv & samsung tv 2017+ as supported
- Set UTC startTime and currentTime before triggering the LOADED event
- SSAI not working with playready
- Always use epgs as program source in the program service
- TypeError thrown when trying to access track info too early
- .play() return type is void, should be
Promise<void>
v0.72.2 (2023-12-15)
Bug Fixes
- Multi-line subtitle rendering
- Use epg data when applicable in program service
- Firefox throw errors if track methods are called too early
v1.3.0 (2023-11-20)
Bug Fixes
- Firefox crashes when playing certain live content
- Captions sometimes doesn't appear as active
- Content sometimes does not start after playing an adbreak on samsung tv
- Some catchup content doesn't start
- Web component skin not being included in the build
v0.72.1 (8 Nov 2023)
Bug Fixes
- Firefox crashing playing certain live content.
v0.72.0 (31 Oct 2023)
Features
- Device model detection ported from v1
Bug Fixes
- Improved stability for firefox when playing certain live content
v1.2.1 (2023-10-25)
Bug Fixes
- Fix ads click through button not showing in mobile skin
v1.2.0 (2023-10-25)
Features
- Support chromecast receiver with queue
Bug Fixes
- Prevent trying to set shaka config restrictions after destroying shaka
- Add missing type exports & skin options
v0.71.1 (18 Oct 2023)
Bug Fixes
- Fixed style.css not being included in the package root.
v1.1.0 (6 Oct 2023)
Features
- Upgrade to shaka 4.4.3
- Upgrade dashjs to 4.7.2
Bug Fixes
- Add workaround for dashjs engine overriding user audio track preferences after ad break
- Filter out ads-only languages from the audio language options (SSAI)
- Fix Shaka engine configuration so that subtitle streams update more reliably
- Fix subtitle duplication issues when using the dashjs engine
- Preferred language doesn't work if metadata is missing
- Allow setting startTime to 0 for HLS streams in Safari
- TogglePictureInPicture crashes on audioOnly content
v0.71.0 (6 Oct 2023)
Features
- Upgrade to shaka 4.4.3
- Upgrade dashjs to 4.7.2
- Switch default engine for SSAI to Shaka
Bug Fixes
- Add workaround for dashjs engine overriding user audio track preferences after ad break
- Filter out ads-only languages from the audio language options with Shaka (SSAI)
- Fix Shaka engine configuration so that subtitle streams update more reliably
- Fix subtitle duplication issues when using the dashjs engine
v1.0.2 (22 Sept 2023)
Bug fixes
- Fix subtitles not showing after an ad break
- Analytics receiving bps instead kbps
- WebOS 4.x live seek moves seekable end to seek position
- Support startTime argument 0 for live streams
- Hls live streams not seekable on WebOS 3.5
v0.70.1 (29 Aug 2023)
Bug fixes
- webOS 4.x seeking live content moves seekable end to seek position.
v1.0.1 (7 Jul 2023)
Bug fixes
- Ads options not passed in play request
v0.70.0 (6 Jul 2023)
Features
- Don't filter text tracks from chromecast
- Support internal SSAI stitcher
Bug fixes
- Fix live channels always starting at live edge
- Fix playbackRate blocking for Ads player
v1.0.0 (29 June 2023)
Breaking changes
For full details on how to upgrade from older player versions, see the migration guide.
- Moved and merged asset/source parameters
- Moved keyboard shortcuts into the skin
- Removed RedBeePlayerDeprecated
- Removed limitedMemory initOptions
- Removed getWrapperElement()
- Removed skin.locale constructor parameter in favor of player.locale
- Renamed player constructor parameter "analytics.analyticsBaseUrl" to "analytics.baseUrl"
- Replaced "wrapper" argument to wrapperElement, expecting HTMLElement type
Improvements
- Provide TypeScript types for all events
- Enforced strict mode for TypeScript
- Rewrote error handling
- Rewrote several internals to improve effeciency
- Replaced dependencies for date formatting with native browser APIs
- Removed unused internals
Features
- Generate device id for all devices
- Add
deviceAdapter
option to allow custom device detection - Support internal SSAI stitcher
- Select preferred audio/text subtitles based on locale option
- Set loading state as early as possible
- Replace SVG loader with CSS loader
- Replace audio track icon in default skin
Bug fixes
- Virtual channels, only first program detected
- Avoid nested classes / higher css specificity for subtitles
- Switch internal player for SSAI to Shaka to prevent issues with user settings not being respected by dash.js
- Fix playbackRate blocking for AdsInsertionPlayer
- Fix web-components attribute change issues
- Add auto play detection support for additional TV devices
- Live channels always starts casting at live edge (Chromecast sender)
- Avoid converting track id to string if it is a number
v0.69.0 (30 May 2023)
Features
- Upgrade dash.js to v4.7.0
v0.68.0 (29 May 2023)
Features
- Optional playAsset params start, end
v0.67.0 (23 May 2023)
Features
- Send program changed events to analytics
Bug fixes
- Nowtilus LG workaround applied for all stitchers
v0.66.2 (14 April 2023)
Bug fixes
- HLS live: invalid duration & seekable
v0.66.1 (13 April 2023)
Bug fixes
- Mp3 not playable on LG WebOS 5.0+
v0.66.0 (4 April 2023)
Features
- Support setting default subtitle and audio based on language and kind
Bug fixes
- Fullscreen promises unhandled.
- EPG API promises unhandled.
- Forced subtitles are hidden. HLS only.
- Content pausing after ads. DASH SSAI only.
- Timeline not fully seekable. HLS on Chrome, Firefox, Edge
- Add missing PlayerEvent.ERROR event for playlists.
v0.65.0 (22 Feb 2023)
Features
- Upgrade Shaka Player from v4.1.2 to v4.3.3
- Verify entitlement for the next program before it starts.
- Extend playlist features to support
startTime
, and remembering previous position (see playlist) - Reposition subtitle container when the default skin is shown/hidden or changes size.
- Use dash.js instead of Shaka Player for better performance on LG TVs.
- Add possibility to use Shaka for SSAI.
Bug fixes
- Make isPictureInPictureSupported() available even before the
PlayerEvents.LOADED
event. - Fix errors being emitted because the player was destroyed
- Fix subtitle cue using the full available width instead of just the text width.
- Retry streaming if possible on non fatal shaka errors.
v0.61.0 (27 Jan 2023)
Features
- Added subtitle toggle button (see skin options).
v0.60.0 (24 Jan 2023)
Features
- Include device statistics in analytics payload.
v0.59.6 (20 Jan 2023)
Features
- Increase default timeout parameters for Shaka.
v0.59.5 (12 Jan 2023)
Bug fixes
- Properly check if text track includes language when setting audio track in Cast sender.
v0.59.4 (10 Jan 2023)
Features
- Cast devices specific model (i.e Google TV, Chromecast Ultra etc) is now included in the
DeviceModel
field in Analytics. - Better handling of media and network errors for hls.js.
Bug fixes
- Update
IInternalPlayerState
interface with correct types.
v0.59.3 (21 Dec 2022)
Bug fixes
- Handle missing language in tracks
- Fix broken subtitles on hls playback on non safari browsers
- Adjust default shaka player configuration, adding more retries when timing out on segment/manifest requests.
v0.59.1 (12 Dec 2022)
Bug fixes
- Add workaround for seeking bug on Chromecast
- Use less strict typing for PlayerEvent
v0.59.0 (5 Dec 2022)
Bug fixes
- Fix mislabeled MediaError error codes
- Always return core methods in Player (fixes types)
- Initialise logger before usage
- Do not emit dropped frames event if dropped frames is 0
v0.58.0 (29 Nov 2022)
Features
- Migrate from Exposure API to Eventsink
- Refactor engine name/version
Bug fixes
- Set exposureBaseUrl when initialising a new PlayerCoreConnector
- Fix types / incorrect assumption for ads.stitcher
v0.57.0 (15 Nov 2022)
Features
- Stream metadata is now included in analytics.
v0.56.1 (15 Nov 2022)
Features
- Better visibility of buffering events in player analytics.
- A couple of new player events have been added these are:
SESSION_ACQUIRED
,PLAYER_SETUP_COMPLETED
,ENTITLEMENT_GRANTED
.
Bug fixes
- Fixed loading event not being emitted on certain live to vod assets.
v0.56.0 (7 Nov 2022)
Features
- Add
LOAD_START
event
v0.55.1 (28 October 2022)
Bug fixes
- Fixed issue where PLAYER_READY event not triggering in some scenarios.
v0.54.1 (25 October 2022)
Features
- Add dropped frames to analytics events.
v0.53.1 (19 October 2022)
Bug fixes
- Fixed an issue where the player UI wouldn't properly show selected audio tracks when using the Shaka Player engine.
- Fixed an issue where ads could be skipped on iOS 16 and Safari.
v0.53.0 (17 October 2022)
Features
- Added support for subtitle positioning.
Bug fixes
- Fixed Shaka player removing subtitle color data.
- Fixed subtitles auto-selecting for hls.js
- Support multiple subtitle/caption tracks with the same language if the
kind
differs.
v0.52.0 (21 September 2022)
Features
- Added method seekToUTC. See Methods.
Bug fixes
- Check for
metadataURIs
ininitOptions
.
v0.51.0 (13 September 2022)
Features
- Added support for timed metadata events. See Timed metadata events.
Bug fixes
- Set heartbeat depending on the analyticsPostInterval setting. This will make sure that the heartbeat event from the player is sent at the correct interval.
v0.50.1 (6 September, 2022)
Bug fixes
- Better subtitle handling on dashjs and ssai streams
- Upgrade shaka player
- Fix bug in progressive download of .mp3 sources.
v0.49.2 (29 June, 2022)
Bug fixes
- SSAI support on LG Smart TV 2017-2019.
- Adjusted the minimum dvr window threshold for when the player considers live-streams seekable.
- Subtitle fixes for SSAI streams.
v0.48.0 (13 June, 2022)
Features
- New player option
locale
added. Used to determine asset locale when casting and for the MediaSession metadata.
v0.47.1 (7 June, 2022)
Bug fixes
- Default Subtitle styling not included in the exported css.
v0.47.0 (23 May, 2022)
Features
- Support materialProfile in player options player options
v0.46.0 (13 May, 2022)
Features
- Support for custom ad parameters in player options, ads object
Bug fixes
- Line height adjustments on multiline subtitles
- Minor adjustments to ad counter terminology
v0.45.0 (10 May, 2022)
Features
- Ad Countdown
- Full player area clickthrough on ads
Bug fixes
- Adjusted subtitle default size on mobile
- Infinite buffering on live SSAI
- Multiple ad impression tracking url's
- Send first analytics dispatch asap, instead of after set analytics interval
- Render subtitles with line breaks
v0.43.0 (22 March, 2022)
Features
- Subtitles are now customizable, see the docs
Bug fixes
- Subtitles sometimes not showing in firefox
v0.42.0 (22 March, 2022)
Features
- Enriched payload to analytics (incl page url, referrer, app name)
Bug Fixes
- Hardening to event pool dispatch on page close
- Analytics heartbeat vs dispatch fixes
- Use duration in milliseconds, instead of microseconds, for bookmarks
v0.41.0 (22 February, 2022)
Features
- Max resolution as init option
- Support for custom engine configuration (Please read public documentation for Shaka, Hls.js and Dash.js)
Bug Fixes
- Typescript signature to signal null as valid data in subtitle methods (to disable subtitle)
- SSAI
loaded
andstart
tracking - Reset
playbackrate
to 1, during ads - Pause ad playback on visibility hidden
v0.40.0 (26 January, 2022)
Features
- Live delay (distance from edge) support on drm free hls live events
- Exposing media type (video vs audio) in player state
Bug fixes
- Improve cleanup of chromecast analytics
- Fix for custom analytics endpoint
- Live delay on dash live events
- Report manual bitrate changes, through bitrate selector, to analytics
- Improve subtitle rendering
v0.38.0 (7 December, 2021)
Features
- Click through on ads
Bug fixes
- Better error communication on casting
- Minor Analytics fixes
- Minor fixes to playback of SSAI Dash streams
v0.37.1 (6 October, 2021)
Features
- Support the default WebVTT color classes
- TypeScript: interface IPlayerState is now exported
- TypeScript: event handlers can now be typed. See Events
Bug fixes
- Fix quality levels not being sorted.
v0.36.0 (22 September, 2021)
Features
- Support content markers on assets
- Support playlists when AirPlaying
- Support for encrypted SSAI
- Selected subtitle and audio track languages is stored between sessions
Bug fixes
- Retaining cast session between playlist content
- Seek to 0 did not work
- FPS included in quality level labels when applicable
v0.32.0 (25 August, 2021)
Features
- Support SSAI VOD content
Bug fixes
- Fix some Huawei phones not playing encrypted content.
- Fix mobile skin not toggling on touch
- Improved stability when embedding the player using an iframe.
Other
- Player version number is now aligned with internal versions for simpler follow up on analytics sent in.
v0.18.8 (10 August, 2021)
Features
- Expose dropped frames & number of buffering events in the state object
Bug Fixes
- Fix player going to loaded state before finishing loading in chrome & firefox.
- Fix player not throwing an error event when DRM errors occur during startup.
v0.18.7 (14 July, 2021)
Bug Fixes
- Support for sprite offset, to get them right in trimmed videos.
- Fix for preferred keysystem to go outside our definition of supported formats for a browser.
v0.18.5 (7 July, 2021)
Bug Fixes
- Preview thumbnail will now always be constrained to be viewed inside the player wrapper.
- Solved a rare issue with Fairplay encryption in Safari, not being able to fetch the license.
v0.18.4 (2 July, 2021)
Features
- Support for preferring a set keysystem for encrypted videos, overriding the default. (Should not be used without knowledge about its impact)
- Possible to set Poster image
Bug Fixes
- Don't pause on single tap on touch devices, when skin should be shown.
- Desktop will always use full skin, not mobile skin, whatever size of the video element.
Other
- Hover effect on buttons in the skin
- Background color on the time text while hovering the timeline, to now conflict visually with the buttons.
v0.18.3 (9 June, 2021)
Features
- Experimental bitrate tracking for Safari
- Possible to play by external asset id
Bug Fixes
- Minor initial entry delay on the skin to avoid falsy initialization visualization
- Require a proper
deviceId
to be sent in for analytics to work, as this was either way blocked in the backend.
Other
- Changed the buttons for jumping backward and forward to jump 10 seconds instead of 30, since it is easy to click multiple times for longer seeks.
v0.18.1 (24 May, 2021)
Features
- Support for dynamic analytics endpoint,
analyticsBaseUrl
, see analytics options. - Support for multiple audio and subtitle tracks for the same language, e.g. Audio description.
- Ability to initiate the player in audio only mode, playing just the audio stream from an asset.
Bug Fixes
- Check whether stream is seekable on live.
- Disable HEVC if the decoder can't initialize.
- Removing some forgotten event listeners on player destroy.
Other
- Bundled generated types for simpler SDK integration.
v0.17.3 (26 April, 2021)
Features
- Support for showing wall clock time instead of relative time, where applicable data is available.
- Updated hls.js and Shaka engines.
Bug Fixes
- Sprites not working
- Cast sender not being destroyed due to reference error
v0.16.0 (7 April, 2021)
Features
- New simplified initialization (>> Breaking change <<)
- Streaming Protocol and CDN Vendor included in Analytics and in session info (exposed by the
getSession
method) - Playlist support
Bug Fixes
- Some minor Chromecast related fixes
This release introduces a single change which is a new and simplified player initialization.
Old
const redBeePlayer = new redBeeMedia.RedBeePlayer(options, skinSettings);
const { playerInstance } = redBeePlayer.create().catch((e) => {
console.error(e);
});
playerInstance.on(PlayerEvents.ERROR, () => { ... })
playerInstance.pause();
New
const redBeePlayer = new redBeeMedia.RedBeePlayer({ player: { ... }, skin: { ... } });
redBeePlayer.load().catch((e) => {
console.error(e);
});
redBeePlayer.on(PlayerEvents.ERROR, () => { ... })
redBeePlayer.pause();
Read the documentation available here for more information. The old way is still supported but will removed in a future release, you simply need to change your import for it to work.
Old
import { RedBeePlayer } from '@redbeemedia/javascript-player'
New
import { RedBeePlayerDeprecated } from '@redbeemedia/javascript-player'
v0.15.2 (30 Mar, 2021)
Features
- Possible to disable Airplay through init param
disableAirPlay
. - Airplay state exposed in the state object during playback.
- Airplay state sent to Analytics.
- Added external events for Airplay & Ads.
Bug Fixes
- Skin timeline not showing correct span when the video lacked subtitle tracks.
- Minor visual fixes in the skin.
- Support for in manifest license url for Fairplay DRM.
- Using ResizeObserver rather than a window resize listener for level cap in Shaka, as it is a more sensible approach.
- Level cap in Shaka to meet contract restrictions set.
v0.14.1 (24 Mar, 2021)
Features
- Support for Adobe Primetime Token
- Support for the new CAF Chromecast Receiver
- Quality selector in the skin.
- Buttons in the skin, to jump back and forth.
- Possible to send in som skin options into the sdk.
Bug fixes
- Some minor fixes regarding metadata visualization
- Some minor fixes regarding analytics.
v0.13.0 (2 Mar, 2021)
Features
- Timeline Sprites, in both SDK and in the skin.
- SSAI tracking of Nowtilus SSAI streams.
- Analytics always enabled. Enhanced with more data as well.
Bug fixes
- Better PiP handling, closing PiP when player is destroyed.
- Some minor fixes for Chromecast and Airplay.
v0.6.1 (19 Jan, 2021)
Features
- Mobile Skin
- Possible to disable Cast through init param
disableCast
Bug fixes
- Fix for
setMuted
method - Fix for AirPlay of DRM content
< v0.6.0
- Initial release to customers