Releases: bigbluebutton/bigbluebutton
Release list
v4.0.0-beta.5
BigBlueButton 4.0.0-beta.5
BigBlueButton 4.0.0-beta.5 brings a mobile layout overhaul (paginated webcams, compact bars, responsive dialogs, and side-by-side cameras and presentation on phones in landscape) along with automatic light/dark theme switching via prefers-color-scheme. Audio work continues with a new dedicated Audio settings tab, push-to-talk enabled in settings.yml, and better BBB<->LiveKit state reconciliation on reconnects. On the packaging side this beta adds the bbbctl admin tool and a bbb-coturn package, makes bbb-etherpad and bbb-pads optional, and carries a broad set of dependency upgrades. Below is a list of the pull requests in this iteration, grouped by component.
We strongly encourage administrators to update their existing 4.0.x-beta servers to beta.5!
For production use we still recommend the latest release of BigBlueButton 3.0.x.
In addition to updating to this patched version, we encourage administrators to proactively rotate the API secret via bbb-conf --setsecret https://docs.bigbluebutton.org/administration/bbb-conf/#--setsecret-new_secret
More details included in the advisory below in the bbb-etherpad section.
Link to installation command / instructions / planned features: https://docs.bigbluebutton.org/4.0/new-features (work in progress)
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
- [chore] fix children PropType in PresentationDownloadDropdownWrapper by @hiroshisuga in #25407
- fix: Presentation download: filename containing "&" is truncated and saved without its extension by @ramonlsouza in #25435
- fix: grid-aware resize snapping in camera dock by @ramonlsouza in #25410
- fix(html5): prevent white flash on slide change by @Tainan404 in #25493
- fix: broadcast external video seek detected via onProgress discontinuity by @Tainan404 in #25504
- fix: app gallery design fixes by @germanocaumo in #25469
- fix(shared-notes): match the BlockNote font to the client by @germanocaumo in #25516
- fix(video-preview): fit background thumbnails to the available width by @germanocaumo in #25524
- fix(user-list): prevent search input from being squeezed by growing participant list by @Arthurk12 in #25528
- [4.0] fix: broadcast external video seek detected via onProgress discontinuity- #25504 by @germanocaumo in #25534
- fix: underline styles do not work in shared notes by @ramonlsouza in #25525
- Backport: "fix(audio): assorted fixes and improvements to LiveKit's floor manager" by @prlanzarin in #25537
- fix(shared-notes): add missing border radius to pinned BlockNote by @Arthurk12 in #25536
- Fix(html5): Audio tiles are not displayed for attendees by @Tainan404 in #25284
- fix(external-video): restore audio when autoplay starts the video muted by @germanocaumo in #25535
- fix(whiteboard): Frame rename drops characters when typing at normal speed by @ramonlsouza in #25546
- fix(html5): align audio modal microphone and listen-only icons vertically by @ramonlsouza in #25611
- fix: Locking private chat in 4.0 also prevents viewers from private chat with moderator by @ramonlsouza in #25610
- fix: grid-aware resize snapping in camera dock by @ramonlsouza in #25612
features and refactors
- feat: automatic light/dark theme switching via prefers-color-scheme by @antobinary in #25490
- [3.0] refactor(audio): better BBB<->LiveKit state reconciliation on reconnects, bbb-webrtc-sfu@v2.24.0- #25550 by @prlanzarin in #25551
- refactor(audio): better BBB<->LiveKit state reconciliation on reconnects, bbb-webrtc-sfu@v2.24.0 by @prlanzarin in #25550
- feat(sidebar-navigation): align sizing and notification badge colors with design spec by @AtilaU19 in #25542
- feat(mobile): mobile layout overhaul — paginated webcams, compact bars and responsive dialogs by @AtilaU19 in #25340
- feat(layout): arrange cameras and presentation side by side on phones in landscape by @AtilaU19 in #25565
- feat: Add support for custom text in the recording permission dialog by @ramonlsouza in #25603
- feat(settings): add dedicated Audio tab with advanced/standard/original filtering by @Arthurk12 in #25589
test and CI
- test: add BlockNote shared notes e2e tests (backport of #25165) by @imdt-claudiop in #25444
- test(ci): tag deterministic untagged specs with @ci so CI runs them by @antobinary in #25512
- test: Fix 4 playwright test failures by @antobinary in #25510
- fix: update session details test to reflect new default value by @ramonlsouza in #25555
locales
- [3.0 locales] Updates for project BigBlueButton v3.0 HTML5 client by @transifex-integration[bot] in #25439
Plugin SDK
- feat: New useTimer hook by @GuiLeme in #25335
- feat(plugin-sdk): add senderRole to useLoadedChatMessages by @GuiLeme in #25539
- fix(data-consumption): prevent hook usage counter from going negative by @Arthurk12 in #25403
Core
- refactor(bbb-web): process pre-uploaded slides async on a bounded pool by @germanocaumo in #25495
- build(gql-server): keep Hasura metadata after applying it by @prlanzarin in #25540
- fix: MeetingActor analytics discards VoiceUserState.callerName, logs ERROR after user leaves by @ramonlsouza in #25541
- refactor: remove deprecated copyright create parameter by @Tainan404 in #25559
- refactor(core): Remove obsolete webVoice create parameter by @Tainan404 in #25526
- fix(bbb-web): Fallback to Rasterization if SVG has (lots of) Mask Tags by @antobinary in #25513
- build(bbb-web): pin tomcat-embed to 10.1.56 by @antobinary in #25452
- build(bbb-web): update Spring Boot to 3.5.16 by @antobinary in #25453
- chore(akka): bump shared JVM dependency versions by @antobinary in #25454
- chore(bbb-web): Bump dependencies by @antobinary in #25456
- core(deps): upgrade Tika, Jackson, Netty, Grails and related depende… by @antobinary in #25613
Learning dashboard
- fix: The .csv export for LAD has the user 'Anonymous' by @ramonlsouza in #25496
- fix(lad): incorrect row data and crashes from browser auto-translation by @prlanzarin in #25605
Recording
- recording: Update dependencies, add tests by @antobinary in #25473
Packaging and configuration
-
[3.0] build: Pull new image bumping Go and Nodejs by @antobinary in #25429
-
feat: Add bbbctl tool to bbb-config package by @schrd in #25411
-
chore(bbb-conf): Add virtualBackgroundsDisabled to list of retired pr… by @antobinary in #25511
-
build: Make bbb-etherpad and bbb-pads optional by @antobinary in #25616
-
build: Add bbb-coturn package by @antobinary in #25549
bbb-etherpad
- fix(sec): harden static asset path resolution by @prlanzarin GHSA-4g74-4wqf-fr8c
Chore
- chore: BigBlueButton 3.0.32 iteration by @ramonlsouza in #25348
- [3.0] chore: npm audit fixes by @antobinary in #25446
- build(deps-dev): bump @babel/core from 7.24.9 to 7.29.6 in /bigbluebutton-html5 by @dependabot[bot] in http...
v3.0.35
This iteration of BigBlueButton 3.0 contains security fixes only.
We strongly encourage administrators to update!
In addition to updating to this patched version, we encourage administrators to switch to BlockNote shared notes and we proactively rotate the API secret via bbb-conf --setsecret https://docs.bigbluebutton.org/administration/bbb-conf/#--setsecret-new_secret
More details included in the advisory below.
bbb-etherpad
- fix(sec): harden static asset path resolution by @prlanzarin GHSA-4g74-4wqf-fr8c
Full Changelog: v3.0.34...v3.0.35
v3.0.34
BigBlueButton 3.0.34
- chore: Update BigBlueButton release version to 3.0.34 by @antobinary in 66f94cf
No "real" code changes in 3.0.34. However, some of the packages have been recreated due to a sync issue with jammy-300 packaging repository a couple of hours ago when releasing BBB 3.0.33's packages.
Full Changelog: v3.0.33...v3.0.34
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.34.
We still recommend using -v jammy-300 as this repository is continually updated with each BigBlueButton 3.0 release.
v3.0.33
BigBlueButton 3.0.33
BigBlueButton 3.0.33 adds Markdown export, import, and initialization for shared notes (blocknote only), configurable button styles for plugins, and a real Panopto player for external video sharing. It also improves BigBlueButton↔LiveKit audio state reconciliation on reconnects and collects a broad set of HTML5 client fixes — camera dock layout, presentation downloads, slide rendering, and recording timer accuracy — alongside a large round of dependency updates and a documentation catch-up covering features and configuration added since 3.0.28. 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(poll): drop out-of-range answerIds to avoid log noise by @imdt-claudiop in #25388
- fix(html5): add real Panopto player to external video share by @imdt-claudiop in #25389
- fix(html5): prevent crash from browser auto-translation by @ramonlsouza in #25391
- fix(video-provider): preview real user avatars in the camera overflow tile by @ramonlsouza in #25394
- fix(video): never let the grid overflow tile consume a camera slot, + by @ramonlsouza in #25392
- fix(quick-poll): keep parenthetical text in Smart Slides poll question by @Tainan404 in #25350
- fix(html5): re-center microphone glyph in audio modal by @imdt-claudiop in #25396
- fix(html5): correct recording timer when client clock is ahead of server by @imdt-claudiop in #25311
- fix(html5): retry locale fetch on transient network failure by @imdt-claudiop in #25423
- [chore] fix children PropType in PresentationDownloadDropdownWrapper by @hiroshisuga in #25407
- fix: Presentation download: filename containing "&" is truncated and saved without its extension by @ramonlsouza in #25435
- fix: grid-aware resize snapping in camera dock by @ramonlsouza in #25410
- fix(html5): prevent white flash on slide change by @Tainan404 in #25493
- fix: broadcast external video seek detected via onProgress discontinuity by @Tainan404 in #25504
- Backport: "fix(audio): assorted fixes and improvements to LiveKit's floor manager" by @prlanzarin in #25537
- fix(external-video): restore audio when autoplay starts the video muted by @germanocaumo in #25535
features and refactors
- feat(shared-notes): markdown export, init-from-markdown, and import modal by @imdt-claudiop in #25373
- feat: New useTimer hook by @GuiLeme in #25335
- [3.0] refactor(audio): better BBB<->LiveKit state reconciliation on reconnects, bbb-webrtc-sfu@v2.24.0- #25550 by @prlanzarin in #25551
test and CI
- test: add BlockNote shared notes e2e tests (backport of #25165) by @imdt-claudiop in #25444
locales
- [3.0 locales] Updates for project BigBlueButton v3.0 HTML5 client by @transifex-integration[bot] in #25439
Plugin SDK
- chore: update SDK to version 0.0.103 by @GuiLeme in #25365
- feat(plugins): support configurable button styles by @germanocaumo in #25214
- feat(plugin-sdk): add senderRole to useLoadedChatMessages by @GuiLeme in #25539
Core
- fix(akka-apps): [development] Correctly start bbb-apps-akka by creating symlinks by @hiroshisuga in #25372
- fix(bbb-web): Handle Null Meeting IDs on IsMeetingRunning Requests by @paultrudel in #25258
- fix(bbb-web): render a response when insertDocument body has no presentation module by @germanocaumo in #25390
- fix(core): API parameter downloadable is not working by @ramonlsouza in #25414
- refactor(bbb-web): process pre-uploaded slides async on a bounded pool by @germanocaumo in #25495
- fix: MeetingActor analytics discards VoiceUserState.callerName, logs ERROR after user leaves by @ramonlsouza in #25541
Learning dashboard
- fix: The .csv export for LAD has the user 'Anonymous' by @ramonlsouza in #25496
Recording
- fix(recording): Ruby 3.2 File.exists? deprecation in BigBlueButton recording sanity worker by @sanduhrs in #25338
Packaging and configuration
- [3.0] build: Pull new image bumping Go and Nodejs by @antobinary in #25429
- chore(bbb-conf): Add virtualBackgroundsDisabled to list of retired pr… by @antobinary in #25511
Documentation
- fix(document): add --build for development scripts of bbb-web by @hiroshisuga in #25379
- Docs: Add presentation parameter current by @samuelwei in #25413
- docs: clarify allowOverrideClientSettingsOnCreateCall is a server setting, not a /create param by @antobinary in #25436
- fix(docs): use valid font-weight for Open Sans SemiBold @font-face by @antobinary in #25465
- Docs: Clarify voiceBridge range by @samuelwei in #25464
- docs: Documentation catchup on 3.0 new features/configs since 3.0.28 by @antobinary in #25442
- docs: add missing create params by @antobinary in #25082
- docs: added documentation for the different build process in LAD by @GuiLeme in #25283
- docs(api): add "Internal API calls" section; mark getJoinUrl internal by @antobinary in #25514
- [port] docs: iteration doc sync for 3.0.33 (#25568) by @antobinary in #25571
Chore
- chore: BigBlueButton 3.0.33 iteration by @antobinary in #25376
- [3.0] chore: npm audit fixes by @antobinary in #25446
- build(bbb-web): pin tomcat-embed to 10.1.56 by @antobinary in #25452
- build(bbb-web): update Spring Boot to 3.5.16 by @antobinary in #25453
- chore(akka): bump shared JVM dependency versions by @antobinary in #25454
- chore(bbb-web): Bump dependencies by @antobinary in #25456
- build(deps): bump ch.qos.logback:logback-core from 1.5.25 to 1.5.33 in /bbb-recording-imex by @dependabot[bot] in #25368
- build(deps): bump ch.qos.logback:logback-core from 1.5.33 to 1.5.34 in /bbb-recording-imex by @dependabot[bot] in #25427
- build(deps): bump js-yaml from 3.14.2 to 3.15.0 in /bbb-learning-dashboard by @dependabot[bot] in #25369
- build(deps-dev): bump js-yaml from 3.14.2 to 3.15.0 in /bigbluebutton-tests/playwright by @dependabot[bot] in #25358
- build(deps): bump concurrent-ruby from 1.3.4 to 1.3.7 in /record-and-playback/core by @dependabot[bot] in #25307
- build(deps): bump launch-editor from 2.11.1 to 2.14.1 in /bbb-learning-dashboard by @dependabot[bot] in #25295
- build(deps): bump launch-editor from 2.12.0 to 2.14.1 in /docs by @dependabot[bot] in #25296
- build(deps): bump jwt from 2.5.0 to 2.10.3 in /record-and-playback/core by @dependabot[bot] in #25218
- build(deps-dev): bump form-data from 3.0.4 to 3.0.5 in /bbb-graphql-client-test by @dependabot[bot] in #25377
- build(deps-dev): bump @babel/core from 7.24.9 to 7.29.6 in /bigbluebutton-html5 by @dependabot[bot] in #25448
- build(deps): bump axios from 1.16.0 to 1.18.0 in /bbb-export-annotatio...
v4.0.0-beta.4
This beta defaults BigBlueButton's media stack to LiveKit (with the legacy SIP.js audio bridge removed), makes BlockNote the default shared notes engine (now with Markdown export, init-from-markdown, and an import modal), and upgrades the JVM libraries and applications to Java 21. Other highlights include search, pin management, and a list/grid view toggle in the apps gallery, a new design for sidebar notifications and the participant counter, larger rendering for emoji-only chat messages (jumbomoji), configurable plugin button styles, and removal of the BBB Recording IMEX library as well as of several deprecated create/join parameters (lockSettingsDisableNote, userdata-bbb_change_layout, per-user enable-user-reaction). On the packaging side, bbb-webhooks is now built together with the other packages and YAML editing in scripts moved to yq-go. Below is a list of the pull requests in this iteration, grouped by component. Pull requests already released in BigBlueButton 3.0.x (3.0.28 through 3.0.32) and merged forward into 4.0 are not repeated here - see the corresponding 3.0.x release notes.
Link to installation command / instructions / planned features: https://docs.bigbluebutton.org/4.0/new-features (work in progress)
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(recording-button): allow reopening confirmation toast after cancel by @germanocaumo in #25174
- fix(profile): remove presence status dot from profile button in sidebar by @AtilaU19 in #25019
- fix(video-list-item): prevent overlapping icons in webcam containers by @AtilaU19 in #25071
- fix(user-list): removes "Blocked" label until new design by @AtilaU19 in #25072
- fix(presentation-toolbar): fix arrow keys not triggering slide navigation by @Arthurk12 in #25152
- fix(notes): adjust padding to not stay out of sidebar by @germanocaumo in #25209
- fix(presentation): authenticate thumbnail URL in manage presentations by @Tainan404 in #25241
- fix(presentation): prevent restore-on-upload logic from disabling itself by @Arthurk12 in #25205
- Update Poll button label for better clarity by @ramonlsouza in #25075
- fix(plugins): center and resize SVG icons in apps gallery by @Arthurk12 in #25248
- fix(generic-sidekick-content): open panel when content is injected with open: true by @Arthurk12 in #25069
- fix(media-area): add id to drop up by @Arthurk12 in #25330
- Fix: disable virtual background toggle on unsupported devices (iOS/Safari) by @Tainan404 in #25151
- fix(chat): prevent reply preview from clipping long messages by @AtilaU19 in #25351
- fix(html5): stop recording confirmation toast from blocking other modals by @Tainan404 in #25334
- fix(video): never let the grid overflow tile consume a camera slot, + by @prlanzarin in #25362
- fix: fix regression bug in user list item dropdown by @GuiLeme in #25361
- fix(html5): prevent crash from browser auto-translation by @prlanzarin in #25371
- fix(ui): align some modal and panel font sizes with design by @germanocaumo in #25321
- fix(video-provider): preview real user avatars in the camera overflow tile by @AtilaU19 in #25370
- fix(html5): add real Panopto player to external video share by @imdt-claudiop in #25389
- fix(quick-poll): keep parenthetical text in Smart Slides poll question by @Tainan404 in #25350
- fix(html5): re-center microphone glyph in audio modal by @imdt-claudiop in #25396
- fix(html5): correct recording timer when client clock is ahead of server by @imdt-claudiop in #25311
- fix(html5): retry locale fetch on transient network failure by @imdt-claudiop in #25423
- Fix(blocknote): shared notes unread indicator by @Tainan404 in #25269
- fix(chat): render private chat previews from the chats subscription by @Tainan404 in #25467
- Fix(html5): who is talking tiles unified by @Tainan404 in #25359
- fix: presentation download system message in chat export by @ramonlsouza in #25404
- fix(video-provider): clear stale grid avatars when a presentation is open by @AtilaU19 in #25482
- Fix: private chat input placeholder alignment by @ramonlsouza in #25424
features and refactors
- feat(apps-gallery): add search, pin management, and list/grid view toggle by @AtilaU19 in #25127
- !refactor(audio): remove SIP.js audio bridge by @prlanzarin in #25237
- feat(user-list): extend search to raised hands & guests and improve UI by @AtilaU19 in #25148
- feat(sidebar-navigation): new design for sidebar notifications and participant counter by @AtilaU19 in #25215
- feat(lock-viewers): reorder tabs to show participant permissions first by @germanocaumo in #25317
- feat(apps-gallery): add setting to pin plugins items by @Arthurk12 in #25293
- feat(guest-policy): adds visual feedback when messaging the waiting room by @AtilaU19 in #25037
- feat(plugins): support configurable button styles by @germanocaumo in #25214
- feat(audio-captions): alert possible wrong microphone when webspeech by @Arthurk12 in #25342
- [4.0] feat(chat): render emoji-only messages with larger font (jumbomoji) by @imdt-claudiop in #25105
- feat(sidebar-navigation): make buttons layout configurable by @Arthurk12 in #25386
- feat(shared-notes): markdown export, init-from-markdown, and import modal by @imdt-claudiop in #25373
- refactor: isolate timer time section to prevent sidebar re-renders by @AtilaU19 in #25265
- refactor(layout): remove redundant bbb_change_layout join parameter by @antobinary in #25441
- refactor(reactions): drop per-user enable-user-reaction join parameter by @antobinary in #25438
- feat(client): Include moderators when randomly assigning users to breakout rooms if all remaining users are moderators by @ramonlsouza in #25120
test and CI
- fix(tests): improve tests and update screenshots by @germanocaumo in #25275
- fix(tests): install BlockNote shared notes in v4 CI on Noble by @germanocaumo in #25316
- test: add BlockNote shared notes e2e tests by @Tainan404 in #25165
- test(recording): use BlockNote editor for shared-notes recording step by @antobinary in #25451
- test(4.0): fix Playwright suite failures and stabilize flaky breakout test by @antobinary in #25501
locales
- [4.0 locales] Updates for file bigbluebutton-html5/public/locales/en.json by @transifex-integration[bot] in #25035
- [4.0 locales] Updates for file bigbluebutton-html5/public/locales/en.json by @transifex-integration[bot] in #25337
- [4.0 locales] Updates for file bigbluebutton-html5/public/locales/en.json by @transifex-integration[bot] in #25383
- [4.0 locales] Updates for file bigbluebutton-html5/public/locales/en.json by @transifex-integration[bot] in #25480
Plugin SDK
Core
- remove: Remove BBB Recording IMEX Library by @paultrudel in #25164
- fix(bbb-web): Always Return Non-Null Responses from Recording XML Service by @paultru...
v3.0.32
BigBlueButton 3.0.32 includes accessibility improvements, whiteboard fixes and dependency updates. 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(accessibility): change page title based on the content by @ramonlsouza in #25322
- fix(whiteboard): prevent crash when slide changes while a viewer is editing by @imdt-claudiop in #25345
- fix(accessibility): Non-text contrast is insufficient by @ramonlsouza in #25327
- fix(shared-notes): prevent collaboration cursor name from leaking into links by @Tainan404 in #25285
- fix: SVG support for notifications by @GuiLeme in #25281
locales
- [3.0 locales] Updates for project BigBlueButton v3.0 HTML5 client by @transifex-integration[bot] in #25314
Plugin SDK
Core
- fix(bbb-graphql-server): lower connection_lifetime to limit Postgres memory growth by @imdt-claudiop in #25310
- fix(bbb-export-annotations): rasterize background slides to prevent ODF export cropping (#25303) by @imdt-claudiop in #25354
- fix(bbb-export-annotations): add viewBox to background slides missing one to prevent ODF export cropping by @imdt-claudiop in #25315
- Fix allowPromoteGuestToModerator by @blaniel in #25261
- Add analytics logging for breakout move-user request by @imdt-claudiop in #25326
- Set MALLOC_ARENA_MAX=2 for bbb-web and bbb-apps-akka by @imdt-claudiop in #25309
Chore
- chore: upgrade export-annotations dependencies by @ramonlsouza in #25353
- chore: upgrade bbb-shared-notes-server dependencies by @ramonlsouza in #25356
- build(deps): bump form-data from 3.0.4 to 3.0.5 in /bbb-learning-dashboard by @dependabot[bot] in #25301
- build(deps): bump ws in /bbb-learning-dashboard by @dependabot[bot] in #25302
- build(deps): bump ws from 7.5.10 to 7.5.11 in /docs by @dependabot[bot] in #25341
- build: Bump Hasura from 2.48.14 to 2.49.3 by @gustavotrott in #25349
- build(deps): bump markdown-it from 14.1.1 to 14.2.0 in /bigbluebutton-html5 by @dependabot[bot] in #25287
- build(deps): bump form-data from 4.0.5 to 4.0.6 in /bigbluebutton-tests/playwright by @dependabot[bot] in #25304
New Contributors
Full Changelog: v3.0.31...v3.0.32
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.32.
We still recommend using -v jammy-300 as this repository is continually updated with each BigBlueButton 3.0 release.
Client build: 1675
v3.0.31
BigBlueButton 3.0.31 includes client fixes and new client setting to disable displaying guest lobby position. 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(video-provider): show raised hand indicator on audio-only tiles by @ramonlsouza in #25280
- fix(chat): preserve text before links in reply message preview by @ramonlsouza in #25274
features and refactors
- Add client setting to not display guest lobby position by @ramonlsouza in #25297
Full Changelog: v3.0.30...v3.0.31
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.31.
We still recommend using -v jammy-300 as this repository is continually updated with each BigBlueButton 3.0 release.
v3.0.30
BigBlueButton 3.0.30 adds the ability to disable specific recording formats on a per-meeting basis, new plugin actions to stop screen sharing and upload presentations, and hides the session token from the browser's address bar. The release also includes several recording stability and memory-usage fixes and accessibility improvements. 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 breakout webcams only for moderator lock by @Tainan404 in #25229
- fix(screenshare): keep startScreensharing name in minifier for tablet app by @imdt-claudiop in #25245
- fix: Unified Layout: tile count plus aggregated users does not match total participant count (3.0) by @Tainan404 in #25254
- fix(client): Accessibility updates by @ramonlsouza in #25234
- fix(html5): escape emoticon auto-conversion with a leading backslash by @antobinary in #25238
- fix(audio): reinforce mute state on LK publish and reconnects by @prlanzarin in #25271
features and refactors
- feat(html5): Hide sessionToken from address bar by @defnull in #25219
- refactor (graphql/html5): Always show most recently pinned user first, followed by the others by @gustavotrott in #25189
- perf(html5): Enable json patch for GridUsers subscription (and reduce payload significantly) by @gustavotrott in #25191
- style(client): Support plugin-specified button color in actions bar by @BrentBaccala in #24719
test and CI
- test: updates to Whiteboard by @antobinary in #25199
- webpack: ignore .yalc/ from file watching and exclude tldraw from managed-path version caching for 3.0 by @Tainan404 in #25090
- Tests: add Unified Layout minimize regression tests by @Tainan404 in #25134
locales
- [3.0 locales] Updates for project BigBlueButton v3.0 HTML5 client by @transifex-integration[bot] in #25197
- [3.0 locales] Updates for project BigBlueButton v3.0 HTML5 client by @transifex-integration[bot] in #25260
- [3.0 locales] Updates for project BigBlueButton v3.0 HTML5 client by @transifex-integration[bot] in #25262
Plugin SDK
Core
- fix(presentation): snapshot of current slide is blank under cluster-proxy by @imdt-claudiop in #25211
- fix(bbb-web): Return Better Errors From Presentation Upload by @paultrudel in #25210
- fix(akka, bbb-web): clientSettingsOverride fails silently by @Tainan404 in #25240
- fix(shared-notes-server): export empty notes as a blank file, not an error by @Tainan404 in #25255
- refactor (gql-middleware): Enable the custom json patcher for subscriptions with
user_cameratype by @gustavotrott in #25193
Learning dashboard
Recording
- fix(recording): reduce mem usage when audio cut extends into gap by @germanocaumo in #25249
- recording: Fix processing hangs from seeking in screenshare files with video by @kepstin in #25252
- recording: Fix hang in audio processing by @kepstin in #25279
- feat(recording): disable formats per meeting by @germanocaumo in #25277
Packaging and configuration
- build(bbb-web): Nginx cleanup by @defnull in #25109
- build(freeswitch): v1.11.1 (up from v1.10.12) by @prlanzarin in #25157
- build(freeswitch): pick relevant changes from v1.11.0/1 into v1.10.12 by @prlanzarin in #25273
Documentation
- docs: Updated the options for the 'meetingLayout' parameter to include 'PARTICIPANTS_AND_CHAT_ONLY'. by @antobinary in #25227
- docs: Prepare docs changes for BBB 3.0.30 by @antobinary in #25270
Chore
- build(deps html5 client): bump launch-editor from 2.8.1 to 2.14.1 in /bigbluebutton-html5 by @dependabot[bot] in #25231
- build(deps-dev): bump launch-editor from 2.8.0 to 2.14.1 in /bbb-graphql-client-test by @dependabot[bot] in #25230
- chore: Add SonarQube configuration for project analysis by @antobinary in #25198
- chore: Merge 3.0.29 into v3.0.x-develop by @antobinary in #25264
- chore: BigBlueButton 3.0.30 iteration by @antobinary in #25213
New Contributors
- @imdt-claudiop made their first contribution in #25211
Full Changelog: v3.0.29...v3.0.30
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.30.
We still recommend using -v jammy-300 as this repository is continually updated with each BigBlueButton 3.0 release.
Client build: 1673
v3.0.29
This iteration of BigBlueButton 3.0 contains security fixes only.
We strongly encourage administrators to update!
(note: if some of the advisories below are not yet loading, they are yet to be published)
Core
- fix: Block embeddable shape types in whiteboard annotations by @Tainan404 https://github.com/bigbluebutton/bigbluebutton/security/advisories/GHSA-h2rp-mcch-vgh9
- fix(bbb-web): Reject GET-Only Endpoint Requests With Request Bodies by @paultrudel https://github.com/bigbluebutton/bigbluebutton/security/advisories/GHSA-q8vx-4cgc-7w4w
- fix(playback): prevent stored XSS in recording playback by @germanocaumo GHSA-57p5-c888-74f9
- fix(akka-apps): Verify Meeting ID on Presentation Delete Message by @paultrudel
GHSA-jxpq-r3h3-p75g
Full Changelog: v3.0.28...v3.0.29
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.29.
We still recommend using -v jammy-300 as this repository is continually updated with each BigBlueButton 3.0 release.
Client build: 1672
v3.0.28
This iteration focuses on breakout rooms. Moderators can now manage lock settings inside breakout rooms and optionally inherit the parent meeting's lock settings, and recording parameters now pass through to breakouts. It also adds new LiveKit forceRelay/forceRelayOnFirefox settings, accessibility improvements for the settings dropdown and the BlockNote shared-notes editor, a recording fix for high ffmpeg memory usage caused by video PTS gaps, more BlockNote stability work, server-performance improvements, and the usual dependency updates. Below is a list of the pull requests in this iteration, grouped by component.
Note: Anyone using BBB behind a proxy setup should include set $bbb_cors_origin 'https://bbb-proxy.example.com/'; to /etc/bigbluebutton/nginx/bbb-cluster.nginx
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: bn- table crash with static toolbar by @GuiLeme in #25076
- fix: activating the listen-in function results in an error (drop out of user from the breakout room) by @ramonlsouza in #25093
- fix (html5/shared-notes-server): Read-only fixes and new version for BlockNote by @gustavotrott in #25097
- fix (html5/bbb-web): Preloading of slides not working for proxy setups by @gustavotrott in #25108
- fix: Talking indicator some letters are cut off by @ramonlsouza in #25107
- fix (html5): Fix genaral blocknotes issues related with losing focus by @gustavotrott in #25112
- fix(accessibility): settings dropdown keyboard navigation by @ramonlsouza in #25144
- fix (shared-notes-server): Simplify permission handling by @gustavotrott in #25182
- fix (shared-notes-server): Badge not being showed when shared notes is changed (in BlockNote) by @gustavotrott in #25200
- fix (shared-notes-server/cluster): Use
$bbb_cors_originfor shared-notes-server Allow-Origin (CORS) by @gustavotrott in #25194
features and refactors
- ref: change text align select button to remove previous selector by @GuiLeme in #25080
- feat(livekit): add forceRelay/forceRelayOnFirefox settings, + by @prlanzarin in #25005
- feat(accessibility): add Esc shortcut to move focus in/out of the BlockNote shared notes editor by @ramonlsouza in #25139
- perf (html5): Improve video stream queries for server performance by @gustavotrott in #25145
- feat: Added patched flag to users basic info subscription by @GuiLeme in #25183
test and CI
- fix (tests): make Play/Pause test env-independent by comparing screenshots dynamically by @gustavotrott in #25110
- fix(tests): stabilize "Upload multiple presentations" against toast race by @gustavotrott in #25115
locales
- [3.0 locales] Updates for project BigBlueButton v3.0 HTML5 client by @transifex-integration[bot] in #25085
Core
- refactor (akka-apps / LAD): Improve session grouping after disconnect by @gustavotrott in #25003
- refactor(core): create public media groups groups lazily, + by @prlanzarin in #25149
- perf (gql-middleware): improve json patcher, produce minimal patches via LCS-based move generation by @gustavotrott in #25140
- feat(core): recording parameter passthrough to breakouts by @ramonlsouza in #25172
- feat(core): allow moderators to manage lock settings inside breakout rooms and optionally inherit parent meeting lock settings on creation by @Tainan404 in #25176
- fix(core): breakout: propagate parent client settings override by @ramonlsouza in #25188
- fix(bbb-web): Enforce Presentation File Size Limits On All Paths by @paultrudel in #25129
Recording
- fix: Recordings break on nfs by @defnull in #25106
- Revert "fix: Recordings break on nfs" by @antobinary in #25119
- fix(recording): address ffmpeg high memory usage from video PTS gaps by @germanocaumo in #24994
- recording: add internal docs for video edl/layout by @kepstin in #25001
Packaging and configuration
- build(shared-notes-server): Add postgresql-14 as a dependency in opts… by @antobinary in #25117
- build(bbb-playback): Bump to bbb-playback to v5.4.7 by @antobinary in #25130
- build(deps): livekit-cli@2.17.3 (up from 2.17.1) by @prlanzarin in #25135
Documentation
- docs: add CLAUDE.md with operational notes for the Docusaurus site by @antobinary in #25079
- docs: document bigbluebutton.properties additions in BBB 3.0.27 by @antobinary in #25081
- Update action text and documentation link by @ffdixon in #25084
- docs: Add some missing properties of manifest.json in the docs by @GuiLeme in #25121
Chore
- chore: update @bigbluebutton/tldraw from alpha.33 to alpha.34 by @Tainan404 in #25091
- build(deps): bump the npm_and_yarn group across 2 directories with 2 updates by @dependabot[bot] in #25104
- chore: update @bigbluebutton/tldraw from alpha.34 to alpha.35 by @ramonlsouza in #25128
- build(deps): bump the npm_and_yarn group across 6 directories with 1 update by @dependabot[bot] in #25136
- chore(bbb-web): Bump dependencies by @antobinary in #25137
- chore: bump shell-quote to 1.8.4 by @antobinary in #25171
- chore: override serialize-javascript to 7.0.5 by @antobinary in #25173
- chore(bbb-web): Bump tika to 3.3.1; ApachePoi to 5.5.1 to match tika version by @antobinary in #25178
- chore(bbb-web): bump tomcat-embed to 10.1.55 by @antobinary in #25186
- build(deps): bump axios from 1.15.2 to 1.16.0 in /bbb-export-annotations by @dependabot[bot] in #25201
- build(deps): bump axios from 1.15.2 to 1.16.0 in /bigbluebutton-tests/playwright by @dependabot[bot] in #25202
- chore: Resolve conflict between
-developand-releaseby @GuiLeme in #25204
Full Changelog: v3.0.27...v3.0.28
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.28.
We still recommend using -v jammy-300 as this repository is continually updated with each BigBlueButton 3.0 release.