Skip to content

Latest commit

 

History

History
965 lines (485 loc) · 69 KB

CHANGELOG.md

File metadata and controls

965 lines (485 loc) · 69 KB

Change Log

1.15.0

Minor Changes

Patch Changes

1.14.4

Patch Changes

  • Correctly apply elementVolume on attach for webaudioMix - #922 (@lukasIO)

  • Simplify multi-codec simulcast usage, backupCodec: true - #923 (@davidzhao)

1.14.3

Patch Changes

  • Update dependency @bufbuild/protobuf to v1.4.1 - #913 (@renovate)

  • Demote duplicate source log to info - #917 (@lukasIO)

  • Fix reconnect when E2EE is enabled - #921 (@lukasIO)

  • Don't set the autoplay attribute on video elements in Safari - #918 (@lukasIO)

  • Call startAudio when an audio track has been acquired in order to update audio playback status - #919 (@lukasIO)

  • Round start bitrate for svc - #920 (@cnderrauber)

1.14.2

Patch Changes

  • Use a deepClone util function for CreateLocalTrackOptions - #906 (@vas11yev1work)

  • Guard against overriding newly set key when auto-ratcheting - #895 (@lukasIO)

  • Fix Safari reporting wrong initial track resolution - #898 (@lukasIO)

  • Make peerconnection private on PCTransport - #903 (@lukasIO)

  • Improve handling of incompatible published codecs - #911 (@davidzhao)

  • Fix a race in setKeyFromMaterial that would cause keys to be set at the wrong index if several keys were set in quick succession. - #908 (@dbkr)

  • Update protocol - #902 (@lukasIO)

  • Add key index to e2e worker log lines - #904 (@dbkr)

  • Fix Typescript compilation error in angular setups - #901 (@pabloFuente)

  • Don't disconnect room before retrying new regions - #910 (@lukasIO)

1.14.1

Patch Changes

1.14.0

Minor Changes

  • Do not constrain screenshare resolution by default - #889 (@davidzhao)

Patch Changes

1.13.4

Patch Changes

  • Log connection error message on region retries - #879 (@lukasIO)

  • Wait for publisher connection after reconnects - #875 (@lukasIO)

1.13.3

Patch Changes

1.13.2

Patch Changes

  • Fix opus RED publishing option not taking effect - #856 (@lukasIO)

1.13.1

Patch Changes

  • Remove legacy code paths for tracks arriving before participant info - #854 (@lukasIO)

  • Make KeyProvider and ParticipantKeyHandler work consistently for shared key and sender key scenarios (e2ee) - #850 (@lukasIO)

  • Fix track processor blips when restarting tracks - #842 (@lukasIO)

  • Correctly import livekit logger in facingMode helper - #855 (@lukasIO)

1.13.0

Minor Changes

  • Convert pauseUpstream and resumeUpstream to regular class methods - #830 (@lukasIO)

Patch Changes

  • Add websocketTimeout to RoomConnectOptions - #834 (@lukasIO)

  • Add support for get/setVolume in react-native - #833 (@davidliu)

  • Refine pause/resumeUpstream, setProcessor for multi-codecs - #829 (@cnderrauber)

  • Force enable dynacast when backupCodec is enabled - #839 (@cnderrauber)

  • Fix video device switch not working for backup codec - #824 (@cnderrauber)

  • Update dependency webrtc-adapter to v8.2.3 - #819 (@renovate)

  • Allow ArrayBuffers to be used for ExternalKeyProvider keys - #844 (@lukasIO)

  • Fix passing maxRetries connectOption to RTCEngine - #838 (@mpnri)

  • Add support for audio processors - #822 (@lukasIO)

  • Ability to simulate subscriber-bandwidth - #835 (@davidzhao)

  • Fix getDevices permissions when no kind is supplied - #811 (@Talljoe)

  • Fix setTrackMute ignored simulcast-codec - #827 (@cnderrauber)

  • Add support for server injected frame trailer being passed down - #812 (@lukasIO)

  • Add ceil of width and height when emitting UpdateTrackSettings - #846 (@HermanBilous)

  • Setup signal callbacks before connecting signal - #832 (@lukasIO)

  • Ensure play requests are invoked synchronously in startAudio - #841 (@lukasIO)

1.12.3

Patch Changes

  • Fix missing ScalabilityMode import when using SVC - #816 (@davidzhao)

  • Adjust default bitrates according to VMAF results - #817 (@davidzhao)

1.12.2

Patch Changes

  • Set a default resolution for createLocalScreenTracks - #796 (@lukasIO)

  • Debounce reacting to mediastreamtrack mute events - #809 (@lukasIO)

  • Remove duplicate options being passed to publish - #794 (@lukasIO)

  • Replace ts-proto with protobuf-es - #700 (@lukasIO)

  • Do not attempt to restart screen share tracks when re-publishing after reconnect - #802 (@lukasIO)

  • Add failureTolerance to KeyProvider options (E2EE) - #810 (@lukasIO)

  • Remove dummy audio element on disconnect - #793 (@lukasIO)

  • Add video options to ScreenShareCaptureOptions - #792 (@lukasIO)

  • Fix iOS browser parser check, add more test cases - #798 (@lukasIO)

  • Improved connection checker with more details about ICE candidates - #806 (@davidzhao)

  • Throw connection error immediately if unauthorized instead of trying alternative URLs - #804 (@lukasIO)

  • Revert event emitter lib usage to 'events' - #807 (@lukasIO)

  • Support for region pinning with LiveKit Cloud using prepareConnection - #783 (@davidzhao)

  • Ensure we do not replace http unless it's in the scheme - #805 (@davidzhao)

  • Stop tracks if publishing fails with setTrackEnabled - #799 (@lukasIO)

1.12.1

Patch Changes

  • Allow specifying audio source for participant.setVolume API - #780 (@lukasIO)

  • Add iOS detection to browser parser and only use audio element workar… - #785 (@lukasIO)

  • Skip decryption if maximum ratchet accounts have exceeded until a new key is set - #786 (@lukasIO)

  • Set element Id for dummy audio element - #778 (@lukasIO)

  • Update constraints with actually selected deviceId on track creation - #773 (@toger5)

  • Always resume AudioContext if in suspended state - #779 (@lukasIO)

  • Only check for setSinkId support on AudioContext if webaudiomix is enabled - #787 (@lukasIO)

1.12.0

Minor Changes

  • Experimental end-to-end encryption support - #557 (@lukasIO)

Patch Changes

  • Update adaptive stream dimensions when a remote track is being detached - #766 (@burzomir)

  • Fixed missed event listeners on MediaStreamTrack - #768 (@davidzhao)

  • Forward signal events through engine - #772 (@lukasIO)

  • Emit activeDeviceChanged when publishing local track - #759 (@lukasIO)

  • Fix peer connections leak - #767 (@lukasIO)

1.11.4

Patch Changes

  • Use mutex lock for queueing calls to setProcessor - #756 (@lukasIO)

  • Use active device when publishing a new track - #757 (@lukasIO)

  • expose facingMode functions - #753 (@Ocupe)

1.11.3

Patch Changes

  • Apply user setting bitrate to maxaveragebitrates for firefox - #752 (@cnderrauber)

  • Do not override forceStereo=false when publishing stereo input - #748 (@davidzhao)

  • Add helper function to detect camera facingMode. - #738 (@Ocupe)

  • Only set priority on Firefox - #750 (@lukasIO)

1.11.2

Patch Changes

  • Fix missing await for async setMediaStreamTrack calls - #747 (@boris-graeff)

  • Emit RoomEvent.ActiveDeviceChanged when room.switchActiveDevice has been called. - #743 (@lukasIO) Add room.getActiveDevice(kind) method.

  • Use JSdocs instead of warning for mediastreamtrack access - #742 (@lukasIO)

1.11.1

Patch Changes

1.11.0

Minor Changes

  • Increase default adaptiveStream pixelDensity on high-density(mobile) screens - #735 (@davidzhao)

  • Replace event emitter lib with eventemitter3 - #681 (@lukasIO)

Patch Changes

  • Handle device mute and document freeze events - #734 (@davidzhao)

  • Pass method logLevel to LogExtension instead of configured logLevel - #730 (@lukasIO)

  • Fix svc encodings for safari and chrome before 113 - #731 (@cnderrauber)

  • Always catch reconnectFuture rejections - #727 (@HermanBilous)

  • Work around iOS safari audio playback issue when not publishing, by playing back silent audio - #733 (@lukasIO)

1.10.0

Minor Changes

Patch Changes

  • Use replaceTrack(null) for pauseUpstream - #716 (@davidzhao)

  • Always add codec info to AddTrackRequest - #728 (@cnderrauber)

  • Surface subscription error via TrackEvent.SubscriptionFailed when trying to subsribe to an unsupported codec - #722 (@lukasIO)

  • Reject signal connection promise immediately when aborted - #719 (@lukasIO)

  • Fix svc mode for chrome v113 - #720 (@cnderrauber)

1.9.7

Patch Changes

1.9.6

Patch Changes

  • Make sure TrackUnsubscribed events are emitted before the publication gets deleted from maps - #708 (@lukasIO)

  • Use body instead of document as intersection observer root - #703 (@lukasIO)

  • Use default video dimensions when they are not available - #709 (@davidzhao)

1.9.5

Patch Changes

  • Remove ua-parser-js dependency and fix browser version comparison - #697 (@lukasIO)

  • Use STATE_MISMATCH disconnect reason in connection reconciliation - #705 (@lukasIO)

  • Make sure engine gets closed when connection reconciliation triggers - #702 (@lukasIO)

1.9.4

Patch Changes

1.9.3

Patch Changes

1.9.2

Patch Changes

  • Ensure engine is always set to undefined when closing - #682 (@lukasIO)

  • Handle connection state mismatch with periodic reconciliation - #680 (@davidzhao)

1.9.1

Patch Changes

  • Only set maxFramerate on encoding if defined - #676 (@lukasIO)

  • added experimental option suppressLocalAudioPlayback - #675 (@jibon57)

  • Fix: Emit connected events for participants that connected during signal reconnect - #672 (@lukasIO)

  • Add VP9 SVC support - #643 (@cnderrauber)

1.9.0

Minor Changes

  • Fix race condition with full reconnect sequence during server restart - #663 (@davidzhao)

Patch Changes

  • Add support for local participants to update own metadata - #599 (@lukasIO)

  • Expose numParticipants and numPublishers on Room - #668 (@davidzhao)

  • Handle signal reconnect and full reconnection separately #665 - #670 (@lukasIO)

1.8.0

Minor Changes

Patch Changes

1.7.1

Patch Changes

  • #625 b74da67 Thanks @wjaykim! - Emit mute status events also for unsubscribed publications

  • #622 2268333 Thanks @lukasIO! - Don't auto-pause videos when element is in pictureInPicture mode (only applies when adaptiveStream is enabled)

  • #627 0342650 Thanks @lukasIO! - Add room option to configure automatic disconnect on page leave

  • #628 4ed8b89 Thanks @lukasIO! - Respect incoming data message order by processing message events sequentially

  • #623 d8e7a20 Thanks @lukasIO! - Emit RoomEvent.LocalAudioSilenceDetected if a LocalAudioTrack is silent after publishing

1.7.0

Minor Changes

1.6.9

Patch Changes

1.6.8

Patch Changes

1.6.7

Patch Changes

1.6.6

Patch Changes

1.6.5

Patch Changes

1.6.4

Patch Changes

1.6.3

Patch Changes

1.6.2

Patch Changes

1.6.1

Patch Changes

1.6.0

Minor Changes

Patch Changes

1.5.0

Minor Changes

  • #487 e1a0a7e Thanks @lukasIO! - Sync muted state with track.enabled when calling replaceTrack"

  • #485 1cc2cab Thanks @lukasIO! - Don't filter out default devices in order to detect OS Level default switches

Patch Changes

1.4.4

Patch Changes

1.4.3

Patch Changes

1.4.2

Patch Changes

1.4.1

Patch Changes

1.4.0

Minor Changes

  • #443 438d067 Thanks @lukasIO! - Breaking Decouple SubscriptionStatus and SubscriptionPermissionStatus

Patch Changes

1.3.3

Patch Changes

1.3.2

Patch Changes

1.3.1

Patch Changes

  • #418 82107cf Thanks @davidzhao! - Fixed compatibility with older browsers with setCodecPreferences (Chrome 96)

1.3.0

Minor Changes

Patch Changes

  • #393 bfad4b3 Thanks @wcarle! - Prevent multiple redundant monitors from being started if start is called multiple times on a RemoteTrack

1.2.11

Patch Changes

1.2.10

Patch Changes

  • #382 8499723 Thanks @lukasIO! - Disable simulcast if an user provides empty array for custom layers

1.2.9

Patch Changes

1.2.8

Patch Changes

  • #371 e1a004e Thanks @lukasIO! - only set volume on attach if elementVolume has been previously set

1.2.7

Patch Changes

  • #369 a3d6de6 Thanks @lukasIO! - Fix reconnect promise not being reset after reconnect attempts are exhausted

1.2.6

Patch Changes

  • #365 d040aff Thanks @lukasIO! - Make sure that ParticipantConnected fires before related TrackEvents

1.2.5

Patch Changes

  • #359 31e3883 Thanks @lukasIO! - Only reject connection promise if it was triggered by a call to connect()
  • #358 8ceceff Thanks @lukasIO! - Add safari explicitly to browserslist, to ensure compatibility with Safari 11"
  • #363 4665f74 Thanks @lukasIO! - Decrease publication timeout to 10s and clean local state on failed unpublish attempts

1.2.4

Patch Changes

  • #330 dbbfe5f Thanks @lukasIO! - Check for duplicate source publications before adding them to tracks

1.2.3

Patch Changes

  • #328 aac61a9 Thanks @lukasIO! - Make local track publication timeout instead of waiting indefinitely for server response
  • #329 5aea501 Thanks @lukasIO! - Log warning if multiple tracks of the same source are published
  • #323 02c025f Thanks @lukasIO! - Remove internal event listeners from local participant on disconnect

1.2.2

Patch Changes

1.2.1

Patch Changes

1.2.0

Minor Changes

  • #308 5b1c5a0 Thanks @lukasIO! - Try to re-aquire mediastreamtrack when device has been disconnected, pause upstream if no device could be acquired

Patch Changes

1.1.9

Patch Changes

1.1.8

Patch Changes

  • #293 e65443a Thanks @lukasIO! - Respect stopLocalTrackOnUnpublish in event of engine disconnect
  • #296 9e78db7 Thanks @lukasIO! - Additional guards against creating localParticipant as remoteParticipant

1.1.7

Patch Changes

1.1.6

Patch Changes

  • #285 fccb2cb Thanks @lukasIO! - Allow AudioCaptureOptions to be passed to ScreenCaptureOptions

1.1.5

Patch Changes

1.1.4

Patch Changes

  • #279 301ccc0 Thanks @lukasIO! - Only restart tracks if they are internally managed by the sdk

1.1.3

Patch Changes

1.1.2

Patch Changes

1.1.1

Patch Changes

1.1.0

Minor Changes

Patch Changes

1.0.4

Patch Changes

  • 3e5e3b8: Fix dynacast fallback when simulcast codec is not available
  • 4a51ae0: Fix getParticipantIdentity returning undefined in some cases

1.0.3

Patch Changes

  • 9487a4d: Fix typescript declaration location

1.0.2

Patch Changes

  • 4effe17: Moving StreamState to Track to improve usability
  • 3bca206: Fix: guard against (multiple) simultaneous reconnect attempts

0.12.0

  • Updated API to create screen share tracks.