Web Platform Release Notes

Updates to the JavaScript Web SDK for custom web applications, React Native applications, and the VueJS Web Viewer Plugin.

2023-03-11 | Web SDK 0.1.44

View the 0.1.44 release tag for the full list of changes.

Features

Introduced a new Logger.diagnose() function to gather debugging information from playback clients. The data includes the SDK version, user agent, media stats, and application history into a format that can be helpful for reporting player problems. The number of data samples related to stream performance can be set with the statsCount parameter. See below for an example of the output from diagnose:

 {
  "version": "0.1.44",
  "timestamp": 1705005414689,
  "accountId": "...",
  "streamName": "demo",
  "subscriberId" "abc123",
  "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
   "connection": "connected",
   "stats": [{
       "currentRoundTripTime": 0.045,
       "totalRoundTripTime": 5.175,
       "video": {
          "inbounds": [{
               "bitrate": 488504,
               "frameHeight": 720,
               "frameWidth": 1280,
               "framesPersecond": 30,
               "jitter": 0.002,
               "mimeType": "video/H264",
               ...
          }]},
       "audio": {...}
   }]
}

Fixes

Added missed layer information in the view command. For Simulcast broadcasts, some options specified during view.connect() for configuring the available LayerInfo were not being configured correctly. Learn more about the available LayerInfo properties.

2023-01-22 | Web SDK 0.1.43

View the 0.1.43 release tag for the full list of changes. You may also want to review the Streaming Platform and Media Server Release Notes for details on the Geo-cascading, Backup Publishing, and Simulcast changes.

SDK Version

To improve traceability and reporting of issues, you can introspect the version of the SDK being used from millicast.Logger.VERSION.


millicast.Logger.VERSION
'0.1.43'

Broadcast Priority

To set up a broadcast that is resilient to failure (hardware, network, etc.) it is common to configure Backup Publishing where multiple sources are contributing to the same stream. The order in which the streams are started has been used to determine which stream is the primary and which one the backup. This can now be set explicitly with a priority value.

try {
  await publisher.connect({ priority: 100 });
} catch (e) {
  console.error('Connection failed: ', e);
}

Safari Browser

Fix to better support Safari browser under slow network conditions and managing reconnection attempts.

Documentation

The SDK documentation has been simplified so that Modules and Classes are more clearly identified.

You can find a class diagram in the repository that can be helpful to understand the relationships between classes and their properties.

There have also been improvements to descriptions: https://millicast.github.io/millicast-sdk

2023-12-06 - Web SDK 0.1.42

Improvements

Added documentation for demo packages.

Fixes

  • Now when connection is starting with autoReconnect set to false, reconnection is canceled properly in case of any connection error.
  • Fixed documentation typos.

2023-10-17 - Web SDK 0.1.41

Fixes

  • Fixed an issue where enabling iCloud Private Relay impacted audio and video delivery.
  • Security dependency updates.

2023-10-17 - Vue.js Web Viewer Plugin 1.1.3

Features

The plugin now uses the Web SDK 0.1.41.


2023-10-12 - Vue.js Web Viewer Plugin 1.1.2

Features

The plugin now uses the Web SDK 0.1.40.

Fixes

Improved resolution settings. Now, when multiple quality options have the same resolution, only the highest bitrate is selected.


2023-10-11 - Web SDK 0.1.40

Features

  • The SDK now supports publishing H.265 in browsers that support this codec.
  • Introduced automatic reconnection logic upon connection loss.
  • Added examples to the sample application to demonstrate:
    • Multiview and switching sources
    • Quality selection when multi-bitrate (simulcast) is used for playback
  • Improved the broadcastEvent description, which now lists all event names and describes their meaning.

Fixes

Security dependency updates.


2023-09-08 - Vue.js Web Viewer Plugin 1.1.1

Fixes

Fixed an issue where the main source label had a wrong value when the source did not arrive at first.


2023-09-06 - Vue.js Web Viewer Plugin 1.1.0

Features

  • Added a grid layout for multiview.
  • Introduced the layout query parameter. In the case of setting the layout parameter to grid and multisource to true, the default layout upon opening the stream is the grid layout.
  • Introduced the mainLabel query parameter. When multisource is enabled, the new parameter allows changing the label of the main video.
  • Added playback of side sources in low quality in multiview.

Fixes

  • Fixed black screen issues in multiview that occurred on iPhones.
  • Fixed a vertical scrollbar issue in the hosted viewer.
  • The quality selector now displays correct layers when using multiview with Simulcast.
  • Enhanced experience for non-main content playback.
  • Improved source connections and disconnections handling in multiview.
  • The plugin now uses the unproject command to correctly unmount side sources in multiview.
  • Media stats are now correctly displayed in multiview.
  • Running time on Safari is now properly displayed.
  • Now the scrollbar works properly when side panel content overflows.
  • Fixed an issue where the viewer did not recover correctly from reconnections after stopping all publisher streams.
  • The media stats table now reports the correct video bitrate for each source.

2023-03-20 - Web SDK 0.1.39

Features

  • Added a new changes section to sample applications.
  • Updated JSDoc files with new reconnect behavior and data parameters.

Changes

The reconnect event is now triggered with every reconnection attempt.


2023-03-06 - Web SDK 0.1.38

Features

  • Added support for the H.265 codec on browsers supporting the codec.
  • Added the playout delay option to the Viewer.

Fixes

Fixed the Viewer and Publisher example codes in the readme file.


2023-01-13 - Vue.js Web Viewer Plugin 1.0.0

Features

Introduced the Vue.js viewer plugin that allows developers to simplify Millicast services integration into their own Vue.js applications. For more information, see the npmjs repository.


2023-01-12 - Web SDK 0.1.37

Fixes

  • Fixed links in the table of contents.
  • Changed the name of the declaration types file.
  • Updated documentation describing the stopped function in Signaling.js.

2022-12-27 - Web SDK 0.1.36

Features

Added a typescript declaration file and its configuration. The type definition file is located in millicast-sdk/packages/millicast-sdk/src/types/.

Fixes

  • Disabled H.264 hardware accelerated codecs in Opera.
  • Fixed an issue related to the millicast.esm.js file located in the millicast-multiview-demo folder. We also changed the import to use the CDN version instead of the file.

2022-10-28 - Web SDK 0.1.35

Features

  • Added typescript configuration corrections.
  • Now the Millicast Web SDK supports integration with the React Native WebRTC plugin. This allows developers to simplify Millicast services integration into their own React Native applications. The previous React Native SDK was deprecated. For more information, see the React Native documentation.