Skip to content

Latest commit

 

History

History
919 lines (525 loc) · 86.9 KB

CHANGELOG.md

File metadata and controls

919 lines (525 loc) · 86.9 KB

@signalwire/js

All notable changes to this project will be documented in this file.

This project adheres to Semantic Versioning.

[3.27.0] - 2024-06-03

Added

  • #956 e16ec479 Thanks @iAmmar7! - Introduce Conversation API with Conversation Subscriber

  • #1001 968d226b Thanks @ayeminag! - - API to fetch address by id and tests

  • #977 19281d4a Thanks @jpsantosbh! - NEW - by default the SDK will use the full width for the video call in both orientations.

  • #979 8667fdcc Thanks @jpsantosbh! - Changed API for handling incoming call over WebSocket and PushNotification

  • #979 8667fdcc Thanks @jpsantosbh! - Changed dial() and accept() functions now can receive a rootElement to render the call video

  • #995 c370fec8 Thanks @iAmmar7! - CF SDK: Fetch subscriber info function

  • #973 c8deacef Thanks @iAmmar7! - Online/offline registeration for WebRTC endpoint

  • #1052 36423414 Thanks @iAmmar7! - Introduce the standalone buildVideoElement method to render the video element

  • #968 82bdfb9c Thanks @jpsantosbh! - NEW emits member.joined events for all members in a call.joined event

  • #999 6d71362b Thanks @ayeminag! - - client.conversations.sendMessage()

    • conversation.sendMessage() API for conversation object returned from getConversations() API
    • conversation.getMessages() API for conversation object returned from getConversations()
    • added e2e tests for conversation (room)

Changed

Dependencies

[3.26.0] - 2024-04-17

Added

  • #932 6b0f8227 Thanks @iAmmar7! - Allow users to pass the optional disableUdpIceServers boolean flag with a value of true to remove the URLs of UDP transport ICE servers.

    Default value for disableUdpIceServers is false

    Call Fabric SDK:

    import { SignalWire } from '@signalwire/js'
    
    const client = await SignalWire({
       host: ...,
       token: ...,
       rootElement: ...,
       disableUdpIceServers: true|false, // default is false
    })

    Video SDK:

    import { Video } from '@signalwire/js'
    
    const roomSession = new Video.RoomSession({
       host: ...,
       token: ...,
       rootElement: ...,
       disableUdpIceServers: true|false, // default is false
    })

Changed

[3.25.1] - 2023-12-05

Added

[3.25.0] - 2023-11-23

Added

  • #873 6c9d2aa5 Thanks @iAmmar7! - Introduce the hand raise API for the Video SDKs (browser and realtime-api)

Fixed

[3.24.0] - 2023-11-07

Added

Dependencies

[3.23.4] - 2023-09-14

Changed

  • #853 5e1ff117 - Enhance shared function between realtime and browser SDK

  • #853 5e1ff117 - Introduce the session emitter and eliminate the global emitter

  • #853 5e1ff117 - Eliminate the multicast pubsub channel

  • #853 5e1ff117 - Attach listeners without the namespace prefix

  • #861 4f42179e - Add object-fit: cover to the local video overlay element

  • #853 5e1ff117 - Cleanup the SDK by removing applyEmitterTransform

  • #853 5e1ff117 - Cleanup the global emitter

  • #853 5e1ff117 - Remove event emitter transform pipeline from browser SDK

  • #865 6c435be2 - Expose destroy event for inbound calls in Call Fabric to handle cases where the caller cancel the dial before the callee answers.

  • #876 e5db0ef9 - Bump supported node version to at least 16

Dependencies

[3.23.3] - 2023-08-17

Changed

  • #858 bb50b2fb - Fix custom CloseEvent implementation to avoid crash on WS close.

Dependencies

  • Updated dependencies [bb50b2fb]:
    • @signalwire/core@3.18.3
    • @signalwire/webrtc@3.10.2

[3.23.2] - 2023-08-08

Dependencies

  • Updated dependencies [af7072b7]:
    • @signalwire/core@3.18.2
    • @signalwire/webrtc@3.10.1

[3.23.1] - 2023-07-26

Changed

  • #836 a7a0eb98 - [cf] Return the Call object without join it to allow attaching event listeners

Dependencies

[3.23.0] - 2023-07-19

Added

  • #822 65b0eea5 - Initial changes to setup a SignalWire client.

Changed

  • #825 b44bd6fb - Added support for user-defined refresh token function to update SAT

Dependencies

[3.22.0] - 2023-07-07

Added

  • #805 e8141c0e - Events to keep track of the connected devices status

Changed

Dependencies

[3.21.0] - 2023-05-22

Added

Changed

  • #811 f3711f17 - Improve reconnection under bad network conditions.

Dependencies

[3.20.0] - 2023-05-22

Added

  • #790 2e58a76b - Allow user to mirror the local video stream.

Dependencies

[3.19.2] - 2023-03-24

Changed

[3.19.1] - 2023-03-24

Fixed

  • #767 a1321a63 - Fix missing roomSessionId/memberId on screenShare/additionalDevice objects and expose those variables right after .join().

Dependencies

[3.19.0] - 2023-03-22

Added

  • #664 bc56cc42 - Add promote/demote methods to RoomSession.

  • #673 6c4d4b3d - Add interactivityMode to the RoomSession object.

Changed

  • #661 ef18e7ef - Internal changes to keep the member_id stable across promote/demote.

  • #738 ba39c819 - Remove executeActionWatcher and related functions

  • #664 bc56cc42 - Expose the room.audience_count event on the RoomSession

Dependencies

[3.18.0] - 2023-03-07

Added

  • #729 41482813 - Expose new events on the RoomSession to detect the media state: media.connected, media.disconnected and media.reconnecting.

  • #747 95325ec9 - Changes to support connecting using SAT and join a video room.

Changed

  • #755 09bd387d - Set internal reattach flag true by default.

  • #569 0bdda948 - Internal changes to persist and use authorization.state events.

  • #697 9349ba45 - Allow override for connection host from JWT.

Dependencies

[3.17.0] - 2022-11-23

Added

  • #675 c1b5025e - Add permissions to the RoomSession object.

Fixed

  • #672 8dc3d43a - Use a ResizeObserver to detect rootElement changes and adapt the MCU.
  • #686 c82e6576 - Review internals to always reconnect the SDKs expect for when the user disconnects the clients.
  • #668 37ab859d - Fix localVideo overlay updates joining and leaving the same room.

Dependencies

[3.16.0] - 2022-10-06

Changed

Added

  • #656 8132100c - Expose .disconnect() on PubSub and Chat clients.

Fixed

  • #660 e3453977 - Fix how Chat/PubSub client can be reused after a .disconnect().

Dependencies

[3.15.0] - 2022-09-21

Added

  • #633 f1102bb6 - Expose getStreams and startStream on the RoomSession object.
  • #627 6cf01e1c - Expose getMeta and getMemberMeta methods on the RoomSession.

Changed

  • #652 7febdb3e - Disable Picture-in-Picture on the local video overlay.

Fixed

  • #645 c76d6387 - Fix bug on the RoomSession screenShare leave logic.
  • #641 569213c8 - Fix video render for RoomSession in certain aspect ratio related to the rootElement.
  • #638 1ba9daa6 - Set width: 100% on contentWrapper to always give size to the MCU.

Dependencies

[3.14.0] - 2022-08-17

Added

  • #601 d8cf078c - Add getAllowedChannels() method to PubSub and Chat namespaces.
  • #619 d7ce34d3 - Add methods to manage a RoomSession and Member meta: updateMeta, deleteMeta, setMemberMeta, updateMemberMeta, deleteMemberMeta.

Changed

  • #610 eb1c3fe9 - Updated interfaces to match the spec, update RoomSession.getRecordings and RoomSession.getPlaybacks to return stateful objects, deprecated RoomSession.members and RoomSession.recordings in favour of their corresponding getters.

  • #589 fa62d67f - Internal changes to update media_allowed, video_allowed and audio_allowed values for joinAudience.

  • #594 819a6772 - Refactoring to allow multiple RTCPeer instances on a BaseConnection.
  • #609 24e956a2 - Change logic for handling the auto managed rootElement so we don't mutate its styles.
  • #594 819a6772 - Internal: migrate roomSubscribed event handling to a custom worker.

Dependencies

[3.13.1]- 2022-07-27

Dependencies

[3.13.0]- 2022-07-14

Added

  • #585 20f61a7d - Add ability to listen to room.left on RoomSession instances.
  • #560 d308daf8 - Expose methods to seek to a specific video position during playback.

Changed

  • #577 9e1bf9d8 - Remove all the internal docs.ts files and overall intellisense improvements.
  • #588 bbc21e43 - Internal changes on how BaseConnection retrieves and handle local state properties.

Dependencies

[3.12.1] - 2022-06-24

Fixed

  • #574 4e35e0ac - Fix issue with missing constructors on react-native.
  • #579 3cd2bab2 - Fix a possible condition where the localVideo overlay shows up after a video mute and video unmute in sequence without any layout changes in between.
  • #578 2bd390de - Add default width/height for video constraints.

Dependencies

[3.12.0] - 2022-06-10

Added

  • #562 02d97ded - Add layout property to RoomSession.play().

Fixed

Dependencies

  • Updated dependencies [02d97ded]:
    • @signalwire/core@3.9.0
    • @signalwire/webrtc@3.5.2

[3.11.1] - 2022-06-01

Changed

  • #547 b0f9aa5f - Add ability to read a custom host from the JWT.

  • #546 fc4689df - Internal changes to migrate from setWorker/attachWorker to runWorkers and from payload to initialState.

Fixed

  • #541 4ad09354 - Try to force a browser repaint to move the local video overlay in the correct position
  • #554 1b95b93b - Fix issue with local streams for when the user joined with a token with join_audio_muted or join_video_muted. Update typings.

Dependencies

[3.11.0] - 2022-05-19

Added

Changed

  • #532 12c64580 - Improve typings of the public interface for the Chat namespace.

Fixed

  • #497 1fcf2544 - Fix to allow the JS SDK to be used in the Shadow DOM.
  • #494 55afce1f - Fix regression on createRoomObject method.
  • #490 1e83737e - Disconnect the underlay client in case of signaling and/or media errors.
  • #501 5c96bf85 - Expose all the active recordings on the room.joined event.

  • #509 5cacd751 - Force video elements to play when paused by UA.

Dependencies

[3.10.2] - 2022-04-01

Dependencies

  • Updated dependencies [a9abe1d5]:
    • @signalwire/core@3.7.1
    • @signalwire/webrtc@3.4.2

[3.10.1] - 2022-03-31

Fixed

  • #480 ea6d5a43 - Fix race condition on layout.changed processing to update the localVideo overlay.

[3.10.0] - 2022-03-25

Added

  • #456 c487d29b - Add ability to handle member's currentPosition
  • #457 4692b05d - Update default screenShare audio constraints.
  • #401 46600032 - Add layout and positions when starting a screenShare.
  • #452 563a31e5 - Expose setMeta and setMemberMeta methods on the RoomSession.

Fixed

  • #469 4d7bcc30 - Fix Chat methods that required the underlay client to be connected.
  • #455 3b5f59b3 - Fix issue with local video overlay when user is video muted.

Dependencies

[3.9.0] - 2022-03-02

Added

  • #433 dabaafe9 - Add helper for testing the microphone

  • #426 edc573f2 - Expose the removeAllListeners method for all the components.

  • #447 37567d47 - Expose RoomSessionOptions and VideoMemberListUpdatedParams types.

Changed

  • #432 3434f3af - Removed an obsolete console warning which was triggered for the previously experimental Chat feature.

Dependencies

[3.8.0] - 2022-02-04

Added

  • #398 da526347 - Expose Chat methods: getMembers, getMessages, setState and getState

  • #400 3f851e2a - Expose chat member events: member.joined, member.updated and member.left

  • #419 c33a4565 - Expose RoomSession memberList.updated event to keep track of the whole member list.

  • #424 743168df - Expose updateToken to the Chat.Client to allow renew tokens for a chat session.

Dependencies

[3.7.0] - 2022-01-11

Added

  • #394 03e5d42 - Add previewUrl property to the RoomSession object.

Dependencies

[3.6.0] - 2021-12-16

Added

  • #361 4606f19 - [wip] Initial changes for the Chat namespace.

Fixed

  • #375 2b1e970 - Hide the local video overlay element when the user's video is not in the layout.

  • #379 dd41aba - RoomSession: Improve TypeScript signature for member methods with optional properties.

  • #370 ba0647b - Add prefix to the DOM elements created by the SDK to make them unique.

Dependencies

[3.5.0] - 2021-11-02

Added

  • #327 fa40510 - Added setHideVideoMuted to RoomSession interface.

  • #343 9df995b - Included a complete method documentation for the SDK

Changed

  • #351 0e22ac8 - Always attach the audio track regardless the rootElement option.

  • #327 fa40510 - Improved internal typings for the Video namespace.

Fixed

  • #346 ea0cef3 - Fix possible race condition on RoomSession join() method.

  • #337 ccc0d35 - Fix a possible race condition when applying the localVideo overlay.

Dependencies

[3.4.0] - 2021-10-12

Added

  • #297 2675e5e - Add support for the Playback APIs: roomSession.play() and the RoomSessionPlayback object to control it.

Dependencies

  • Updated dependencies [7d183de, 2675e5e]:
    • @signalwire/core@3.2.0
    • @signalwire/webrtc@3.1.5

[3.3.0] - 2021-10-06

Deprecated

  • #318 cc5fd62 - Deprecated Room, RoomDevice, RoomScreenShare and createScreenShareObject() in favour of RoomSession, RoomSessionDevice, RoomSessionScreenShare and startScreenShare() respectively.

Changed

  • #313 5c35910 - Introduce RoomSession as a new primitive for connecting to a Room. Mark createRoomObject() and joinRoom() as deprecated.
  • #312 feb23ba - Remove height: 100% on the localVideo overlay to avoid positioning issues if the wrapper has a fixed height.
  • #302 2ac7f6d - Added setInputVolume/setOutputVolume and marked setMicrophoneVolume/setSpeakerVolume as deprecated.
  • #316 ab4ff5a - Use rootElement in the new RoomSession constructor to handle the local video overlay.
  • #305 cec54bd - Convert timestamp properties to Date objects.

Dependencies

[3.2.1] - 2021-09-15

Changed

  • #278 f35a8e0 - Removed option for passing a custom event emitter when creating a client.

Fixed

  • #290 a780d6d - Split event handlers for member from member updated events so each type of event gets the proper instance as a handler param.

  • #291 07bf09c - Fix TS signature for member methods

Dependencies

[3.2.0] - 2021-09-09

Added

  • #261 9dd7dbb - Expose startRecording() method to recording a RoomSession. It returns a RoomSessionRecording object so it can be paused, resumed and stopped.

  • #273 249facf - Added member.talking.started, member.talking.ended events and deprecated member.talking.start and member.talking.stop for consistency with other event names.

Dependencies

[3.1.1] - 2021-08-27

Changed

  • #243 e45c52c - Allow to set the logger level via logLevel argument on the UserOptions interface.

Dependencies

[3.1.0] - 2021-08-13

Added

  • #236 b967c89 - Apply audio and video constraints sent from the backend consuming the mediaParams event.
  • #240 b5d2a72 - Allow speakerId to be set when creating a room object to set the audio output device before join.
  • #239 5c2eb71 - Exports methods to check if the environment supports getUserMedia or getDisplayMedia

Changed

  • #237 6d36287 - Set parent memberId for screenShare and additionalDevice sessions. Add default audio constraints for screenShareObjects.

Dependencies

[3.0.0] - 2021-08-09

Added

  • #224 447460c - Export createCameraDeviceWatcher, createMicrophoneDeviceWatcher and createSpeakerDeviceWatcher helper methods

  • #195 ef1964c - Export types/interfaces for Room events

  • #160 399d213 - Expose createScreenShareObject() method to share the screen in a room

  • #179 acf8082 - Expose createSecondSourceObject() method to stream from additional sources in a room

  • #214 ec49478 - Included commonjs versions into js and webrtc packages

  • #188 efe9bd8 - Add updateSpeaker method

Changed

  • #188 efe9bd8 - Move Room to js package

  • #190 8bb4e76 - Split Room objects into Room, RoomDevice and RoomScreenShare with specific methods for each use case

  • #212 2c89dfb - Deprecated getLayoutList and getMemberList in favour of getLayouts and getMembers respectively. Other methods (audioMute, audioUnmute, deaf, hideVideoMuted, removeMember, setInputSensitivity, setLayout, setMicrophoneVolume, setSpeakerVolume, showVideoMuted, undeaf, videoMute, videoUnmute) that were previously returning { code: string, message: string } also went through a signature change and are now returning Promise<void>

  • #145 7ba9d45 - Add types to createRoomObject method

  • #161 22b61d3 - Rename some internal objects and review the public exports

  • #144 95df411 - Renamed internal sessions classes, Bundled core dependencies

  • #156 703ee44 - Update RoomLayout interfaces and events payloads

Fixed

  • #196 d91b841 - Fix esm bundle output for js package

  • #226 2bdd043 - Fix setMicrophoneVolume() behavior on Room, RoomDevice and RoomScreenShare objects. Fix setSpeakerVolume() behavior on Room object.

  • #138 9e3a65a - Always check stopMicrophoneWhileMuted and stopCameraWhileMuted in createRoomObject

  • #177 f4372cd - Fix bug with the localVideo overlay rendering

Removed

  • #154 5820540 - Remove regenerator-runtime from dependencies

Dependencies

3.0.0-beta.6

Patch Changes

  • ec49478: Included commonjs versions into js and webrtc packages
  • eaad2d8: Try to use aspectRatio 16:9 as a default value for video constraints
  • Updated dependencies [ec49478]
    • @signalwire/core@3.0.0-beta.4
    • @signalwire/webrtc@3.0.0-beta.4

3.0.0-beta.5

Patch Changes

  • ef1964c: Export types/interfaces for Room events
  • 2c89dfb: Deprecated getLayoutList and getMemberList in favour of getLayouts and getMembers respectively. Other methods (audioMute, audioUnmute, deaf, hideVideoMuted, removeMember, setInputSensitivity, setLayout, setMicrophoneVolume, setSpeakerVolume, showVideoMuted, undeaf, videoMute, videoUnmute) that were previously returning { code: string, message: string } also went through a signature change and are now returning Promise<void>
  • Updated dependencies [2c89dfb]
    • @signalwire/core@3.0.0-beta.3
    • @signalwire/webrtc@3.0.0-beta.3

3.0.0-beta.4

Patch Changes

  • Fix esm bundle output for js package

3.0.0-beta.3

Patch Changes

  • efe9bd8: Move Room to js package
  • 8bb4e76: Split Room objects into Room, RoomDevice and RoomScreenShare with specific methods for each use case
  • acf8082: Expose addMicrophone, addCamera and addDevice methods to stream from additional devices in a room.
  • 9ee753d: Expose updateCamera and updateMicrophone methods to switch devices while connected to a Room.
  • efe9bd8: Add updateSpeaker method
  • f4372cd: Fix bug with the localVideo overlay rendering
  • a15b69a: Add getMemberList method to retrieve the member list for the current room
  • Updated dependencies [efe9bd8]
    • @signalwire/core@3.0.0-beta.2
    • @signalwire/webrtc@3.0.0-beta.2

3.0.0-beta.2

Patch Changes

  • 5820540: Remove regenerator-runtime from dependencies
  • 399d213: Expose createScreenShareObject() method to share the screen in a room
  • 7ba9d45: Add types to createRoomObject method
  • 22b61d3: Rename some internal objects and review the public exports
  • 95df411: Renamed internal sessions classes, Bundled core dependencies
  • 703ee44: Update RoomLayout interfaces and events payloads
  • Updated dependencies [703ee44]
    • @signalwire/core@3.0.0-beta.1
    • @signalwire/webrtc@3.0.0-beta.1

3.0.0-beta.1

Patch Changes

  • 9e3a65a: Always check stopMicrophoneWhileMuted and stopCameraWhileMuted in createRoomObject
  • Updated dependencies [fe0fe0a]
    • @signalwire/core@3.0.0-beta.0
    • @signalwire/webrtc@3.0.0-beta.0

3.0.0-beta.0

Major Changes

  • fb2fa66: Initial beta release of SignalWire JS SDK