Release Notes

1.72.0

Released: 2024-03-14

Added

  • setHttpAgent API call to set a new httpAgent object onto the video node
  • manifestDataParsed event to publicly expose parsed tags (e.g. EXT-X-KEY)

Changed

  • Improve HLS Manifest parsing to happen sooner when nativeHlsParsingEnabled is set to true
  • Performance improvements to handling of metadata

1.71.0

Released: 2023-07-10

Fixed

  • Incorrect Y value of thumbnails returned by getThumbnail

1.70.0

Released: 2023-04-14

Added

  • Firing ad error if ad manifest requests fail or time out

Fixed

  • Playback sometimes starting with main content instead of pre-roll in case of VMAP ads
  • getThumbnail only returns thumbnails discovered in the last segment

1.69.0

Released: 2022-03-15

Fixed

  • Default UI elements being shown even though ui is set to false in player configuration

1.68.0

Released: 2022-02-23

Added

  • Support for IMA DAI

1.67.0

Released: 2022-01-13

Added

  • Tweak to enableThumbnailTilesDuringLive

1.66.1

Released: 2022-10-18

Fixed

  • BMP_scheduledTime calculation for emsg metadata

1.66.0

Released: 2022-10-12

Fixed

  • Execution timeout when playing streams with server side ad insertion

Deprecated

  • useTimedMetadata2 tweak as timedMetaData2 is now the default

1.65.0

Released: 2022-08-31

Fixed

  • Value provided by getMaxTimeShift API not updating for live streams with changing DVR window length

1.64.0

Released: 2022-07-19

Fixed

  • Crash when using useTimedMetadata2 tweak and encountering EXT-X-DATERANGE HLS tags containing commas in tag attribute values
  • Numeric attribute values of EXT-X-DATERANGE HLS tags wrongfully exposed as string
  • Metadata events for EXT-X-DATERANGE HLS tags being fired for date ranges that lie earlier than the starting playback time on live streams

1.63.1

Released: 2022-06-28

Fixed

  • Multiple VMAP ad breaks not being played

1.63.0

Released: 2022-06-21

Added

  • Option to automatically detect live or vod content by setting source.assetType to AUTO (HLS streams only)

Fixed

  • enableInPodStitching wouldn't function after code obfuscation
  • All EXT-X-DATERANGE events being fired as soon as they are parsed instead of their approriate times in case of VoD

1.62.1

Released: 2022-05-25

Fixed

  • source.adaptation as well as adaptiveMinStartBitrate and adaptiveMaxStartBitrate not being optional

1.62.0

Released: 2022-05-24

Added

  • adaptiveMinStartBitrate and adaptiveMaxStartBitrate to the source.adaptation configuration to specify the minimum and maximum startup bitrate respectively

Fixed

  • EXT-X-DATERANGE events are not being fired again after seeking behind and crossing over the timestamp
  • EXT-X-DATERANGE events are being surfaced at the wrong time

1.61.0

Released: 2022-04-26

Added

  • enableInPodStitching to advertising config to enable stitching together of multiple ads within an ad break

1.60.0

Released: 2022-03-15

Fixed

  • Crash when trying to schedule ads with an invalid ad url

1.59.0

Released: 2022-03-01

Changed

  • Updated Demand API to follow specification version 7.8

Fixed

  • Crash when calling timeshift before player state was set to playing

1.58.0

Released: 2022-02-02

Added

  • Demand API demandApiFetchAds API call to retrieve and parse the list of ads to be rendered. To access and use the Demand API check Roku's documentation about it since one needs to get into contact and work with the Roku Partner Program.
  • demandApiFetchAdsResult to receive the result of the demandApiFetchAds API call

1.57.0

Released: 2022-01-17

Added

  • useTimedMetadata2 tweak to enable the surfacing of additional metadata
  • Support for Demand API. To access and use the Demand API check Rokus documentation about it since one needs to get into contact and work with the Roku Partner Program.

Fixed

  • Crash when receiving SCTE-35 metadata

1.56.0

Released: 2021-12-21

Added

  • More detailed descriptions of events

1.55.0

Released: 2021-12-07

Added

  • Additional troubleshooting information to error codes

Fixed

  • adError event not properly being fired

1.54.0

Released: 2021-11-23

Added

  • Timestamps to all events

1.53.0

Released: 2021-11-09

Added

  • SubtitleAdded event
  • SubtitleChanged event

1.52.0

Released: 2021-10-27

Fixed

  • Crash when using getSubtitle

Added

  • Rokus native error fields to the players error events data field.
  • Timestamp to error event

1.51.0

Released: 2021-09-28

Added

  • Documentation details for metadata support
  • Add additional documentation about metadata
  • Support for Ext-X-Daterange metadata; Needs to be explicitly enabled via nativeHlsParsingEnabled flag
  • "Using the API" guide

Fixed

  • The use of wrong property name for advertising configuration in documentation
  • Crash when autoplay is not present in the player config

1.50.0

Released: 2021-08-31

Added

  • enableAdvertisingDebugOutput to advertising config within the player config to enable RAF debug output

1.49.0

Released: 2021-07-20

Fixed

  • Impression sent prior to preroll adBreak start in case when autoplay is set to false

1.48.0

Released: 2021-07-08

Fixed

  • Calling load from error event callback does not result in player loading the new source
  • Postroll ads playing as preroll ads in case when load is called after error event
  • Wrong event ordering when load is called after error event
  • ad_getActiveAdBreak API always returns invalid

1.47.0

Released: 2021-06-08

Fixed

  • Live streams do not start at the live edge when no startOffset was set

1.46.0

Released: 2021-05-11

Added

  • Documentation for customization of progressBarBackground and progressBarIndicator layers of adBufferingScreen

Changed

  • Stop emitting unintentionally triggered playerState event with stopped value right before an Ad

1.45.0

Released: 2021-04-27

Added

  • Support for customization of title, description and posterImage of adBufferingScreen using source.title, source.description and source.poster properties

1.44.0

Released: 2021-04-13

Added

  • Support for customization of description of adBufferingScreen
  • Support for customization of background of adBufferingScreen

Fixed

  • Crash when ad tag url is invalid or unreachable
  • Crash when CUE tag of SCTE35 event contains ID character set

1.43.0

Released: 2021-03-30

Added

  • disableImageMediaPlaylistParsing tweak to disable ImageMediaPlaylist parsing
  • Support for customization of bufferingMessage and progressBarMessage of adBufferingScreen

Fixed

  • Pre-roll ads would start playing immediately even though autoplay is set to false
  • Support for customization of posterImage and title of adBufferingScreen

Fixed

  • Crash when ImageMediaPlaylist is used with single thumbnail images

1.42.0

Released: 2021-03-16

Added

  • Support for general audience measurements using metadata property of source config

1.41.2

Released: 2021-02-26

Fixed

  • SCTE-35 metadata events not being surfaced if parameters are present in playlist variant url

1.41.1

Released: 2021-02-24

Fixed

  • Crash if nativeHlsParsingEnabled is set to true and relative url is used for segment url in playlist variant

1.41.0

Released: 2021-02-16

Added

  • isAd API call to detect if an ad is currently playing
  • Fire TimeChanged events during ad playback

1.40.0

Released: 2021-02-02

Added

  • timeChanged event
  • getCurrentTime API call

Fixed

  • adQuartile event not being fired

Deprecated

  • currentTime event

1.39.1

Released: 2021-01-26

Fixed

  • Crash when calling setHttpHeaders on the player

1.39.0

Released: 2021-01-19

Added

  • Mapping of ROKU Pause ad event to playerState field
  • Mapping of ROKU Resume ad event to playerState field
  • Support for nativeHlsParsingEnabled flag as part of tweaks configuration which is now available in player configuration
  • EXT-X-SCTE35 Tags Support. Need to be explicitly enabled via nativeHlsParsingEnabled flag

1.38.0

Released: 2020-12-8

Fixed

  • Start time of pre-roll ads being negatively impacted by the number of ads scheduled.

1.37.0

Released: 2020-11-24

Added

  • impression event which is emitted when the impression call was sent successfully
  • licenseValidated which is fired when a licensing call succeeded
  • Support for image-media-playlist through our getThumbnail API. This requires ROKU OS version 9.4 or later.

1.36.1

Released: 2020-10-28

Fixed

  • Crash on startup due to misconfigured BMPCaptionService

1.36.0

Released: 2020-10-27

Fixed

  • Calling play after preload does not result in video being played

1.35.0

Released: 2020-10-13

Fixed

  • Calling play while already playing caused the stream to restart

1.34.0

Released: 2020-09-29

Added

  • Support for Set-Cookie headers

Fixed

  • Player crashing on a license error in case the destroy method was overridden
  • adBreaks not cleared after source has been unloaded

1.33.0

Released: 2020-09-15

Fixed

  • Impression only sent for first item in the playlist

1.32.0

Released: 2020-09-01

Added

  • Possibility to add HTTP headers to DRM requests via source.drm.headers

1.31.0

Released: 2020-08-17

Added

  • Missing documentation for adConfig object
  • Missing documentation for assetType

1.30.0

Released: 2020-07-21

Fixed

  • Missing Bitmovin Player ROKU SDK version in documentation

1.29.1

Released: 2020-07-07

Fixed

  • Crash during playback caused by incorrect data for native video player position field

1.29.0

Released: 2020-06-23

  • Internal improvements

1.28.0

Released: 2020-06-09

Fixed

  • Crash after unexpected error code is received by BitmovinPlayer

1.27.1

Released: 2020-05-26

Fixed

  • Wrong types in documentation for options and startOffset

1.27.0

Released: 2020-05-12

  • Internal improvements

1.26.1

Released: 2020-05-07

Fixed

  • Player license verification failing even though a valid license key is used

1.26.0

Released: 2020-04-28

Fixed

  • No ads due to ad handler being set up before task was run

Added

  • audioDownloadQualityChanged event which is fired once quality of downloaded audio segment is changed
  • videoDownloadQualityChanged event which is fired once quality of downloaded video segment is changed

1.25.0

Released: 2020-04-14

Added

  • setCaptionMode API call
  • destroy API call as well as destroy event that signals that the player is destroyed

Deprecated

  • captionMode API call

Fixed

  • getThumbnail API call returning outdated thumbnails when loading a new source
  • Warning for setting a value to non-existent field

1.24.0

Released: 2020-03-30

Added

  • Support for Roku Advertising Framework

Interal

  • Replaced onFocusedChanged workaround by using activeAdBreak and adBreakFinished events
  • Added adQuartile event
  • Added adSkipped event
  • Added adStarted event
  • Added adFinished event
  • Added adError event
  • Added ad_getActiveAdBreak API call
  • Added adInteraction event
  • Added adBreakFinished and adBreakStarted events
  • Added ad_discardAdBreak API call
  • Added ad_list API call
  • Added support for vmap ads
  • Support for vast ads in form of an advertising config as part of the source config
  • Internal RAF integration in preparation to implement ad support
  • Fixed BitmovinPlayerTask not ready on init
  • Added ad_schedule API call
  • Refactor enums to comply with naming convention

1.23.0

Released: 2020-03-16

Changed

  • Internal improvements

1.22.0

Released: 2020-03-02

Fixed

  • Incomplete thumbnail URL returned by getThumbnail
  • getThumbnail adds base URL to returned image URL even when absolute URLs are present in the VTT file

1.21.0

Released: 2020-02-17

Added

  • GET_VERSION to BitmovinFunctions to expose the player version
  • Allow setting Bitmovin Player license key in the player configuration as config.key. If no key is present in the player configuration, the key is read from the channel manifest

1.20.0

Released: 2020-02-03

Added

  • Errors section to documentation

Fixed

  • Documentation can now differentiate between methods and properties with the same name

1.19.0

Released: 2020-01-20

Added

  • Support for all progressive streaming formats supported by Roku devices

Fixed

  • seek no longer works in case of a live stream.

1.18.0

Released: 2019-12-19

Added

  • startOffset and startOffsetTimelineReference options in the source config to allow setting the playback start position for the stream

1.17.0

Released: 2019-12-09

Changed

  • Internal changes and perfromance improvements

1.16.2

Released: 2019-10-28

Fixed

  • Video playback with source containing ThumbnailTrack in WebVTT format crashes player after second playback

1.16.1

Released: 2019-10-14

Fixed

  • Error introduced with code obfuscation

1.16.0

Released: 2019-10-14

Fixed

  • Error view is not removed when an error occurred and a new source is loaded

1.15.0

Released: 2019-09-30

Added

  • instantReplay API call to allow instant replay of the last couple of seconds of content
  • audioChanged field which is set when the currently selected audio track has changed
  • Support for resume when player state is paused and play API is called
  • muted and unmuted events
  • downloadFinished event

1.14.0

Released: 2019-09-16

Added

  • getThumbnail API method to get the Thumbnail object for a specific playback time

1.13.0

Released: 2019-08-19

Fixed

  • Added default params to all public method signatures

1.12.1

Released: 2019-08-07

Fixed

  • Error in obfuscation crashes player

1.12.0

Released: 2019-08-05

Added

  • Support for playlists

1.11.0

Released: 2019-07-22

Added

  • Support for ContentNodes as an alternative to the player source configuration. ContentNodes can now be set as the source in a player configuration and can be passed to the load API call

Fixed

  • Player resolution is now based on display screen instead of always being full hd
  • Changing subtitle tracks no longer cause the player to stall and buffer

1.10.0

Released: 2019-07-08

Added

  • API functions setSubtitleStyles and getSubtitleStyles to allow styling of subtitles

Fixed

  • Player no longer always claims the focus
  • Errors in an obfuscated player would cause a crash

1.9.0

Released: 2019-06-25

Changed

  • Displaying of errors. Error messages are shown along with the error code and name

1.8.0

Released: 2019-06-11

Fixed

  • error event is now fired before unload event
  • Closed Caption mode can now be changed before playback has started

1.7.0

Released: 2019-05-27

Added

  • Custom HTTP header support

1.6.0

Released: 2019-05-13

Added

  • getDuration API method to get the duration from the video node

1.5.0

Released: 2019-04-30

Added

  • BIF thumbnail track support

Fixed

  • timeShifted event is now fired after playback resumes instead of when the timeshift operation begins
  • Using the remote control in a live stream now fires timeShift events instead of seek events

1.4.0

Released: 2019-04-17

Added

  • getConfig API call which returns the current config of the player
  • metadata field which contains the most recent received metadata from the video stream
  • Support for timed EMSG metadata

Fixed

  • Remote control cannot start initial playback

1.3.0

Released: 2019-04-03

Added

  • Observable fields timeShift and timeShifted in addition to API functions timeShift,
    getTimeShift, getMaxTimeShift to manipulate playback in live content.
  • Field assetType in the source config to signal whether the content is live
  • sourceLoaded and sourceUnloaded events
  • play event which notifies about the intention to start/resume playback.
  • isLive API call

1.2.0

Released: 2019-03-21

Added

  • Field currentTime to get the current playback position of the player in seconds
  • Allow the default UI to be disabled by adding 'ui: false' to the config file
  • Fire seek and seeked events when fast forward or rewind is done using the remote control

1.1.0

Released: 2019-02-05

Added

Changed


1.0.0

Released: 2018-10-10

Added

  • Initial Changelog

1.0.0-b.2

Released: 2018-09-07

Added

Fixed

  • Stability fixes and improvements

1.0.0-b.1

Released: 2018-08-09

Added

  • Supported Streaming formats: MPEG-DASH, HLS, Smooth Streaming, Progressive
  • Supported Content protection schemes: MPEG-DASH/PlayReady, Smooth Streaming/PlayReady, HLS/AES-128
  • Player API calls: setup, load, unload, preload, play, pause, seek, mute, unmute, captionMode, isMuted, isPlaying, isPaused, isStalled, availableSubtitles
  • Observable fields: playerState, error, warning, seek, seeked
  • Player states (playerState field): setup, ready, playing, paused, finished, stalling, error
  • Player licensing integration