Skip to content

Releases: Temasys/SkylinkJS

0.6.25: Safari 11 beta support and refactor of getConnectionStatus() stats retrieval

11 Sep 05:05
Compare
Choose a tag to compare

Dependencies

CDN links (gzipped)

  • Minified library: //cdn.temasys.io/skylink/skylinkjs/0.6.25/skylink.min.js
  • Debug library: //cdn.temasys.io/skylink/skylinkjs/0.6.25/skylink.debug.js
  • Minified with all dependencies: //cdn.temasys.io/skylink/skylinkjs/0.6.25/skylink.complete.min.js
  • Debug with all dependencies: //cdn.temasys.io/skylink/skylinkjs/0.6.25/skylink.complete.js

API Documentation

http://cdn.temasys.io/skylink/skylinkjs/0.6.25/doc/classes/Skylink.html

NPM Installation

npm install git://github.com/Temasys/SkylinkJS#0.6.25


Notes

  • For Safari 11, it is recommended to set options.enableSimultaneousTransfers in the init() method to true for Safari 11 case as starting simultaneous data transfers does not work currently. E.g. options.enableSimultaneousTransfers = AdapterJS.webrtcDetectedBrowser === 'safari' && AdapterJS.webrtcDetectedVersion >= 11.
  • For Edge 15 and 16, it is recommended to enable options.useEdgeWebRTC in the init() method to true for better connectivity.
  • For Edge 14 to 16, datachannel connections does not work still.
  • For Safari 11 and Edge 15 and above, MCU connections may not still be supported.

New Features

Peer

  • Support for Safari 11.

Transfers

  • Added a flag enableSimultaneousTransfers which is true by default in the init() method to enable or disable simultaneous data transfers. This is to handle Safari 11 case where the newly opened second datachannel does not open after the negotiation has completed, so that they can start data transfers or send files still.

Improvements

Peer

  • Cleaned up getConnectionStatus() retrieval of stats details.
    • Enables end-users to retrieve the ICE candidates details despite missing SSRCs details.
    • Returns the list of added ICE candidates instead of received ICE candidates and.
    • Fixes Edge 15 and 16 (using useEdgeWebRTC flag) stats even though it returns 0 always.
    • Fixes to return the SSRC parsed from the local and remote session description instead from the getStats() which returns 0 in some cases.
    • Fixes the handling of getStats() that uses Promises.
  • Added support for Firefox 53 TURN over TLS.

0.6.24: Added sprop-stereo to SDP for sending stereo audio

24 Jul 06:51
Compare
Choose a tag to compare

Dependencies

CDN links (gzipped)

  • Minified library: //cdn.temasys.io/skylink/skylinkjs/0.6.24/skylink.min.js
  • Debug library: //cdn.temasys.io/skylink/skylinkjs/0.6.24/skylink.debug.js
  • Minified with all dependencies: //cdn.temasys.io/skylink/skylinkjs/0.6.24/skylink.complete.min.js
  • Debug with all dependencies: //cdn.temasys.io/skylink/skylinkjs/0.6.24/skylink.complete.js

API Documentation

http://cdn.temasys.io/skylink/skylinkjs/0.6.24/doc/classes/Skylink.html

NPM Installation

npm install git://github.com/Temasys/SkylinkJS#0.6.24


Bug-fixes

Peer

  • Fixes to audio.stereo not working due to "sprop-stereo" flag parameter not being set.

Documentation

  • Fixes for options.credentials.credentials generation example in init() method appearing as "" instead of "_".

Improvements

Peer

  • Added options.codecParams.audio.opus["sprop-stereo"] parameter option in the init() method.

Documentation

  • Warnings added to ensure options.credentials.credentials in init() method should be generated from web app server to prevent risk of exposing secret in client web app.
  • Added better description of "publishOnly" feature.

0.6.23: Firefox 52-55 bandwidth b=TIAS constraints patch

15 Jun 05:48
Compare
Choose a tag to compare

Dependencies

CDN links (gzipped)

  • Minified library: //cdn.temasys.io/skylink/skylinkjs/0.6.23/skylink.min.js
  • Debug library: //cdn.temasys.io/skylink/skylinkjs/0.6.23/skylink.debug.js
  • Minified with all dependencies: //cdn.temasys.io/skylink/skylinkjs/0.6.23/skylink.complete.min.js
  • Debug with all dependencies: //cdn.temasys.io/skylink/skylinkjs/0.6.23/skylink.complete.js

API Documentation

http://cdn.temasys.io/skylink/skylinkjs/0.6.23/doc/classes/Skylink.html

NPM Installation

npm install git://github.com/Temasys/SkylinkJS#0.6.23


Bug-fixes

Peer

  • Fixes to SDP bandwidth constraints due to Firefox 52 bug introduced as referenced here which is patched in 55.

Stream

  • Fixes to when setting options.deviceId throwing errors in Chrome due to using "optional" instead of exact constraints when options.useExactConstraints is false.
  • Fixes for sendStream() to allow custom IE / Safari Temasys plugin stream object due to incorrect checking for type of.
  • Fixes for shareScreen() where not setting enableAudio results in fetching of audio stream when by default it should not.

Improvements

Peer

  • Users can enable Edge 15.x pre-1.0 WebRTC native implementation by enabling flag in init() method by enabling options.useEdgeWebRTC.

0.6.22: Select media source for shareScreen()

22 May 12:43
Compare
Choose a tag to compare

Dependencies

CDN links (gzipped)

  • Minified library: //cdn.temasys.io/skylink/skylinkjs/0.6.22/skylink.min.js
  • Debug library: //cdn.temasys.io/skylink/skylinkjs/0.6.22/skylink.debug.js
  • Minified with all dependencies: //cdn.temasys.io/skylink/skylinkjs/0.6.22/skylink.complete.min.js
  • Debug with all dependencies: //cdn.temasys.io/skylink/skylinkjs/0.6.22/skylink.complete.js

API Documentation

http://cdn.temasys.io/skylink/skylinkjs/0.6.22/doc/classes/Skylink.html

NPM Installation

npm install git://github.com/Temasys/SkylinkJS#0.6.22


Bug-fixes

Debugging

  • Fixes to setDebugMode({}) enabling both options.trace and options.storeLogs.
  • Fixes for setLogLevel() not to default to LOG_LEVEL.WARN.

Room

  • Fixes for joinRoom() callback not triggering error when socket is disconnected abruptly before user connects or when socket failed to connect, or when user is rejected.
  • Fixes for init() callback error message returning [Error error].

Improvements

Stream

  • Added mediaSource parameter in shareScreen() which takes in as an Array or a String to allow user to select the media sources for selection.

0.6.21: Updates for MCU publishOnly

27 Apr 10:25
Compare
Choose a tag to compare

Dependencies

CDN links (gzipped)

  • Minified library: //cdn.temasys.io/skylink/skylinkjs/0.6.21/skylink.min.js
  • Debug library: //cdn.temasys.io/skylink/skylinkjs/0.6.21/skylink.debug.js
  • Minified with all dependencies: //cdn.temasys.io/skylink/skylinkjs/0.6.21/skylink.complete.min.js
  • Debug with all dependencies: //cdn.temasys.io/skylink/skylinkjs/0.6.21/skylink.complete.js

API Documentation

http://cdn.temasys.io/skylink/skylinkjs/0.6.21/doc/classes/Skylink.html

NPM Installation

npm install git://github.com/Temasys/SkylinkJS#0.6.21


Bug-fixes

Stream

  • Fixes to prevent incomingStream from triggering if it contains empty audio or video tracks.
  • Fixes to trigger stopScreen() immediately when the "Stop screenshare" button is click on the bottom banner for chrome screensharing extension during screensharing.

Room

  • Fixes to ensure adherence to SM protocol 0.1.2.4.

Improvements

Documentation & Demos

  • Allow Web console logs to be printed for release .min.js files.

0.6.20: Fixes for SDP errors with Firefox using MCU

18 Apr 16:48
Compare
Choose a tag to compare

Dependencies

CDN links (gzipped)

  • Minified library: //cdn.temasys.io/skylink/skylinkjs/0.6.20/skylink.min.js
  • Debug library: //cdn.temasys.io/skylink/skylinkjs/0.6.20/skylink.debug.js
  • Minified with all dependencies: //cdn.temasys.io/skylink/skylinkjs/0.6.20/skylink.complete.min.js
  • Debug with all dependencies: //cdn.temasys.io/skylink/skylinkjs/0.6.20/skylink.complete.js

API Documentation

http://cdn.temasys.io/skylink/skylinkjs/0.6.20/doc/classes/Skylink.html

NPM Installation

npm install git://github.com/Temasys/SkylinkJS#0.6.20


Bug-fixes

Room

  • Fixes to prevent .init() from resetting the codecs supports information.

Peer

  • Fixes for Firefox warnings for RTCSessionDescription.sdp as a read-only property and cannot be set.
  • Fixes for "InvalidSessionDescriptionError" thrown in Firefox due to invalid step of "a=sendrecv" received from MCU for "a=inactive" flag.
  • Fixes for Edge getConnectionStatus() undefined (e.g. timestamp of undefined) errors.
  • Fixes to ensure that getPeerInfo() reflects the rejected SDP m= line with peerInfo.settings.audio, peerInfo.settings.video and peerInfo.settings.data returning as false when its relevant m= line is rejected.
  • Fixes to ensure that peerUpdated event is triggered each time peerInfo is received in "offer" and "answer" messages.

Improvements

Peer

  • Updates to improve Edge browser 15.xxxx connections.

Demo & Documentation

  • Prevent published .min.js files from dropping console, so logs can be seen from SDK.

0.6.19: Fixes for streamData() method errors and demo errors

08 Apr 09:16
Compare
Choose a tag to compare

Dependencies

CDN links (gzipped)

  • Minified library: //cdn.temasys.io/skylink/skylinkjs/0.6.19/skylink.min.js
  • Debug library: //cdn.temasys.io/skylink/skylinkjs/0.6.19/skylink.debug.js
  • Minified with all dependencies: //cdn.temasys.io/skylink/skylinkjs/0.6.19/skylink.complete.min.js
  • Debug with all dependencies: //cdn.temasys.io/skylink/skylinkjs/0.6.19/skylink.complete.js

API Documentation

http://cdn.temasys.io/skylink/skylinkjs/0.6.19/doc/classes/Skylink.html

NPM Installation

npm install git://github.com/Temasys/SkylinkJS#0.6.19


Bug-fixes

Transfer

  • Fixes for "updatedSessionInfo undefined error" thrown when invoking streamData() method.

Demo & Documentation

  • Fixes for demo/video-call throwing "malformed constraints" error.

Room

  • Fixes to prevent App Key authentication twice when parsing for codecs supports.

Improvements

Peer

  • Added flags peerInfo.init which determines if Peer connection has been constructed and peerInfo.connection which determines if Peer ICE connection has been established.
  • Added stats.connection.sdpConstraints which stores the constraints passed when creating offer or answer, stats.connection.constraints which stores the constraints passed when constructing the Peer connection and stats.connection.optional which stores the optional constraints passed when constructing the Peer connection to getConnectionStatusStateChange event.

0.6.18: Beta Edge connections support

03 Mar 09:55
Compare
Choose a tag to compare

It has been noted that it seems like in this tagged release version for publish/skylink.complete.js and publish/skylink.complete.min.js files, the AdapterJS version seems to be 0.14.0 which is incorrect. Please use 0.6.19 version release to rectify that.

Dependencies

CDN links (gzipped)

  • Minified library: //cdn.temasys.io/skylink/skylinkjs/0.6.18/skylink.min.js
  • Debug library: //cdn.temasys.io/skylink/skylinkjs/0.6.18/skylink.debug.js
  • Minified with all dependencies: //cdn.temasys.io/skylink/skylinkjs/0.6.18/skylink.complete.min.js
  • Debug with all dependencies: //cdn.temasys.io/skylink/skylinkjs/0.6.18/skylink.complete.js

API Documentation

http://cdn.temasys.io/skylink/skylinkjs/0.6.18/doc/classes/Skylink.html

NPM Installation

npm install git://github.com/Temasys/SkylinkJS#0.6.18


Bug-fixes

Room

  • Fixes for roomLock event not be triggering for User when User invokes lockRoom() and unlockRoom() method.
  • Fixes for options.sdpSettings.connection when one of the parameters (audio, video or data) set as false in joinRoom() method should reject the session description m= lines correctly by setting the port to 0.
  • Fixes for refreshConnection() for MCU enabled Peer connections (when options.mcuUseRenegoRestart in init() method is set to false) overriding the original options in the joinRoom() method.

Socket

  • Fixes for userInfo.config being sent to Peers in SM protocol 0.1.2.3 messages.
  • Fixes to ensure that User is kicked out of the Room when receiving connection ended (bye) messages for self.

Transfer

  • Fixes for IE binary data transfers throwing "InvalidStateError" error when receiving binary data transfers from Peers.
  • Fixes to ensure that transferInfo.chunkType is correctly referencing the RTCDataChannel.binaryType interface instead of just merely detecting the received chunk type for dataTransferState, incomingDataRequest and incomingData events.

Stream

  • Fixes for options.audio.echoCancellation in getUserMedia() method and enableAudio.echoCancellation in shareScreen() method being documented by default as false when by w3c specs, it should be true.
  • Fixes for enableAudio.stereo in shareScreen() being set as true by default when it is documented as false by default.
  • Fixes for enableAudio in shareScreen() being set as true by default when it is documented as false by default.

Peer

  • Fixes for "Candidate missing values for both sdpMid and sdpMLineIndex" error when using AdapterJS version 0.13.4.
  • Fixes and workaround changes for failure to set remote answer from IE / Safari plugins (lower than 0.8.888 version) in Chrome 57 browsers.

Demo & Documentation

  • Fixes for demo/config.js settings not working in /demo/privileged/unauto-priv/ and /demo/privileged/unauto-unpriv/ demos.

Peer

  • Fixes for MCU renegotiation when it's released.
  • Fixes to ensure that peerInfo.settings.audio and peerInfo.settings.video is returned as false when options.sdpSettings.connection (audio or video) is set as false in the joinRoom() method.

Improvements

Room

  • Moved options.publishOnly.parentId in joinRoom() method to options.parentId so that regardless of options.publishOnly flag, the child Peer can still be linked to the parent Peer. options.publishOnly.parentId can be used but options.parentId value will override it when provided.
  • Allow off() to turn off all events subscription if no parameters is provided.

Socket

  • Improved Websocket / Polling socket reconnections.

Demo & Documentation

  • Added buttons in the demo/index.html to access the /demo/privileged/unauto-priv/, /demo/privileged/unauto-unpriv/, /demo/privileged/auto-unpriv/ and /demo/privileged/auto-priv/ demos.

Transfers

  • Added changes to allow file transfers downloads in IE and documentation for images and pdf only for Safari.

Peer

  • Allow configuration of the sampling rate and channels when selecting the preferred audio and video codec in the options.audioCodec and options.videoCodec in the init() method.
  • handshakeProgress should trigger ERROR state when Peer connection fails to create.
  • Added peerInfo.settings.data that determines if Peer has any available and active / opened Datachannels to send P2P messages to or start data transfers with.
  • Added stats.video.sending.qpSum, stats.selectedCandidate.writable, stats.selectedCandidate.readable, stats.selectedCandidate.rtt, stats.selectedCandidate.totalRtt, stats.selectedCandidate.requests, stats.selectedCandidate.responses, stats.selectedCandidate.consentRequests, stats.selectedCandidate.consentResponses, stats.certificate.local.fingerprint and stats.selectedCandidate.local.turnMediaTransport in getConnectionStatusStateChange event.

Stream

  • Prevent configuration of options.audioCodec and options.videoCodec option in init() method when it does not exists in the AUDIO_CODEC and VIDEO_CODEC constant enums.
  • Deprecate options.audio.stereo, options.audio.usedtx, options.audio.maxplaybackrate and options.audio.useinbandfec in getUserMedia() method, and enableAudio.stereo, enableAudio.usedtx, enableAudio.maxplaybackrate and enableAudio.useinbandfec in shareScreen() method. Use options.codecParams.audio.opus settings instead in the init() method.

New Features

Room

  • Added options.socketServer and options.iceServer options to configure the custom Temasys Skylink Signaling server and Temasys Skylink TURN server for debugging purposes ONLY in the init() method.

Peer

  • Added Edge browser official support. If H264 codec is not available, audio only connections will happen with other browsers.
  • Added options.priorityWeightScheme flag to allow configuration to enforce the Peer's peerInfo.priorityWeight levels for debugging purposes ONLY in the init() method.
  • Added PRIORITY_WEIGHT_SCHEME constant that is an enum to options.priorityWeightScheme in the init() method.
  • Added options.peerConnection in joinRoom() method for debugging purposes ONLY.
  • Added BUNDLE_POLICY constant that is an enum to options.bundlePolicy in the joinRoom() method.
  • Added RTCP_MUX_POLICY constant that is an enum to options.rtcpMuxPolicy in the joinRoom() method.
  • Added PEER_CERTIFICATE constant that is an enum to options.certificate in the joinRoom() method.
  • Added getPeersCustomConfig() method that allows developers to retrieve custom bandwidth configuration and the current Stream sent (for Peers that do not support renegotiation).
  • Added options. voiceActivityDetection flag to allow configuration to enable / disable VAD (voice activity detection) in the joinRoom() method. This aligns with the options.disableComfortNoiseCodec and the options.codecParams.audio.opus.usedtx flags in the init() method, where VAD helps to detect any active speech to prevent sending any audio data if usedtx is enabled. The options.disableComfortNoiseCodec helps to add a smoother silence to prevent huge spikes of changes in voice db.
  • Added options to refreshConnection() method to allow configuration of bandwidth.
  • Added options.codecParams to configure more codec parameters for H264, VP8, VP9, OPUS in the init() method. Some are only for debugging purposes ONLY.

Stream

  • Added PCMA (G711a), PCMU (G711u) and ILBC (iLBC) audio codecs options to AUDIO_CODEC constant enum.

Datachannel

  • Added getPeersDatachannels() to get the list of currently connected Datachannel connections.

Transfers

  • Added (beta) getCurrentDataStreamsSession() method to retrieve the list of current data streaming session.
  • Added (beta) startStreamingData(), (beta) streamData() and (beta) stopStreamingData() method to allow Users to start and stop streaming data with Peers.
  • Added (beta) dataStreamState event for startStreamingData(), streamData(), stopStreamingData() methods.
  • Added (beta) incomingDataStream event for streamData() method.
  • Added (beta) incomingDataStreamStarted event for startStreamingData() method.
  • Added (beta) incomingDataStreamStopped event for stopStreamingData() method.

Demo & Documentation

  • Added demo/data-streaming for startStreamingData(), streamData() and stopStreamingData() methods.

(Experimental) New Features

Peer

  • Added experimental options.autoBandwidthAdjustment flag to allow auto adjustment of bandwidth that might help 3G / 4G networks.

0.6.17: getUserMedia() framerate setting bug-fix

09 Jan 18:22
Compare
Choose a tag to compare

Dependencies

CDN links (gzipped)

  • Minified library: //cdn.temasys.com.sg/skylink/skylinkjs/0.6.17/skylink.min.js
  • Debug library: //cdn.temasys.com.sg/skylink/skylinkjs/0.6.17/skylink.debug.js
  • Minified with all dependencies: //cdn.temasys.com.sg/skylink/skylinkjs/0.6.17/skylink.complete.min.js
  • Debug with all dependencies: //cdn.temasys.com.sg/skylink/skylinkjs/0.6.17/skylink.complete.js

API Documentation

http://cdn.temasys.com.sg/skylink/skylinkjs/0.6.17/doc/classes/Skylink.html

NPM Installation

npm install git://github.com/Temasys/SkylinkJS#0.6.17


Bug-fixes

Stream
  • Fixes for "ReferenceError: object is not defined" error when setting options.video.frameRate in getUserMedia() method.
Peer
  • Fixes for getConnectionStatus() returning inaccurate sending audio/video codec.
  • Fixes to document that the receiving audio / video codec may possibly be inaccurate since it may be overridden by remote sending Peer.

New Features

Stream
  • Added options.video.facingMode in getUserMedia() to set video camera facing mode.

Things for developers to note about

Partial Edge / bowser browser support has been added and requires H264 video experimental flag to be enabled.

0.6.16: Data transfer from Android / iOS SDK fixes

09 Jan 06:35
Compare
Choose a tag to compare

Dependencies

CDN links (gzipped)

  • Minified library: //cdn.temasys.com.sg/skylink/skylinkjs/0.6.16/skylink.min.js
  • Debug library: //cdn.temasys.com.sg/skylink/skylinkjs/0.6.16/skylink.debug.js
  • Minified with all dependencies: //cdn.temasys.com.sg/skylink/skylinkjs/0.6.16/skylink.complete.min.js
  • Debug with all dependencies: //cdn.temasys.com.sg/skylink/skylinkjs/0.6.16/skylink.complete.js

API Documentation

http://cdn.temasys.com.sg/skylink/skylinkjs/0.6.16/doc/classes/Skylink.html

NPM Installation

npm install git://github.com/Temasys/SkylinkJS#0.6.16


Bug-fixes

Datachannel
  • Fixes to prevent dead Datachannel connections if Peer connection has already been closed.
  • Fixes to ensure that CLOSED Datachannel state triggers on Firefox 48 and below despite native .onclose event not triggering.
  • Fixes to ensure that CLOSING Datachannel state triggers for the Peer closing the Datachannel.
Transfers
  • Fixes to tabulate completion of data transfers correctly from other SDKs. #257
  • Fixes where data transfers with Android / iOS / C++ SDKs in acceptDataTransfer() method fails to start data transfers due to incorrect transferId generated in dataTransferState event. #257
  • Fixes where data transfers with MCU Peer enabled Peers from Android / iOS / C++ SDKs was not progressing data transfers. #257
  • Fixes when peerConnectionState triggers CLOSED state (for MCU enabled Peers only), or when dataChannelState triggers ERROR, CREATE_ERROR, CLOSING or CLOSED states while there is data transfer sessions progressing dataTransferState should trigger ERROR state.
  • Fixes to ensure that data transfers with sendURLData() or multiple simultaneous data transfers should not be done if Peers connecting from the SDKs (e.g. Android / iOS / C++) do not support it. #257
  • Fixes to sendURLData() and sendBlobData() methods docs for incorrect deprecation of callback.success.transferId as it should not be deprecated as transferId is not retrievable from transferInfo parameter payload of dataTransferState event.
  • Fixes to sendURLData() and sendBlobData() methods docs for correct data transfer steps.
  • Fixes for compliance to DT protocol version 0.1.0.
  • Fixes to ensure that callback.error.transferInfo.name, callback.error.transferInfo.size and callback.error.transferId value should be defined as null depending on the method execution states in sendBlobData() and sendURLData() methods. callback.error.transferId should be only defined when the data transfer session has started but failed, and callback.error.transferInfo.name should only be defined when data parameter provided is parsed correctly.
  • Fixes to ensure dataTransferState is triggered only for Peers not MCU server Peer for MCU enabled Peer connections.
  • Fixes to ensure that the error.transferType payload parameter is correctly defined when dataTransferState event triggers ERROR state.
  • Fixes to sendURLData() and sendBlobData() methods docs for example codes that is not working when it should be files[0] instead of Files[0].
Peer
  • Fixes to refreshConnection() method docs default throttling of 5000 ms not being documented. This can be configured now in the init() method throttlingIntervals.refreshConnection parameter.
  • Workaround fixes for Chrome and Firefox re-negotiation issues where if Chrome (audio+video) connects with Firefox (video) and then switches to a (video) Stream, session description errors are thrown. This is a known Chrome bug issue in here.
  • Fixes for candidateGenerationState event not triggering GATHERING state when ICE candidates are actually gathering.
  • Fixes for getUserData() not return User's peerInfo.userData when provided Peer ID is invalid.
  • Fixes for setUserData() enforcing peerInfo.userData as string if provided userData parameter is false.
  • Fixes for getPeerInfo() to return peerInfo.userData as empty string if not defined.
  • Fixes for getPeerInfo() to return default peerInfo values when they are not defined correctly from Peers connecting from other SDKs.
  • Fixes for occasional ICE connection FAILED state due to out-of-protocol changes in 0.6.15 release with MCU server Peer connection.
  • Fixes for options.bandwidth in joinRoom() parameters to ensure compliance to RFC 4566 specification where b=AS lines should be configured after the respective c= lines.
  • Fixes for User's peerInfo.settings.bandwidth not being received by the other Peer. #271
  • Fixes to ensure host ICE candidates are removed from the session description received to honor options.forceTURN config in init() method.
Room
  • Fixes to prevent Cannot read property "2" of undefined error when callback provided in off() is not defined or is a type of function.
  • Fixes when joining a new room in joinRoom() overrides the init() configuration set.
  • Fixes for incomingMessage event peerId parameter missing in docs.
  • Fixes for roomLock event peerId parameter missing in docs.
  • Fixes for options.defaultRoom parameter value not being set as the options.appKey parameter value when provided as an empty string in the init() method.
  • Fixes for joinRoom() method not invoking init() method internally and retrieving new Room session credentials when invoking joinRoom() with the same Room name as the init() method. This may result in systemAction event triggering REJECT action with EXPIRED reason as Room credentials has expired.
  • Fixes for readyStateChange event parameter payload readyState being documented as type of string when it is supposed to be number in the docs. #269
  • Fixes for events being shared. #232
Socket
  • Fixes for socket message queueing algorithm for causing systemAction to still trigger WARNING action with FAST_MESSAGE reason.
  • Fixes for readyStateChange event parameter payload readyState being documented as type of string when it is supposed to be number in the docs. #269
Stream
  • Fixes for multiple triggers of streamEnded event. #264
  • Fixes for Firefox browser TypeError when providing a custom MediaStream object in sendStream() method and receiving peerInfo.settings.video as a boolean from non-Web SDKs. #259
  • Fixes for streamEnded event being triggered for MCU server Peer.
  • Fixes to shareScreen() method docs default throttling of 10000 ms not being documented. This can be configured now in the init() method throttlingIntervals.shareScreen parameter.
  • Fixes to init()parameter options.audioCodec and options.videoCodec, joinRoom() parameter options.bandwidth and getUserMedia() parameters options.audio.stereo selection of codec parameter direction. Bandwidth and OPUS is configured for both remote/local, which means the receiving settings can be overridden. Audio/Video codec is configured for local, which means the receiving settings can be overridden from the other SDKs Peers.
  • Fixes for joinRoom() parameter options.bandwidth upload max bandwidth not working because it was not configured on remote.
  • Fixes to ensure that streamEnded triggers for all Streams that is known and sent to Peer when Peer connection has ended.

Improvements

Datachannel
  • Added CREATE_ERROR property in DATA_CHANNEL_STATE constant which Datachannel state triggers when creating Datachannel has errors.
  • Added BUFFERED_AMOUNT_LOW property in DATA_CHANNEL_STATE constant which Datachannel state triggers when buffered data to be sent in Datachannel falls below the threshold limit.
  • Added SEND_MESSAGE_ERROR property in DATA_CHANNEL_STATE constant which Datachannel state triggers when data to be sent in Datachannel is dropped because Datachannel state is not OPEN.
Transfers
  • Added ARRAY_BUFFER property in DATA_TRANSFER_DATA_TYPE constant which identifies the transferring data packets type in the data transfer session is ArrayBuffer. This only happens for sendBlobData() method.
  • Added BLOB property in DATA_TRANSFER_DATA_TYPE constant which identifies the transferring data packets type in the data transfer session is Blob. This only happens for sendBlobData() method.
  • Added STRING property in DATA_TRANSFER_DATA_TYPE constant which identifies the transferring data packets type in the data transfer session is string. This will only happen for sendURLData() method.
  • Removal of deprecated respondBlobRequest() and cancelBlobTransfer() methods in docs. The methods can still be used for 0.6.x versions as they function the same as acceptDataTransfer() and cancelDataTransfer() methods but it's not supported. #261
  • Removal of deprecated callback.success.isPrivate, callback.error.isPrivate, callback.success.state, callback.error.state, callback.success.peerId, callback.error.peerId and callback.error.error properties in sendBlobData() and sendURLData() methods. These values can be retrieved from callback.success.listOfPeers, callback.error.listOfPeers, callback.success.transferInfo, callback.error.transferInfo and callback.error.transferErrors except for callback.success.state and callback.error.state as it is better by using dataTransferState event. #261
  • Added USER_UPLOAD_REQUEST property to DATA_TRANSFER_STATE constant which data transfer state triggers when it is User who is sending Peer the uploading data transfer request.
  • Added USER_REJECTED property to DATA_TRANSFER_STATE constant which data transfer state triggers when it is User who...
Read more