- LiveKit bridge gains multi-room sessions with a membership-based token model including automatic token refresh
- Breakout listen-in reaches parity with the FreeSWITCH/mediasoup transfer flow on the LiveKit bridge
- Advanced Filtering becomes pluggable with a second WASM backend (WorkAdventure/DTLN) alongside BBBA
- Learning Dashboard now works inside breakout rooms
- Add WorkAdventure/DTLN noise suppression provider as audio WASM processing option
- Allow disabling the webcam grid via config or API per server or per meeting
- Handle sidekickArea.panel open/close commands from the SDK in plugins
- Add complete Thai translations
- Whiteboard switches to scroll-to-pan with Ctrl+scroll to zoom
- Upgrade FreeSWITCH to 1.11.3 from 1.10.12
- Upgrade bbb-webrtc-sfu to 2.25.0-beta.0
- Upgrade bbb-presentation-video to 5.1.0-rc.4
- Upgrade lettuce-core to 7.7.0
- Shared notes editor value on create is now validated and canonicalized against etherpad or blockNote
- Breakout rooms now always inherit the parent meeting's effective meetingKeepEvents value
- BlockNote options menu disappears while notes are pinned to the whiteboard
- BlockNote difficult to use for math
- BlockNote link editing focus
- Export indentation in shared notes
- Remove allowDuplicateExtUserid configuration item from bigbluebutton.properties in favor of maxUserConcurrentAccesses
- Remove clientLogoutTimerInMinutes configuration item
- Remove logoutTimer parameter on create API
From BigBlueButton
BigBlueButton 4.0.0-rc.1
BigBlueButton 4.0.0-rc.1 is the first release candidate for 4.0. Audio and LiveKit work dominates this iteration: the LiveKit bridge gains multi-room sessions with a membership-based token model (including automatic token refresh), breakout listen-in reaches parity with the FreeSWITCH/mediasoup transfer flow, and the "LiveKit as the audio state source" refactor lands with a long tail of talking-indicator, mute-state, and reconnection fixes. Advanced Filtering becomes pluggable with a second WASM backend (WorkAdventure/DTLN) alongside BBBA. The whiteboard switches to scroll-to-pan with Ctrl+scroll to zoom, the Learning Dashboard now works inside breakout rooms, and the webcam grid can be disabled per server or per meeting. Shared notes collect a round of BlockNote fixes covering math, link editing, export indentation, and the slash menu. Under the hood this candidate upgrades FreeSWITCH to 1.11.3 (from 1.10.12), bbb-webrtc-sfu to 2.25.0-beta.0, bbb-presentation-video to 5.1.0-rc.4, and lettuce-core to 7.7.0. Below is a list of the pull requests in this iteration, grouped by component.
For production use we still recommend the latest release of BigBlueButton 3.0.x.
Link to installation command / instructions / planned features: https://docs.bigbluebutton.org/4.0/new-features
Big THANK YOU to all community members who helped for this release - both through sending pull requests and through reporting bugs or requesting enhancements! :confetti_ball:
Upgrade notes
This candidate removes three configuration items that were already dead or deprecated. Administrators upgrading an existing 4.0.x-beta server should check the following:
allowDuplicateExtUseridis no longer recognized inbigbluebutton.properties. UsemaxUserConcurrentAccessesinstead.clientLogoutTimerInMinuteswas removed. It was never consumed by the HTML5 client, and its last reader (the/enterendpoint) was removed earlier in 4.0. If you customized/usr/share/bbb-web/WEB-INF/classes/spring/resources.xmlin place, remove the<property name="clientLogoutTimerInMinutes" .../>entry as well — bbb-web will otherwise fail to start withNotWritablePropertyException.- The
logoutTimerparameter oncreatewas removed. It had no effect: the value was stored in bbb-web but never propagated to akka-apps or the client. sharedNotesEditoroncreateis now validated. Values are stripped of control characters and surrounding whitespace, matched case-insensitively againstetherpad/blockNote, canonicalized, and unknown values are now rejected rather than silently accepted.- Breakout rooms now always inherit the parent meeting's effective
meetingKeepEventsvalue. An explicitmeetingKeepEventsparameter and the server-widedefaultKeepEventsfallback apply only to top-level meetings.
New client settings in this iteration: public.kurento.pagination.gridEnabled (default true) and public.media.audio.audioWasmProcessing.provider (bbba default, or workadventureDtln). The webcam grid can also be turned off per meeting with disabledFeatures=webcamGrid.
HTML5 client
fixes
- fix: BlockNote - the options menu disappears while notes are pinned to the whiteboard by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/25639
- fix(shared-notes): drop the table crash workaround, fixed upstream in BlockNote 0.53 by @GuiLeme in https://github.com/bigbluebutton/bigbluebutton/pull/25615
- fix: restore chat input rounded border by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/25643
- fix: BlockNote difficult to use for math by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/25647
- fix(client): Fix BlockNote link editing focus by @GuiLeme in https://github.com/bigbluebutton/bigbluebutton/pull/25654
- Fix: export indentation by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/25657
- fix(notes): update user activity on shared notes edits by @Arthurk12 in https://github.com/bigbluebutton/bigbluebutton/pull/25641
- Fix: two identically labelled "Waiting Users" queues by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/25648
- fix(layout): honor participants panel on login by @imdt-claudiop in https://github.com/bigbluebutton/bigbluebutton/pull/25560
- Fix(html5): viewer minimize clobbered by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/25670
- Fix(html5): layout breakpoint round trip by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/25673
- fix(apps-gallery): dynamically calculate max pinned apps count based on user access by @latifurrehman-56 in https://github.com/bigbluebutton/bigbluebutton/pull/25531
features and refactors
- refactor(livekit): improvements to the "LiveKit as the audio state source" system and assorted fixes by @prlanzarin in https://github.com/bigbluebutton/bigbluebutton/pull/25141
- feat(livekit): multi-room sessions and breakout listen-in on the LiveKit bridge by @prlanzarin in https://github.com/bigbluebutton/bigbluebutton/pull/25638
- feat(audio): add WorkAdventure/DTLN noise suppression provider by @Arthurk12 in https://github.com/bigbluebutton/bigbluebutton/pull/25646
- feat(whiteboard): mouse wheel scrolls instead of zooming (use ctrl to zoom) by @latifurrehman-56 in https://github.com/bigbluebutton/bigbluebutton/pull/25527
- feat(webcam): allow disabling the grid via config/API by @prlanzarin in https://github.com/bigbluebutton/bigbluebutton/pull/25644
- feat(plugins): handle sidekickArea.panel open/close commands from the SDK by @Arthurk12 in https://github.com/bigbluebutton/bigbluebutton/pull/25606
translations
- feat(html5): add complete Thai translations by @GhaziTriki in https://github.com/bigbluebutton/bigbluebutton/pull/25634
- [4.0 locales] Updates for file bigbluebutton-html5/public/locales/en.json by @transifex-integration[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/25696
- [4.0 locales] Updates for file bigbluebutton-html5/public/locales/en.json by @transifex-integration[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/25700
- [4.0 locales] Updates for file bigbluebutton-html5/public/locales/en.json by @transifex-integration[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/25714
- [4.0 locales] Updates for file bigbluebutton-html5/public/locales/en.json by @transifex-integration[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/25716
Core
- fix(akka-apps): isolate failed database batch actions by @imdt-claudiop in https://github.com/bigbluebutton/bigbluebutton/pull/25631
- Validate sharedNotesEditor create values by @imdt-claudiop in https://github.com/bigbluebutton/bigbluebutton/pull/25637
- fix(core): count screenshare start/stop as user activity by @AtilaU19 in https://github.com/bigbluebutton/bigbluebutton/pull/25686
- fix(bbb-web): Fix getJoinUrl Rejection Branch Render by @paultrudel in https://github.com/bigbluebutton/bigbluebutton/pull/25667
- fix(bbb-web): proper error messageKeys for missing sendChatMessage parameters by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/25507
- core: Fix typos in API responses by @GhaziTriki in https://github.com/bigbluebutton/bigbluebutton/pull/25649
- Refactor(bbb-web): remove dead logoutTimer configuration by @imdt-claudiop in https://github.com/bigbluebutton/bigbluebutton/pull/25602
- refactor: remove deprecated allowDuplicateExtUserid by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/25543
- chore(core): upgrade lettuce-core 6.1.5.RELEASE -> 7.7.0.RELEASE by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/25687
Learning dashboard
- feat(learning-dashboard): enable dashboard access in breakout rooms by @Arthurk12 in https://github.com/bigbluebutton/bigbluebutton/pull/25619
Packaging and configuration
- [4.0] build(freeswitch): v1.11.2 (up from v1.10.12) by @prlanzarin in https://github.com/bigbluebutton/bigbluebutton/pull/25705
- [4.0] build(freeswitch): v1.11.3 (up from v1.11.2) by @prlanzarin in https://github.com/bigbluebutton/bigbluebutton/pull/25712
- [4.0]build: Bump Go and NodeJS version in image used for packages building by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/25698
- build: Update bbb-presentation-video version to 5.1.0-rc.4 by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/25717
Chore
- chore(core, client): bumped dependencies (snyk) by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/25677
- chore: iteration BBB v4.0.0-rc.1 by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/25664
Documentation
- docs: iteration doc sync for 4.0.0-rc.1 (since 4.0.0-beta.5) by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/25719
New Contributors
- @latifurrehman-56 made their first contribution in https://github.com/bigbluebutton/bigbluebutton/pull/25531
Full Changelog: https://github.com/bigbluebutton/bigbluebutton/compare/v4.0.0-beta.5...v4.0.0-rc.1
Release name
Passing -v noble-400 to https://github.com/bigbluebutton/bbb-install/blob/v4.0.x-release/bbb-install.sh will always install the latest released BigBlueButton 4.0 version.
If for some reason you would like to install this specific release, pass -v noble-400-4.0.0-rc.1.
We still recommend using -v noble-400 as this repository is continually updated with each BigBlueButton 4.0 release.