SDK Release Notes

Release Notes for senza-sdk library

This page covers changes to the Client Library. For changes to the platform, see the Release Notes.

Changelog

All notable changes to this package are documented in this file.

[4.2.4] - 2025-01-14

Fixed

  • Fix mistake in jsdocs of timeout property of userinactivity event

[4.2.3] - 2025-01-12

Added

  • Introducing a new tag alpha to indicate that an API has not yet been released. When released, tag will be removed. If no tagging, API is in released state and fully trusted.
    This includes deviceManager.getWifiInfo, lifecycle.moveToUiStandby and userinactivity which are tagged as alpha.

[4.2.2] - 2025-01-06

Changed

  • Upon receiving a timeupdate event, senza sdk now synchronizes the local player time to the remote player time.
    The web application will no longer need to set the local player time if the local player video tag is attached to the remote player.

[4.2.1] - 2025-01-02

Changed

  • When moving the application to background (by calling lifecycle.moveToBackground()), senza sdk now synchronizes the remote player time to the local player time.
    The web application will no longer need to set the remote player time if the local player video tag is attached to the remote player.

[4.2.0] - 2025-01-01

Added

  • Added SenzaShakaPlayer (experimental). The SenzaShakaPlayer is a subclass of the Shaka player that seamlessly handles playback of both local and remote players. It abstracts the complexities of switching between local playback using Shaka Player and remote playback using the Senza cloud connector.

[4.1.6] - 2024-12-25

Changed

  • Remove internal calls to deprecated api lifecycle.getState() and use lifecycle.state instead.

[4.1.5] - 2024-12-12

Removed

  • Remove unused vars that were used only for testing purposes

[4.1.4] - 2024-12-10

Added

  • Expose all senza APIs on window.senza for testing purposes

[4.1.3] - 2024-12-04

Added

  • userinactivity event added on lifecycle module. Release stage is alpha.
  • A new api lifecycle.moveToUiStandby() to move the application into standby mode. Release stage is alpha.

[4.1.2] - 2024-12-09

Changed

  • added state checks to lifecycle.moveToForeground and lifecycle.moveToBackground

[4.1.1] - 2024-12-05

Changed

  • lifecycle.moveToForeground and lifecycle.moveToBackground to return promise

[4.1.0] - 2024-12-05

Deprecated

  • Function lifecycle.getState is deprecated. Use lifecycle.state instead.

Added

  • A new api lifecycle.state to get the current lifecycle ui state

[4.0.9] - 2024-12-04

Changed

  • Internal change of property names for testing purposes

[4.0.8] - 2024-12-02

Added

  • Expose deviceManager on the window object for testing purposes

[4.0.7] - 2024-11-28

Deprecated

  • Property deviceManager.wifiInfo is deprecated. Use deviceManager.getWifiInfo() instead.
  • Event DeviceManager#wifiInfoUpdated is deprecated. Call deviceManager.getWifiInfo() as often as you want (the data will be refreshed only every 5 seconds)

Added

  • A new api deviceManager.getWifiInfo() to get Wi-Fi access point data and status. Release stage is alpha.

[4.0.6] - 2024-11-28

Added

  • exported devSequence functions in api

[4.0.5] - 2024-11-27

Added

  • new devSequence component to monitor API calls

[4.0.4] - 2024-11-26

Added

  • A new api remotePlayer.unload() to unload a previously loaded url in the remote player

[4.0.3] - 2024-11-19

Changed

  • remotePlayer.pause and remotePlayer.play to return promise

[4.0.2] - 2024-11-17

Changed

  • Change remotePlayer event name from canPlay to canplay to comply with HTMLMediaElement event name

[4.0.1] - 2024-11-17

Changed

  • Enhancement for setting remotePlayer.currentTime, to update the remote player immediately

[4.0.0] - 2024-11-10

Changed

  • remotePlayer.play api no longer accepts the boolean parameter moveToBackground. In order to move to background the application must explicitly call lifecycle.moveToBackground()

[3.22.5] - 2024-11-04

Removed

  • Keypress indicator has been removed from the SDK since it's now handled by the ui-streamer

[3.22.4] - 2024-11-03

Changed

  • Code refactoring, no api changes. Change internal playback event names from "ERR" to "hs/ERR" and from "EOS" to "hs/EOS".

[3.22.2] - 2024-10-01

Added

  • Improve local player audio sync by performing seek on big gaps

[3.22.1] - 2024-09-24

Added

  • Add default value of empty string to the data parameter in alarmManager.addAlarm api

[3.22.0] - 2024-09-08

Added

  • Implemented the appConfig API in the PlatformManager file.
    Returns the application config object including the configured tenant's territories.

Deprecated

  • setTimeZone() is deprecated, use platformManager.setTimeZone instead.

[3.21.1] - 2024-09-03

Added

  • new event remotePlayer.canPlay

Changed

  • API remotePlayer.registerVideoElement marked as deprecated use remotePlayer.attach instead

[3.21.0] - 2024-09-02

Changed

  • Removed webpack bundling from the npm release to ensure IDE code-completion functions correctly, while continuing to bundle for the CDN release.

[3.20.2] - 2024-07-11

Changed

  • Lifecycle exitApplication API adds the splashUrl to the "reconnect" message.

[3.20.0] - 2024-07-09

Changed

  • The SDK was migrated from github registry to the default npm public registry and was renamed to senza-sdk

Install

npm install senza-sdk

Import

import { init, uiReady } from "senza-sdk";

[3.19.9] - 2024-07-04

Changed

  • Change global library name from 'hs' to 'senza'. For backward compatibility, 'hs' can still be used. This is relevant only for web applications that import the library from the CDN.

[3.19.8] - 2024-06-20

Fixed

  • Fix build script

[3.19.7] - 2024-06-18

Added

  • Tests: ES5 import of hs-sdk

[3.19.6] - 2024-06-05

Added

  • Automatically upload hs-sdk version to the CDN

[3.19.5] - 2024-05-16

Added

[3.19.4] - 2024-05-13

Fixed

  • The API registerVideoElement will be listening to video tag info changes all the time without waiting to load and run.

[3.19.3] - 2024-05-02

Fixed

  • Adding event to videoTag in order to signal remotePlayer about load events on the localPlayer, this is to support sync of audio in UI

[3.19.1] - 2024-03-28

Fixed

  • deviceManager.deviceInfo now return correct value.

Deprecated

  • getDeviceInfo() is deprecated, use deviceManager.deviceInfo instead.

[3.18.2] - 2024-03-20

Fixed

  • Update text and audio tracks when application is loaded after ui release

[3.18.1] - 2024-03-03

Added

  • New API in remotePlayer module - getPresentationStartTimeAsDate(). It returns the presentation start time as a date.
    It should only be called when the player has loaded a live stream. If the player has not loaded a live stream, it will return null.

[3.18.0] - 2024-03-03

Added

  • Implemented the factoryReset API in the deviceManager file, which issues a factory reset command to the device.
    The returned Promise resolves upon receiving device confirmation of a successful reset.

[3.17.3] - 2024-02-29

Added

  • Override window.close() since it's not allowed on Senza platform (use lifecycle.exitApplication() instead)

[3.17.2] - 2024-02-21

Changed

  • Increase test coverage

Changed

  • In logs of remotePlayer load api, change the url field to loadUrl so that it won't override the application url log field.

[3.17.0] - 2024-01-21

Added

  • In remotePlayer file, added a new registerVideoElement API which will cause the load and play API's
    to request for the video element info

[3.16.1] - 2024-01-15

Added

  • In alarmManager.addAlarm API, a type check was added for the data parameter (must be a string)

[3.16.0] - 2024-01-02

Changed

  • Move switchTenant and exitApplication APIs from the main entry point to the lifecycle module

[3.15.14] - 2024-01-01

Changed

  • Upgrade sdk version in sample apps

[3.15.13] - 2024-01-01

Added

  • Print remote player error event to console log

[3.15.12] - 2023-12-31

Fixed

  • Handle error and ended events in sample application remotePlayer-startPlayback

[3.15.11] - 2023-12-24

Changed

  • Change the keys remotePlayer-startPlayback sample app uses. Instead of using only SELECT to toggle start/stop playback, it now uses SELECT to start and BACK to stop.

[3.15.10] - 2023-12-05

Fixed

  • In order to support server side rendering, set parameters to the window object only if defined

[3.15.8] - 2023-11-08

Added

  • Add clientIp to getDeviceInfo() returned object

[3.15.7] - 2023-11-08

Changed

  • Update sample applications and README

[3.15.4] - 2023-11-07

Added

  • A new api deviceManager.sendDataToDevice(data). This api passes the input data to the device.

[3.15.3] - 2023-10-22

Changed

  • Improvements for better browser compatibility.

[3.15.2] - 2023-10-19

Added

  • Documentation for remote player error codes

Changed

  • If load() is called while the application is in 'background' state, the sdk now throws error 6002 instead of 23

[3.15.1] - 2023-10-18

Changed

  • Refactored the codebase to use pure ES6 syntax for better browser compatibility.
    • Removed usage of require for module imports. Now using ES6 import statements.
    • Replaced module.exports with ES6 export statements.
    • Code is now bundled into a single file using Webpack, making it easier to import and use in various projects.

[3.14.8] - 2023-10-15

Changed

  • Load timeout is no longer hard coded 14 seconds, but can be configured in ui-streamer settings and is defaulted to 6 seconds

[3.14.7] - 2023-10-11

Fixed

  • In case remotePlayer.load() failed due to error 99 (i.e. invalid message), keep the load mode and asset uri as they were before the failure.

[3.14.5] - 2023-09-18

Added

  • url field has been added to all sdk logs as part of [log-fields]

[3.14.3] - 2023-09-06

Added

  • Developer helper module that writes to console log "hints" to the developer. Currently, there is one hint implemented - a reminder to call lifecycle.MoveToForeground() upon getting a keypress/error/ended event when in background state.

[3.14.2] - 2023-09-04

Added

  • Transfer all hs-sdk logs to the following format:
    [hs-sdk] <log message> [log-fields] <stringified json of key-value pairs>