NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #5458 most downloaded on Packagist
BigBlueButton PHP API Library for PHP
Last release 1 months ago
19 Aug 2026
Release timing varies
gaps range from 8 days to 2.3 years
Some releases are documented
notes for 9 of 24 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
24 releases · first in 2018
…is drop-in, removed/renamed members are kept as deprecated BC stubs.
Major release: full BigBlueButton 3.0 & 4.0 API support, with backward compatibility for 2.x and 3.x servers — upgrading is drop-in, removed/renamed members are kept as deprecated BC stubs.
getSessions, learningDashboard, getJoinUrl, sendChatMessage, feedback (experimental) and insertDocument via DocumentUrl/DocumentFileplugin_* metadata, PresenterPolicy, breakout-room capture, re-join parameters, MeetingLayout and extended Feature enumsBigBlueButton::createWithHttpClient() accepts any PSR-18 client + PSR-17 factories; curl remains the default, and the library now ships with zero package dependencies (psr/* in suggest)getJoinUrl JSON parsing (the previous XML implementation never worked against a real server), putRecordingTextTrack multipart uploads, JSESSIONID cookie capture, constructor argument order, spurious empty paramsFull Changelog: 2.3.1...3.0.0
One column per quarter.
See git history.
getSessions endpoint: returns one session per joined user (GetSessionsResponse, Core\Session)learningDashboard endpoint: learning dashboard data of a running meeting (moderator session required)getJoinUrl endpoint: generates new /join URLs for existing user sessionssendChatMessage endpoint: sends a public chat message into a running meetingfeedback endpoint (experimental: reserved in the BBB server source, not routed on current BBB releases)insertDocument: documents via DocumentUrl / DocumentFileclientSettingsOverride POST module (HTML5 client settings per meeting) and clientSettingsOverrideJsonUrl variantsharedNotesEditor, sharedNotesInitialContentJsonUrl, sharedNotesInitialContentJson POST module, sharedNotesInitialContentMarkdown, sharedNotesInitialContentMarkdownUrl, sharedNotesInitialContentMarkdown POST module)loginURL, pluginManifests, pluginManifestsFetchUrl, presentationConversionCacheEnabled, maxNumPages, multiUserWhiteboardEnabled, recordFullDurationMedia, notifyRecordingIsOn, presentationUploadExternalUrl/DescriptionmaxPinnedCameras, darklogo, logoutTimer, cameraBridge, screenShareBridge, audioBridge, lockSettingsHideViewersAnnotation, breakout-room capture parameters (breakoutRoomsCaptureSlides/Notes incl. filenames)lockSettingsPresenterPolicy (new PresenterPolicy enum), notifyRecordingAppend, requireUserConsentBeforeUnmutingplugin_* metadata (addPluginMeta() / setPluginMeta())bot, enforceLayout, logoutURL, firstName, lastName, webcamBackgroundURL, errorRedirectUrlexistingUserID, replaceSessionToken, sessionNameauth parameter for the guest-policy evaluation (guestPolicy=ALWAYS_ACCEPT_AUTH)MeetingLayout enum: UNIFIED_LAYOUT, PLUGINS_ONLY, PARTICIPANTS_AND_CHAT_ONLYFeature enum (disabledFeatures): privateChat, plugins, multiFunctionalMode, pinChatMessage and all 3.0 optionsApiVersionResponse: graphqlWebsocketUrl, graphqlApiUrl, html5PluginSdkVersionBigBlueButton::createWithHttpClient() accepts any PSR-18 client with PSR-17 factories; curl remains the dependency-free default. Multipart uploads (caption tracks), BadResponseException error handling and JSESSIONID capture work identically through both transports.getJoinUrl now parses the real JSON response of the BBB server (the previous XML-based implementation could never work against a real server); former getters are kept as deprecated BC-stubsputRecordingTextTrack uploads the caption track as POST multipart with a file field (was a GET request without file); PutRecordingTextTrackParameters::setTrackFile() provides the trackPutRecordingTextTrackResponse::isUploadTrackSuccess() and friends evaluate the message key of successful responses, tooBigBlueButton::__construct($baseUrl, $secret) no longer mixes up the two arguments when passed explicitlyBaseJsonResponse reads missing message/messageKey properties null-safeDocumentFile throws its dedicated exception on unreadable files instead of emitting a PHP warning firstgetJSessionId() no longer fails on uninitialized access before a session id was captureddisabledFeatures, disabledFeaturesExclude) are no longer serialized as empty strings on every request; the hooks eventID parameter is deliberately still sent empty — the webhooks application echoes it with an empty elementbreakoutRoomsEnabled, learningDashboardEnabled, virtualBackgroundsDisabled (replaced by disabledFeatures), copyright, webVoice (no effect since BBB 4.0)defaultLayout (use userdata-bbb_default_layout), webVoiceConf (no effect since BBB 4.0)Feature::LAYOUTS (no longer a valid disabledFeatures option since BBB 4.0)psr/http-client and psr/http-factory are optional (suggest): the library itself ships without package dependencies and uses curl by defaultJoinMeetingParameters::enforceLayout accepts MeetingLayout|string and is exposed as MeetingLayout enumgetJoinMeetingURL() is officially supported again and documented as the standard join flow; joinMeeting() carries a warning that server-side joins skip the session cookiecomposer code-coverageinsertDocument API implementation is rewritter in version 3.0.0 coming along with more breaking changes.
This releases fixes a design regression in BigBlueButton class for the urlBuilder property and implements insertDocument API.
insertDocument API implementation is rewritter in version 3.0.0 coming along with more breaking changes.
Change logs being baked...
Change logs being baked...
Add support for BigBlueButton 2.6 features and hashing algorithms.
Add support for BigBlueButton 2.6 features and hashing algorithms.
Fix PHP type compatibility issue for boolean by accepting null as function return value.
Fix PHP type compatibility issue for boolean by accepting null as function return value.
Nothing published for this version
Handle multiple recording formats by @MedAzizHaddad in #179
getRecordings API.Full Changelog: 2.1.1...2.1.2
Hotfix : fix mistyped breakoutRoomsPrivateChatEnabled parameter for creating rooms by @michaelCenef in #173
breakoutRoomsPrivateChatEnabled parameter for creating rooms by @michaelCenef in #173Full Changelog: 2.1.0...2.1.1
Add new features for BigBlueButton 2.3.x and 2.4.x
New features
Updates
Fixed
Allow passing optional parameters to BigBlueButton class.
New features
BigBlueButton class.Updates
isBreakout property to Meeting.Fixed
getRaw type in Hook class.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →