-
Notifications
You must be signed in to change notification settings - Fork 175
Expand file tree
/
Copy pathweb-core.json
More file actions
548 lines (548 loc) · 21 KB
/
web-core.json
File metadata and controls
548 lines (548 loc) · 21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
[
{
"version": "2.2.0",
"createdAt": 1735900565,
"fixes": [
"Improved active speaker detection to resolve inaccuracies in specific scenarios.",
"Removed rate limits of meeting.stores getter methods."
],
"features": [
"Added ability to control livestream viewer qualities"
]
},
{
"version": "2.1.12-13",
"createdAt": "1732086657",
"fixes": [
"Improve audio,video subscription speed and reliability",
"Fixed the issue where participant call report was not generated due to ip detection failure",
"Fixed livestream socket reconnection issues for viewer"
],
"enhancements": [
"Added stats such as bitrate, packet loss on `mediaScoreUpdate` event.",
"Livestream now supports direct ingestion via RTMP. Use `meeting.livestream.start({ manualIngestion: true })`"
]
},
{
"version": "2.1.11",
"createdAt": "1731944143",
"fixes": [
"Added additional metadata required for whiteboard plugin",
"Fixed pip error `addSource of undefined`"
]
},
{
"version": "2.1.10",
"createdAt": "1730705555",
"fixes": [
"The connected meeting feature, previously gated behind a feature flag, is now available to all users without additional configuration"
]
},
{
"version": "2.1.9",
"createdAt": "1729752332",
"fixes": [
"Address the issue where post-meeting participant call quality data is unavailable for some users. This occurs in a small percentage of cases due to delays or outages from the third-party feature flag provider, which prevent the client from sending these events."
]
},
{
"version": "2.1.8",
"createdAt": "1729685732",
"fixes": [
"Fixed meeting.self.roomState to ensure that after a network reconnection, the state returns to init if it was originally set to init."
]
},
{
"version": "2.1.6-7",
"createdAt": "1729651881",
"fixes": [
"Connected Meetings - Allow user to end all related meetings from a child meeting"
]
},
{
"version": "2.1.5",
"createdAt": "1729565481",
"fixes": [
"Support custom icon for handraise in Picture-in-Picture"
]
},
{
"version": "2.1.3-4",
"createdAt": "1728467027",
"fixes": [
"(No customer facing changes - This release contains internal fixes)"
]
},
{
"version": "2.1.2",
"createdAt": "1728467027",
"fixes": [
"Export types for Store APIs (meeting.store)"
]
},
{
"version": "2.1.1",
"createdAt": "1728382889",
"fixes": [
"(No customer facing changes - This release adds additional debug logs)"
]
},
{
"version": "2.1.0",
"createdAt": "1727859603",
"fixes": [
"Handle screenshare pause in Safari"
],
"features": [
"Picture-in-Picture now shows avatar, hand raises and mirrors self video"
],
"new_api": [
"**meeting.store** - General purpose key-value store API to store and subscribe data during a meeting",
"**Video Playback** - Render participant video using `(participant).registerVideoElement(HTMLVideoElement)`"
]
},
{
"version": "2.0.7",
"createdAt": "1726160416",
"fixes": [
"Improve screenshare permission handling, detect SYSTEM_DENIED on firefox"
]
},
{
"version": "2.0.6",
"createdAt": "1725467416",
"fixes": [
"Incorrect handling of audio for participants not on the current page"
]
},
{
"version": "2.0.4",
"createdAt": "1724423416",
"fixes": [
"Multiple dynamic permissions (beta) bug fixes"
]
},
{
"version": "2.0.1-3",
"createdAt": "1722609016",
"fixes": [
"Fix `self.roomState` switching to `init` state during reconnection",
"Add missing properties (picture, customParticipantId) to waitlisted participants"
]
},
{
"version": "2.0.0",
"createdAt": "1722411332",
"new_api": [
"Introduce NO_DEVICES_AVAILABLE as another member of `mediaPermissionError` enum",
"Manual subscription API - Manually select participants to consume",
"New `mediaConnectionUpdate` and `socketConnectionUpdate` events on meeting.meta",
"Enable media before initialising SDK with the new `DyteSelfMedia` class"
],
"breaking-changes": [
"Removed support for **V1 REST API** and V1 REST API terminology",
"Drops webinar methods and properties on self and participant objects in favour of `meeting.stage`",
"Disconnection triggers `roomLeft` event is emitted on meeting.self"
],
"fixes": [
"Handled multiple re-connection edge cases",
"Improved error handling on microphone and camera stream"
],
"perf": [
"SDK init should be upto 50% faster",
"Bundle size impact of the SDK reduced from 210KB -> 170KB (Gzipped)"
]
},
{
"version": "1.34.x",
"createdAt": "1721700332",
"features": [
"Support typescript versions as old as 3.4"
],
"fixes": [
"Force TURN servers on multiple successful connection which are followed by immediate disconnection",
"Throw browser not supported and network errors on `init`",
"Improve active speaker detection logic",
"Release screenshare media when stopped by the browser UI"
]
},
{
"version": "1.33.0",
"createdAt": "1714529132",
"features": [
"Emit partial transcriptions on `meeting.ai`"
],
"fixes": [
"Allow closing a plugin if enabled by self even if the user does not have the preset permission to close a plugin"
]
},
{
"version": "1.32.x",
"createdAt": "1713424768",
"features": [
"End-to-End encryption for media, for more details [read the announcement blog](https://dyte.io/blog/end-to-end-encryption/)"
],
"new_api": [
"Dynamically update the maximum number of participants in `.active` map (participant whose media are subscribed) using the new `meeting.participants.setMaxActiveParticipantsCount` method"
]
},
{
"version": "1.31.0",
"createdAt": "1711504507",
"new_api": [
"Added `meeting.meta.sessionId` property",
"Allow moving participants to a breakout room with a different preset with `meeting.connectedMeetings.moveParticipantsWithCustomPreset()`"
],
"fixes": [
"Fixed support for non standard iOS in-app browsers (eg. Google Search App)",
"Allow joining the meeting with an empty name"
]
},
{
"version": "1.30.0",
"createdAt": "1709952907",
"new_api": [
"New method to fetch permissions of a remote participant - `participant.getPermissions()`"
],
"fixes": [
"Reacquire a different microphone if the microphone in use is disconnected",
"Add locks around methods to toggle media to prevent concurrent executions"
]
},
{
"version": "1.28.0",
"createdAt": "1708682940",
"new_api": [
"Added support to update participants preset dynamically - `participants.updatePermissions(participantIds, permissions)`"
]
},
{
"version": "1.27.0",
"createdAt": "1708146360",
"new_api": [
"Added optional `target` support to broadcastMessage to send messages to selected participants - `participants.broadcastMessage(type, payload, target: { presetNames, participantIds })`"
]
},
{
"version": "1.26.0",
"createdAt": "1707323400",
"features": [
"All event callbacks now have type information"
],
"fixes": [
"Fixed an issue with livestream where hosts were not able to see participants accepted on stage",
"Fixed an issue with video middleware where they were causing video issues on webkit based browsers",
"Breakout rooms child rooms will now be auto-joined",
"Fixed an issue with webinar where request count were not consistent"
]
},
{
"version": "1.25.1",
"createdAt": "1706085081",
"fixes": [
"Added missing permission checks on `meeting.chat.pin(messageId)`"
]
},
{
"version": "1.25.0",
"createdAt": "1705912281",
"features": [
"Stereo audio support"
],
"new_api": [
"User can now configure media quality configuration include stereo audio on `DyteClient.init`. Checkout the [documentation here](/web-core/advanced/advance#mediaconfiguration)"
]
},
{
"version": "1.24.0",
"createdAt": "1705890681",
"fixes": [
"Fix blank Picture-in-Picture stream on PIP resize"
],
"perf": [
"Updated [simulcast](https://en.wikipedia.org/wiki/Simulcast) configuration for better video performance"
],
"new_api": [
"New `meeting.meta.meetingId` to get the meetingId of the current meeting",
"New `meeting.self.customParticipantId` to fetch the participantId set by the customer during Add Participant REST API"
],
"dep_api": [
"`meeting.meta.roomName` in favour of `meeting.meta.meetingId`",
"`meeting.self.clientSpecificId` in favour of `meeting.self.customParticipantId`"
]
},
{
"version": "1.23.1",
"createdAt": "1705458681",
"fixes": [
"Populate `meeting.ai.transcripts` with previous transcripts, generated before the user joins"
]
},
{
"version": "1.23.0",
"createdAt": "1705285881",
"fixes": [
"Add undefined checks on deviceId passed to `meeting.self.setDevice`"
],
"new_api": [
"`meeting.ai.transcripts` now contain `customParticipantId` with every transcript record",
"Emit `kicked` on `meeting.participants.joined` locally for a privileged users when they kick another user",
"New `meeting.chat.pin(messageId)` API to pin chat messages"
]
},
{
"version": "1.22.x",
"createdAt": "1703030400",
"fixes": [
"Fix network reconnection when user disconnects while inside a waiting room"
],
"new_api": [
"New `meeting.chat.sendCustomMessages` for custom chat messages"
]
},
{
"version": "1.21.2",
"createdAt": "1703030400",
"fixes": [
"Fixed an edge case on stage management.",
"Added type definitions for some events."
]
},
{
"version": "1.21.1",
"createdAt": "1702598400",
"fixes": [
"Fixed an issue where the video would not be produced correctly in Firefox browser.",
"Improved webinars and livestreams reliability by handling edge cases around stage management."
]
},
{
"version": "1.21.0",
"createdAt": "1702252800",
"new_api": [
"Recordings now supports Pause and resume functionality with the new [pauseRecording](./recording#pause-recording) and [resumeRecording](./recording#resume-recording) APIs"
]
},
{
"version": "1.20.0",
"createdAt": "1698351924",
"fixes": [
"Firefox 110+ [simulcast](https://en.wikipedia.org/wiki/Simulcast) optimizations"
],
"new_api": [
"New [DyteSelfMedia](./reference/DyteSelfMedia) class to initialize media before from DyteClient.init"
]
},
{
"version": "1.19.0",
"createdAt": "1697840724",
"new_api": [
"New `DyteClient.init` parameter `defaults.autoSwitchAudioDevice` allows user to disable the default behavior of switching to a newly connected audio device automatically"
]
},
{
"version": "1.18.0-2",
"createdAt": "1696145560",
"fixes": [
"Maintain the source aspect ratio when camera device is detected as OBS (Beta)",
"[Webinar] Fix a race when an accepted user resend request to join stage"
],
"new_api": [
"Webinar and Livestream now both use the same [Stage Management APIs](./stage)",
"By default Dyte's media handler does not prefer virtual devices, adds a new function to override what is a preferred device and what isn't",
"Allow [updating video resolution at runtime](./local-user/extras#update-media-resolution-at-runtime)",
"New baseURI to replace the old apiBase. With this new parameter all network connections including socket connections can now be whitelisted",
"Render `active` participants as Picture-in-Picture through [a simple new API](./participants/pip)",
"Join the meeting using `meeting.join()` and leave with the new `meeting.leave()`"
],
"dep_api": [
"`meeting.joinRoom()` is deprecated in favour of the new `meeting.join()`",
"`meeting.leaveRoom()` is deprecated in favour of the new `meeting.leave()`",
"`meeting.self.requestToJoinStage()` is deprecated in favour of `meeting.stage.requestAccess()`",
"`meeting.self.withdrawRequestToJoinStage()` is deprecated in favour of `meeting.stage.cancelRequestAccess()`",
"`meeting.self.leaveStage()` is deprecated in favour of `meeting.stage.leave()`",
"`meeting.self.joinStage()` is deprecated in favour of `meeting.stage.join()`",
"`meeting.participants.acceptAllRequestToJoinStageRequests()` is deprecated in favour of `meeting.stage.grantAccess([userIds])`"
]
},
{
"version": "1.17.0",
"createdAt": "1691712000",
"fixes": [
"Fixed an issue with activating / deactivating the plugin where the plugin is already in the desired state."
]
},
{
"version": "1.16.x",
"createdAt": 1690502400,
"fixes": [
"Fixed an edge case where the screen share with audio was not working as expected.",
"Handle a race condition which used to prevent user from joining stage in a webinar setup.",
"Separated the private and public chat permissions.",
"Fixed an issue which was adding duplicate device names on the device list.",
"Fixed an issue which was not allowing host to kick a participant from the meeting.",
"DyteClient.init() is now idempotent. Calling init() multiple times will not cause any issues."
]
},
{
"version": "1.15.0",
"createdAt": 1688083200,
"fixes": [
"Fixed an edge case around file upload in Chat."
],
"features": [
"Added add support for quoting a chat message while reply for Chat SDK",
"Chat SDK now shows unread count and last message on channel list.",
"Participants using Chat SDK will be able to edit and delete their messages."
]
},
{
"version": "1.14.0",
"createdAt": 1686303420,
"fixes": [
"Added execution locks around `DyteClient.init` method to prevent accidental double initialisation method calls",
"Handle multiple edge cases around media capture and its retention"
],
"features": [
"Added self-troubleshooting features, allow users to run tests to discover issues in their calls. More details on this in the next release"
]
},
{
"version": "1.13.0",
"createdAt": 1685491200,
"fixes": [
"Optimized `mediaPermissionUpdate` event to be emitted when the user grants media permission for the first time.",
"Improved the correctness of `meeting.self.getCurrentDevices()` to return the recent device list when the user grants the permission for the first time.",
"Fixed an edge case where the `screenshareUpdate` event would be emitted twice upon stopping the screenshare.",
"Improved the reliability of clearing the `pinned` state from participant after they leave meeting."
],
"new_api": [
"Added a new `CANCELLED` state to [meeting.self.mediaPermission](./local-user/introduction#properties) when the user cancels the screenshare selection dialog in Chromium browsers."
]
},
{
"version": "1.12.x",
"createdAt": 1682985600,
"perf": [
"⚡ Optimized the performance of an API to save ~400ms on meeting join time.",
"⚡ Optimized the SDK to reduce the bundle size by 3%."
],
"fixes": [
"**🚨 Critical 🚨** Fixed an issue with Safari 16.4 that was breaking video calls.",
"Emit `peerRequestToJoinStage` and `stageLeft` for _self_ participant when the user joins or leaves the stage."
],
"features": [
"Added support for request retry with alternative network path when the primary network path fails. This improves the reliability of the meeting experience in case of network issues."
]
},
{
"version": "1.11.x",
"createdAt": 1682035200,
"perf": [
"⚡ Optimized the performance to get 2x faster meeting join time."
],
"fixes": [
"Emit `peerRequestToJoinStage` and `stageLeft` for _self_ participant when the user joins or leaves the stage."
],
"new_api": [
"[meeting.self.roomState](./local-user/introduction#properties) now contains the current room state of the participant."
]
},
{
"version": "1.10.x",
"createdAt": 1680048000,
"fixes": [
"Improved the reliability of `mediaPermissionUpdate` events.",
"Observability improvements to help us debug issues faster."
],
"features": [
"Emit `mediaPermissionUpdate` events when media permission goes from errored to granted."
]
},
{
"version": "1.9.0",
"createdAt": 1679433268,
"fixes": [
"Build issue for customers using Webpack v5 aliasing `process` with `false` is resolved.",
"Removed `Poll Messages` from [meeting.chat.messages](./reference/DyteChat#module_DyteChat+messages). Poll messages were wrongly included in the chat messages.",
"Optimized screenshare production for higher frame rate.",
"Improved correctness of [mediaScoreUpdate](./participants/events#network-quality-score) on participant."
],
"new_api": [
"The `defaults` parameter in the init() function [now take recording configuration](./recording#recording-configuration), which is utilized when [starting a recording](./recording#start-a-recording). ",
"When calling init() the `defaults` param now take screen sharing configuration. \nConfigure the preferred screen sharing screen surface (Screen / Window / Browser Tab)."
]
},
{
"version": "1.6.0",
"createdAt": 1678333268,
"fixes": [],
"features": [
"**Interactive Livestream Release (LL-HLS)** \n 1. Broadcast a meeting to up to 100,000 viewers with low latency of just 3 to 6 seconds.\n 2. Interactive chat and polls. \n 3. Viewers can raise hands to join the stage or the host can invite viewers to join the stage. \n For more information, see [ILS Overview](https://docs.dyte.io/guides/livestream/livestream-overview) and [Getting Started with ILS](https://docs.dyte.io/guides/livestream/getting-started-with-livestreaming)."
],
"new_api": [
"A new `DyteStage` module introduced at [meeting.stage](./reference/DyteStage) to manage the stage during livestreaming. \n For more information, see [Livestreaming State Management APIs](https://docs.dyte.io/guides/livestream/state-management-apis).",
"A new 'DyteLiveStream' module introduced at [meeting.livestream](./Reference/DyteLivestream) to start and stop the livestreaming. \n For more information, see [Livestreaming: Properties, Functions, and Events](https://docs.dyte.io/guides/livestream/livestream-apis)."
]
},
{
"version": "1.5.x",
"createdAt": 1677609000,
"fixes": [
"Handle WeWork Solistice Camera gracefully"
],
"features": [
"Initial support for our upcoming Interactive Livestream product (LL-HLS)",
"Webcam quality can now be controlled from the preset, allows customer to select a higher base quality in the preset editor (beta)"
],
"new_api": [
"Added boolean flag `socketConnected` to `meeting.meta` that shows when the socket connection is established"
]
},
{
"version": "1.4.0",
"createdAt": 1676643893,
"fixes": [
"**🚨 Critical 🚨** Fixed a WebRTC video production bug that would impact *future* Chrome/Edge browser builds (version ≥ M111 - Scheduled to be released in the first week of March)",
"Fixed a regression introduced in `1.3.1` where defaults values passed during initialisation were not respected correctly under a certain edge case",
"Fixed an issue where a bluetooth device disconnection on Google Chrome did not automatically switch to an alternative device",
"Added workarounds for a [Safari Bug](https://bugs.webkit.org/show_bug.cgi?id=231787) where on disconnection of a bluetooth device, local video playback was paused",
"Fixed an issue with Safari screenshare, this improves the screenshare quality in Safari.",
"Minor improvement in the loading times of participant videos when joining a meeting with many participant on the Stage"
],
"features": [
"Reduced the size impact of this library from from 1020KB to 880KB (from 228KB to 208KB GZipped). A 12% improvement from the previous release "
]
},
{
"version": "1.3.1",
"createdAt": 1675261282,
"fixes": [
"Improve text legibility when screensharing on Chrome under poor network conditions"
],
"features": []
},
{
"version": "1.2.0",
"createdAt": 1674714600,
"fixes": [
"Improved permissions check for audio/video/screenshare"
],
"features": [
"When Tab Sync is enabled, now a `selfTabUpdate` event is fired on the local user when the user switches a plugin"
],
"breaking-changes": []
},
{
"version": "1.1.0",
"createdAt": 1674206130,
"fixes": [
"Improved handling of iphone Continuity on Mac OS",
"Fix issues in Websocket connection on Safari 12.x / 13.x / 14.x"
],
"features": [
"**V2 REST API** - Supports `authToken` generated from V2 REST APIs"
],
"breaking-changes": []
}
]