# BigBlueButton changelog > An open-source virtual classroom platform. - Vendor: BigBlueButton - Category: Communication - License: LGPL-3.0 - Language: JavaScript - Official site: https://bigbluebutton.org - Tracked by: What's New (https://whatsnew.fyi/product/bigbluebutton) - Harvested from: GitHub (bigbluebutton/bigbluebutton) - Entries below: 22 (newest first) What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: release facts (products, versions, dates, links, CVE ids and flags) are open data under CC BY 4.0, from the API at https://whatsnew.fyi/api/v1 or the nightly dataset at https://github.com/whatsnew-fyi/dataset. The summaries, labels and curation are © What's New: quote freely with attribution and a link back; wholesale republication of them is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. ## Releases ### v4.0.0 - Date: 2026-10-14 - Version: v4.0.0 - Original notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v4.0.0 - Permalink: https://whatsnew.fyi/product/bigbluebutton/releases/v4.0.0 - **added** — Redesigned client interface with a new navigation sidebar and an Apps Gallery where apps and plugins can be pinned, searched, and shown as a list or grid - **added** — Search in the user list - **changed** — Redesigned timer - **added** — Dedicated guest management panel - **changed** — Redesigned permissions (lock viewers) modal - **changed** — Overhauled mobile layout - **added** — Automatic light/dark theme that follows the operating system - **added** — Dedicated Audio settings tab with Advanced Filtering (WASM noise suppression), Standard Filtering, and Original Audio modes - **added** — Request to Present, allowing viewers to ask for the presenter role and moderators to approve or deny (lockSettingsPresenterPolicy) - **added** — Pinned chat messages - **added** — Larger emoji-only chat messages - **added** — Optional user consent before a moderator unmutes them - **added** — Multi-Functional Mode that opens two sidebar panels side by side - **added** — Learning Dashboard for breakout rooms, with per-breakout data kept until the parent meeting ends - **changed** — LiveKit is the default media framework for audio, cameras, and screen sharing, while bbb-webrtc-sfu and FreeSWITCH remain installed and can be selected per meeting or server-wide - **changed** — BlockNote is the only shared notes editor; Etherpad is no longer installed - **added** — Plugin SDK 1.0 (bigbluebutton-html-plugin-sdk 1.0.0-beta.3) - **changed** — Installs on Ubuntu 24.04 and moves to Node.js 24, Java 21, Grails 8.0.0, Gradle 9.8.0, and Spring Boot 4.1.1 - **fixed** — Learning Dashboard numbers untitled polls and quizzes in the order they were asked - **fixed** — Recording playback restores the presentation zoom after a screen share ends - **fixed** — External video player is recognized in production builds and the YouTube subtitles toggle works again - **fixed** — The @ notification badge in the client - **fixed** — Private-message read check on hover - **fixed** — Media-sharing and confirmation button sizes (on bbb-ui-components-react 0.9.0) - **fixed** — Recording button and mobile leave menu in the navigation bar - **changed** — bbb-transcription-controller moves to v0.4.0 with Node.js 24 support - **changed** — Final-release packages are versioned above their release candidates so servers on a 4.0 pre-release upgrade to 4.0.0 #### BigBlueButton 4.0.0 This is the official release of BigBlueButton 4.0, the culmination of over 19 months of development, 6120 commits, 3 beta, and 5 release candidates. BigBlueButton 4.0 is a major release built around a redesigned client and a new media stack: * Redesigned client interface with a new navigation sidebar and an Apps Gallery, where apps and plugins can be pinned, searched and shown as a list or a grid * Search in the user list, a redesigned timer, a dedicated guest management panel, a redesigned permissions (lock viewers) modal and an overhauled mobile layout * Automatic light/dark theme following the operating system, and a dedicated Audio settings tab with Advanced Filtering (WASM noise suppression), Standard Filtering and Original Audio modes * Request to Present: viewers can ask for the presenter role and moderators approve or deny (`lockSettingsPresenterPolicy`) * Pinned chat messages, larger emoji-only messages, optional user consent before a moderator unmutes them, and a Multi-Functional Mode that opens two sidebar panels side by side * Learning Dashboard for breakout rooms, with per-breakout data kept until the parent meeting ends * LiveKit is the default media framework for audio, cameras and screen sharing; bbb-webrtc-sfu and FreeSWITCH stay installed and can be selected per meeting or server-wide * BlockNote is the only shared notes editor; Etherpad is no longer installed * Plugin SDK 1.0 (`bigbluebutton-html-plugin-sdk` 1.0.0-beta.3) Under the hood, BigBlueButton 4.0 installs on Ubuntu 24.04 and moves to Node.js 24, Java 21, Grails 8.0.0, Gradle 9.8.0 and Spring Boot 4.1.1. Link to the installation command / instructions / full list of features: https://docs.bigbluebutton.org/4.0/new-features If you are upgrading a server that runs a 4.0 pre-release, read the upgrade notes in the [4.0.0-rc.5 release notes](https://github.com/bigbluebutton/bigbluebutton/releases/tag/v4.0.0-rc.5) first (Etherpad removal, Node.js 24, plugin SDK version ranges), and the Grails 8 notes in [new-features](https://docs.bigbluebutton.org/4.0/new-features) if you override `bbb-web.service` or depend on bbb-web's response headers. Full list of changes since BBB 3.0: https://github.com/bigbluebutton/bigbluebutton/compare/v3.0.x-release...v4.0.x-release ##### The focus of BigBlueButton When we created BigBlueButton in 2007, we created it with the mission to build the world's most effective virtual classroom measured in learning outcomes. We created it to empower educators with built-in tools for active learning and live analytics to ensure every student learns. In line with UN Sustainable Development Goal # 4: **Quality Education for Everyone**, we believe every student in the world deserves a high quality online learning experience. And we believe every educator deserves the best platform to provide it. Also, as an open-source platform, BigBlueButton is freely available worldwide. If you are in education and teach students in live sessions, we built BigBlueButton for you. As we evolve BigBlueButton 3.0 to 4.0, the new plug-in architecture enables the product to be used in other areas of communication. At the core, BigBlueButton 4.0 is an extensible platform with all the core collaboration features you would find in a commercial web conferencing system. ##### Thanks to our Community The BigBlueButton project is supported by a world-wide community of developers, teachers, testers, and government, commercial, and educational organizations. For this release, we want to thank in particular the following organizations. We thank **ZKI**, the German association of Higher Education IT centers, for its members that have collectively (and continuously!) supported the overall development for this release. Notably, sponsoring the integration of LiveKit into BigBlueButton. We also thank the German Universities that have tested earlier builds of this release and given fe _[Truncated at 4000 characters — full notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v4.0.0]_ ### v4.0.0-rc.5 - Date: 2026-10-07 - Version: v4.0.0-rc.5 - Original notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v4.0.0-rc.5 - Permalink: https://whatsnew.fyi/product/bigbluebutton/releases/v4.0.0-rc.5 - Labels: Pre-release - **removed** — Remove Etherpad and use BlockNote as the only shared notes editor - **changed** — Move Node.js components to Node.js 24 (Active LTS) - **changed** — Update HTML5 client to use bigbluebutton-html-plugin-sdk 1.0.0-beta.3, which changes which plugin manifests load - **changed** — Redesign the poll and quiz panels - **changed** — Allow the recording indicator to collapse to an icon - **added** — Add administrator settings to control when the remaining time banner appears and whether the breakout "Propagate the current lock settings" checkbox starts checked - **added** — Show users a message to refresh when they reach the GraphQL subscription limit - **changed** — Move players for 0.81 and 0.9.0 recordings to an optional package - **fixed** — Fix the presentation area after a screen share - **fixed** — Fix LiveKit audio and screen share recovery - **fixed** — Fix Learning Dashboard counts - **fixed** — Fix several recording processing defects - **changed** — Upgrade bbb-webrtc-sfu to v2.25.0-beta.2 - **changed** — Upgrade bigbluebutton-html-plugin-sdk to 1.0.0-beta.3 - **changed** — Upgrade @bigbluebutton/tldraw to 2.0.0-alpha.36 - **changed** — Upgrade webrtc-adapter to 9.0.1 - **fixed** — Find slides with soft-masked images that pdftocairo renders blank and convert those slides to bitmaps - **fixed** — Do not re-mute a track a client just unmuted in LiveKit - **fixed** — Disable breakout listen-in for a room the user is joined in #### BigBlueButton 4.0.0-rc.5 BigBlueButton 4.0.0-rc.5 removes Etherpad: BlockNote is now the only shared notes editor, and upgrading removes the `bbb-etherpad` and `bbb-pads` packages. The Node.js components move to Node.js 24 (Active LTS). The HTML5 client moves to the 1.0 pre-release of the plugin SDK, which changes which plugin manifests load. The poll and quiz panels were redesigned, the recording indicator can collapse to an icon, and administrators can now set when the remaining time banner appears and whether the breakout "Propagate the current lock settings" checkbox starts checked. The client also tells users to refresh when they reach the GraphQL subscription limit. The players for 0.81 and 0.9.0 recordings moved to an optional package. bbb-web now finds slides with soft-masked images that pdftocairo renders blank and converts those slides to bitmaps. Fixes cover the presentation area after a screen share, LiveKit audio and screen share recovery, Learning Dashboard counts and several recording processing defects. Under the hood this candidate upgrades bbb-webrtc-sfu to v2.25.0-beta.2 (from beta.1), bigbluebutton-html-plugin-sdk to 1.0.0-beta.3, @bigbluebutton/tldraw to 2.0.0-alpha.36 and webrtc-adapter to 9.0.1. 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 / schedule / 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 Etherpad and changes the Node.js runtime. Upgrading an existing 4.0 pre-release server takes more steps than usual: * **Switch to Node.js 24 before upgrading the packages.** The Node.js-based packages now depend on `nodejs (>= 24) (<< 25)`. Download a fresh `bbb-install.sh` from the `v4.0.x-release` branch and run it with `-v noble-400`: it moves the NodeSource repository from `node_22.x` to `node_24.x` before it upgrades anything. **Do not use a saved copy or another branch's script**: those keep Node.js 22, so their `dist-upgrade` removes the `bigbluebutton` package instead of upgrading it, and their final `apt-get auto-remove` then uninstalls most of BigBlueButton. If you upgrade with apt, change `/etc/apt/sources.list.d/nodesource.list` to `node_24.x` and run `apt update` first. If an upgrade has already removed the `bigbluebutton` package, switch the repository, run `apt update` and `apt install bigbluebutton`. * **Then use `apt full-upgrade` (or `dist-upgrade`), not `apt upgrade`.** The `bigbluebutton` and `bbb-config` packages now conflict with `bbb-etherpad` and `bbb-pads`. `apt upgrade` never removes packages, so it holds back the entire BigBlueButton upgrade (bbb-install already uses `dist-upgrade`). The upgrade removes Etherpad's files, the `etherpad` user, its overrides in `/etc/bigbluebutton` and the `public.pads` entry in `/etc/bigbluebutton/bbb-html5.yml`. Pads stored in Etherpad are not migrated. * Every meeting now gets BlockNote shared notes. The `sharedNotesEditor` `create` parameter is ignored. The Etherpad-only parts of the GraphQL API were removed, so a plugin or integration that still requests them gets a GraphQL validation error. * `sharedNotesEditor` and `enteredUsersTimeout` were removed from `bigbluebutton.properties`. **If you edited `/usr/share/bbb-web/WEB-INF/classes/spring/resources.xml` directly, remove the `sharedNotesEditor`, `enteredUsersTimeout` and `enteredUserCleanupTimerTask` property entries and the `enteredUserCleanupTimerTask` bean. Otherwise bbb-web will fail to start.** * **Plugins built for the 0.1.x SDK do not load until their manifest is updated.** The client now uses `bigbluebutton-html-plugin-sdk` `1.0.0-beta.3`, and `bbb-apps-akka` _[Truncated at 4000 characters — full notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v4.0.0-rc.5]_ ### v3.0.39 - Date: 2026-10-02 - Version: v3.0.39 - Original notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v3.0.39 - Permalink: https://whatsnew.fyi/product/bigbluebutton/releases/v3.0.39 - **fixed** — Move and add button are still shown if cursor is outside of the shared notes - **fixed** — Darkmode-aware CSS for infinite whiteboard button - **changed** — Order the guest lobby list by time of arrival - **fixed** — Add trailing to throttling for cursor updates - **fixed** — Clear stale grid avatars when a presentation is open - **fixed** — Upload error toast for a rejected presentation can't be dismissed and keeps reappearing - **changed** — Allow locked users to see moderator voice state - **fixed** — Render annotated slide backgrounds from the source PDF - **fixed** — Fix export soft mask followups - **fixed** — Set xml:space through the XML namespace - **fixed** — Prevent exported text overlap for width-constrained shapes - **fixed** — Include sanitizeChatHTML in video playback - **fixed** — Don't blank the presentation on screenshare-as-content - **fixed** — Use instance variable for segment break timestamp - **fixed** — Hide every camera of a locked user in recordings - **changed** — Update bbb-presentation-video to 5.1.0-rc.4 - **changed** — Update bbb-playback from 5.4.7 to 5.4.8 #### BigBlueButton 3.0.39 BigBlueButton 3.0.39 is a maintenance release focused on bug fixes. Recording fixes hide every camera of a locked user in recordings and stop the presentation from being blanked on screenshare-as-content, and the annotated presentation export received several rendering fixes. This release also orders the guest lobby list by time of arrival, allows locked users to see moderator voice state, and includes dependency and locale 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! :confetti_ball: ###### HTML5 client fixes * Fix(html5): Move and add button are still shown if cursor is outside of the shared notes by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/25760 * [3.0 presentation toolbar] fix: darkmode-aware CSS for infinite WB button by @hiroshisuga in https://github.com/bigbluebutton/bigbluebutton/pull/25709 * [3.0]fix(waiting-users): order the guest lobby list by time of arrival by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/25827 * [3.0 WB] fix: add trailing to throttling for cursor updates by @hiroshisuga in https://github.com/bigbluebutton/bigbluebutton/pull/25693 * fix(video-provider): clear stale grid avatars when a presentation is open (3.0) by @imdt-claudiop in https://github.com/bigbluebutton/bigbluebutton/pull/25867 test and CI * ci(plugin/test): added test infrastructure for the plugins by @GuiLeme in https://github.com/bigbluebutton/bigbluebutton/pull/25344 * [3.0]test(breakout): stabilize lock-settings tests under load by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/25886 locales * [3.0 locales] Updates for project BigBlueButton v3.0 HTML5 client by @transifex-integration[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/25749 * [3.0 locales] Updates for project BigBlueButton v3.0 HTML5 client by @transifex-integration[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/25776 * [3.0 locales] Updates for project BigBlueButton v3.0 HTML5 client by @transifex-integration[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/25833 * [3.0 locales] Updates for project BigBlueButton v3.0 HTML5 client by @transifex-integration[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/25925 https://github.com/bigbluebutton/bigbluebutton/pull/25934 ###### Core * [3.0 backport] fix: Upload error toast for a rejected presentation can't be dismissed and keeps reappearing by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/25916 * fix(akka-apps): Allow Locked Users to See Moderator Voice State by @paultrudel in https://github.com/bigbluebutton/bigbluebutton/pull/25921 ###### bbb-export-annotations * [3.0]fix(export): render annotated slide backgrounds from the source PDF by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/25830 * [3.0]fix(export-annotations):Fix export soft mask followups 30 by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/25841 * fix(bbb-export-annotations): set xml:space through the XML namespace by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/25923 * [3.0 backport] fix(bbb-export-annotations): prevent exported text overlap for width-constrained shapes by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/25917 ###### Recording * fix(recording): include sanitizeChatHTML in video playback by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/25806 * [3.0 port] fix(recording): don't blank the presentation on screenshare-as-content by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/25908 * [3.0 backport] f _[Truncated at 4000 characters — full notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v3.0.39]_ ### v4.0.0-rc.4 - Date: 2026-10-01 - Version: v4.0.0-rc.4 - Original notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v4.0.0-rc.4 - Permalink: https://whatsnew.fyi/product/bigbluebutton/releases/v4.0.0-rc.4 - Labels: Pre-release - **security** — Fixed command injection vulnerability through destination_number parameter - **security** — Fixed unauthenticated access to a meeting's audio conference - **security** — Fixed BlockNote shared notes being accessible to non-members of a meeting - **security** — Fixed live meeting streams remaining accessible to a removed participant - **security** — Fixed unescaped poll text in presentation export that enables SVG injection and server-side request forgery - **security** — Fixed hidden user list bypass through voice and reaction data - **security** — Fixed breakout room access not being revoked after a participant is removed - **security** — Fixed whiteboard annotation authorship forgery by a participant with whiteboard access - **security** — Fixed stored XSS through an unvalidated audio-caption locale in the legacy recording player This iteration of BigBlueButton 4.0 contains security fixes only. **We encourage administrators to update!** More details included in the advisories below. Note, if they are not yet public when reading this, check a bit later. * Command Injection through "destination_number" https://github.com/bigbluebutton/bigbluebutton/security/advisories/GHSA-f6gw-hpfv-5gxg * Unauthenticated access to a meeting's audio conference https://github.com/bigbluebutton/bigbluebutton/security/advisories/GHSA-49qg-pcv3-r2g6 * BlockNote shared notes accessible to non-members of a meeting https://github.com/bigbluebutton/bigbluebutton/security/advisories/GHSA-gjvc-jq4g-58xp * Live meeting streams remain accessible to a removed participant https://github.com/bigbluebutton/bigbluebutton/security/advisories/GHSA-j5gq-h48h-23r4 * Unescaped poll text in presentation export enables SVG injection and server-side request forgery https://github.com/bigbluebutton/bigbluebutton/security/advisories/GHSA-rr62-cx93-4fwh * Hidden user list can be bypassed through voice and reaction data https://github.com/bigbluebutton/bigbluebutton/security/advisories/GHSA-52cv-pvw8-89c6 * Breakout room access is not revoked after a participant is removed https://github.com/bigbluebutton/bigbluebutton/security/advisories/GHSA-5p2g-ff34-ghm3 * Whiteboard annotation authorship could be forged by a participant with whiteboard access https://github.com/bigbluebutton/bigbluebutton/security/advisories/GHSA-x795-r9c3-rh9q * Stored XSS Through an Unvalidated Audio-Caption Locale in the Legacy Recording Player https://github.com/bigbluebutton/bigbluebutton/security/advisories/GHSA-h6m5-4xgx-pvpp **Full Changelog**: https://github.com/bigbluebutton/bigbluebutton/compare/v4.0.0-rc.3...v4.0.0-rc.4 ###### 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.4`. We still recommend using `-v noble-400` as this repository is continually updated with each BigBlueButton 4.0 release. ### v3.0.38 - Date: 2026-10-01 - Version: v3.0.38 - Original notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v3.0.38 - Permalink: https://whatsnew.fyi/product/bigbluebutton/releases/v3.0.38 - **security** — Fix command injection through destination_number - **security** — Fix unauthenticated access to a meeting's audio conference - **security** — Fix BlockNote shared notes accessible to non-members of a meeting - **security** — Fix live meeting streams remaining accessible to a removed participant - **security** — Fix unescaped poll text in presentation export that enables SVG injection and server-side request forgery - **security** — Fix hidden user list bypass through voice and reaction data - **security** — Fix breakout room access not being revoked after a participant is removed - **security** — Fix whiteboard annotation authorship forgery by a participant with whiteboard access - **security** — Fix stored XSS through an unvalidated audio-caption locale in the legacy recording player - **changed** — Restrict FreeSWITCH's SIP/WS listeners to the local host with ws-binding set to 127.0.0.1:5066 and remove wss-binding listener This iteration of BigBlueButton 3.0 contains security fixes only. **We encourage administrators to update!** More details included in the advisories below. Note, if they are not yet public when reading this, check a bit later. * Command Injection through "destination_number" https://github.com/bigbluebutton/bigbluebutton/security/advisories/GHSA-f6gw-hpfv-5gxg * Unauthenticated access to a meeting's audio conference https://github.com/bigbluebutton/bigbluebutton/security/advisories/GHSA-49qg-pcv3-r2g6 * BlockNote shared notes accessible to non-members of a meeting https://github.com/bigbluebutton/bigbluebutton/security/advisories/GHSA-gjvc-jq4g-58xp * Live meeting streams remain accessible to a removed participant https://github.com/bigbluebutton/bigbluebutton/security/advisories/GHSA-j5gq-h48h-23r4 * Unescaped poll text in presentation export enables SVG injection and server-side request forgery https://github.com/bigbluebutton/bigbluebutton/security/advisories/GHSA-rr62-cx93-4fwh * Hidden user list can be bypassed through voice and reaction data https://github.com/bigbluebutton/bigbluebutton/security/advisories/GHSA-52cv-pvw8-89c6 * Breakout room access is not revoked after a participant is removed https://github.com/bigbluebutton/bigbluebutton/security/advisories/GHSA-5p2g-ff34-ghm3 * Whiteboard annotation authorship could be forged by a participant with whiteboard access https://github.com/bigbluebutton/bigbluebutton/security/advisories/GHSA-x795-r9c3-rh9q * Stored XSS Through an Unvalidated Audio-Caption Locale in the Legacy Recording Player https://github.com/bigbluebutton/bigbluebutton/security/advisories/GHSA-h6m5-4xgx-pvpp **Full Changelog**: https://github.com/bigbluebutton/bigbluebutton/compare/v3.0.37...v3.0.38 ###### 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.38`. We still recommend using `-v jammy-300` as this repository is continually updated with each BigBlueButton 3.0 release. ### v4.0.0-rc.3 - Date: 2026-09-11 - Version: v4.0.0-rc.3 - Original notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v4.0.0-rc.3 - Permalink: https://whatsnew.fyi/product/bigbluebutton/releases/v4.0.0-rc.3 - Labels: Pre-release - **added** — Make the whiteboard ctrl-to-zoom wheel behavior configurable to let administrators restore the pre-4.0 direct wheel-zoom - **fixed** — Prevent invalid presentation video rates in phone landscape - **fixed** — Exit shape editing synchronously on slide change in whiteboard - **fixed** — Hide Move and add buttons when cursor is outside of the shared notes - **fixed** — Restore per-user Lock public chat action in user list - **fixed** — Explain expired session links on the error screen - **fixed** — Fix Multiple Choice poll counting total selected options instead of participants - **fixed** — Name the notes download after the meeting in shared notes - **fixed** — Hide rejected presentations from the slide selection in breakout - **fixed** — In-depth pass over LiveKit reconnection, recovery and resiliency for LiveKit bridges - **fixed** — Resolve a WASM-processed track to its real input device in audio - **fixed** — Leave the camera framerate unset when no profile sets it in LiveKit - **fixed** — Derive SVG dimensions from viewBox before defaults and drop identify-on-SVG fallback - **fixed** — Bound fullName at 255 and widen name columns to text in bbb-web - **fixed** — Widen meeting_group groupId and name columns to text - **fixed** — Prevent exported text overlap for width-constrained shapes in bbb-export-annotations - **changed** — Review sidebar panel footer buttons for consistency #### BigBlueButton 4.0.0-rc.3 BigBlueButton 4.0.0-rc.3 is a stabilization release ahead of 4.0.0. The one new feature is on the whiteboard, where the mouse wheel behaviour is now configurable, letting administrators restore the pre-4.0 direct wheel-zoom. Most of the iteration is fixes — an in-depth pass over LiveKit reconnection, recovery and resiliency, several bbb-web hardening changes around name length and database column types, and a large amount of work bringing flaky and disabled tests back into the CI pool. 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 / schedule / 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: ###### HTML5 client fixes * Fix: Prevent invalid presentation video rates in phone landscape by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/25732 * fix(whiteboard): exit shape editing synchronously on slide change by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/25726 * Fix(html5): Move and add button are still shown if cursor is outside of the shared notes by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/25672 * fix(user-list): restore per-user "Lock public chat" action by @lfzawacki in https://github.com/bigbluebutton/bigbluebutton/pull/25743 * fix: explain expired session links on the error screen by @AtilaU19 in https://github.com/bigbluebutton/bigbluebutton/pull/25645 * fix: Multiple Choice poll incorrectly counts total selected options instead of participants by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/25759 * fix(shared-notes): name the notes download after the meeting (#15778) by @imdt-claudiop in https://github.com/bigbluebutton/bigbluebutton/pull/25553 * fix(breakout): hide rejected presentations from the slide selection by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/25777 * fix(livekit): in-depth pass over reconnection, recovery and resiliency for LiveKit bridges by @prlanzarin in https://github.com/bigbluebutton/bigbluebutton/pull/25761 * fix(audio): resolve a WASM-processed track to its real input device by @prlanzarin in https://github.com/bigbluebutton/bigbluebutton/pull/25790 * fix(livekit): leave the camera framerate unset when no profile sets it by @prlanzarin in https://github.com/bigbluebutton/bigbluebutton/pull/25794 features and refactors * feat(whiteboard): make ctrl-to-zoom wheel behavior configurable by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/25739 * [4.0] Review sidebar panel footer buttons for consistency by @guiiBecker in https://github.com/bigbluebutton/bigbluebutton/pull/25409 test and CI * [4.0]test: Fix 31 failures (etherpad, whiteboard) by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/25723 * [4.0] test: Improve health of flaky/disabled tests and bring to ci pool by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/25731 * test: rewrite legacy layout tests against the unified layout (closes #25730) by @imdt-claudiop in https://github.com/bigbluebutton/bigbluebutton/pull/25752 locales * [4.0 locales] Updates for file bigbluebutton-html5/public/locales/en.json by @transifex-integration[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/25740 * [4.0 locales] Updates for file bigbluebutton-html5/public/locales/en.json by @transifex-integration[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/25771 ###### Core * fix(bbb-web): derive SVG dimensions from viewBox before defaults, drop identify-on-SVG fallback by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/25450 * fix(bb _[Truncated at 4000 characters — full notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v4.0.0-rc.3]_ ### v4.0.0-rc.2 - Date: 2026-09-10 - Version: v4.0.0-rc.2 - Original notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v4.0.0-rc.2 - Permalink: https://whatsnew.fyi/product/bigbluebutton/releases/v4.0.0-rc.2 - Labels: Pre-release - **security** — Fixed cross-meeting presentation injection vulnerability due to an unbound upload token - **security** — Fixed cross meeting page IDOR vulnerability - **security** — Fixed GetJoinUrl parameter injection and checksum pollution vulnerability - **security** — Fixed improper enforcement of plugin role restrictions on custom chat messages This iteration of BigBlueButton 4.0 contains security fixes only. **We encourage administrators to update!** More details included in the advisories below. Note, if they are not yet public when reading this, check a bit later. ###### Core * Cross-Meeting Presentation Injection Due to an Unbound Upload Token https://github.com/bigbluebutton/bigbluebutton/security/advisories/GHSA-9v52-vhvw-4w5c * Cross Meeting Page IDOR https://github.com/bigbluebutton/bigbluebutton/security/advisories/GHSA-mvx6-hg8v-3x4j * GetJoinUrl Parameter Injection and Checksum Pollution https://github.com/bigbluebutton/bigbluebutton/security/advisories/GHSA-8p8h-cw52-x467 * Improper enforcement of plugin role restrictions on custom chat messages https://github.com/bigbluebutton/bigbluebutton/security/advisories/GHSA-c4v9-6mvh-px5p **Full Changelog**: https://github.com/bigbluebutton/bigbluebutton/compare/v4.0.0-rc.1...v4.0.0-rc.2 ###### 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.2`. We still recommend using `-v noble-400` as this repository is continually updated with each BigBlueButton 4.0 release. ### v3.0.37 - Date: 2026-09-10 - Version: v3.0.37 - Original notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v3.0.37 - Permalink: https://whatsnew.fyi/product/bigbluebutton/releases/v3.0.37 - **security** — Fix cross-meeting audio access via unvalidated voice bridge - **security** — Fix cross-meeting presentation injection due to an unbound upload token - **security** — Fix cross meeting page IDOR - **security** — Fix GetJoinUrl parameter injection and checksum pollution - **security** — Fix improper enforcement of plugin role restrictions on custom chat messages - **removed** — Drop support for SIP.JS audio (/ws) This iteration of BigBlueButton 3.0 contains security fixes only. **We encourage administrators to update!** Note, we drop support for SIP.JS audio (`/ws`) here as part of one of the patches. BigBlueButton 4.0 already had it dropped. A corresponding change in bbb-install.sh (`v3.0.x-release` branch) was made too. **For those using custom installers, make sure /usr/share/bigbluebutton/nginx/sip.nginx is not being reintroduced!** More details included in the advisories below. Note, if they are not yet public when reading this, check a bit later. ###### Core * Cross-meeting audio access via unvalidated voice bridge https://github.com/bigbluebutton/bigbluebutton/security/advisories/GHSA-g92v-3w29-55rh * Cross-Meeting Presentation Injection Due to an Unbound Upload Token https://github.com/bigbluebutton/bigbluebutton/security/advisories/GHSA-9v52-vhvw-4w5c * Cross Meeting Page IDOR https://github.com/bigbluebutton/bigbluebutton/security/advisories/GHSA-mvx6-hg8v-3x4j * GetJoinUrl Parameter Injection and Checksum Pollution https://github.com/bigbluebutton/bigbluebutton/security/advisories/GHSA-8p8h-cw52-x467 * Improper enforcement of plugin role restrictions on custom chat messages https://github.com/bigbluebutton/bigbluebutton/security/advisories/GHSA-c4v9-6mvh-px5p **Full Changelog**: https://github.com/bigbluebutton/bigbluebutton/compare/v3.0.36...v3.0.37 ###### 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.37`. We still recommend using `-v jammy-300` as this repository is continually updated with each BigBlueButton 3.0 release. ### v4.0.0-rc.1 - Date: 2026-09-01 - Version: v4.0.0-rc.1 - Original notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v4.0.0-rc.1 - Permalink: https://whatsnew.fyi/product/bigbluebutton/releases/v4.0.0-rc.1 - Labels: Pre-release - **added** — LiveKit bridge gains multi-room sessions with a membership-based token model including automatic token refresh - **added** — Breakout listen-in reaches parity with the FreeSWITCH/mediasoup transfer flow on the LiveKit bridge - **added** — Advanced Filtering becomes pluggable with a second WASM backend (WorkAdventure/DTLN) alongside BBBA - **added** — Learning Dashboard now works inside breakout rooms - **added** — Add WorkAdventure/DTLN noise suppression provider as audio WASM processing option - **added** — Allow disabling the webcam grid via config or API per server or per meeting - **added** — Handle sidekickArea.panel open/close commands from the SDK in plugins - **added** — Add complete Thai translations - **changed** — Whiteboard switches to scroll-to-pan with Ctrl+scroll to zoom - **changed** — Upgrade FreeSWITCH to 1.11.3 from 1.10.12 - **changed** — Upgrade bbb-webrtc-sfu to 2.25.0-beta.0 - **changed** — Upgrade bbb-presentation-video to 5.1.0-rc.4 - **changed** — Upgrade lettuce-core to 7.7.0 - **changed** — Shared notes editor value on create is now validated and canonicalized against etherpad or blockNote - **changed** — Breakout rooms now always inherit the parent meeting's effective meetingKeepEvents value - **fixed** — BlockNote options menu disappears while notes are pinned to the whiteboard - **fixed** — BlockNote difficult to use for math - **fixed** — BlockNote link editing focus - **fixed** — Export indentation in shared notes - **removed** — Remove allowDuplicateExtUserid configuration item from bigbluebutton.properties in favor of maxUserConcurrentAccesses - **removed** — Remove clientLogoutTimerInMinutes configuration item - **removed** — Remove logoutTimer parameter on create API #### 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: * `allowDuplicateExtUserid` is no longer recognized in `bigbluebutton.properties`. Use `maxUserConcurrentAccesses` instead. * `clientLogoutTimerInMinutes` was removed. It was never consumed by the HTML5 client, and its last reader (the `/enter` endpoint) was removed earlier in 4.0. **If you customized `/usr/share/bbb-web/WEB-INF/classes/spring/resources.xml` in place, remove the `` entry as well** — bbb-web will otherwise fail to start with `NotWritablePropertyException`. * The `logoutTimer` parameter on `create` was removed. It had no effect: the value was stored in bbb-web but never propagated to akka-apps or the client. * `sharedNotesEditor` on `create` is now validated. Values are stripped of control characters and surrounding whitespace, matched case-insensitively against `etherpad` / `blockNote`, canonicalized, and unknown values are now rejected rather than silently accepted. * Breakout rooms now always inherit the parent meeting's effective `meetingKeepEvents` value. An explicit `meetingKeepEvents` parameter and the server-wide `defaultKeepEvents` fallback 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/2565 _[Truncated at 4000 characters — full notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v4.0.0-rc.1]_ ### v3.0.36 - Date: 2026-08-31 - Version: v3.0.36 - Original notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v3.0.36 - Permalink: https://whatsnew.fyi/product/bigbluebutton/releases/v3.0.36 - **added** — Add support for custom text in the recording permission dialog via the notifyRecordingAppend create parameter - **changed** — Upgrade JVM components to Java 21 - **changed** — Upgrade FreeSWITCH to version 1.11.3 - **fixed** — Prevent hook usage counter from going negative in data consumption - **fixed** — Fix presentation download system message in chat export - **fixed** — Isolate failed database batch actions in akka-apps #### BigBlueButton 3.0.36 BigBlueButton 3.0.36 adds support for custom text in the recording permission dialog, letting you append your own message to the recording consent prompt via the new `notifyRecordingAppend` create parameter. Under the hood, this iteration upgrades the JVM components to Java 21 and FreeSWITCH to 1.11.3, and includes fixes to chat export and akka-apps database batching. The rest of the iteration is dependency and tooling maintenance. 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 * [Backport of #25403] fix(data-consumption): prevent hook usage counter from going negative by @Arthurk12 in https://github.com/bigbluebutton/bigbluebutton/pull/25503 * fix: presentation download system message in chat export by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/25604 features and refactors * feat: Add support for custom text in the recording permission dialog by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/25708 test and CI * test: click the rectangle tool without opening the "More" geo popup by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/25574 * test(chat): wait for message state changes in deleted-message export test by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/25713 locales * [3.0 locales] Updates for project BigBlueButton v3.0 HTML5 client by @transifex-integration[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/25578 https://github.com/bigbluebutton/bigbluebutton/pull/25655 https://github.com/bigbluebutton/bigbluebutton/pull/25668 ###### Core * [3.0 backport] core: Upgrade JVM Libraries and Applications to Java 21 by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/25581 * fix(akka-apps): isolate failed database batch actions by @imdt-claudiop in https://github.com/bigbluebutton/bigbluebutton/pull/25630 ###### Packaging and configuration * build(freeswitch): v1.11.2 (up from v1.10.12) by @prlanzarin in https://github.com/bigbluebutton/bigbluebutton/pull/25678 * [3.0] build(freeswitch): v1.11.3 (up from v1.11.2) by @prlanzarin in https://github.com/bigbluebutton/bigbluebutton/pull/25711 ###### Documentation * docs: iteration doc sync for 3.0.33 by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/25568 * docs: iteration doc sync for 3.0.36 by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/25715 ###### Chore * build(deps): bump ip-address from 10.2.0 to 10.4.0 in /bbb-shared-notes-server by @dependabot[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/25563 * build(deps): bump fast-uri from 3.1.4 to 3.1.5 in /docs by @dependabot[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/25569 * build(deps-dev): bump fast-uri from 3.1.2 to 3.1.5 in /bbb-graphql-client-test by @dependabot[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/25572 * build(deps): bump sanitize-html from 2.17.4 to 2.17.5 in /bigbluebutton-html5 by @dependabot[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/25556 * build(deps): bump brace-expansion from 1.1.13 to 1.1.18 in /docs by @dependabot[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/25573 * chore: use bbb- prefixed npm package names by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/25570 * build(deps): bump nanoid in /bigbluebutton-html5 by @dependabot[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/25596 * build(deps): bump dompurify from 3.4.12 to 3.4.13 in /docs by @dependabot[bot] in https://github.com/bigbluebutton/bigbluebutton/ _[Truncated at 4000 characters — full notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v3.0.36]_ ### v4.0.0-beta.5 - Date: 2026-08-13 - Version: v4.0.0-beta.5 - Original notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v4.0.0-beta.5 - Permalink: https://whatsnew.fyi/product/bigbluebutton/releases/v4.0.0-beta.5 - Labels: Pre-release - **added** — Mobile layout overhaul with paginated webcams, compact bars, and responsive dialogs - **added** — Arrange cameras and presentation side by side on phones in landscape - **added** — Automatic light/dark theme switching via prefers-color-scheme - **added** — Dedicated Audio settings tab with advanced/standard/original filtering - **added** — Support for custom text in the recording permission dialog - **added** — bbbctl admin tool - **added** — bbb-coturn package - **changed** — Made bbb-etherpad and bbb-pads optional - **changed** — Better BBB and LiveKit state reconciliation on reconnects - **changed** — Push-to-talk enabled in settings.yml - **fixed** — Presentation download filename containing & is truncated and saved without its extension - **fixed** — Grid-aware resize snapping in camera dock - **fixed** — White flash on slide change - **fixed** — Broadcast external video seek detected via onProgress discontinuity - **fixed** — Underline styles do not work in shared notes - **fixed** — Audio tiles are not displayed for attendees - **fixed** — External video audio not restored when autoplay starts the video muted - **fixed** — Whiteboard frame rename drops characters when typing at normal speed - **fixed** — Locking private chat in 4.0 prevents viewers from private chat with moderator - **fixed** — User list search input squeezed by growing participant list #### 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! :confetti_ball: ###### HTML5 client fixes * [chore] fix children PropType in PresentationDownloadDropdownWrapper by @hiroshisuga in https://github.com/bigbluebutton/bigbluebutton/pull/25407 * fix: Presentation download: filename containing "&" is truncated and saved without its extension by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/25435 * fix: grid-aware resize snapping in camera dock by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/25410 * fix(html5): prevent white flash on slide change by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/25493 * fix: broadcast external video seek detected via onProgress discontinuity by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/25504 * fix: app gallery design fixes by @germanocaumo in https://github.com/bigbluebutton/bigbluebutton/pull/25469 * fix(shared-notes): match the BlockNote font to the client by @germanocaumo in https://github.com/bigbluebutton/bigbluebutton/pull/25516 * fix(video-preview): fit background thumbnails to the available width by @germanocaumo in https://github.com/bigbluebutton/bigbluebutton/pull/25524 * fix(user-list): prevent search input from being squeezed by growing participant list by @Arthurk12 in https://github.com/bigbluebutton/bigbluebutton/pull/25528 * [4.0] fix: broadcast external video seek detected via onProgress discontinuity- #25504 by @germanocaumo in https://github.com/bigbluebutton/bigbluebutton/pull/25534 * fix: underline styles do not work in shared notes by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/25525 * Backport: "fix(audio): assorted fixes and improvements to LiveKit's floor manager" by @prlanzarin in https://github.com/bigbluebutton/bigbluebutton/pull/25537 * fix(shared-notes): add missing border radius to pinned BlockNote by @Arthurk12 in https://github.com/bigbluebutton/bigbluebutton/pull/25536 * Fix(html5): Audio tiles are not displayed for attendees by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/25284 * fix(external-video): restore audio when autoplay starts the video muted by @germanocaumo in https://github.com/bigbluebutton/bigbluebutton/pull/25535 * fix(whiteboard): Frame rename drops characters when typing at normal speed by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/25546 * fix(html5): align audio modal microphone and listen-only icons vertically by @ramonlsouza in https://github.co _[Truncated at 4000 characters — full notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v4.0.0-beta.5]_ ### v3.0.35 - Date: 2026-08-13 - Version: v3.0.35 - Original notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v3.0.35 - Permalink: https://whatsnew.fyi/product/bigbluebutton/releases/v3.0.35 - **security** — Harden static asset path resolution in bbb-etherpad 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 https://github.com/bigbluebutton/bigbluebutton/security/advisories/GHSA-4g74-4wqf-fr8c **Full Changelog**: https://github.com/bigbluebutton/bigbluebutton/compare/v3.0.34...v3.0.35 ### v3.0.34 - Date: 2026-08-05 - Version: v3.0.34 - Original notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v3.0.34 - Permalink: https://whatsnew.fyi/product/bigbluebutton/releases/v3.0.34 #### BigBlueButton 3.0.34 * chore: Update BigBlueButton release version to 3.0.34 by @antobinary in https://github.com/bigbluebutton/bigbluebutton/commit/66f94cf95e233439f8b3dbb059baaa4dc4e70e0a 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**: https://github.com/bigbluebutton/bigbluebutton/compare/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 - Date: 2026-08-05 - Version: v3.0.33 - Original notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v3.0.33 - Permalink: https://whatsnew.fyi/product/bigbluebutton/releases/v3.0.33 - **added** — Add Markdown export, initialization from Markdown, and import modal for shared notes in BlockNote - **added** — Add real Panopto player for external video sharing - **added** — Support configurable button styles for plugins - **added** — Add senderRole to useLoadedChatMessages in plugin SDK - **added** — Add new useTimer hook - **changed** — Improve BigBlueButton and LiveKit audio state reconciliation on reconnects - **changed** — Process pre-uploaded slides asynchronously on a bounded pool - **fixed** — Prevent crash from browser auto-translation - **fixed** — Drop out-of-range answerIds in polls to avoid log noise - **fixed** — Preview real user avatars in the camera overflow tile - **fixed** — Prevent grid overflow tile from consuming a camera slot - **fixed** — Keep parenthetical text in Smart Slides poll questions - **fixed** — Re-center microphone glyph in audio modal - **fixed** — Correct recording timer when client clock is ahead of server - **fixed** — Retry locale fetch on transient network failure - **fixed** — Fix presentation download filenames containing ampersand being truncated without extension - **fixed** — Fix grid-aware resize snapping in camera dock - **fixed** — Prevent white flash on slide change - **fixed** — Broadcast external video seek detected via onProgress discontinuity - **fixed** — Restore audio when autoplay starts external video muted #### 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! :confetti_ball: ###### HTML5 client fixes * fix(poll): drop out-of-range answerIds to avoid log noise by @imdt-claudiop in https://github.com/bigbluebutton/bigbluebutton/pull/25388 * fix(html5): add real Panopto player to external video share by @imdt-claudiop in https://github.com/bigbluebutton/bigbluebutton/pull/25389 * fix(html5): prevent crash from browser auto-translation by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/25391 * fix(video-provider): preview real user avatars in the camera overflow tile by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/25394 * fix(video): never let the grid overflow tile consume a camera slot, + by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/25392 * fix(quick-poll): keep parenthetical text in Smart Slides poll question by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/25350 * fix(html5): re-center microphone glyph in audio modal by @imdt-claudiop in https://github.com/bigbluebutton/bigbluebutton/pull/25396 * fix(html5): correct recording timer when client clock is ahead of server by @imdt-claudiop in https://github.com/bigbluebutton/bigbluebutton/pull/25311 * fix(html5): retry locale fetch on transient network failure by @imdt-claudiop in https://github.com/bigbluebutton/bigbluebutton/pull/25423 * [chore] fix children PropType in PresentationDownloadDropdownWrapper by @hiroshisuga in https://github.com/bigbluebutton/bigbluebutton/pull/25407 * fix: Presentation download: filename containing "&" is truncated and saved without its extension by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/25435 * fix: grid-aware resize snapping in camera dock by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/25410 * fix(html5): prevent white flash on slide change by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/25493 * fix: broadcast external video seek detected via onProgress discontinuity by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/25504 * Backport: "fix(audio): assorted fixes and improvements to LiveKit's floor manager" by @prlanzarin in https://github.com/bigbluebutton/bigbluebutton/pull/25537 * fix(external-video): restore audio when autoplay starts the video muted by @germanocaumo in https://github.com/bigbluebutton/bigbluebutton/pull/25535 features and refactors * feat(shared-notes): markdown export, init-from-markdown, and import modal by @imdt-claudiop in https://github.com/bigbluebutton/bigbluebutton/pull/25373 * feat: New useTimer hook by @GuiLeme in https://github.com/bigbluebutton/bigbluebutton/pull/25335 * [3.0] refactor(audio): better BBB<->LiveKit state reconciliation on reconnects, bbb-webrtc-sfu@v2.24.0- #25550 by @prlanzarin in https://github.com/bigbluebutton/bigbluebutton/pull/25551 test and CI * test: add BlockNote shared notes e2e tests (backport of #25165) by @imdt-claudiop in https://github.com/bigbluebutton/bigbluebutton/pull/25444 locales * [ _[Truncated at 4000 characters — full notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v3.0.33]_ ### v4.0.0-beta.4 - Date: 2026-07-23 - Version: v4.0.0-beta.4 - Original notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v4.0.0-beta.4 - Permalink: https://whatsnew.fyi/product/bigbluebutton/releases/v4.0.0-beta.4 - Labels: Pre-release - **changed** — Default BigBlueButton's media stack to LiveKit with the legacy SIP.js audio bridge removed - **changed** — Make BlockNote the default shared notes engine - **added** — Add Markdown export capability to shared notes - **added** — Add init-from-markdown capability to shared notes - **added** — Add import modal to shared notes - **changed** — Upgrade JVM libraries and applications to Java 21 - **added** — Add search functionality to the apps gallery - **added** — Add pin management to the apps gallery - **added** — Add list and grid view toggle to the apps gallery - **changed** — Redesign sidebar notifications and the participant counter - **added** — Render emoji-only chat messages larger as jumbomoji - **added** — Add configurable plugin button styles - **removed** — Remove the BBB Recording IMEX library - **removed** — Remove deprecated create/join parameters lockSettingsDisableNote, userdata-bbb_change_layout, and per-user enable-user-reaction - **changed** — Build bbb-webhooks together with the other packages - **changed** — Move YAML editing in scripts to yq-go - **fixed** — Allow reopening confirmation toast after cancel on recording button - **fixed** — Remove presence status dot from profile button in sidebar - **fixed** — Prevent overlapping icons in webcam containers - **fixed** — Fix arrow keys not triggering slide navigation in presentation toolbar 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! :confetti_ball: ###### HTML5 client fixes * fix(recording-button): allow reopening confirmation toast after cancel by @germanocaumo in https://github.com/bigbluebutton/bigbluebutton/pull/25174 * fix(profile): remove presence status dot from profile button in sidebar by @AtilaU19 in https://github.com/bigbluebutton/bigbluebutton/pull/25019 * fix(video-list-item): prevent overlapping icons in webcam containers by @AtilaU19 in https://github.com/bigbluebutton/bigbluebutton/pull/25071 * fix(user-list): removes "Blocked" label until new design by @AtilaU19 in https://github.com/bigbluebutton/bigbluebutton/pull/25072 * fix(presentation-toolbar): fix arrow keys not triggering slide navigation by @Arthurk12 in https://github.com/bigbluebutton/bigbluebutton/pull/25152 * fix(notes): adjust padding to not stay out of sidebar by @germanocaumo in https://github.com/bigbluebutton/bigbluebutton/pull/25209 * fix(presentation): authenticate thumbnail URL in manage presentations by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/25241 * fix(presentation): prevent restore-on-upload logic from disabling itself by @Arthurk12 in https://github.com/bigbluebutton/bigbluebutton/pull/25205 * Update Poll button label for better clarity by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/25075 * fix(plugins): center and resize SVG icons in apps gallery by @Arthurk12 in https://github.com/bigbluebutton/bigbluebutton/pull/25248 * fix(generic-sidekick-content): open panel when content is injected with open: true by @Arthurk12 in https://github.com/bigbluebutton/bigbluebutton/pull/25069 * fix(media-area): add id to drop up by @Arthurk12 in https://github.com/bigbluebutton/bigbluebutton/pull/25330 * Fix: disable virtual background toggle on unsupported devices (iOS/Safari) by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/25151 * fix(chat): prevent reply preview from clipping long messages by @AtilaU19 in https://github.com/bigbluebutton/bigbluebutton/pull/25351 * fix(html5): stop recording confirmation toast from blocking other modals by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/25334 * fix(video): never let the grid overflow tile consume a camera slot, + by @prlanzarin in https://github.com/bigbluebutton/bigbluebutton/pull/25362 * fix: fix regression bug in user list item dropdown by @GuiLeme in https://github.com/bigbluebutton/bigbluebutton/pull/25361 * fix(html5): prevent crash from browser auto-translation by @prlanzarin in https://github.com/bigbluebutton/bigbluebutton/pul _[Truncated at 4000 characters — full notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v4.0.0-beta.4]_ ### v3.0.32 - Date: 2026-07-02 - Version: v3.0.32 - Original notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v3.0.32 - Permalink: https://whatsnew.fyi/product/bigbluebutton/releases/v3.0.32 - **fixed** — Change page title based on the content for accessibility - **fixed** — Prevent crash when slide changes while a viewer is editing the whiteboard - **fixed** — Improve non-text contrast for accessibility compliance - **fixed** — Prevent collaboration cursor name from leaking into links in shared notes - **fixed** — Add SVG support for notifications - **fixed** — Lower connection_lifetime in bbb-graphql-server to limit Postgres memory growth - **fixed** — Rasterize background slides to prevent ODF export cropping - **fixed** — Add viewBox to background slides missing one to prevent ODF export cropping - **fixed** — Fix allowPromoteGuestToModerator functionality - **added** — Add analytics logging for breakout move-user request - **changed** — Set MALLOC_ARENA_MAX=2 for bbb-web and bbb-apps-akka - **changed** — Upgrade export-annotations dependencies - **changed** — Upgrade bbb-shared-notes-server dependencies - **changed** — Bump Hasura from 2.48.14 to 2.49.3 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! :confetti_ball: ###### HTML5 client fixes * fix(accessibility): change page title based on the content by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/25322 * fix(whiteboard): prevent crash when slide changes while a viewer is editing by @imdt-claudiop in https://github.com/bigbluebutton/bigbluebutton/pull/25345 * fix(accessibility): Non-text contrast is insufficient by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/25327 * fix(shared-notes): prevent collaboration cursor name from leaking into links by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/25285 * fix: SVG support for notifications by @GuiLeme in https://github.com/bigbluebutton/bigbluebutton/pull/25281 locales * [3.0 locales] Updates for project BigBlueButton v3.0 HTML5 client by @transifex-integration[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/25314 ###### Plugin SDK * chore: update SDK version for the last we have published by @GuiLeme in https://github.com/bigbluebutton/bigbluebutton/pull/25336 ###### Core * fix(bbb-graphql-server): lower connection_lifetime to limit Postgres memory growth by @imdt-claudiop in https://github.com/bigbluebutton/bigbluebutton/pull/25310 * fix(bbb-export-annotations): rasterize background slides to prevent ODF export cropping (#25303) by @imdt-claudiop in https://github.com/bigbluebutton/bigbluebutton/pull/25354 * fix(bbb-export-annotations): add viewBox to background slides missing one to prevent ODF export cropping by @imdt-claudiop in https://github.com/bigbluebutton/bigbluebutton/pull/25315 * Fix allowPromoteGuestToModerator by @blaniel in https://github.com/bigbluebutton/bigbluebutton/pull/25261 * Add analytics logging for breakout move-user request by @imdt-claudiop in https://github.com/bigbluebutton/bigbluebutton/pull/25326 * Set MALLOC_ARENA_MAX=2 for bbb-web and bbb-apps-akka by @imdt-claudiop in https://github.com/bigbluebutton/bigbluebutton/pull/25309 ###### Chore * chore: upgrade export-annotations dependencies by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/25353 * chore: upgrade bbb-shared-notes-server dependencies by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/25356 * build(deps): bump form-data from 3.0.4 to 3.0.5 in /bbb-learning-dashboard by @dependabot[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/25301 * build(deps): bump ws in /bbb-learning-dashboard by @dependabot[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/25302 * build(deps): bump ws from 7.5.10 to 7.5.11 in /docs by @dependabot[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/25341 * build: Bump Hasura from 2.48.14 to 2.49.3 by @gustavotrott in https://github.com/bigbluebutton/bigbluebutton/pull/25349 * build(deps): bump markdown-it from 14.1.1 to 14.2.0 in /bigbluebutton-html5 by @dependabot[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/25287 * build(deps): bump form-data from 4.0.5 to 4.0.6 in /bigbluebutton-tests/playwright by @dependabot[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/25304 ##### New Contributors * @blaniel made their first contribution in https://github.com/bigbluebutton/bigbluebutton/pull/25261 **Full Changelog**: https://github.com/bigbluebutton/bigbluebutton/compare/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 late _[Truncated at 4000 characters — full notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v3.0.32]_ ### v3.0.31 - Date: 2026-06-19 - Version: v3.0.31 - Original notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v3.0.31 - Permalink: https://whatsnew.fyi/product/bigbluebutton/releases/v3.0.31 - **fixed** — Show raised hand indicator on audio-only tiles in video provider - **fixed** — Preserve text before links in reply message preview in chat - **added** — Add client setting to not display guest lobby position 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! :confetti_ball: ###### HTML5 client fixes * fix(video-provider): show raised hand indicator on audio-only tiles by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/25280 * fix(chat): preserve text before links in reply message preview by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/25274 features and refactors * Add client setting to not display guest lobby position by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/25297 **Full Changelog**: https://github.com/bigbluebutton/bigbluebutton/compare/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 - Date: 2026-06-17 - Version: v3.0.30 - Original notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v3.0.30 - Permalink: https://whatsnew.fyi/product/bigbluebutton/releases/v3.0.30 - **added** — Add the ability to disable specific recording formats on a per-meeting basis - **added** — Add plugin actions to stop screen sharing and upload presentations - **added** — Add standalone build mode for Learning Dashboard - **changed** — Hide sessionToken from the browser's address bar - **changed** — Always show most recently pinned user first, followed by the others - **changed** — Enable JSON patch for GridUsers subscription to reduce payload - **changed** — Support plugin-specified button color in actions bar - **fixed** — Fix breakout webcams only for moderator lock - **fixed** — Fix screen sharing minifier name preservation for tablet app - **fixed** — Fix Unified Layout tile count plus aggregated users does not match total participant count - **fixed** — Improve accessibility in the client - **fixed** — Fix emoticon auto-conversion by allowing escape with a leading backslash - **fixed** — Reinforce mute state on LiveKit publish and reconnects - **fixed** — Fix presentation snapshot appearing blank under cluster-proxy - **fixed** — Return better errors from presentation upload - **fixed** — Fix clientSettingsOverride failing silently - **fixed** — Export empty shared notes as a blank file instead of an error - **fixed** — Reduce memory usage when audio cut extends into gap during recording - **fixed** — Fix recording processing hangs from seeking in screenshare files with video - **fixed** — Fix hang in audio processing during recording 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! :confetti_ball: ###### HTML5 client fixes * Fix breakout webcams only for moderator lock by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/25229 * fix(screenshare): keep startScreensharing name in minifier for tablet app by @imdt-claudiop in https://github.com/bigbluebutton/bigbluebutton/pull/25245 * fix: Unified Layout: tile count plus aggregated users does not match total participant count (3.0) by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/25254 * fix(client): Accessibility updates by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/25234 * fix(html5): escape emoticon auto-conversion with a leading backslash by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/25238 * fix(audio): reinforce mute state on LK publish and reconnects by @prlanzarin in https://github.com/bigbluebutton/bigbluebutton/pull/25271 features and refactors * feat(html5): Hide sessionToken from address bar by @defnull in https://github.com/bigbluebutton/bigbluebutton/pull/25219 * refactor (graphql/html5): Always show most recently pinned user first, followed by the others by @gustavotrott in https://github.com/bigbluebutton/bigbluebutton/pull/25189 * perf(html5): Enable json patch for GridUsers subscription (and reduce payload significantly) by @gustavotrott in https://github.com/bigbluebutton/bigbluebutton/pull/25191 * style(client): Support plugin-specified button color in actions bar by @BrentBaccala in https://github.com/bigbluebutton/bigbluebutton/pull/24719 test and CI * test: updates to Whiteboard by @antobinary in https://github.com/bigbluebutton/bigbluebutton/pull/25199 * webpack: ignore .yalc/ from file watching and exclude tldraw from managed-path version caching for 3.0 by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/25090 * Tests: add Unified Layout minimize regression tests by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/25134 locales * [3.0 locales] Updates for project BigBlueButton v3.0 HTML5 client by @transifex-integration[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/25197 * [3.0 locales] Updates for project BigBlueButton v3.0 HTML5 client by @transifex-integration[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/25260 * [3.0 locales] Updates for project BigBlueButton v3.0 HTML5 client by @transifex-integration[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/25262 ###### Plugin SDK * feat(plugins): stop screenshare and upload presentation by @GuiLeme in https://github.com/bigbluebutton/bigbluebutton/pull/24989 ###### Core * fix(presentation): snapshot of current slide is blank under cluster-proxy by @imdt-claudiop in https://github.com/bigbluebutton/bigbluebutton/pull/25211 * fix(bbb-web): Return Better Errors From Presentation Upload by @paultrudel in https://github.com/bigbluebutton/bigbluebutton/pull/25210 * fix(akka, bbb-web): clientSettingsOverride fails silently by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/25240 * fix(shared-notes-server): export empty notes as a blank file, not an error by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/25255 * refactor (gql-middleware): Enable the custom json patch _[Truncated at 4000 characters — full notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v3.0.30]_ ### v3.0.29 - Date: 2026-06-12 - Version: v3.0.29 - Original notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v3.0.29 - Permalink: https://whatsnew.fyi/product/bigbluebutton/releases/v3.0.29 - **security** — Block embeddable shape types in whiteboard annotations - **security** — Reject GET-Only Endpoint Requests With Request Bodies - **security** — Prevent stored XSS in recording playback - **security** — Verify Meeting ID on Presentation Delete Message 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 https://github.com/bigbluebutton/bigbluebutton/security/advisories/GHSA-57p5-c888-74f9 * fix(akka-apps): Verify Meeting ID on Presentation Delete Message by @paultrudel https://github.com/bigbluebutton/bigbluebutton/security/advisories/GHSA-jxpq-r3h3-p75g **Full Changelog**: https://github.com/bigbluebutton/bigbluebutton/compare/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 - Date: 2026-05-29 - Version: v3.0.28 - Original notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v3.0.28 - Permalink: https://whatsnew.fyi/product/bigbluebutton/releases/v3.0.28 - **added** — Add forceRelay and forceRelayOnFirefox settings for LiveKit - **added** — Add Esc shortcut to move focus in and out of the BlockNote shared notes editor - **added** — Add patched flag to users basic info subscription - **changed** — Recording parameters now pass through to breakout rooms - **changed** — Moderators can now manage lock settings inside breakout rooms and optionally inherit parent meeting lock settings on creation - **changed** — Improve video stream queries for server performance - **changed** — Improve JSON patcher to produce minimal patches via LCS-based move generation - **changed** — Create public media groups lazily - **fixed** — Fix BlockNote table crash with static toolbar - **fixed** — Fix activating listen-in function resulting in error that drops user from breakout room - **fixed** — Fix BlockNote read-only issues and stability - **fixed** — Fix preloading of slides not working for proxy setups - **fixed** — Fix talking indicator with letters being cut off - **fixed** — Fix general BlockNote issues related with losing focus - **fixed** — Fix settings dropdown keyboard navigation accessibility - **fixed** — Fix badge not being shown when shared notes is changed in BlockNote - **fixed** — Fix shared-notes-server CORS Allow-Origin to use $bbb_cors_origin configuration - **fixed** — Fix recordings breaking on NFS - **fixed** — Fix ffmpeg high memory usage caused by video PTS gaps - **fixed** — Enforce presentation file size limits on all paths 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! :confetti_ball: ###### HTML5 client fixes * fix: bn- table crash with static toolbar by @GuiLeme in https://github.com/bigbluebutton/bigbluebutton/pull/25076 * fix: activating the listen-in function results in an error (drop out of user from the breakout room) by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/25093 * fix (html5/shared-notes-server): Read-only fixes and new version for BlockNote by @gustavotrott in https://github.com/bigbluebutton/bigbluebutton/pull/25097 * fix (html5/bbb-web): Preloading of slides not working for proxy setups by @gustavotrott in https://github.com/bigbluebutton/bigbluebutton/pull/25108 * fix: Talking indicator some letters are cut off by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/25107 * fix (html5): Fix genaral blocknotes issues related with losing focus by @gustavotrott in https://github.com/bigbluebutton/bigbluebutton/pull/25112 * fix(accessibility): settings dropdown keyboard navigation by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/25144 * fix (shared-notes-server): Simplify permission handling by @gustavotrott in https://github.com/bigbluebutton/bigbluebutton/pull/25182 * fix (shared-notes-server): Badge not being showed when shared notes is changed (in BlockNote) by @gustavotrott in https://github.com/bigbluebutton/bigbluebutton/pull/25200 * fix (shared-notes-server/cluster): Use `$bbb_cors_origin` for shared-notes-server Allow-Origin (CORS) by @gustavotrott in https://github.com/bigbluebutton/bigbluebutton/pull/25194 features and refactors * ref: change text align select button to remove previous selector by @GuiLeme in https://github.com/bigbluebutton/bigbluebutton/pull/25080 * feat(livekit): add forceRelay/forceRelayOnFirefox settings, + by @prlanzarin in https://github.com/bigbluebutton/bigbluebutton/pull/25005 * feat(accessibility): add Esc shortcut to move focus in/out of the BlockNote shared notes editor by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/25139 * perf (html5): Improve video stream queries for server performance by @gustavotrott in https://github.com/bigbluebutton/bigbluebutton/pull/25145 * feat: Added patched flag to users basic info subscription by @GuiLeme in https://github.com/bigbluebutton/bigbluebutton/pull/25183 test and CI * fix (tests): make Play/Pause test env-independent by comparing screenshots dynamically by @gustavotrott in https://github.com/bigbluebutton/bigbluebutton/pull/25110 * fix(tests): stabilize "Upload multiple presentations" against toast race by @gustavotrott in https://github.com/bigbluebutton/bigbluebutton/pull/25115 locales * [3.0 locales] Updates for project BigBlueButton v3.0 HTML5 client by @transifex-integration[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/25085 ###### Core * refactor (akka-apps / LAD): Improve session g _[Truncated at 4000 characters — full notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v3.0.28]_ ### v4.0.x-beta.3 — v4.0.0-beta.3 - Date: 2026-05-26 - Version: v4.0.x-beta.3 - Original notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v4.0.x-beta.3 - Permalink: https://whatsnew.fyi/product/bigbluebutton/releases/v4.0.x-beta.3 - Labels: Pre-release - **added** — New WASM-based audio processor (BBBA) running on top of the mic stream - **added** — User search in the user list - **added** — Request to Become Presenter flow for viewers - **added** — Pinned chat messages for moderators - **added** — Persistent pinned apps in the gallery - **added** — Ubuntu 24.04 support - **changed** — Layout System with Unified layout as default - **changed** — Camera sorting and pagination refined - **changed** — New multi-functional mode with dual sidebar panels - **changed** — Lock-settings modal redesigned with 3-state presenter policy - **fixed** — User list not updating in breakouts - **fixed** — Breakout room number display in the userlist - **fixed** — Client crash due to incorrect toggle usage in notification settings - **fixed** — Client crash when plugins incorrectly supply icons to the media area - **fixed** — Whiteboard highlight tool colors - **fixed** — Whiteboard individual write access - **fixed** — Multiple cameras and virtual background issues - **fixed** — User list broken pagination - **fixed** — User list performance - **fixed** — Sidebar panel closure when breakouts time ends #### BigBlueButton 4.0.0-beta.3 This beta brings a significant Layout System revamp (defaulting to the Unified layout, refined camera sorting and pagination, and a new multi-functional mode with dual sidebar panels). Other highlights include a new WASM-based audio processor (BBBA) running on top of the mic stream, user search in the user list, a redesigned lock-settings modal with a 3-state presenter policy, pinned chat messages for moderators, a "Request to Become Presenter" flow for viewers, persistent pinned apps in the gallery, and Ubuntu 24.04 support for BBB 4.0. Below is a list of the pull requests in this iteration, grouped by component. 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! :confetti_ball: ###### HTML5 client fixes * fix(breakouts): user list not updating by @germanocaumo in https://github.com/bigbluebutton/bigbluebutton/pull/22987 * fix(userlist): fix how the breakout room number is displayed in the userlist by @guiiBecker in https://github.com/bigbluebutton/bigbluebutton/pull/24064 * fix(placeholders): replace remaining placeholders {0} with descriptive names by @guiiBecker in https://github.com/bigbluebutton/bigbluebutton/pull/24084 * fix(chat-form): minor design fixes for chat by @AtilaU19 in https://github.com/bigbluebutton/bigbluebutton/pull/24099 * fix(timer): Improve timer UI/UX by @guiiBecker in https://github.com/bigbluebutton/bigbluebutton/pull/24144 * fix: client crash due to incorrect toggle usage in notification settings by @prlanzarin in https://github.com/bigbluebutton/bigbluebutton/pull/24154 * fix: client crash when plugins incorrectly supply icons to the media area by @prlanzarin in https://github.com/bigbluebutton/bigbluebutton/pull/24159 * fix(whiteboard): highlight tool colors by @Arthurk12 in https://github.com/bigbluebutton/bigbluebutton/pull/24165 * Fix potential crash on media area and remove unused code by @lfzawacki in https://github.com/bigbluebutton/bigbluebutton/pull/24166 * fix(whiteboard): grant individual write access by @Arthurk12 in https://github.com/bigbluebutton/bigbluebutton/pull/24236 * fix(profile): multiple cameras and virtual background fixes by @germanocaumo in https://github.com/bigbluebutton/bigbluebutton/pull/24240 * [3.1] fix(chat): audio alerts playing when panel is opened by @Arthurk12 in https://github.com/bigbluebutton/bigbluebutton/pull/24242 * fix(chat/notes): resolve persistent visual notifications in notes and chat hooks by @Arthurk12 in https://github.com/bigbluebutton/bigbluebutton/pull/24256 * fix(user-list): broken pagination due to incorrect parent ref, + by @prlanzarin in https://github.com/bigbluebutton/bigbluebutton/pull/24265 * fix(user-list): several performance improvements by @Arthurk12 in https://github.com/bigbluebutton/bigbluebutton/pull/24272 * fix tests that are not passing on 3.1 by @germanocaumo in https://github.com/bigbluebutton/bigbluebutton/pull/24279 * fix(shared-notes): disable sidebar button when pinned by @Arthurk12 in https://github.com/bigbluebutton/bigbluebutton/pull/24303 * fix(shared-notes): bypass unmount delay when pinned on grid layout by @Arthurk12 in https://github.com/bigbluebutton/bigbluebutton/pull/24309 * fix: re-add missing 'promote to moderator' icon by @Arthurk12 in https://github.com/bigbluebutton/bigbluebutton/pull/24355 * fix(notes): incorrect CSS property types by @Arthurk12 in https://github.com/bigbluebutton/bigbluebutton/pull/24357 * fix(chat): adjust input spacing by @Arthurk12 in https://github.com/bigbluebutton/bigbluebutton/pull/24364 * fix(chat): wrap text input placeholder by @Arthurk12 in https://github.com/bigbluebutton/bigbluebutton/pull/24385 * fix(html5): close sidebar pannel when breakouts time ends by @germanocau _[Truncated at 4000 characters — full notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v4.0.x-beta.3]_ ### v3.0.27 - Date: 2026-05-14 - Version: v3.0.27 - Original notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v3.0.27 - Permalink: https://whatsnew.fyi/product/bigbluebutton/releases/v3.0.27 - **added** — Enable users to pan outside the current presenter's view during infinite whiteboard sessions - **added** — Cache plugin manifest files with bbb-web - **fixed** — Restore Ctrl+Z / Ctrl+Shift+Z in BlockNote - **fixed** — Poll/quiz publishing does not show notification to viewers - **fixed** — Guests note missing or disappearing - **fixed** — lockSettingsHideUserList leaks usernames in the chat if a viewer was temporarily set to presenter - **fixed** — Android being too greedy with Safari user agent detection - **fixed** — Performance issue with block-note dark mode - **fixed** — User id handling in breakouts - **fixed** — Presenter whiteboard camera position moving on window resizing - **fixed** — Hardcoded colors scheme for exported notes.html - **fixed** — BlockNote table crash with static toolbar - **fixed** — Add Callback URL Validation - **fixed** — Set typing=false once user edited a message - **fixed** — External video recording not shown after screenshare - **fixed** — Add presentation minimized events and screenshare as content - **fixed** — Events archiving on servers with blocknote - **fixed** — Require SessionToken and PageToken on Presentation Page Requests - **changed** — Users with a local address as meta_endCallbackUrl must explicitly allow that hostname in bbb-web.properties using the fetchUrlAllowedLocalHosts configuration - **changed** — Decrease size of block-note toolbar This iteration of BigBlueButton 3.0 brings a new feature allowing users to pan outside the current presenter's view during infinite whiteboard sessions, along with presentation improvements (callback URL validation, session/page token enforcement on presentation requests), recording fixes, and several BlockNote-related performance and stability improvements. Note: anyone using a local address as the `meta_endCallbackUrl` will now need to explicitly allow that hostname in `bbb-web.properties`, using the `fetchUrlAllowedLocalHosts` configuration. 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(html5): restore Ctrl+Z / Ctrl+Shift+Z in BlockNote by @gustavotrott in https://github.com/bigbluebutton/bigbluebutton/pull/24990 * fix: Poll/quiz publishing does not show notification to viewers by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/24988 * fix: Guests note missing / disappearing by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/24993 * fix: lockSettingsHideUserList leaks usernames in the chat if a viewer was (temp) set to presenter by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/25000 * fix(client): Fix Android being too greedy with Safari user agent (fixes #24295) by @heinrob in https://github.com/bigbluebutton/bigbluebutton/pull/25027 * fix: Fix performance issue with block-note dark mode by @GuiLeme in https://github.com/bigbluebutton/bigbluebutton/pull/25025 * fix(breakouts): user id handling by @Arthurk12 in https://github.com/bigbluebutton/bigbluebutton/pull/24986 * Fix(html5): Presenter whiteboard camera position moving on window resizing by @Tainan404 in https://github.com/bigbluebutton/bigbluebutton/pull/24968 * fix: fix hardcoded colors scheme for exported notes.html by @GuiLeme in https://github.com/bigbluebutton/bigbluebutton/pull/25033 * fix: bn- table crash with static toolbar by @GuiLeme in https://github.com/bigbluebutton/bigbluebutton/pull/25076 features and refactors * feat: Enable users to pan outside the current presenters view during infinite whiteboard by @ramonlsouza in https://github.com/bigbluebutton/bigbluebutton/pull/25010 * refactor(livekit): memoize useMediaSenders result (selective sub) by @prlanzarin in https://github.com/bigbluebutton/bigbluebutton/pull/24972 * ref: decrease size of block-note toolbar by @GuiLeme in https://github.com/bigbluebutton/bigbluebutton/pull/25023 test and CI * fix (ci/tests): Stabilize cross-page slide comparison by @gustavotrott in https://github.com/bigbluebutton/bigbluebutton/pull/25052 locales * [3.0 locales] Updates for project BigBlueButton v3.0 HTML5 client by @transifex-integration[bot] in https://github.com/bigbluebutton/bigbluebutton/pull/24992 ###### Core * fix(bbb-web): Add Callback URL Validation by @paultrudel in https://github.com/bigbluebutton/bigbluebutton/pull/24828 * refactor (gql-middleware): Minor improvements by @gustavotrott in https://github.com/bigbluebutton/bigbluebutton/pull/24832 * refactor(bbb-web): Update Plugin URL Handling by @paultrudel in https://github.com/bigbluebutton/bigbluebutton/pull/24996 * fix (gql-server): Set `typing=false` once user edited a message by @gustavotrott in https://github.com/bigbluebutton/bigbluebutton/pull/24999 * feat: cache plugin manifest files with bbb-web by @GuiLeme in https://github.com/bigbluebutton/bigbluebutton/pull/24220 * fix(presentation): Require SessionToken and PageToken on Presentation Page Requests by @paultrudel in https://github.com/bigbluebutton/bigbluebutton/pull/25020 ###### Recording * [3.0 recording] fix: external v _[Truncated at 4000 characters — full notes: https://github.com/bigbluebutton/bigbluebutton/releases/tag/v3.0.27]_