twilio-video 2.29.0-preview.1 → 2.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/CHANGELOG.md +40 -2
  2. package/LICENSE.md +1 -1
  3. package/README.md +1 -5
  4. package/dist/twilio-video.js +643 -61
  5. package/dist/twilio-video.min.js +23 -22
  6. package/es5/connect.js +16 -8
  7. package/es5/connect.js.map +1 -1
  8. package/es5/createlocaltrack.js +8 -0
  9. package/es5/createlocaltrack.js.map +1 -1
  10. package/es5/media/track/localaudiotrack.js +8 -3
  11. package/es5/media/track/localaudiotrack.js.map +1 -1
  12. package/es5/media/track/localmediatrack.js +20 -6
  13. package/es5/media/track/localmediatrack.js.map +1 -1
  14. package/es5/media/track/localvideotrack.js +18 -3
  15. package/es5/media/track/localvideotrack.js.map +1 -1
  16. package/es5/media/track/mediatrack.js +36 -6
  17. package/es5/media/track/mediatrack.js.map +1 -1
  18. package/es5/media/track/remoteaudiotrack.js +6 -1
  19. package/es5/media/track/remoteaudiotrack.js.map +1 -1
  20. package/es5/media/track/sender.js +8 -1
  21. package/es5/media/track/sender.js.map +1 -1
  22. package/es5/media/track/videotrack.js +7 -10
  23. package/es5/media/track/videotrack.js.map +1 -1
  24. package/es5/participant.js +14 -2
  25. package/es5/participant.js.map +1 -1
  26. package/es5/room.js +2 -2
  27. package/es5/room.js.map +1 -1
  28. package/es5/signaling/localtrackpublication.js +8 -1
  29. package/es5/signaling/localtrackpublication.js.map +1 -1
  30. package/es5/signaling/v2/iceconnectionmonitor.js +12 -2
  31. package/es5/signaling/v2/iceconnectionmonitor.js.map +1 -1
  32. package/es5/signaling/v2/peerconnection.js +22 -4
  33. package/es5/signaling/v2/peerconnection.js.map +1 -1
  34. package/es5/util/index.js +11 -0
  35. package/es5/util/index.js.map +1 -1
  36. package/es5/webrtc/getstats.js +442 -8
  37. package/es5/webrtc/getstats.js.map +1 -1
  38. package/lib/connect.js +16 -8
  39. package/lib/createlocaltrack.js +9 -0
  40. package/lib/createlocaltracks.ts +5 -0
  41. package/lib/index.ts +1 -1
  42. package/lib/media/track/localaudiotrack.js +8 -3
  43. package/lib/media/track/localmediatrack.js +18 -6
  44. package/lib/media/track/localvideotrack.js +15 -3
  45. package/lib/media/track/mediatrack.js +36 -6
  46. package/lib/media/track/remoteaudiotrack.js +5 -1
  47. package/lib/media/track/sender.js +7 -1
  48. package/lib/media/track/videotrack.js +6 -13
  49. package/lib/participant.js +14 -2
  50. package/lib/room.js +2 -2
  51. package/lib/signaling/localtrackpublication.js +9 -1
  52. package/lib/signaling/v2/iceconnectionmonitor.js +10 -2
  53. package/lib/signaling/v2/peerconnection.js +24 -5
  54. package/lib/util/index.js +12 -0
  55. package/lib/webrtc/getstats.js +306 -11
  56. package/package.json +3 -2
  57. package/tsdef/VideoProcessor.d.ts +15 -0
  58. package/tsdef/twilio-video-tests.ts +72 -0
  59. package/tsdef/types.d.ts +26 -3
package/CHANGELOG.md CHANGED
@@ -2,16 +2,54 @@ The Twilio Programmable Video SDKs use [Semantic Versioning](http://www.semver.o
2
2
 
3
3
  **Version 1.x reached End of Life on September 8th, 2021.** See the changelog entry [here](https://www.twilio.com/changelog/end-of-life-complete-for-unsupported-versions-of-the-programmable-video-sdk). Support for the 1.x version ended on December 4th, 2020.
4
4
 
5
- 2.29.0-preview.1 (August 13, 2024)
6
- ==================================
5
+ 2.30.0 (March 28, 2025)
6
+ ========================
7
+
8
+ New Features
9
+ ------------
10
+
11
+ ### WebRTC Overrides (Beta)
12
+
13
+ The SDK now enables you to override WebRTC APIs with the following options. If your environment supports WebRTC redirection—such as [Citrix HDX](https://www.citrix.com/solutions/hdx.html)'s WebRTC [redirection technologies](https://www.citrix.com/blogs/2019/01/15/hdx-a-webrtc-manifesto/)—your application can leverage this new beta feature to enhance media quality in those environments. For more details, please refer to the [JavaScript WebRTC Overrides](https://www.twilio.com/docs/video/javascript-webrtc-overrides) documentation.
14
+
15
+ **ConnectOptions**
16
+
17
+ - `rtcConfiguration` - An optional `RTCConfiguration` object passed to the RTCPeerConnection constructor.
18
+ - `RTCPeerConnection` - Allows overriding the native `RTCPeerConnection` class.
19
+
20
+ **ConnectOptions and CreateLocalTracksOptions**
21
+
22
+ - `getUserMedia` - Overrides the native `MediaDevices.getUserMedia` API.
23
+ - `enumerateDevices` - Overrides the native `MediaDevices.enumerateDevices` API.
24
+ - `MediaStream` - Overrides the native `MediaStream` class.
25
+ - `mapMediaElement` - Callback triggered after a media track is attached to an audio or video element.
26
+ - `disposeMediaElement` - Callback triggered after a media track is detached from an audio or video element.
27
+
28
+ Bug Fixes
29
+ ---------
30
+
31
+ - Fixed a bug where a Chrome iOS Participant's local audio (Krips Noise Cancellation enabled) did not recover after disconnecting a bluetooth headset. (VIDEO-13010)
32
+
33
+ 2.29.0 (December 5, 2024)
34
+ ================================
7
35
 
8
36
  Changes
9
37
  -------
10
38
 
39
+ ### Video Processor V3 support (Beta)
40
+ - `AddProcessorOptions.outputFrameBufferContextType = 'bitmaprenderer'` is now supported on Safari and Firefox. (VBLOCKS-3643, VBLOCKS-3644)
11
41
  - `AddProcessorOptions.inputFrameBufferType` now has a new value `videoframe`. On browsers that support [`VideoFrame`](https://developer.mozilla.org/en-US/docs/Web/API/VideoFrame), the `inputFrameBuffer` argument of [`VideoProcessor.processFrame()`](https://twilio.github.io/twilio-video-processors.js/classes/VirtualBackgroundProcessor.html#processFrame) will be a `VideoFrame`. On other supported browsers, it will be an `HTMLVideoElement`.
12
42
  - `AddProcessorOptions.outputFrameBufferContextType` now has a new value `bitmaprenderer`. Currently, this is only **supported for Chromium-based browsers**. On other supported browsers, it falls back to `2d`.
13
43
  - Patched the build script to work around the issue: https://github.com/markdown-it/linkify-it/issues/111.
14
44
 
45
+ 2.28.2 (November 22, 2024)
46
+ ==========================
47
+
48
+ Bug Fixes
49
+ ---------
50
+
51
+ - Fixed a bug in Desktop Safari 18 and all iOS browsers on iOS 18 where cloning a disabled `MediaStreamTrack` would incorrectly set the `enabled` property to `true` instead of preserving the original disabled state. This ensures track cloning behavior matches the MediaStreamTrack specification and works consistently across browsers. Bug report: https://bugs.webkit.org/show_bug.cgi?id=281758
52
+
15
53
  2.28.1 (October 3, 2023)
16
54
  ========================
17
55
 
package/LICENSE.md CHANGED
@@ -1,7 +1,7 @@
1
1
  The following license applies to all parts of this software except as
2
2
  documented below.
3
3
 
4
- Copyright (C) 2019-2022 Twilio, inc.
4
+ Copyright (C) 2019-2025 Twilio, inc.
5
5
  All rights reserved.
6
6
 
7
7
  Redistribution and use in source and binary forms, with or without
package/README.md CHANGED
@@ -3,10 +3,6 @@ twilio-video.js
3
3
 
4
4
  [![NPM](https://img.shields.io/npm/v/twilio-video.svg)](https://www.npmjs.com/package/twilio-video) [![CircleCI](https://circleci.com/gh/twilio/twilio-video.js/tree/master.svg?style=svg&circle-token=80e91c8284c21ff16d3003702e17b903c0b32f1d)](https://circleci.com/gh/twilio/twilio-video.js/tree/master)
5
5
 
6
- > [!WARNING]
7
- > We are no longer allowing new customers to onboard to Twilio Video. Effective **December 5th, 2026**, Twilio Video will End of Life (EOL) and will cease to function for all customers. Customers may transition to any video provider they choose, however, we are recommending customers migrate to the Zoom Video SDK and we have prepared a [Migration Guide](https://developers.zoom.us/docs/video-sdk/twilio/). Additional information on this EOL is available in our Help Center [here](https://help.twilio.com/articles/24158233644443-Programmable-Video-End-of-Life-Extension).
8
-
9
-
10
6
  twilio-video.js allows you to add real-time voice and video to your web apps.
11
7
 
12
8
  * [API Docs](//sdk.twilio.com/js/video/latest/docs)
@@ -78,7 +74,7 @@ Releases of twilio-video.js are hosted on a CDN, and you can include these
78
74
  directly in your web app using a <script> tag.
79
75
 
80
76
  ```html
81
- <script src="//sdk.twilio.com/js/video/releases/2.28.1/twilio-video.min.js"></script>
77
+ <script src="//sdk.twilio.com/js/video/releases/2.30.0/twilio-video.min.js"></script>
82
78
  ```
83
79
 
84
80
  Using this method, twilio-video.js will set a browser global: