Full changelogs are available in each project's release page: click on one of the releases below, click on Assets and there's the CHANGELOG.
-
-
New features:
- Turn on enableLayerSuspension option by default. (#9894)
- feat(config): Add config option for e2ee label
- feat(rtcstats): send dominant speaker stats (#9883)
- feat(notifications) skip join notifications when meetings grow large
- feat(ios) update dropbox authentication to PKCE flow
- Prints an error log for errors in child components render methods.
- feat(filmstrip-pagination): mobile support.
- Drops old prosody dependency (0.10...).
- feat(branding) Add premeeting background image overwrite
- feat(VideoContainer) add option to avoid cropping focused video
- feat(errors) Expose errors through Iframe API (#9801)
- feat(e2ee) add support for WebRTC Encoded Transform
- feat(lobby) Add sound for participant knocking
- Updates i18n-iso-countries to latest. Fixes #9792.
- Allow AV moderation for p2p users.
- Always show AV moderation.
- Show footer context menu in p2p.
- feat(reaction-sounds) Added sounds for reactions (#9775)
- feat(xmpp) remove clientNode config option
- feat(Filmstrip): Reorder the visible participants in the filmstrip. (#9707)
- feat(toolbox) added android screen share flag
- feat(callstats) Add
callStatsConfigParamsconfig - feat(av-moderation) id and aria-label updates for av-moderation test (#9592)
- feat(polls) Ability to create polls inside Jitsi (#9166)
- Add search to speaker stats (#9510)
- feat(rn,sdk) add setConfigOverride to JitsiMeetConferenceOptions
-
Fixes:
- fix(prejoin) Fix buttons positioning for 3rd party
- fix(toolbox): Show dominant speaker name only when in conference
- fix(android): renames amplitudereactnative project to use react-native- pattern
- fix(external-api): Avoid naming event 'error'
- fix(lang,notifications) make join notification text more generic
- fix(notifications) throttle join notifications for 2 seconds
- fix(rn,ParticipantPane) optimize
- fix(sounds) fix reaction sound names
- fix(rn,filmstrip) simplify code
- fix(rn,filmstrip) avoid fast scroll trigggering visibility notifications
- fix(rn,external_api) skip participant notifications when not in a meeting
- fix(rn,logging) skip some logs on mobile
- fix(lastn) debounce updating last N
- fix(notifications) skip participant joined notifications before we join
- fix(video-layout) fix getMaxColumnCount on mobile
- fix(rn,humbnail) add key prop to array items
- fix(toolbox) fix warning due to missing key prop
- fix(tracks) Fix mobile safari issue with startMuted. On mobile Safari, when a user joins both audio and video muted, browser doesn't playout the remote audio because of a webkit bug. As a workaround, always add the audio track to peerconnection and then mute the track if needed.
- fix(reactions) fix reactions bugs
- fix(toolbar-buttons) Hide/show invite button based on toolbarButtons
- fix(config): add av-moderation notifications to config whitelist (#9774)
- fix(filmstrip): sort alphabetically.
- fix(mobile-pagination):incorrect number of columns
- fix(mobile-pagination): Disable bounce effect.
- fix(mobile-pagination): address PR review comments
- fix(config) add enableReactions to whitelist
- Fixes default values in speakerstats and conf duration modules.
- fix(prosody): av_moderation_component default val
- fix(filmstrip): Always sort the participants alphabetically. Reorder the sub-groups (shares, speakers and rest of the participants) always on dominant speaker changes and when participants join or leave.
- fix(filmstrip): Move thumbnails reordering behind a config.js flag. enableThumbnailReordering flag (enabled by default) will be used to check if the thumbnails needs to be reodred in the UI.
- fix(KeyboardShortcut): pin the correct participants when number keys are used.
- fix(rn,reactions) fix copying sounds to app bundles
- fix(android) avoid exception in onHostPause
- fix(virtual-background) upload bkg image on poor connection
- fix(lang) update Polish translations
- fix(lang) update Japanese translations
- fix(chat) avoid emojifying URLs
- fix(local-storage) use local storage on WebKit when not in an iframe
- fix(rn) enable reactions by default
- fix(lang) update Portuguese translation
- fix(pre-meeting) Hide invite button for JaaS
- fix(TileView): not showing all participants.
- Fixes undefined errors in MeetingParticipant - Item and ContextMenu.
- Fixes showing awaiting AV moderation after grant moderator.
- fix(authentication) fixed close on cancel click
- fix(notifications) Add timeout for video/audio lost notifs
- fix(iframe) don't register service worker when in an iframe
- Fixes AV moderation used in tenants.
- Fixes reloads after enabling AV moderation.
- fix(drawer-menu) Allow scroll on drawer menu items
- fix(rn,amplitude) update Amplitude SDK on RN
- fix(lang) update Portuguese translation
- fix(jaas) do not redirect to plan limit page on auth errors (#9746)
- fix(moderation) fix ui styles for advanced moderation context menu (#9758)
- fix(e2ee) fix showing not supported warning when alone
- fix(e2ee) show entire content at all times
- fix(e2ee) update E2EE warning message
- fix(ios) fix conference failing when proximity sensor is near
- fix(moderation) highlight dominant speaker (#9750)
- fix(AudioRoutePickerDialog) add proper margin
- fix(ios) fix deadlock when selecting audio device
- fix(moderation) hide status icons on hover (#9747)
- fix(lang) update portuguese translation
- Fixes dot shown left of logo.
- fix(participants-pane) fixed participants pane button toggled state
- fix(prosody) fix username not being set in mod_auth_jitsi-anonymous
- fix(prosody) fix typo in filename
- fix(moderation) display green mic icon only for active speaker (#9744)
- fix(participants) sort participants alphabetically (#9741)
- fix(share-video) fix links not being trimmed (#9740)
- Fixes an error with configuration without analytics.
- fix(rn,sidebar) fix not appearing on RTL languages
- fix(video-menu) fixed position for horizontal filmstrip view
- fix(rn): import React from react package
- fix(screen-share): never mute audio screen share track #9725
- fix(lang) update Spanish translation
-
Translation updates:
- Update main-sv.json (#9862)
- Update i18n Occitan (#9853)
- Added and edited translations for vi (#9850)
- Update portuguese translation (#9836)
lib-jitsi-meet
-
New features:
- JSON encoded sources. (#1695)
- feat(e2ee) add support for WebRTC Encoded Transform
- feat(xmpp) remove clientNode config option
- enable config callstats configParams (#1672)
- feat(docs): Add a note that token context doesn't accept number or null
- feat(docs): add restart service instruction to tokens doc
-
Fixes:
- fix(quality) Enable layer suspension by default. This is needed for screensharing to work as expected on chrome in unified plan.
- fix(LocalSdpMunger): do not fake video sdp when screen sharing
- fix(JitsiConference) avoid extra processing if the room was left
- fix(moderator) remove unneeded log
- fix(browser-support): Add audio track to pc always on mobile Safari. On mobile Safari, if a user joins audio and video muted, the browser doesn't decode the incoming audio. Workaround is to always add the audio track to pc and mute it if needed.
- fix(replace-track) Add not null check for newTrack (#1698)
- Updates shard value in XmppConnection on new value from xmpp. (#1699)
- fix(docs): copy&paste error for setIsReplaced
- fix(JitsiConference) skip AudioOutputProblemDetector on disableAudioLevels
- fix(docs): issuer documentation
- fix(docs): correct the grammar in token docs
- fix(RTC): typo in variable name
-
-
-
New features:
-
Fixes:
- Signaling source removal in COLIBRI. (#799)
- fix(#796): Fix handling IQs for for SIP Jibri. (#798)
- Fix encoding sources to Jingle. (#797)
- Return XMPP error on unsupported Jingle action. (#791)
- Escape text content as text in XML. (#790)
- Adds dependency of jq when installing. Fixes #788. (#789)
- Fixes marking trusted jibri domain in config on upgrade.
- swapped descriptions in comment. (#786)
-
-
jitsi-videobridge 2.1-551-g2ad6eb0b
-
New features:
- Adds checkstyle module. (#1685)
- Make the number of recent speakers configurable. (#1707)
- Support mapping a specific port (update ice4j). (#1705)
-
Fixes:
- a race stopping a connectivity check client. (ice4j#237). (#1713)
- Do not keep a reference to Endpoint in SourceAllocation. (#1712)
- removing ICE listeners. (#1711)
-
-
-
New features:
- Rises the stanza limit for unlimited jids (jicofo).
- feat(transcribing): configurable transcription language (#9684)
- feat(rn,filmstrip) add 1on1 mode
- feat(toolbox) updated menu items order, dividers for mobile
- feat(share-video) Allow sharing direct video links (mp4 etc) on mobile (#9511)
- feat(participants-pane) changed to standard header
- feat(ios) support for destroying & reinitializing the react native bridge
- feat(participants-pane) hide admit all if less than 2 participants
- feat(participants-pane) context menu ui fixes
- feat(participants-pane) updates
- feat(participants-pane) removed getIsParticipantAudioMuted
- feat(Filmstrip): Collapse filmstrip to avoid toolbar overlap on mobile
- feat(native-participants-pane) removed everyonemoderator from footer context menu
- feat(native-participants-pane) updated slider volume private prop
- feat(native-participants-pane) rebase, resolved conflicts pt. 2
- feat(native-participants-pane) rebase, resolved conflicts pt. 1
- feat(native-participants-pane) rebase and Podfile.lock file updates
- feat(native-participants-pane) implemented review remarks pt.4
- feat(native-participants-pane) fixed lint errors
- feat(native-participants-pane) implemented review remarks pt. 3
- feat(native-participants-pane) slider ui fixes
- feat(native-participants-pane) updated podfile
- feat(native-participants-pane) volume level state fix
- feat(native-participants-pane) volume slider refactoring
- feat(native-participants-pane) updated translations and added throttle for slider
- feat(native-participants-pane) review remarks pt 2 volume slider
- feat(native-participants-pane) fixed comment typos and reworks on volume slider
- feat(native-participants-pane) implemented review remarks pt. 1
- feat(native-participants-pane) resolved rebase conflicts and updated import paths
- feat(native-participants-pane) removed console.log
- feat(native-participants-pane) removed unused prop and added onPress condition
- feat(native-participants-pane) dialog for blocking audio/video
- feat(native-participants-pane) Updated comments
- feat(native-participants-pane) participants pane open/close fixed
- feat(native-participants-pane) open/close pane native actions
- feat(native-participants-pane) fixed slider error on android
- feat(native-participants-pane) fixed lint errors
- feat(native-participants-pane) removed mock data
- feat(native-participants-pane) ui fixes
- feat(native-participants-pane) fixed lint error
- feat(native-participants-pane) created admitAll action
- feat(native-participants-pane) fixed slider and hid dialog when chat is open
- feat(native-participants-pane) added action dialogs for context menu participant details and native community slider
- feat(native-participants-pane) context menu for meeting participant
- feat(native-participants-pane) fixed import order lint error
- feat(native-participants-pane) context menu for more btn and reject lobby participant
- feat(native-participants-pane) rendered participant name
- feat(native-participants-pane) simplified props for hiding header with navigation
- feat(native-participants-pane) fixed mute all content styles and added doInvitePeople action
- feat(native-participants-pane) token updates and added mute all event
- feat(native-participants-pane) updated styles for meeting participant list
- feat(native-participants-pane) created meeting participant list
- feat(native-participants-pane) ui fixes
- feat(native-participants-pane) admit/reject all buttons
- feat(native-participants-pane) ui updates for participant item
- feat(native-participants-pane) first lobbyparticipantlist steps
- feat(native-participants-pane) fixed lint errors
- feat(native-participants-pane) removed button component, fixed icons inside paper button component and reverted actions.js files
- feat(native-participants-pane) reverted podfile changes
- feat(native-participants-pane) fixed lint errors
- feat(native-participants-pane) separated native actions from web actions and created any actions for the common ones
- feat(native-participants-pane) updated styles for button component and participant item related components
- feat(native-participants-pane) added showHeaderWithNavigation prop to JitsiModal and created close button
- feat(native-participants-panel) renamed ParticipantsPanel to ParticipantsPane and created modal
- feat(native-participants-panel) created participants panel overflowmenu button
- feat(DominantSpeakerName): Implement
- feat(branding): Add custom avatar backgrounds
- feat(sound-settings) Added ability to control sounds
- feat(billing-counter) Removed iframe billing-counter callbacks (#9537)
- feat(reactions-webhook) Added reactions backend call for webhook (#9534)
- feat(reactions) Added Reactions (#9465)
- Participants optimisations (#9515)
- feat(JaaS-JWT) Get JWT for JaaS (#9512)
- feat(toolbox) allow any toolbox button to be displayed in main toolbar (#9488)
- Enable unified plan support for p2p chrome calls.
- feat(audio-screen-share): improved ux flow (#9411)
- feat(thumbnails) Add changes to mobile context menu
- feat(api) expose follow me method (#9486)
- feat(config) Added option to remove Show More link from GSM popover
- Change the screenshare capture fps from UI. (#9438)
- feat(jaas) display messages about features that are disabled for jaas… (#9448)
- feat(external-api): Add send chat message command
- request video only for visible thumbnails.
- feat(Filmstrip): Pagination.
- UI part for A/V moderation. (#9195)
- feat(did-page) Handle SIP number on did info page
- Optimizes speaker stats to skip occupants with 0 talk time.
- feat(vpaas, recording): Show recording link to recording initiator (#9362)
- feat(replace-participant): Add replaceParticipant feature-flag
- feat(replace-participant): Replace participant with same jwt in the conf
- feat(external_api) Expose command for toggling background dlg
- feat(api) allow always hiding remote videos for 1-1 calls
- feat(api) expose event for mouse movements inside the iframe
- Make Jitsi WCAG 2.1 compliant (#8921)
- feat(api) allow filmstrip autohide to be configurable
- feat(participants-pane): Add 'admit all' knocking participants button
-
Fixes:
- fix(lang) update Brazilian Portuguese translations
- Adds a null check in mod_limits_exceptions.
- fix(ios) remove exitPictureInPicture() call from resetBounds(bounds:)
- fix(lang) update portuguese translation
- fix(av-moderation): Fixes approving and dismissing the notification.
- fix(logging): Set the log level to debug again. Plan is to make the Strophe logs more restrictive. Revert "fix(logging) reduce overly vebose logging"
- fix(misc) fix typeof comparison to undefined
- fix(rn,video-quality) fix not selecting any endpoint on mobile
- fix(recording-label) fix recording label behavior
- fix(notifications) Fix hiding audio/video lost notification
- fix(twa) update masked icon
- Fix av moderation enable-disable sequence.
- fix(conference) unify conference options
- fix(rn,bottom-sheet) fixed surface color
- fix(lang) update German translation
- fix(config) comment out enabledReactions
- fix(shared-video,video-menu) add ability to stop shared video from video menu
- fix(Filmstrip): Send only visible endpoints to jvb
- fix(external-api): persist audio output device
- fix(Toolbar): Fix toolbar not hiding on mobile
- fix(logging) reduce overly vebose logging
- fix(lang) update portuguese translaation
- fix(prejoin): disposed track was added to the conference
- fix(deps,rn) bump @react-native-async-storage/async-storage
- fix(rn,polyfills) remove no longer needed hack
- fix(config) add missing buttons to default constants
- fix(dropbox-recording) Prevent start recording when no dropbox token
- fix(virtual-background): Refactor CSS to accommodate smaller screens
- fix(ShareDesktopButton): typo.
- fix(toolbox) add back toggle camera button
- fix(toolbar-buttons) Attempt fix Meet in integration
- fix(ShareDesktopButton): getParticipants reference
- fix(reactions) Moved reactions behind feature flag
- Normalize the tenant part of the URL. (#9577)
- fix(recording-label) Make REC label visible at all times (#9578)
- fix(Thumbnail, Drawer): Remove hover state; Prevent outside propagation
- recording for public access (#9584)
- fix(reactions) Batch events before sending
- fix(jaas) do not deeplink jaas users on default 8x8 app scheme
- fix(jaas) fix vpaas condition
- fix(support-url): Hide contact support button when SUPPORT_URL is empty
- fix(iOS-mailto): Send no new line invite on default email
- fix(jaas) hide chrome banner regardless of jwt (#9565)
- fix(virtual-background): Add logs on virtual background actions.
- fix(AOT): participant selection.
- Fix speakerstats reports.
- fix(aot): Remove dependency to translate from StatelessAvatar.js
- fix(android): Fix install error on application compiled against Android S - Targeting S+ (version 10000 and above) requires that an explicit value for android:exported be defined when intent filters are present
- fix*(jaas) redirect to plan limit page on connection failed
- fix(reactions) Updated list of reactions & disabled incoming message sound (#9550)
- fix(jaas) always hide chrome banner (#9546)
- fix(css) moved to the left moderation text
- fix(jaas) fix jaas customer details endpoint (#9542)
- fix(virtual-background): Prevent memory leak when desktop share as a virtual background is applied.
- Fixed (#9533)
- fix(virtual-background): Set x scale to default value on desktop share as a virtual background deactivation.
- fix(share-youtube-video): Validate youtube url.
- fix(av-moderation): Fixes sending wrong whitelist in json.
- fix(virtual-background): Style adjustments on virtual background dial… (#9484)
- fix(settings): imports that break mobile.
- fix(connection-indicator) Fix detecting local/remote participant
- fix(virtual-background): Fix mirror behavior for remote participants.
- fix(tile-view): when iAmRecorder=true.
- fix(Filmstrip): Fix scrollbars around filmstrip (#9519)
- fix(feedback-dialog) Removed mouseover on mobile
- fix(config) document useRoomAsSharedDocumentName
- fix(av-moderation) added optional chaining for moderation enabling
- fix(css) fix various layout issues on small screen sizes (#9464)
- fix(external-api): update settings on api device change
- fix(build) split jaas actions
- fix(build) add missing file for native builds (#9461)
- fix(virtual-background): Fix resize action and prevent mirror behavio… (#9441)
- fix(chat) removed unread msgs counter on chat open
- fix(i18n): LocaleDetector should consider the language tag
- fix(pagination): keys
- fix(vpaas): Don't show recording link to initiator if saving on dropbox
- fix(keyboardshortcut) spacebar release mutes participant (#9434)
- fix(lobby) disable invite from lobby screen fix #9209 (#9417)
- Clear prosody utils and removes a debug statement.
- fix(VirtualBackgroundDialog): SS on electron.
- fix(virtual-background): Prevent virtual background selection if it h… (#9414)
- fix(wasm-support): WebAssembly browser support. (#9410)
- Checks all parts while parsing config params.
- fix(toolbox) Copying with Ctrl+C toggles the chat. Fixes #9380
- fix(api) invert filmstrip autohide flag
- fix(authentication) language display problem resolved #9385 (#9390)
- fix(share-video) fix backwards compatibility issue
- fix(rn): adds check for blur function on currentTarget
ThailandtoThai- fix(vpaas) enable deeplinking
- fix(participants-pane): Don't show 'grant moderator' action if already moderator
- fix(DeviceSelection): Remove video from mobile Safari
-
Translation updates:
- Update of the translation to portuguese language (#9432)
- Update of the translation to portuguese language (#9392)
lib-jitsi-meet
-
New features:
- feat(transcribing): configurable transcription language
- feat(non-participant-messages) Add a new JitiConferenceEvent for messages ignored by ENDPOINT_MESSAGE_RECEIVED
- feat(BridgeChannel): Signal a new videoType for high fps screenshare. This lets the bridge adjust the bitrate allocation for this source so that layers with higher fps are prioritized over layers with higher resolution. As a result, endpoints with restricted downlink will receive a high fps low resolution share as opposed to a high resolution low fps screenshare.
- feat(JingleSessionPC): Enable unfied plan by default for chrome p2p.
- Switch to unified plan on chrome by default unless explicitly disabled.
- feat(RTC): Add the ability to change desktop share fps. Provide a method for changing the capture fps for desktop tracks during the call. These changes to the lib are needed for making it configurable from the UI.
- feat(replace-participant): Replace participant with same jwt in the conf
-
Fixes:
- fix(ProxyConnection) add new required stubs
- fix(tpc) fix extracting ssrc map when using single stream
- fix(transcribing): send transcripton_language only when necessary (#1677)
- Fix av moderation n.filter is not a function.
- fix(ConnectionQuality): Do not show red/yellow GSM bars on join. When the user first unmutes their video, the connection quality is shown as poor until the local stats are available. Calculate the connection quality only after the stats are available, i.e., assume 100% until pcStatsInterval has elapsed.
- fix(precall) respect custom callstats script url for precall test
- fix(log) lower severity of overly verbose logs (2)
- fix(log) lower severity of overly verbose logs
- fix(JingleSessionPC): Fix startMuted cases for p2p unified plan. Chrome doesn't create a decoder for ssrc in the remote description when there is no local source and the endpoint is offerer. Initiating a renegotiation with the endpoint as a responder fixes this issue. Add a workaround until Chrome fixes this bug.
- Missed SSRCs in Unified Plan with several "ssrc-group:FID" groups. (#1658)
- fix(TPC): Fix the screenshare issue when user starts video muted on chrome. Munge 3 ssrcs in the SDP for chrome in unified plan always for the simulcast case.
- fix(JingleSessionPC): Disable unified-plan for p2p chrome. Do not enable unified plan for p2p chrome by default until StartMutedTest is fixed. Fix media direction for case when there are no local and remote sources, should be set to 'inactive' in that case.
- fix(codec-selection): Fix VP9 codec switching issue in Chrome unified-plan. Munge only the m-line that corresponds to the source that the browser will be sending. Do not select VP9 on Firefox. Detect support for RTCRtpTransceiver#setCodecPreferences correctly.
- fix(RTC): In unified-plan mode, disable the low resolution streams for low fps SS. In unified plan impl, it is not possible to enable/disable simulcast during the call since the same sender is re-used for all local video tracks. Therefore, disable the low resolution simulcast streams for low fps screensharing so that the bridge forwards only the highest resolution stream which is important for low fps screensharing.
- fix(JingleSessionPC): Do not check if the ssrc already exists in the RD when adding a ssrc-group from source-add.
- fix(VADAudioAnalyser): NPE error evaluating this._vadEmitter.on (#1652)
- fix(TPC): Do not remove ssrcs from remote desc for p2p. In unified plan, re-use of m-line (i.e., adding an SSRC, removing it and then adding it back) causes the browser to not render the media on Chrome and Safari. The WebRTC spec is not clear as to how browsers have to behave, this doesn't cause any issues on Firefox. As a workaround, only change the media direction and leave the ssrc in the remote desc. This automatically triggers a 'removetrack' event on the associated MediaStream and the track can be removed from the UI.
- fix(VAD): Do not enable VAD on Chrome on iOS.
- fix(RTC): Do not overwrite other constraints when resolution option is used. When the resolution option was being used, all the other constraints like frameRate and facing mode were being overwritten.
- Send videoType bridge message for mute/unmute on FF. (#1642)
- fix(TPC): Filter ssrcs differently while extracting the SSRC map from SDP. Use 'msid' for plan-b clients and 'cname' for unified-plan clients.
- fix(TPC): fix local resolution/fps stats. Browsers do not generate a 'msid' attribute for ssrcs in unified plan mode, use mediaType as a key for the TrackSSRCInfo map.
- fix(recording): Send participant id when recording starts/stops (#1632)
- fix(connectivity): Fix video freezes on Safari when ep goes out of last-n.
-
-
-
New features:
- added support for requesting MID header extensions (#770)
- Use synchronized Map for AV moderation.
- Fire ChatRoomImpl events asynchronously. (#754)
- Only recognize jibri members from trusted domains. (#751)
-
Fixes:
- Do not remove octo sources twice. (#782)
- the accepted sources from source-add. (#781)
- Fix the way source-add/source-remove are queued before the session is established. (#779)
- Do not add injected sources in jingle. (#780)
- exceptions (#776)
- Fix updating octo sources. (#775)
- Fix debian postinst when sip-communicator.properties is missing. (#774)
- Fix a NPE when chatRoom is null. (#769)
- Increase the conference queue executor queue size. (#765)
- Fixes using non-thread safe JSONParser.
- Fixes jitsi/jitsi-meet#9502 reload of authenticated users.
- Synchronize access to pendingTimeoutTask (#757)
- Catch exceptions in IQ handlers. (#742)
- Fix the chat room member count. (#752)
-
-
jitsi-videobridge 2.1-538-g062e9f56
-
New features:
- Support signaling forr high fps screensharring. (#1696)
- Add /colibri/muc-client/list endpoint (#1680)
- Only forward audio packets of the loudest speakers in a conference. (#1677)
- Implements tracking of the aimd bwe expirations. (#1670)
-
Fixes:
- Fix effective constraints calculation. (#1695)
- forwarding of VP9 screenshare (#1674)
- Tracks the total (instead of current) aimd bwe expirations. (#1675)
- Bump JMT: Expire RtpPacketCache objects after 15 seconds. (#1673)
- Do not require the --apis cmd line argument (fix #1592). (#1625)
- Update speech activity endpoints when video type changes. (#1668)
- Fix property names (ice4j). (#1667)
-
-
-
New features:
- feat(e2ee): shows E2EESection only when user is moderator
- feat(e2ee): broadcast e2ee disabled
- feat(virtual-background): Desktop share as virtual background
- Adds new module to unlimit jicofo and jvb connections.
- feat(AudioTrack): retries for play()
- feat(share-video) Add capability for sharing any direct link video
- more user friendly default device label
- feat(rn, security) added flag for controlling security options button visibility
- jitsi_session: extracts URL parameters from BOSH or WS into session
- feat(AddPeopleDialog): Add config option to overwrite invite subject app name
- A/V moderation (prosody module) (#9106)
- feat(virtual-background): Add placeholder on virtual background preview
-
Fixes:
- Fixes playing muted youtube video.
- Fixes selecting screen share when shared video stopped.
- Fixes import warnings.
- Stops auto pinning if shared video is playing.
- fix(participants) do not preload gravatars if config is empty
- Escapes some keys when parsing input.
- Skips check on domain verification disabled. Fixes #9313.
- prosody: token alg is checked before public key is used
- Fixes typo. (#9315)
- fix(video-filmstrip): Place filmstrip videos over toolbar
- fix(feedback): don't wait for feedback submission on leave meeting
- fix(virtual-background): Responsive virtual background preview.
- Fixes av moderation logic when granting moderator.
- fix(config): Add config for enabling unified-plan support on chromium.
- fix(ScreenShare): remove listener for native events when app unmounts
- fix(authentication): removed cancel event from overlay effect (#9274)
- fix(AudioTrack): _play promise chain
- fix(SharedVideo): Ensure shared video takes filmstrip into account
- fix(vpaas): Avoid url blipping on invite dialog
- Drops unused config, fixes jitsi/lib-jitsi-meet#1620.
- fix(virtual-background): Fix delete virtual background icon position.
- fix(sip) remove sip text from invite
- fix(virtual-background): Responsive virtual background dialog
- fix(lang) Update Turkish Translation
- Drops extra message sent on leave.
- fix(ci) fix checking if the git repository is clean
- fix(FocusLock): Stop stealing focus when embedded
- fix(participants): Knocking participant name in participants list
- fix(lang) update German translation for participants pane
- fix(participants-pane) enable translation of invite button
- fix(config) remove reference to interface_config.js
- fix(participants-pane): Use selector for displaying chat context item
- fix(sip) allow sip invites to contain phone numbers
- Fixes handling tenant in util and lobby.
- fix(toolbox) fix displaying mute everyone buttons for non-moderators
- fix(virtual-background) fix track leak in preview
- fix(deploymentUrls): Disable help and download apps buttons for JaaS
- fix(invite) fix notifications for phone invites
- fix(participants-pane): Use selector for displaying names
- fix(quality-control): Send the new receiver constraints on state changes.
- fix(RN, Toolbox): Show full participant thumbnails in tile view
lib-jitsi-meet
-
New features:
- feat(TPC): Enable unified-plan support for Chromium based browsers. This can be controlled through the config.js option 'enableUnifiedOnChrome'.
- Audio/Video moderation. (#1581)
-
Fixes:
- fix(RTC): Adjust the media direction for p2p conn. For p2p connections, the media direction needs to be adjusted after every source-add/source-remove is processed based on the availability of local sources.
- fix(RTC): Use a enum for media direction.
- fix(JingleSessionPC): Disable unified-plan for p2p. Disable cross browser p2p using unified plan until all the issues are fixed.
- fix(moderation): Unmuting after av moderation and no track.
- fix(moderation): Fixes detecting av moderation approved.
- fix(Sdp): Fix maxaveragebitrate typo
- fix(LocalSdpMunger): Fix unit test.
- fix(CodecSelection): Call RTCRtpTransceiver#setCodecPreferences before renegotiation. Call RTCRtpTransceiver#setCodecPreferences with the preferrred codec order before every createOffer/createAnswer. This ensures that the codec preference is enforced even when there is no local description available yet while the preferred codec is being set immediately after media session creation.
- fix(JingleSessionPC): Add a workaround for chrome issue. The 'signalingstatechange' event for 'stable' is fired after the 'iceconnectionstatechange' event for 'completed' is fired on chrome in Unified plan. This prevents the client from switching the media connection to the p2p connection once the ice connection for p2p gets established.
- fix(Logging): Log enhancements. Add a preifx to logs for idenitifying the type of TPC/jingleSessionPC.
- fix(TPC): Do not configure encodings on Safari until reneg. Avoid configuring the encodings on Chromium/Safari until simulcast is configured for the newly added track using SDP munging which happens during the renegotiation.
- fix(TPC): Do not configure encodings on chromium immediately after replace track. Avoid configuring the encodings on chromium immediately after replace track since the encoding params are read-only until the renegotation is done.
- send json message (#1180)
- fix(SDP): Add missing msid for p2p sources.
- fix(TPC): Don't convert plan-b<->unified-plan SDPs for p2p.
- fix(JingleSessionPC): Do not try to re-use inactive mid for new remote ssrcs. The direction was marked as 'inactive' only on Firefox as Safari had audio issues when an inactive mid is re-used. Chrome (in unified-plan) needs the direction of the mid in remote desc to be set to 'inactive' for a 'removetrack' to be fired on the associated media stream whenever a remote source is removed.
- fix(SDP): Drop SSRCs whenever the transceiver direction is 'inactive' or 'recvonly'. This is needed only for JVB connections. Add unit tests for LocalSdpMunger.
- Ignore startAudioMuted/startVideoMuted for p2p. The tracks will not be added when the call switches from jvb to p2p for an endpoint that joins muted by focus.
- fix(RTC): Do not suppress the source updates on Firefox. If the msid attribute is missing, then remove the ssrc from the transformed description so that a source-remove is signaled to Jicofo. This happens when the direction of the transceiver (or m-line) is set to 'inactive' or 'recvonly' on Firefox. Not signaling these source updates creates issues with remote track handling on the other endpoints in the call.
- fix(RTC): Set transceiver direction after RTCRtpSender#replaceTrack. This fixes the issue where TRACK_REMOVED event is not fired when a remote track is removed from the peerconnection. Fixes jitsi/lib-jitsi-meet#1612 and jitsi/jitsi-meet#8482.
- fix(caps): Disable TCC on Firefox. There is a known issue with Firefox where the BWE gets halved on every renegotiation causing the low upload bitrates from the Firefox clients.
- Drops unused config, fixes jitsi/lib-jitsi-meet#1620.
- fix(e2ee): destroys olm session on disabling e2ee
- fix(RTC): Disable simulcast for SS when using H.264. Fixes jitsi/docker-jitsi-meet#1048
- fix(TPC): Return default codec if the local sdp is not available. Get the correct media type when generating the source identifier.
- fix(vad): enable VAD on supported browsers (#1613)
- fix(JingleSession): Move the ssrc identifier generation to LocalSdpMunger.
- fix(logger): Logging enhancements. Get rid of noisy logs related to SDP transformations which are redundant. Fix formatting and add missing information.
- fix(quality-control): Propagate the height constraints to p2p session. If the application is using the new receiver constraints, propagate the height constraint to the p2p session as well.
- fix(quality-control): fix constraints sent on channel initialization. Do not send old format constraints if no constraints are set before the channel is initialized.
-
-
-
New features:
- Deprecates the reservation system.
- Add stats for jigasi, improve logs, shutdown IQ handler (#737)
- A/V moderation (#734)
-
Fixes:
- jigasi iq handler (#744)
- Video muting, fixes jitsi/jitsi-meet#9238.
-
-
jitsi-videobridge 2.1-508-gb24f756c
-
New features:
- Log the jvb version on startup. (#1659)
-
Fixes:
- "unknown endpoint" warning sending EndpointStats. (#1666)
- Bump Jitsi-SRTP (via JMT). Hopefully fixes crash due to GC of native objects. (#1663)
- Log using logger, remove leftover print. (#1660)
- Fix VideoTypeMessage.TYPE, use it. (#1644)
- bump versions of some dependencies. (#1653)
- markdown syntax in debugging.md. (#1652)
-
-
-
New features:
- feat(virtual-background) add virtual background preview
- feat(themes): Add style tokens and web theme
- feat(ios) add ability to set CallKit options for incoming calls
- feat(iOS): screensharing extension swift implementation
- feat(last-n): Implement startLastN and make last-n configurable through UI. (#9093)
- feat(settings) removed openTwoButtonDialog from UI module and created react LogoutDialog component
- feat(aot): improve AOT UI/UX
- feat(participants-pane) implement participants pane
- feat(sip-invite) add room password for sip invite requests
- feat(HDAudio): Initial implementation.
- feat(virtual-background) Virtual background UI changes
- feat(build,ios) add lane to update dSYMs on Crashlytics
- feat(rtcstats): switch to rtcstats v3 protocol (#8989)
-
Fixes:
- fix(dev) make sure each bundle analysis report gets its own file
- fix(dev) disable performance hints when doing bundle analysis
- fix(premeeting): "Don't show screen" button hover state
- fix(participants-pane): Resize video layout when closing or opening
- fix(Thumbnail): Display mode typo.
- fix(dialogs-style): Remove box shadow from header and footer
- fix(premeeting) drop gradient
- Fixes welcome page add calendar link. Fixes #9132
- fix(video-layout): Fix video-layout when a SS participant leaves. Unpin the screenshare when the screensharing participant leaves. Switch to tile view if no other participant was pinned before screenshare was auto-pinned, pin the previously pinned participant otherwise.
- fix(jwt-validation): validate
kidvalue only for JaaS - fix(rn, Labels): Place picture-in-picture button on the left
- fix(Video.js): prevent DOMException: The play() request was interrupted by a new load request
- (external-api): fix notify video mute changed when presenting
- fix(Labels): Recording label background color
- fix(external_api) fixed misspelled api command
- fix(lang) update French translation
- fix(patch) remove unneeded hunks from RN patch
- fix(ios) fix building with Xcode 12.5
- fix(sip-invite) fix baseurl case sensitive replacement
- fix(toolbox): hide toolbox when mouse outside toolbox area
- fix(screenshare): remove redundant event / only show on supported env (#9100)
- fix(ios) fix leaving the meeting when screen-sharing
- fix(lang) update Italian translation
- fix(UI) removed unused methods
- fix(config): Deprecate capScreenshareBitrate.
- Updates jiconop2 to drop custom type.
- fix(sip-invite) remove hash params
- fix(presenter): Do not resize the desktop track on FF by default. Resizing of the desktop track on Firefox is not needed anymore since the browser now reports the correct resolution of the desktop track after the fix here - https://github.com/jitsi/lib-jitsi-meet/commit/ada0f5e537b8e8102cc99cf8982236e4aa6223d9. Fixes jitsi/jitsi-meet#8519
- fix(authentication): removed old LoginDialog.js file, fixed redirection to the external auth and created actions.any.js (#9049)
- fix(participants-pane): Consider reducer/state being unavailable on native
- fix(config) drop ancient backwards compatibility options
- fix(config) avoid using legacy config options
- fix(android): catch exception thrown when media projection is stopped
- fix(android) fix screen rotation when screen-sharing
- fix(audio-share): Show button only when supported by browser. Show the audio share button only when its supported. For example, mobile browsers do not support getDisplayMedia yet.
- fix(sip-invite) add minor fixes to sip invite flow
- fix(jaas) fix recorder and sip gateways not detecting vpaas meetings
- fix(aot): fix aot buttons size
- fix(ios) detect orientation when screen sharing
- fix(virtual-background): Check if virtual background is disabled on premeeting.
- fix(prejoin) fix background selection not being available for 3rd party apps
- fix(video-layout): Unpin SS when the screensharing participant leaves.
- fix(rn,config) update to new configuration for codec selection
- fix(config): Add missing config.js settings. Add missing enforcePreferredCodec, bitrates for H264 and fix an issue with missing comma.
- fix(invite) fix mailto links not working on Brave for iOS
- fix(toolbox): Fix toolbox not auto-hiding. (#9002)
- fix(icons): CC, invite, user & virtual-background
- fix(ios) use app_store_connect_api_key for Fastlane builds
- fix(sip-invite) do not send query params on sip invite request
lib-jitsi-meet
-
New features:
- feat(HDAudio): Initial implementation.
-
Fixes:
- fix(JingleSession): Add a unique identifier for source on Firefox.
- Drops unused nick from messages. Fixes #1592
- fix(RTC): Fix screenshare with audio on Electron.
- fix(conference): Enable p2p for unified plan clients.
- fix(TPC): Use addTrack instead of addStream in Unified-plan impl.
- fix(RTC) drop the "old gUM" flow
- fix(SDP): Move all SDP related files to a different dir. SDP utility classes are spread across RTC and XMPP directories now, moving these class files to a 'sdp' directory.
- fix(stats): Return promise for getStats. Switch to returning a Promise for getStats. Reset frame rate stat to 0 when video is suspended as a result of endpoint falling out of last-n.
- sysMessageHandler not deleted (#1590)
- fix(quality-control): Send the new constraint on join. Fixes the case where the old format height constraint is sent on join for a jvb media session.
- fix(quality-control): Switch to new receiver constraints by default. Use the new receiver constraints unless it is explicitly disabled through config.js.
- Drops the sys message handler after used or connected.
- fix(RTC): Specify default width of 1280px for video. Fixes jitsi/lib-jitsi-meet#1571.
- fix(ReceiverVideoController): Cache the new receiver constraints.
- fix(screenshare): Disable SS simulcast based on fps requested. Disable simulcast for low fps screenshare and enable it for high fps screenshare. testing.capScreenshareBitrate config.js setting has now been deprecated.
- Fixes sending initial disco info on attaching connection.
- high CPU on Chrome with low fps screen sharing (#1570)
- fix(JingleSession): Increase the ICE candidate gathering timeout to 150ms. This will reduce the numbers of transport-info IQs sent by the client.
- fix(TPC): Fix error handling for getStats.
- fix(stats): Use promise-based getStats on all browsers. Get rid of the browser specific keys and use the standard spec-compliant fields for stats. Get the resolution/fps for remote streams from 'inbound-rtp' stats. Use the 'track' stats for the local resolution/fps since these take the active simulcast streams into account.
- fix(SS): Implement a 2500Kbps limit for VP9 SS.
- fix(RTC): Remove stream effect before disposing the track. Remove the effect instead of stopping it so that the original stream is restored on both the local track and on the peerconnection. Fixes issues when a stream with effect applied is replaced on the pc after it is muted, also fixes jitsi/lib-jitsi-meet#1537.
- Drops unused config.
- fix(connection-quality): Calculate target bps based on videoQuality settings.
- Adds back removed method used by jibri. (#1561)
-
-
-
New features:
- Allow to use the Service XMPP connection for jibri. (#732)
-
Fixes:
- Use a sync IQRequesstHandler for jibri. (#726)
-
-
jitsi-videobridge 2.1-492-g5edaf7dd
-
New features:
- Log a message when endpoints are suspended due to bwe. (#1645)
-
Fixes:
- Catch exceptions that occur when handling octo packets. (#1650)
- Make "source" nullable, as Octo uses "null". (#1649)
- ReceiverConstraints map and processing messages in order (#1647)
- fix bug calculating removed video endpoints in constraints. (#1643)
- Bring back logs for SENT colibri responses. (#1641)
- Fix unnecessary thread contention pushing to packet queues. (Bump jitsi-utils.) (#1632)
-
-
-
New features:
- feat(screenshare): Audio only screenshare (#8922)
- feat(rn,security) add security dialog
- feat(virtual-background) add slight blur option
- feat(Labels): Redesign labels on mobile & web
- Adds an option to preset in localstorage key for locked rooms.
- feat(ios): adds ios screensharing enabled flag
- feat(premeeting-screen) add virtual background functionality
- feat(e2ee): auto turns on e2ee when one participant enabled it
- feat(sipcall) implement sip invite
- feat(virtual-background) persist settings
- feat(e2ee): adds sounds for e2ee enabling/disabling
- feat(rn): makes InputDialog textInput autoFocus
- feat(external_api): Add command for toggling localFlipX
- feat(external_api): Add command for toggling camera on mobile web
- feat(virtual-backgrounds) add ability to upload custom images
- feat(rn,polyfill): Add a polyfill for Promise.allSettled.
- feat(tile-view) allow to toggle tile view while alone
- feat(authentication) refactor auth dialogs to use React
- feat(iFrame): Emit event when recording status changes, including errors (#7973)
- feat(background alpha) Set background transparency
- feat(external_api): add videoMuted event and action (#8862)
- (external-api) Add command for setting tile view mode
- feat(toolbox): Adaptive toolbar on mobile
- feat(rn,ui) update in-meeting colors
- feat(rn,conference) new UI for conference name duration
- feat(rn,ui) get rid of the gradients
- feat(flags) add feature flag for audio-only button
- feat(jwt) log jwt validation errors
- feat(InviteMore): Relocate invite prompt for mobile friendliness.
- feat(config): Add config option to allow unsetting local video flip
- feat(Chat): Revamp design.
- feat(ToggleCamera): Implement for web.
- feat(android): adds timer to OngoingNotification
- feat(build,rnnoise) don't use an external bundle for the effect
- feat(build,virtual-background) don't use an external bundle for the effect
- feat(virtual-backgrounds) add virtual background support
- feat(toolbox): Redesign mobile toolbox
- Fixes filtering not needed presences.
- feat(Toolbar): Redesign web toolbar
- feat(config): Add useHostPageLocalStorage
- Move checks for moderator in pre-join and filter extra presences.
- feat(rn,flags) add fullscreen.enabled flag
- feat(browser-support): Add support for WKWebview based browsers.
- feat(iOS): screensharing support
- feat(ci) fail CI if package-lock wasn't updated
- Only show more numbers link if multiple numbers are available (#8702)
- feat(shared-video) refactor dialog to use React
- Add a new setting to remove individual sharing features from UI (#8660)
- feat(external_api): allow clipboard-write
- Added mute video moderation feature (#8630)
- feat(sip): Added auto-knocking for sip gateway if lobby is enabled
- feat(Chat) Improve responsive behaviour further.
- feat(load-test): Fixes audio senders.
- Add 'useNewBandwidthAllocationStrategy' to config.js.
- feat(load-test): Load test startmuted (#8629)
- feat(blur) replace BodyPix with TFLite
- feat(mobile) adds actions and events for the chat
- refactors the chat flow so it has open and close functions
- (external_api) add command for kick participant
- feat(flags) add feature flag for help button
- feat(embed-meeting) add autoplay permission to iframe sample
- feat(external_ap) add api call to get live stream url
- feat(vpaas): Send billing id to prosody
- feat(rn) update SDK version to 3.1.0
- feat(dev) bind to 0.0.0.0 on the dev server by default
- feat(android) adds ability to disable the requestFocus on Android
- feat(conference): Enable forced reload of client on bridge failure.
- add ipados to list of Platform.OS (#8205)
- feat(mobile) adds feature flags for audioMute, videoMute and overflow… (#8537)
- feat(mobile) adds ability to retrieve participantsInfo array
- feat(rtcstats): send meeting uuid to rtcstats (#8526)
- feat(mobile) adds ToggleScreenShare event and action.
- feat(Dialog): Make dialog close button more mobile friendly.
- feat(external_api) allow dropbox option to be overwritten
- Allow star for room in moderated tenants.
- feat(external_api) add event for chat updates (unread counter, open state)
- Adds option to set ws keepalive url through config. (#8487)
- feat(ui) update AtlasKit components
- feat(tiles): Add responsive behaviour. * Enforce fixed column number at various width breakpoints. * Bring back the filmstrip at small sizes but hide it. * Change default maximum columns to 7.
- Implement aggressive layer suspension on RN. RN doesn't support RTCRtpSender yet. Therefore, media is suspended on RN by changing the media direction in the SDP whenever the client receives an ideal height of 0 for sender constraints on the bridge channel. LJM update - https://github.com/jitsi/lib-jitsi-meet/compare/3570339360763fa0911d92c5ae7c270860b6934b...be18ff34bedf38c7475fe4953074c7959000e15f.
- feat(mobile) adds more feature flags (#8450)
- Uses mod_external_services supporting urn:xmpp:extdisco:2. (#8455)
- feat(android) set compile/target SDK versions to 30
- feat(android) update native dependencies
- feat(mobile) adds ability to send and receive text messages (#8425)
- Detects shard changed when using websockets.
- Add new codec selection mechanism. When an endpoint that doesn't support the preferred codec (VP9) joins a conference, all the other endpoints fallback to VP8 until the endpoint leaves the call.
- feat(overflow): Add responsive drawer at small screen width.
- feat(external-api) set
privateMessageflag onincoming-message - feat(external_api) allow shortcuts to be disabled
- feat(external_api) add command and event listener for CS
- feat(chat): Improve responsiveness.
- feat(external_api) allow initial gUM requests to be disabled
- feat(external_api) set and cancel private chat through external API
- feat(external_api) allow notifications to be configured
- feat(recording) - Show recording started notification to the initiator (#8359)
-
Fixes:
- fix(toolbar) restore security button backwards compat
- fix(virtual-background) keep selected state on dialog
- fix(rn,full-screen) make sure immersive mode respects the fullscreen flag
- fix(debian) don't include package{-lock}.json files
- fix(settings): Make language dropdown wider
- fix(virtual-backgrounds) add segmentation model license information
- fix(sip-invite) fix sip invite jwt not being sent correctly
- fix(ios) keyboard no longer covers message board and input
- fix(Toolbar, rn): Button overflow in landscape orientation
- fix(MoreTab): Fix languages not being scrollable on mobile
- (lang): update french and canadian french i18n
- Adds Portuguese to listed languages
- fix(lang) Differentiate prejoin and lobby better in German translation
- fix(virtual-background): Hide scrollbar on loading action.
- Correct some missing comas in config.js.
- used deprecated onmousewheel event
- fix(lobby): Knocking participants list for small widths
- fix(captions): Lift captions upper when invite box is shown & fix icon
- fix(virtual-background): Fixes upload virtual background on Firefox
- fix(large-video): Always pin screenshare to large-video if it exists.
- Fixes lobby when allowners is enabled.
- fix(lang) update Dutch translation
- fix(lang) fix typo in Russian translation
- fix(lang) update Dutch translation
- fix(interfaceConfig) mark as deprecated
- fix(lang) fix typo in Russian translation
- fix(toolbox): Add missing lang key for video settings
- fix(overflow-menu): Don't change state on hover for disabled items
- fix(menu): Pop menu icons & background
- Refactor client width computation.
- fix(welcome): Align meeting list at the top when no footer
- fix(rn, toolbox): Change button appearing order
- fix(load-test): Fixes unmuting loadtest client. (#8849)
- fix(toolbar): Re-add "mute everyone's video" button
- fix(android) apply flags when launching activity from non-activity context
- fix(chore) fix typo
- fix(config, docs) document feedbackPercentage
- fix(misc) follow-up typos
- fix(android) remove leftover package
- fix(rn,labels) don't add extra margin in tile view
- fix(rn,labels) top-align with room name field
- fix(filmstrip) make sure it's not rendered outside of a safe area
- fix(rn,filmstrip) simplify thumbnail height calculations
- fix(rn,conference) remove no longer needed margin
- fix(rn,filmstrip) simplify visibility calculation
- fix(rn,toolbox) fill gap underneath Toolbox
- fix(rn,ui) move top labels to navbar component
- fix(icons) never specify fill
- fix(startMuted): Fix unmute on mobile when it is muted by Jicofo on join.
- fix(Chat): Fix modals displaying improperly due to chat.
- fix(toolbox): Fix overflow menu & button background
- fix(virtual-background) fix tainted canvas when using the CDN
- fix(toolbox): Fix mic disabled icon
- fix(android) changes the property name for the manifestOutputDirectory
- fix(jaas) hide support link in invite error for jaas users
- fix(prejoin): Use localFlipX on prejoin screen
- fix(misc) typos
- fix(toolbox): Fix always on top toolbar
- fix(virtual-background) use a DOM element for storing the image
- fix(rn,bottomsheet) limit width
- fix(toolbox): Constrain toolbox width on large mobile device
- fix(toolbox): Background of disabled settings button & tileview button
- fix(toolbox): Fix buttons size in minified mode
- fix(vpaas) send jitsiMeetId instead of billingId
- fix(screenshare): audio screen share muted state (#8785)
- fix(virtual-background) use tighter edge smoothing
- fix(toolbox): Restructure items order for desktop & mobile
- fix(icons): No hardcoded colors for some svgs
- fix(chat) hides send private chat button when enable.chat flag is false.
- fix(toolbar): Update overflow menu according to review
- fix(toolbar): Small changes according to design review
- fix(UI): Add playsinline attribute for remote video. For the video to play on Safari mobile browser, the playsInline attribute needs to be set to true. Set the mute attribute as well which was accidentally removed in code refactor.
- fix(useVideoStream): error handling & add logs.
- fix(prejoin): Don't overwrite display name with ''
- fix(ios,build) make sure the correct broadcast extension ID is set
- fix(ios) make sure broadcast extension version matches
- fix(ios) move extension to a path without spaces
- Fixes filtering lobby presences.
- fix(config) fix syntax error in commented code
- fix(responsive): Fix tiles not recomputing when jumping between screen sizes
- fix(ios) the broadcast extension'd bundle ID must match the app's
- fix(tracks): Do not signal muted audio tracks.
- fix(rn,tracks) fix not showing alert when permission is not granted
- fix(deps) sync package-lock
- fix(copyText) use a helper library
- date util localization (#8723)
- fix(live-stream-section): Use await for copyText
- fix(copyText): in iframe for chrome<85
- fix(ios) sync podfile
- fix(blur) disable blur button if camera is off
- fix(deps) bump lodash
- fix(blur-effect) enable blur effect on all platforms supporting canvas filters
- fix(lint-run-command)
- improved copy text helper function (#8677)
- fix(LargeVideo): Fix large video not resizing when closing chat.
- fix(gum) add event handling for SLOW_GET_USER_MEDIA
- fix(blur) check model response status and catch errors
- fix(blur) fix model paths
- TypeError: Cannot read property 'isAudioTrack' of undefined
- fix(lang) update Italian translation
- fix(load-test): Fixes keepalive url when using load-test.
- fix(rn,lobby) make sure the enable dialog follows the theme color
- fix(load-test): Always create local audio track. (#8612)
- fix(popups): covered by labels.
- fix(load-test): Create local tracks and then join.
- fix(avatar) refactor preloading to avoid CORS issues
- fix(load-test): Uses websocket if available and adds room param to the connection url.
- fix(external_api) add autoplay capabilities to created iframe
- Add GUM timeout & improve device permissions
- fix(AudioSlider): removed when volume is 0
- fix(lang) update Russian translation
- fix(tests): Add more checks so that test don't error out.
- fix(Safari): Fix mobile double tapping for toolbar and overflow.
- suspicious URL on Persian localization file
- fix(lang) update korean translation
- fix(android) add ability to localize notification actions strings
- fix(test): Make sure test doesn't error out.
- fix(recents-list): Order recents by last used
- fix(Filmstrip): Prevent Toolbox from being shown indefinitely when hovering filmstrip
- fix(docs) add JaaS link to README
- fix(Safari): Fix zoomed in mobile interface and cropped tile
- fix(conference.js): crash on undefined
- fix(debian): Improves handling db_get.
- Adds luasec as dependency.
- fix(debian): Fixes enforce_apache option.
- Use internal_hashed everywhere. (#8485)
- fix(misc) typo
- fix(lang) update Dutch translation
- Lobby display name set when preJoin is disabled. Fixes #8415.
- Fixed Turkish translation issues
- fix(lang) corrected Dutch translation of toggleCamera
- fix(vpaas): Store billing id in parent lolcaStorage on Safari
- join label in pt-br
- fix(subject) remove gradient if no info in topbar
- fix(Toolbox): Fix toolbox display when accessing it via keyboard
- fix(rn,stats) fix incorrect bitrate calculation on mobile
- Fix broken postinst reported by @wsldankers.
- fix(tile-view) avoid covering the logo
- Fixes #8396, wrong ssi includes in offline static page.
- fix(settings) remove legacy compatibility code
- fix(menu) do not display overflow menu button if no items
- fix(jaas) disable directory integration
- fix(Thumbnail): volume & audioLevel default values
- fix(filmstrip): Import from base/tracks.
- fix(Thumbnail): Improve naming.
- fix(AudioTrack):Add check for NaN value for volume
- fix(Thumbnail): imports.
- fix(SmallVideo): computeDisplayModeInput
- fix(rn) stop room name generator when field is focused
- fix(twa) update template
- fix(libre-build) skip spurious Firebase and GCM dependencies
- fix(libre-build) update react-native-device-info to 8.0.0
-
Translation updates:
- Update korean translation (#8879)
- Update main-da.json (#8642)
lib-jitsi-meet
-
New features:
- feat(RTC): Signal video type and availability to bridge.
- feat(stats): Add a new bridge message "EndpointStats" for stats. Use the new Colibri message "EndpointStats" for broadcasting the local stats. The bridge then will be able to filter the endpoint stats and send them only to the interested parties instead of broadcasting it to all the endpoints in the call.
- feat(e2ee): makes olm sessions initialisation lazy
- feat(e2ee) update to SFrame draft -02
- feat(stats): Get audio levels for the top 5 speakers only.
- Consider absence of A/V muted from presence as muted.
- Moderator can revoke moderator role to others and himself (#1532)
- participant kick reason add
- feat(jwtError): Send explicit error on auth failed with invalid jwt
- Remove ssrcs on leave
- feat(ReceiveVideoController): Add the ability to send constraints in the new format. Add the ability to send the bridge messages for the receiver video constraints in the new format directly.
- feat(dominantSpeaker): Add previous speaker list.
- feat(browser-support): Add support for WKWebview based browsers. Apple added getUserMedia support for WkWebview based browsers like chrome and Firefox on iOS 14.3. These browsers behave as Safari does on iOS. Therefore, extend the Safari checks to these webkit based browsers as well.
- Added mute video moderation feature (#1496)
- Use the new bridge signaling format.
- Reuse billingId from localstorage as jitsiMeetId.
- feat(docs) mvoe API documentatrion to the handbook
- feat(GUM): timeout.
- Send billing id to prosody on join presence
- Add the ability to configure max. bitrates for VP9. The max bitrate for VP9 is enforced by adding the b=AS: line in the SDP since there is no way to configure the max. bitrates for the individual SVC streams using RTCRtpSender.setParameters.
- expose MEETING_ID_SET event (#1484)
- Adds option to set ws keepalive url through config.
- Implement aggresive layer suspension on RN. RN doesn't support RTCRtpSender yet. Therefore, media is suspended on RN by changing the media direction in the SDP whenever the client receives an ideal height of 0 for sender constraints on the bridge channel.
- Support the urn:xmpp:extdisco:2 namespace specified by XEP-0215 (#1472)
- Changes ws default keepalive interval.
- Detects shard changed when using websockets. (#1462)
- Add codec selection mechanism. Determine the preferred codec for a given endpoint based on the config.js settings and the codecs supported by the endpoint. The preferred codec is published in presence and then used by the other endpoints in the call during join/leave to determine if the codec needs to be changed on the fly. Different codecs can be configuered for p2p/jvb connections. The preferredCodec/disabledCodec settings under videoQuality will have precedence over the older settins like preferH264/disableH264.
-
Fixes:
- fix(rtc) Fix setting effects while not in a conference.
- Fixes error for undefined error, on happening on p2p kick.
- fix(receiveVideoController): Do a deep copy of constraints for comparsion.
- fix(codec-selection): Fix codec selection for unified plan browsers.
- fix(receiveVideoController): Do not send redundant video constraints to the bridge.
- fix(e2ee) update docs after dropping signatures
- Dial-out after setting password in the meeting.
- fix(caps): features update event is not emitted.
- fix(TPC): get ssrc info per ssrc and not per mline.
- fix(JingleSession): Avoid renegotiation when user with no sources leaves the call.
- fix(deps) update webrtc-adapter to v7.7.1
- fix(screenshare): audio screen share muted state
- fix(modificationQueue): error handling & logs
- fix(lastN): Return the correct lastN value for the conference.
- fix(conference): Do not signal muted tracks on join. Do not add the muted audio/video tracks to the peerconnection on join. The tracks will be added when the user unmutes for the first time. This reduces the number of remote sources that will be added when a participant joins a large call where everyone joins muted (startAudioMuted/startVideoMuted setting).
- Checks presence editing and make sure we send only on change.
- fix(RTCUtils): Init availableDevices.
- fix(RTC) fix device selection not being available
- fix(TPCUtils): undefined is not an object (evaluating 'this.tpcUtils.replaceTrack(e,t).then')
- fix(TPC): Remove the existing track instead of overwriting. When a second remote track of the same mediatype is received for an endpoint, remove the existing track before creating the new remote track.
- fix(e2ee) fix disabling E2EE
- fix(e2ee) fix key index after ratchetting
- Drop caps handling (#1495)
- fix(SendVideoController): Apply the sender constraint only when it changes. There were cases where the bridge was sending the same constraint multiple times causing redundant calls to getParameters/setParameters on the RTCRtpSender.
- fix(gum) update permissions prompt detection
- Save guards _features to be always empty and nver undefined. (#1493)
- fix(GUM-permissions): cache permissions on init.
- fix(example) simplify
- fix(GUM): improve permissions logic.
- fix(ice-restart): Force client reloads when call is migrated.
- VADAudioAnalyser: catch error
- Restore local connection status. After ICE failure and subsequent recovery of the media connection to the bridge using session-terminate, the local connection status needs to updated when ICE connection is established on the new peerconnection. The local connectivity status will be shown as Lost otherwise.
- return default codec if local desc is not available. Fixes jitsi/lib-jitsi-meet#1466
- Skip header checking for ws and shard when not configured. Fixes #1465.
- fix(RTX): Re-enable RTX on Firefox.
- unit tests and some clean-up
- Disabling lobby when using tenant.
-
-
-
New features:
- Do not send source-remove when a participant leaves. (#719)
- Adds a ping to the healthcheck. (#721)
- Add .editorconfig to enforce max_line_length (#720)
- Code coverage with JaCoCo and Codecov. (#706)
- Propagate the meetingId from the MUC to colibri. (#700)
- Added mute video moderation feature (#695)
- Read average_participant_stress from bridge stats. (#697)
-
Fixes:
- Adds a nullcheck fixes NPE. (#722)
- Do not block the smack thread waiting for a response from jibri. (#718)
- Skips sending empty video content on source-add.
- Fixes blocking receiver thread (#716)
- Don't propagate sources if octo is disabled. (#713)
- Disables octo by default (sync with the bridge). (#712)
- Graceful Graceful shutdown (#705)
- Fix room name in log context. (#692)
- Fix logging (update jicoco). (#691)
- Fix reading PENDING_TIMEOUT from legacy config. (#688)
- Fix the client-proxy property name. (#685)
- Fire events async. (#682)
- Read the original sender's JID when used with client_proxy. (#674)
- Fix leaking JitsiMeetConferenceImpl insatnces. (#673)
- Remove jicofo.conf on purge. (#664)
-
-
jitsi-videobridge 2.1-478-gc6da57bd
-
New features:
- Remove the config flag to enable/disable stats, always enabled. (#1616)
- Code coverage with JaCoCo and Codecov. (#1607)
- Read and expose meetingId. (#1599)
- Send a limited speaker history with DS changes (#1597)
- Handle Colibri requests asynchronously. (#1590)
- Add an average_participant_stress stat. (#1572)
- Add debug logs for bandwidth allocation. (#1571)
- Implement lastN limits based on conference size. (#1556)
- Add a stat for the number of endpoints with high loss. (#1553)
-
Fixes:
- Shut down ice4j harvester thread pool properly. (Bump ice4j). (#1629)
- switch up to HD quickly when resuming a layer-suspended source. (Bump JMT.) (#1628)
- Bump JMT: Fix the check for "active video" in the initial grace period. (#1621)
- Avoid spinning in DTLS handshake. (#1619)
- Dot not serialize unneeded fields. (#1617)
- Propagate EndpointConnectionStatusMessage from octo to local endpoints. (#1615)
- Fix previousSpeakers message. (#1603)
- Do not aggregate per-SSRC stats (fix a leak). (JMT). (#1600)
- Remove the code clearing ice4j properties. (#1594)
- Fix detecting allocation changes. (#1589)
- Re-use the ObjectMapper when serializing. (#1588)
- Fix bitrate stats (fixes #1583). (#1584)
- Fix jitsi-utils dependency (update jicoco). (#1581)
- scenario where endpoint connection status can get stuck on 'inactive' (#1567)
- Fix layer selection with the legacy API. (#1561)
- Fix the logging "programname", remove obsolete properties. (#1549)
-
-
-
New features:
- feat(jaas) allow tile view to be disabled
- feat(jaas) add config for displaying participants stats and conference subject
- Skip p2p when the participant is jigasi.
- emit raise hand event to external API (#8312)
- feat(analytics) unify Amplitude handlers across web and mobile
- feat(stats) add stats for mobile
- feat(analytics): Adds metric for SS issues.
- feat(ios) rename SDK target to JitsiMeetSDK
- Update spanish translation (#8023)
- feat(ios) added ability to use an external CXProvider and CXCallController
- feat(tile-view) optimize for less margins
- Update the Czech translation (#8133)
- feat(analytics): Add tenant.
- Exposes a method for checking is remote track received and played/testing. (#8186)
- Add option to force pc to use turn relay candidates. Helps with testing turn relay cases.
- feat(ConferenceTimer): Add config option to hide.
- Remove the min-participants config.
- feat(rn) switch to XCFramework and WebRTC M87
- Makes it possible to hide the "Save Logs" link. (#8143)
- Include "Latvian" in the languages list (#8129)
- feat(avatar) add ability to customize Gravatar base URL
- Skips the default tile view when jibri is loading.
- Drops filmStripOnly mode. (#8074)
- feat(rn) add mute everyone / (else) capabilities
- feat(external_api) drop support for noSSL option
- feat(BrowserCapabilities) drop supportsVideo
- Drop enableUserRolesBasedOnToken and isGuest.
- Show cc button for ongoing transcribed meetings for guests
- Drop lockRoomGuestEnabled.
- Drop HIDE_KICK_BUTTON_FOR_GUESTS setting.
- Drop buttons tooltips specific to guests.
- Profile tab does not depend on isGuest.
- Drops SHOW_JITSI_WATERMARK_FOR_GUESTS and SHOW_WATERMARK_FOR_GUESTS.
- feat(welcome_page): Redesign welcome page
- feat(android) add screen-sharing support
- feat(misc) automatically assign feature-request tag to issues
- Reduce pings and adds xmpp ping config.
- feat(prejoin): Add name from jwt to prejoin screen
- feat(vpaas): Track vpaas conference join
- feat(iFrame): Add recording options for RTMP streaming. Add methods for start/stop recording in addition to the commands that we already have.
- feat(pwa) update TWA Android project
- feat(pwa) do not display chrome extension banner for TWA
- feat(pwa) add fastlane integration for building TWA APK
- feat(pwa) update mask icon
- feat(presenter): apply 'text' contentHint
- feat(pwa) update generated Android project
- feat(pwa) move twa manifest to twa/
- feat(pwa) update twa manifest with new (old) colors and manifest path
- feat(pwa) use current icons
- feat(pwa) add TWA generated files
- feat(mobile) add splash screen
- feat(prejoin): handle disabled precall test.
-
Fixes:
- fix(JitsiStreamPresenterEffect): frozen on Safari
- fix(filmstrip) fix button not considering interface config settings
- fix(ios) fix drag handle not rendering with latest react-native-svg
- fix(ios) fix crash on startup on iOS 11
- fix(setAudioOutputDeviceId): check if supported
- Process pre-existing participants properties.
- Fixes showing phone icon for jigasi participants.
- fixed admin check for token verification
- fix(jitsi-meet-web-config.postinst) allow cert and key pre-selection (#8319)
- fix(lang) update zhCN translation
- fix(lang) update German translation
- fix(tile-view) allow watermark to be covered
- fix(tile-view) reduce margins, take 2
- fix(ios,fastlane) adjust scheme name after rename
- fix(android) avoid crashes if view is null
- fix(jaas) update recording label and hide option for jaas users
- fix(password): Fix add password button on Safari
- fix(branding): Use config url for dynamic branding
- fix(script) add commits list to update LJM message
- Skip sending multiple times disco-info to jicofo.
- fix(welcome-page) fix .insecure-room-name-warning margin
- fix(main-ko) add keyboardShortcuts videoQuality (#8264)
- fix(main-ko.json) Update some korean spelling & words (#8253)
- #8095 (#8101)
- fix(remote-control) skip on mobile
- fix(ios) fix joining a meeting when the app was closed
- fix(conference.js): 2 tracks of the same media type
- Skip sending unnecessary signalling for raise hand.
- fix(LoginDialog) added missing double quotes
- Start p2p only when we have received all presences.
- fix(video):Always show avatar if video is inactive
- the user placeholder translation issue #8219 (#8233)
- Fixes VP9 support on Chrome. chore(deps) lib-jitsi-meet@latest
- Fixes detecting websocket disconnect by using xmpp pings.
- fix(lang) fix a few typos in Italian translation
- fix(config) remove openBridgeChannel
- fix(tracks): Do not add a second audio track.
- fix(lang) typo
- fix(android) set stream type hardware buttons should control
- fix(android) reset audio route after audio focus was lost
- fix(android) use modern API for requesting audio focus
- fix(lang) update Italian translation
- fix(android) disables the RNWebViewFileProvider
- fix(TPC): Do not scale down desktop track in p2p/non-simulcast cases. chore(deps) lib-jitsi-meet@latest
- fix(deps) update logger
- fix(connection-status): action
- fix(avatar) revert back to defaulting to Gravatar
- fix(lastN): select screenshare endpoint always when auto pinning. When trying to auto pin screenshare, always select the endpoint even though it happens to be the large video participant in redux. The auto pin screenshare logic kicks in after the track is added. If the screenshare endpoint is not among the forwarded endpoints from the bridge, it needs to be selected again.
- fix(lastN): Do not override channelLastN value. If limitLastN values are specified and channelLastN < limitLastN, configure channelLastN on the conference.
- Fixes 404 page link when base is used.
- fix(UI): Add method for returning the video type of remote participants. This is needed for the torture clients to determine the video type for the remote participants when testing desktop share.
- fix(jaas) replace only the first slash in a pathname
- fix(screenshare): do not reconfigure encodings for simulcast SS chore(deps) lib-jitsi-meet@latest
- fix(chat) stop using nicknames
- get subdomain function
- fix(Toolbox) Maintain overflow button visible at all times
- fix(welcome_page): Fix background image url path
- fix(safari): Ensure simulcast stream resolutions don't change. Safari 14.1 has a bug where it returns 720p for every simulcast stream when RTCRtpSender.getParameters is called even though the stream resolutions are different. By using the encodings config used when source was added, on every RTCRtpSender.setParameters call, we ensure that simulcast stream resolutions don't change. chore(deps) lib-jitsi-meet@latest
- fix(welcome_page): Add max width to welcome card
- fix(vpaas): Make user media permission message more generic
- fix(lang) update Japanese translations
- Fix module allowners and moderated rooms.
- fix(password) set input type to "password"
- fix(welcome_page): Update header to latest design & use generic key name
- fix(lang) update Russian translation
- fix(build) fix webpack-dev-server on Windows
- fix(external_api) replace special chars in roomName before constructing URL
- fix(lang) update Italian translation
- fix(lang) update Italian translation
- fix(lang) update German translation
- fix(lang) update for Occitan
- fix(lang) improve Spanish translations
- fix(lang) fix rendering accented characters in Italian
- fix(welcome_page): Fix mobile version
- fix(CalendarList): calendar.svg path.
- fix(screenshare): Fixes for the blurry desktop share issues. Do not resize the desktop share to 720p by default when the desktop track resolution is higher than 720p. This is causing bluriness when presenter is turned on. Remove the 'detail' contentHint setting for the desktop+presenter canvas stream as it forcing chrome to send only 5 fps stream for high resolution desktop tracks. Move the desktop resizing logic behind a config.js option - videoQuality.resizeDesktopForPresenter.
- Optimizes hot paths in prosody modules, string comparisons.
- Hide copy password if it is not available. Fixes #7783
- Show livestream button only for moderators.
- fix(jaas) fix double slash for branded invite urls
- Prosody modules - drop unused and duplicate code and drop chatty debug statements (#8027)
- fix(rn, screen-sharing) don't render own screen-share in large view
- fix(conference) remove no longer needed code
- Avoids storing lobby room instance in the main room object.
- fix(lang): update fr translation
- fix(lang) update ptBR translation
- fix(vpaas) fix invite url flicker for jaas users
- fix(StatusIndicators): Improve isScreenSharing check
- fix(logging): Add more details to onerror and onunhandledrejection errors.
- fix(screenshare): bring back 'x-google-flag:conference' flag in remote description for SS. chore(deps) lib-jitsi-meet@latest
- fix(video-quality): set lastN to 1 when screenshare is added to call in audio-only mode. This fixes an issue where lastN is not bumped to 1 on an audio-only client when a screenshare source is added to the call.
- fix(deviceChange):Dont create video track if muted
- fix(conference): start muted values on initial GUM
- fix(iFrame): capturScreenshot - check if the remote participant has a track attached. Participants that join video muted do not have video tracks attached. Fixes jitsi/jitsi-meet#7942.
- fix(pwa) move manifest to the root
- fix(pwa) remove no longer used file
- fix(xmpp): Update previd value when trying to resume connection. lib-jitsi-meet@latest
- fix(android) fix runtime WebRTC issue
- fix(prejoin): Fix moving content when device status bar is toggled
- fix(pwa) fix PWA worker script origin
- fix(pwa) fix auto-generated TWA icons
- fix(pwa) fix loading the service worker
- speakerstats_component, attempt to index (a nil value)
- fix(thumbnail): cleanup unused hover properties.
- fix(avatar) remove participant's "avatarID"
- fix(pwa) move logic for registering pwa worker
- fix(pwa) remove window.load event handler for pwa registrator
- fix(flow): ignore contentHint
- fix(pwa) bypass loading in electron. ensure same origin with registrator
- fix(UI): Do not re-compute the container width when chat window is closed. Since the external API now sets preferredWidth/preferredHeight for resizing the large video, we don't need to add chat width to the computed window width when the chat window is closed. Fixes jitsi/jitsi-meet#7889
- fix(pwa) improve upon pwa specs
- fix(avatars) refactor preloading
- fix(rn) use a RN-friendly URL polyfill
- fix(rejoin) fix adding track parameters to rejoin URL
- fix(prejoin) guard case for locationUrl being falsy in prejoin screen
- fix(deps) update react-native to fix iOS 14 icons
-
Translation updates:
- Updating and uniforming italian translation (#8288)
- update French translation (#7725)
-
- languages-ka.json
- Update Arabic translation
-
- lang:New translation malayalam(ml-in)
lib-jitsi-meet
-
New features:
- Skip p2p when the participant is jigasi.
- feat(stats) migrate RN to new stats
- Add option to force pc to use turn relay candidates.
- Remove the min-participants config. (#1418)
- Log the jvb version. (#1410)
- feat(BrowserCapabilities) drop supportsVideo
- feat(RTC) bump minimum supported Chromium version to 72
- Reduce pings and adds xmpp ping config (#1389)
- feat(rn) support getDisplayMedia
- feat(twa) add TWA check function
- feat(e2ee) log Olm version
-
Fixes:
- fix(stats) fix parsing codec in new stats
- Skip sending multiple times disco-info to jicofo.
- Maybe start p2p only when we have received all presences.
- Implement the encodings workaround only on Safari. Explicitly check if all the encodings report the same scaleResolutionDownBy value before trying to ensure they match the expected values. This makes Chrome VP9 work again.
- Fixes ping options usage.
- fix(XMPP): Get the correct domain for XMPP ping.
- Updates ping logic around detecting xmpp activity.
- add
getParticipantsto JitsiConference docs - Always query the main domain for features. Fixes jitsi/jitsi-meet#8173 (#1428)
- fix(TPC): Do not scale down desktop track in p2p mdoe.
- fix(deps) update logger to 1.0.0
- fix(last-n): Do not let Jicofo initialize last-n for the whole conference. The plan is to move the lastNLimits logic to bridge. The clients will be able to override(lower) the bridge limits through the bridge channel only. Also, this lets us configure last-n per receiver and not set the last-n value for the whole conference the way Jicofo sets it currently.
- fix(TPC): do not update encodings for simulcast desktop tracks. Fixes jitsi/jitsi-meet#8094.
- typos
- typos on comments
- fix(TPC): Do not update encodings for non-simulcast sources.
- fix(TPC): Ensure encodings resolutions match configured values. On every call to RTCRtpSender.setParameters(), ensure that the resolution configured for the encoding matches that of the value configured on the RTCRtpSender when the source was added to the peerconnection. This should prevent us from overriding the default values if the browser returns erroneous values when RTCRtpSender.getParameters is used for getting the encodings info. This fixes the issue on recent versions of Safari where the 'scaleResolutionDownBy' value comes back as 1 for all encodings even though the encoding resolution is different from the stream capture resolution.
- fix(video-quality): Fix p2p desktop share quality. In p2p mode, 'scaleResolutionDownBy' is used for downscaling a stream when needed, i.e. when the user receives a receive constraint of 360p because the other participant is in tile view. When desktop share is started, the encoding config has to be scaled back up so that the other participant starts receiving HD resolution for the share as desktop shares are autopinned. Therefore, encodings have to enabled/disabled for desktop shares as well. Earlier it was done only for camera tracks.
- fix(stun) update default list of STUN servers
- fix(rn) release audioVideo stream after creating new MediaStream
- fix(audio-recorder) remove no longer needed code
- fix(RTC): Fix log formatting
- fix(video-quality): do not disable encodings when sender constraints are not configured on the conference. Fixes jitsi/lib-jitsi-meet#1333 in applications that use lib-jitsi-meet and do not have layer suspension enabled.
- Add the x-google-conference flag on RD when screensharing. Add the conference flag back since the bridge is able to handle the case where more than 1 temporal layers are received even when only 1 ssrc is signaled.
- fix(xmpp): Update previd value when trying to resume connection.
- fix(JingleSession) log initialization error
-
-
-
New features:
- Adds conference property in the presence for terminate-restart. (#658)
- Add config to enable/disable Octo. Remove client-side config. (#640)
- Move minParticipants to local config (not configured by the client). (#638)
-
Fixes:
- Don't treat Jibri busy response as transient error (#659)
- Fixes sending last seen presence. (#662)
- Skip sending duplicate identical presences.
- Fix attempt to cast.
- Fix the REST interface. (#653)
- Do not start the nonexistent VersionActivator bundle. (#637)
- reading the "enabled" property from legacy config. (#628)
- Fixes checkstyle (#627)
- Fix stat names (put ice_failed and request_restart under participant_notifications as intended). (#618)
- Remove non-operational bridges and add stats. (#614)
- Do not immediately move conferences away (#612)
-
-
jitsi-videobridge 2.1-416-g2f43d1b4
-
New features:
- bump jmt: stats improvements. (#1534)
- Announce version in ServerHello (optionally). (#1528)
- Add oversending time stat (#1514)
- Increase bucket size for rate trackers (decrease memory usage). (#1460)
-
Fixes:
- sending an "active=true" message when an endpoint is connects after being recreated. (#1538)
- Included the bridge version in ServerHello sent over WS. (#1536)
- Suppress sending SenderVideoConstraints(height=0) (#1533)
- Fix getting mediaSource for OctoEndpoint. (#1531)
- Fix serializing when version==null. (#1529)
- Fix raw type warnings (reduce use of generics, use List instead of array). (#1512)
- Adapt to new Jetty version deprecations; fix compilation warnings. (#1511)
- Avoid IllegalStateException when StatsCollector is disabled (#1507)
- Fix failures to re-login to XMPP and reload config (jicoco) (#1501)
- Fix resetting lastPresenceSent (jicoco). (#1493)
- move jvb ice4j overrides to application.conf so they are respected (#1490)
-
-
-
New features:
- feat(pwa) add pwa specifics
- feat(prejoin) show connection status in exported prejoin screen
- feat(prejoin) improve ux
- Adds more debug information in the GSM bars popover (#7627)
- feat(external-local-storage): support
- feat(android) revert to JSC as our JS engine
- Enable bridge websockets by default for new installs (#7781)
- feat(iFrame): Add method for pinning a participant on stage view
-
Fixes:
- fix(vpaas): Count endpoint only when there are 2 or more participants
- fix(VideoLayout) make thumbnail iteration more resilient
- fix(prejoin) allow libs loaded in prejoin.html to be cached
- fix(build) increase external_api bundle size
- fix(ios) fix not rendering images on iOS 14
- fix(video-quality-dialog): Initial value.
- fix(native) add missing function
- Show focus indicator only when navigating via keyboard
- fix(video-quality): Add the ability to request Ultra HD resolutions Change the preferredVideoQuality and maxReceiverVideoQuality values to Ultra HD resolutions. The requested resolution can be as high as 4K to facilitate VPaaS customers to request 4K. The sender video resolution will always max out at the value specified in the video constraints from config.js settings.
- fix(misc) update update-ljm script commit message
- fix(config) drop useStunTurn
- fix(android) - separates the invocation of the gradle tasks. It was noticed on some configurations that the publish task was executed before assembleRelease finished
- fix(android) - adds the import for the VersionName, since on some configurations it is not automatically imported
- Makes the code more defensive to prevent an error. (#7837)
- fix(android) excludes hermes related libs from the apk
- fix(e2ee) handle Olm initialization error
- fix(lang) update Slovak translation
- fix(lang) update turkish translation
- fix(lang) add basic support for serbian
- fix(rn,config) increase config load timeout to 10 seconds
- fix(android) increase gradle JVM heap size
- fix(presenter): Do not change the video mute state on presenter mute. This fixes the issue where the local preview appears muted when presenter camera is turned on and then off while screenshare is in progress.
- fix(crashlytics) add missing dependency
- fix(android) update Gradle and the plugin to the latest versions
- fix(lang) update French translation
- fix(lang) typo in German translation
- fix(chat) prevent homograph attacks
- fix(analytics) clarify log line
- fix(analytics) make handler loading more resilient
- fix(analytics) make sure rtcstats is not enabled on mobile
- fix(analytics) avoid Amplitude initialization failure on mobile
- fix(vpaas) hide embed meeting for vpaas users
- fix(vpaas) fix vpaas redirect
- fix(callstats): Use callStatsThreshold for % of users instead of conferences
lib-jitsi-meet
-
New features:
- feat(precallTest):disable if callstats is disabled
- feat(e2ee) publish olm id key in presence
- feat(e2ee) emit PARTICIPANT_E2EE_CHANNEL_READY also for the initiator
- feat(xmpp) drop the useStunTurn option
- feat(RTC): force cursor of ScreenObtainer to be always captured
- Adds a method that finds the SSRC of a JitsiTrack (#1338)
- feat(external-storage): Support.
- feat(video-quality): Add a log message for max. height message received from JVB
- feat(TPC): add p2p rtcstats meta info to tpc (#1331)
-
Fixes:
- fix(TPC): maxBitratesVideo break screenshare
- fix(e2ee) add more documentation
- fix(updateDevices): On enumerateDevices.
- fix(audio-levels): Reset audio level to 0 when remote user is muted. When using getSynchornizationSources on the audio receiver to gather audio levels for remote tracks, browser reports last known audio levels even when the remote user is audio muted, we need to reset the value to zero here so that the audio levels are cleared.
- fix(safari): Remove old remote tracks when a new track is received for an endpoint. On Safari, MediaStream.onremovetrack is not fired when a remote desciption with a removed MSID is applied. As a result, new remote tracks for the same endpoint are not created causing issues where the video is not updated on Safari. Also, make sure local tracks on pc are updated when devices are changed while the user is in muted state.
- Disable RTX on Firefox. Disable RTX on FF as we are seeing video freezes on FF80 and later - https://bugzilla.mozilla.org/show_bug.cgi?id=1668028
- disable google conference flag for screenshare
- fixed incorrect kick() with kickParticipant() in doc/API.md
- fix(karma): After adding 2nd webpack configuration
- fix(callstats): Go back to enabling callstats on % of users rather than conferences
-
-
-
New features:
-
Fixes:
- Handle Jibri errors on initial request (#603)
-
-
jitsi-videobridge 2.1-376-g9f12bfe2
-
New features:
- Port AWS harvester config (update ice4j). (#1486)
- Enable bridge websockets by default for new installs (#1462)
- Add loss stats based on total number of packets. (#1455)
-
Fixes:
- Fix PingManager being disabled after a temporary failure (jicoco)
- Increase the T3 threshold to 1500. (#1485)
- publishing stats to callstats, add loss stats. (#1480)
- JMT bump: fix double buffer return; link srtp with openssl 1.1.x. (#1477)
- NullPointerException if conferenceName is not defined.
- always assume 3 temporal layers (#1472)
-
- jitsi-meet 1.0.4428
- Fixes:
- fix(mediaDeviceHelper): fix typo in dispatch
- fix(LargeVideoManager): large video resizing
- fix(iframe): Use largeVideo video element for screenshot. Get the existing HTMLVideoElement for large video instead of creating a new video element for capturing the screenshot. This should prevent the video player from getting displayed on mobile Safari.
- Fixes:
-
-
New features:
- Throttle out call attempts to the max number per minute (#7742)
- feat(stats): Add the ability to enable callStats for certain % of confs
- feat(iFrame): Add a method for capturing screenshot of the large video (#7717)
- feat(iFrame): Add a method for resizing large video container from iFrame
- feat(iFrame): add a method for getting the participants info
- feat(loggin) forward logs to external api
- feat(external_api): Add method for displaying participant on large video
- feat(external_api): Add cmd for selecting a user to be displayed in large video
- feat(video-quality): add iframe event and getter.
- feat(video-quality): persist.
- Allows jvb to control DTLS/SRTP protection profile. (#7626)
- feat(vpaas) disable deeplinking page
- Whitelist option to hide lobby button.
- Adds interface config to hide lobby button. (#7619)
- Automatically copy invite URL after creating a room (#7581)
- feat(vpaas): Add endpoint counter & remove branding on vpaas meetings
-
Fixes:
- fix(UI): Re-compute large-video width only once if the chat window is open. Deduct the chat window width from large-video width only once if we keep toggling between stage view and grid view while the chat window is open.
- fix(build) reduce bundle size by about 700K
- fix(iFrame): Make resizeLargeVideo only available on web
- fix(ios,version) versions must match
- fix(SmallVideo) screen-sharing indicator
- fix(config) remove unused options (#7723)
- fix(branding): Fix dynamic logo display
- fix(ios) add local network usage description for iOS 14
- fix(config) remove no longer valid option
- fix(android,calendar) avoid crash
- fix(background-blur) refactor to improve performance
- fix(embed): remove legacy attribute from embed meeting code
- Fix ws reconnect piling up previd param.
- fix(embed) fix embed meeting code
- Updates docs and verification to halt joining process.
- fix(ifarme-api): set-video-quality to use redux.
- fix(RN): crash on undefined state['features/dynamic-branding']
- enable token_verification during installation of jitsi-meet-tokens (#7630)
- keep plugin_paths while removing jitsi-meet-tokens (#7632)
- disable token_verification while removing jitsi-meet-tokens (#7631)
- added libssl1.0-dev to the dependencies of jitsi-meet-tokens (#7629)
- jitsi-meet-tokens - the first installation check (#7618)
- fix(close3): Add close3.js
- fix(vpaas): Fix billing counter auth (#7595)
- fix(vpaas): Fix tenant typo
- fix(iframe-api): setDevice.
- fix(settings): store url display name and email.
-
Translation updates:
- fix Dutch dialog.kickTitle
- update Korean translation
- update French translation
- update kabyle translations
lib-jitsi-meet
-
New features:
- feat(stats): Add the ability to enable callStats only on a certain % of conferences
- Allows jvb to control DTLS/SRTP protection profile. (#1300)
- feat(xmpp): resume the connection when online
- detect broken XMPP WebSocket using ping
- feat(video-quality): Implement max bitrates for video on p2p sessions Calculate the bitrate based on the sender video constraint applied on the track and the bitrates specified for different resolutions.
- send conference.left analytics event
- feat(chrome|safari): stop the video for maxFrameHeight 0
- restart Jingle session on ICE failed
-
Fixes:
- Fix ws reconnect piling up previd param.
- Do not negotiate H264 when E2EE is enabled
- fix(video-quality): make sure the LD stream is enabled even when requested resolution is lower This should fix the case when camera is started with 1080p and LD simulcast stream's resolution is 270p but the requested resolution is 180p.
- update token doc for tenant details, new prosody (#1316)
- fix(RTCUtils): system audio share multiple desktop
- fix(RTCUtils): Cannot read property 'find' of undefined
- Only advertise opus-red if the browser supports it.
- fix(video-quality): Fix a typo, max. bitrates are always applied on unified plan clients
- fix(XmppConnection.connected): check the underlying websocket
- fix(XmppConnection): sendIQ2 pass the 'timeout'
- fix(tests): source maps for Karma
- fix(xmpp/Caps): features for a user without caps support
- fix(TCPUtils): set 'sendrecv' only for the local track
- crash in Safari on unmute
- Scale down localVideo which is already smaller than requested resolution
-
-
-
New features:
- Passes room bare jid to conference IQ. (#585)
-
Fixes:
- Escape the display name. (#593)
-
-
jitsi-videobridge 2.1-351-g0bfaac1c
-
New features:
- Avoid benchmarking srtp engines, and make srtp engine configurable. (#1457)
- Support GCM for DTLS/SRTP. (#1450)
- Adds an option to pass extra label for the version string (#1437)
- Support for RED streams. (#1401)
- Updates jitsi-stats intorducing SiteID. (#1413)
- Optimize bwe calculations (#1405)
-
Fixes:
- minor followup improvements to bandwidth probing fix (#1449)
- don't over-send bandwidth probing, and send bandwidth probing even when no sources can be sent. (#1447)
- Fix serialization of the "last-n endpoints" message. (#1446)
- Fix redirects for /colibri/debug/stats/*. (#1424)
- JMT update: enumerate encodings, not layers, in MediaStreamSources debug. (#1431)
- jvb overloaded state stat string (#1428)
- Updates log messages around dominant speaker and sctp.
- Fixes #1412 NoClassDefFoundError JdkDeserializers
-
-
-
New features:
- feat(prejoin): Show warning if audio device does not receive data
- feat(branding) allow invite links to be branded
- configurable quality levels for video height
- feat(prejoin): Add precall connection quality indicator
- feat(prejoin) show error when trying to join and name is required
- feat(close3): Move readyToClose flow to the close page
- jibri queue clear asap cache for token util on config reload
- token util better logging for timeouts, verification
- feat(Watermarks): Add deafault logo prop.
- support updating accepted issuer/aud for token lib
- feat(prejoin): Hide invite link
- jwt pubkey cache inside object
- feat(welcome): Add variables.
- default value for jibri queue region
- validate keys at specific URL for jibri queue Provide region value in POST to jibri-queue service
- feat(video-quality): Impose max-bitrates on video sender based on videoQuality settings (#7467)
- feat(video quality): add maxFullResolutionParticipants (#7403)
- feat(config): add last N limit mapping (#7422)
- auto tile view
- Updates @atlaskit/flag to use the testId prop for integration tests.
- Adds id to the notifications and buttons so we can check for them in the integration tests.
- Changes security dialog button to toggle dialog.
- Adds id to the notifications so we can check for them in the integration tests.
- feat(embed) implement embed meeting feature
- feat(blur): terminate blur web worker when disabled (#7347)
- proper outbound iq handler for REST requests
- feat(prejoin): Add settings options for prejoin page
- feat(chat): Make chat push content to the side in tile view
- feat(chat): Make chat push content to the side in large view
- jibri queue authorization header handler
- feat(StateListenerRegistry): add 'deepEquals' option
- add test hint for grant moderator availability
- prosody: add http handler for jibri queue
-
Fixes:
- fix(prejoin): Make avatar resizable
- syntax error
- fix(subject): set to ' ' after settings change.
- call after timeout
- fix(prejoin): Fix join without audio
- fix(prejoin) remove version parameter
- Fixes #7514 when promoting new moderator and lobby is enabled.
- token util keyurl definition move to above callback definition
- prosody token util handles race on timeout gracefully
- prosody jibri queue component reloads configuration
- jibri-queue module log improvements
- Fixes uncaught exception on malformed jwt.
- add flag to control whether to check room claim in JWT validation jibri queue component stop checking room validation in token Jibri queue component debug output when bad token is found
- fix(prejoin) fix css loading path
- prosody: output string for time and position in jibri queue
- prosody: comment on destroy_request
- prosody: destroy_request check
- prosody: room validation on jibri-queue
- fix(prejoin): Auto focus display name input
- fix(last-n-limits): crash on undefined
- lint error
- Send SS stopped analytics event when SS was started in video mute state
- Adds display name to notifications about lobby operations.
- Fixes syncing state about lobby in security dialog.
- no new msg notifications after opening chat modal [NATIVE]
- fix(prejoin) hide skip prejoin for exposed app
- fix(prejoin) fix libs path
- use correct URL paths for jibri queue service
- use consistent moderator semantics
- rename disco info component to correct name FIX: reply to iq only on successful reply from queue server
- prosody jibri queue handle iq properly
- better URL handler for jibri queue events
-
Translation updates:
- updated Japanese translation
- update French translation
- update Russian translation
- update brazilian portuguese translation
- update Czech translation
- update German translation
- fix typo
- add missing kabyle language
- update/fix Polish translation, add missing fields in main-pl.json (#7395)
- updated Polish translations
lib-jitsi-meet
-
New features:
- Apply max bitrates on video sender (#1275)
- PerformanceObserverStats initial commit Add a performance stat around long tasks. Chrome supports PerformanceObserver API that lets us register for long tasks event. Any task that takes longer than 50ms is considered a long task.
- feat(prejoin): Expose method to make a precall test
-
Fixes:
- Fixes setting non moderators to members when lobby is enabled.
- fix(video-quality): add missing simulcast stream constraints When the client starts video muted and the track is later added, make sure we construct the simulcasr stream constraints then.
- fix(video-quality): Get downsampled video for p2p case When the video sender constraint changes in the p2p case when the remote user switches between stage/tile view, get a downsampled video of the original 720p stream instead of requesting the camera for a new stream with the lower resolution. Fixes jitsi/jitsi-meet#7267
- fix(video-quality): add a check for local video track before applying max bitrates
- Fix unit tests for PerformanceObserverStats
- Scale remote audio levels reported on receiver to getStats levels The audio levels reported on the audio receivers are lower when compared to the value reported by getStats. Values reported by getStats on chrome do not follow the the spec and since we have combination of clients using both getStats and getSynchronizationSources, lets stick to one scale to make them look uniform. Also, the receivers seem to be reporting audio level for a little bit after the remote user has muted. Make sure the track is unmuted before setting the audio level on the track.
- Clears Lobby room instance and resets joined flag.
- Removes unused event.
- fix(StropheLastSuccess): refresh the timestamp in connected
- Fix filtering out non TLS TURN servers.
- fix(JitsiConference): skip participant kicked event for kicker
- let camera pick the best aspect ratio when applying sender video contraints
-
-
-
New features:
- advertise support for session restart
-
Fixes:
-
-
jitsi-videobridge 2.1-304-g8488f77d
-
New features:
- feat(systemd): restart jvb service automatically (#1354)
-
Fixes:
- Fix the json format in debug output. (#1355)
-
Full changelogs are available in each project's release page: click on one of the releases below, click on Assets and there's the CHANGELOG.