bigbluebutton
Communication & EmailAn open‑source virtual classroom platform for real‑time teaching, collaboration, and recording.
Features
- Real‑time audio, video, slide sharing with whiteboard annotations
- Chat, screen sharing, polling, emojis, multi‑user whiteboards, shared notes, breakout rooms
- Session analytics via Learning Analytics Dashboard
- Recording and playback of sessions for later sharing
Recent releases
View all 9 releases →- Removed deprecated external video share parameters
- BlockNote static toolbar
Full changelog
This iteration of BigBlueButton 3.0 contains fixes to BlockNote shared notes (export in cluster setups, placeholder layout, and a new static toolbar), LiveKit dial-in audio, whiteboard touch handling, and a fix to make bbb-web respond to /create before downloading pre-uploaded presentations. Documentation has been expanded.
Below is a list of the pull requests in this iteration, grouped by component.
Link to installation command / instructions / schedule / planned features: https://docs.bigbluebutton.org/3.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! 🎉
HTML5 client
fixes
- fix(html5): keep loading screen during graphql retries and show error screen on connection timeout by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/24953
- fix(html5): prevent pinch-to-zoom for viewers and WB users on touch devices by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/24947
- fix: suppress join/leave notifications for locked viewers when hideUserList is active by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/24924
- fix (html5): Export of Block Notes broken for cluster setup by @gustavotrott in https://github.com/bigbluebutton/bigbluebutton/pull/24952
- fix: blocknote placeholder wrap when container size too small by @GuiLeme in https://github.com/bigbluebutton/bigbluebutton/pull/24951
- [3.0 port] fix: exclude audio-only tiles from SFU subscription and plugin buttons by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/24969
features and refactors
- feat (html5): Implement static toolbar for BlockNote by @gustavotrott in https://github.com/bigbluebutton/bigbluebutton/pull/24964
- [3.0 external video share] remove deprecated parameters by @hiroshisuga in https://github.com/bigbluebutton/bigbluebutton/pull/24903
locales
- [3.0 locales] Updates for project BigBlueButton v3.0 HTML5 client by @transifex-integration[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/24922
LiveKit
- chore(livekit): enable reconnectOnFatalFailure by default by @prlanzarin in https://github.com/bigbluebutton/bigbluebutton/pull/24933
- fix(livekit): dial-in unable to be heard by web users by @prlanzarin in https://github.com/bigbluebutton/bigbluebutton/pull/24963
Core
- [3.0 port] fix(bbb-web): respond to /create before downloading pre-uploaded presentations by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/24971
- fix(bbb-web): Upgrade Dependencies by @paultrudel in https://github.com/bigbluebutton/bigbluebutton/pull/24976
Recording
- recording: Fix hang when deskshare audio ends before video by @kepstin in https://github.com/bigbluebutton/bigbluebutton/pull/24970
Packaging and configuration
- fix (build): Install XDG_RUNTIME_DIR drop-in in Docker for bbb-shared-notes-server by @gustavotrott in https://github.com/bigbluebutton/bigbluebutton/pull/24954
Documentation
- docs: Document lockSettingsHideViewersAnnotation /create parameter by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/24937
- docs: Fix livekit setup commands by @GuiLeme in https://github.com/bigbluebutton/bigbluebutton/pull/24666
- docs: Mention sharedNotesEditor was added as a create param by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/24945
- docs: Refactor/restructure BBB 3.0 api changes to be more readable by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/24946
- docs: Fix - strings were being interpreted as True by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/24593
- docs: Simplify bbb-web dev instructions by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/24956
- docs: Document events.xml LayoutBroadcastedEvent addition by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/24286
- docs: Fix typos and iterate over 3.0 docs by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/23210
- docs: bump bbb version to 3.0.26 by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/24977
- [3.0 doc] Guide to use developing html5 client by @hiroshisuga in https://github.com/bigbluebutton/bigbluebutton/pull/24674
Chore / CI
- ci: bump GitHub Actions to Node 24 versions by @gustavotrott in https://github.com/bigbluebutton/bigbluebutton/pull/24962
Full Changelog: https://github.com/bigbluebutton/bigbluebutton/compare/v3.0.25...v3.0.26
Release name
Passing -v jammy-300 to https://github.com/bigbluebutton/bbb-install/blob/v3.0.x-release/bbb-install.sh will always install the latest released BigBlueButton 3.0 version.
If for some reason you would like to install this specific release, pass -v jammy-300-3.0.26.
We still recommend using -v jammy-300 as this repository is continually updated with each BigBlueButton 3.0 release.
Client build: 1668
- Disabled XML external entity parsing to prevent XXE vulnerabilities
- BlockNote shared notes integration
- LiveKit as client audio state source
- Extended audio groups to cameras and screen sharing
Full changelog
This iteration of BigBlueButton 3.0 contains multiple client improvements, notably in whiteboard cursor handling, LiveKit integration, and breakout rooms. It also introduces BlockNote shared notes integration and plugin SDK enhancements. A new create parameter clientSettingsOverrideJsonUrl allows for overriding the client configuration via url.
Note: we have identified and removed some obsolete settings in bbb-html5. Please check https://github.com/bigbluebutton/bigbluebutton/pull/24756 's description and make sure you are not listing overrides for these in your /etc/bigbluebutton/bbb-html5.yml - they don't have any effect.
Below is a list of the pull requests in this iteration, grouped by component.
Link to installation command / instructions/ schedule / planned features : https://docs.bigbluebutton.org/3.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:
HTML5 client
fixes
- fix(whiteboard): prevent presenter/viewer viewed-region desync after fullscreen by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/24746
- Fix(html5): Make the cursor point respect the pointerDiameter setting by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/24595
- fix(html5): Notifications being clipped on mobile by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/24738
- fix(html5): fix question detection and indented option matching by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/24726
- fix: review breakout room moderator actions by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/24780
- fix: Breakouts: viewers sent to waiting lobby by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/24814
- Fix(html5): WB camera position change on slide change when zoom applied by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/24831
- Fix(html5): zoom with mouser wheel not being centered by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/24788
- fix: client crashes when a invalid layout is set in local storage(port to 3.0) by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/24804
- fix(html5, tests): only display allowed shapes in edit mode by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/24846
- fix(chat): display message timestamp using locale-aware time format by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/24825
- Fix(html5): cursor zoom misalignment by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/24869
- Fix(html5): cursor appearing on wrong position to viewers by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/24884
- fix: State events leak between user sessions or tabs by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/24844
features and refactors
- feat: Block note integration by @GuiLeme in https://github.com/bigbluebutton/bigbluebutton/pull/24519
- Ref(html5): Remove non-used settings by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/24756
- feat: extend audio groups to cameras and screen sharing by @prlanzarin in https://github.com/bigbluebutton/bigbluebutton/pull/24427
- refactor(livekit): review camera and screen sharing quality presets and simulcast layers by @prlanzarin in https://github.com/bigbluebutton/bigbluebutton/pull/24800
- feat(livekit): option to use LiveKit as the client's audio state source by @prlanzarin in https://github.com/bigbluebutton/bigbluebutton/pull/24506
- feat(livekit): add a last N-like system to selective subscription (audio) by @prlanzarin in https://github.com/bigbluebutton/bigbluebutton/pull/24736
- fix(livekit): only display screenshare volume control if there's audio by @prlanzarin in https://github.com/bigbluebutton/bigbluebutton/pull/24907
- fix(livekit): use LK APIs for WebRTC stats gathering, fix edge cases by @prlanzarin in https://github.com/bigbluebutton/bigbluebutton/pull/24873
- feat(html5): Automate asset compression with Webpack by @gustavotrott in https://github.com/bigbluebutton/bigbluebutton/pull/24276
- fix(html5): exclude .gz files from language selector list by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/24905
- Ref(html5): Make webcam show ui on hover or touch hold by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/24798
test and CI
- ci: remove 3rd-party packages pull + install by @prlanzarin in https://github.com/bigbluebutton/bigbluebutton/pull/24750
- tests: update connection status tests by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/24766
- tests: update flaky tests by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/24773
- test: mark custom styles url test as flaky by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/24861
- test: upload presentation sample file to repository by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/24885
- test: remove duplicated lines by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/24914
- CI: avoid using some external/3rd party assets by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/24882
locales
- [3.0 locales] Updates for project BigBlueButton v3.0 HTML5 client by @transifex-integration[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/24757 https://github.com/bigbluebutton/bigbluebutton/pull/24871 https://github.com/bigbluebutton/bigbluebutton/pull/24875 https://github.com/bigbluebutton/bigbluebutton/pull/24902 https://github.com/bigbluebutton/bigbluebutton/pull/24911
Plugin SDK
- fix(plugin-sdk): screenshare blocks snapshot of current slide for plugin-sdk by @GuiLeme in https://github.com/bigbluebutton/bigbluebutton/pull/24810
- fix(plugin-sdk): Change loading value of a subscription when data didn't change by @GuiLeme in https://github.com/bigbluebutton/bigbluebutton/pull/24815
- fix(LAD): Generic data keeps updating in plugin's table by @GuiLeme in https://github.com/bigbluebutton/bigbluebutton/pull/24382
- feat(plugin-sdk): Add svg icon for all extensible areas by @GuiLeme in https://github.com/bigbluebutton/bigbluebutton/pull/24854
Core
- fix(bbb-web): Disable External Entity Parsing in XML Services by @paultrudel in https://github.com/bigbluebutton/bigbluebutton/pull/24745
- refactor(bbb-web): remove mention of retired maxConversionTime by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/24790
- feat (bbb-web): Introduce a new
/createparamclientSettingsOverrideJsonUrlby @gustavotrott in https://github.com/bigbluebutton/bigbluebutton/pull/24782 - fix(akka-apps): Remove Unnecessary Akka Apps Logging by @paultrudel in https://github.com/bigbluebutton/bigbluebutton/pull/24791
- chore (gql-middleware): Change log level for
Error on close idle websocketby @gustavotrott in https://github.com/bigbluebutton/bigbluebutton/pull/24794 - fix(bbb-web): Upgrade Grails and Spring Boot by @paultrudel in https://github.com/bigbluebutton/bigbluebutton/pull/24761
- fix(bbb-web): Prevent SVGs From Being Generated With Zero Value Dimensions by @paultrudel in https://github.com/bigbluebutton/bigbluebutton/pull/24872
- Fix(akka): Add Disable feature support for plugins by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/24909
Learning dashboard
- fix(LAD): Legacy dasboard data files not working with newer version of BBB by @Heinivb in https://github.com/bigbluebutton/bigbluebutton/pull/24737
- refactor(bbb-learning-dashboard): Add Help modal by @JoVictorNunes in https://github.com/bigbluebutton/bigbluebutton/pull/23629
Recording
- fix(recording): Address A/V sync issues, glitches on cuts, ffmpeg memory usage (audio) by @kepstin in https://github.com/bigbluebutton/bigbluebutton/pull/24776
Packaging and configuration
- build: Bump LibreOffice to 25.8.4 by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/24575
- build(livekit): [email protected] (up from v1.9.11) by @prlanzarin in https://github.com/bigbluebutton/bigbluebutton/pull/24749
- build: Bump Hasura from v2.48.9 to v2.48.14 by @gustavotrott in https://github.com/bigbluebutton/bigbluebutton/pull/24822
- build: bbb-shared-notes-server packaging finishing touches by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/24845
- build(bbb-presentation-video): Bump version to 5.1.0-rc.1 by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/24858
- build(bbb-presentation-video): Bump version to 5.1.0-rc.2 by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/24878
- build: Bump bbb-presentation-video to 5.1.0-rc.3 by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/24879
- build(bbb-webrtc-sfu): v2.22.1 (up from v2.22.0) by @prlanzarin in https://github.com/bigbluebutton/bigbluebutton/pull/24877
- build(bbb-webrtc-sfu): v2.22.2 (up from v2.22.1) by @prlanzarin in https://github.com/bigbluebutton/bigbluebutton/pull/24892
- chore(etherpad): pin ep_cursortrace to tag v3.1.20-2 by @Arthurk12 in https://github.com/bigbluebutton/bigbluebutton/pull/24817
- chore: Bump bbb-pads to 1.5.10 by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/24920
Documentation
- refactor(docs): Add plugins option; split into sections by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/24751
- docs: Misc updates to 3.0 new-features.md by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/24779
- docs: fix transifex link by @hex-m in https://github.com/bigbluebutton/bigbluebutton/pull/24904
- docs: update gladia transcription setup and plugin list by @gschwienbacher in https://github.com/bigbluebutton/bigbluebutton/pull/24839
- docs: Preparation for BBB 3.0.25 by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/24935
Chore
- chore: try to prevent AI public security pull requests (guide to policy approach) by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/24874
- Port BBB 3.0.24 to the upcoming BBB 3.0.25+ by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/24906
- iteration: BBB 3.0.25 normal-priority by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/24771
- build(deps): bump the npm_and_yarn group across 5 directories with 1 update by @dependabot[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/24793
- build(deps): bump the npm_and_yarn group across 6 directories with 2 updates by @dependabot[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/24808
- build(deps): bump the npm_and_yarn group across 4 directories with 3 updates by @dependabot[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/24819
- build(deps): bump the npm_and_yarn group across 2 directories with 3 updates by @dependabot[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/24833
- build(deps): bump the npm_and_yarn group across 4 directories with 1 update by @dependabot[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/24838
- build(deps): bump the npm_and_yarn group across 2 directories with 2 updates by @dependabot[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/24855
- build(deps): bump the npm_and_yarn group across 3 directories with 1 update by @dependabot[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/24887
- build(deps): bump the npm_and_yarn group across 7 directories with 1 update by @dependabot[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/24915
- build(deps): bump dompurify from 3.3.2 to 3.4.0 in /bbb-learning-dashboard in the npm_and_yarn group across 1 directory by @dependabot[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/24926
New Contributors
- @Heinivb made their first contribution in https://github.com/bigbluebutton/bigbluebutton/pull/24737
Full Changelog: https://github.com/bigbluebutton/bigbluebutton/compare/v3.0.24...v3.0.25
Release name
Passing -v jammy-300 to https://github.com/bigbluebutton/bbb-install/blob/v3.0.x-release/bbb-install.sh will always install the latest released BigBlueButton 3.0 version.
If for some reason you would like to install this specific release, pass -v jammy-300-3.0.25.
We still recommend using -v jammy-300 as this repository is continually updated with each BigBlueButton 3.0 release.
Client build: 1667
- Missing authorization allows viewer to inject/overwrite captions (GHSA-q387-2q28-mg33)
- Open Redirect on bigbluebutton through api/join (GHSA-cvwj-4pcp-f3g8)
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.