PackageTrack
Sign in Get early access

bigbluebutton/bigbluebutton-api-php

BigBlueButton PHP API Library for PHP

3.0.0 1.3M downloads/mo #4934 most downloaded on Packagist bigbluebutton/bigbluebutton-api-php

What this package is like to depend on

Last release 4 days 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

1 release in the last 12 months

see the full history below

Release timeline

24 releases · Jun 2018 to Aug 2026
2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 24
  1. 3.0.0 19 Aug 2026
    Release notes

    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.

    Highlights

    • New endpoints: getSessions, learningDashboard, getJoinUrl, sendChatMessage, feedback (experimental) and insertDocument via DocumentUrl/DocumentFile
    • All 3.0/4.0 Create & Join parameters: client settings override, shared-notes content, plugin manifests & plugin_* metadata, PresenterPolicy, breakout-room capture, re-join parameters, MeetingLayout and extended Feature enums
    • PSR-18 HTTP client injection: BigBlueButton::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)
    • Fixes: getJoinUrl JSON parsing (the previous XML implementation never worked against a real server), putRecordingTextTrack multipart uploads, JSESSIONID cookie capture, constructor argument order, spurious empty params
    • Quality & docs: 100% class/method/line test coverage, PHPStan clean, complete mdBook documentation
    • Tested against BigBlueButton 3.0 and 4.0 beta 5

    What's Changed

    API & parameters

    Tests & tooling

    Documentation

    New Contributors

    Full Changelog: 2.3.1...3.0.0

    Open source →
    Release notes

    See git history.

    Added

    • BBB 3.0 / 4.0 API support
      • 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 sessions
      • sendChatMessage endpoint: sends a public chat message into a running meeting
      • feedback endpoint (experimental: reserved in the BBB server source, not routed on current BBB releases)
      • insertDocument: documents via DocumentUrl / DocumentFile
      • Create: clientSettingsOverride POST module (HTML5 client settings per meeting) and clientSettingsOverrideJsonUrl variant
      • Create: shared-notes configuration (sharedNotesEditor, sharedNotesInitialContentJsonUrl, sharedNotesInitialContentJson POST module, sharedNotesInitialContentMarkdown, sharedNotesInitialContentMarkdownUrl, sharedNotesInitialContentMarkdown POST module)
      • Create: loginURL, pluginManifests, pluginManifestsFetchUrl, presentationConversionCacheEnabled, maxNumPages, multiUserWhiteboardEnabled, recordFullDurationMedia, notifyRecordingIsOn, presentationUploadExternalUrl/Description
      • Create: maxPinnedCameras, darklogo, logoutTimer, cameraBridge, screenShareBridge, audioBridge, lockSettingsHideViewersAnnotation, breakout-room capture parameters (breakoutRoomsCaptureSlides/Notes incl. filenames)
      • Create (BBB 4.0): lockSettingsPresenterPolicy (new PresenterPolicy enum), notifyRecordingAppend, requireUserConsentBeforeUnmuting
      • Create: generic plugin_* metadata (addPluginMeta() / setPluginMeta())
      • Join: bot, enforceLayout, logoutURL, firstName, lastName, webcamBackgroundURL, errorRedirectUrl
      • Join (BBB 3.0+): re-join parameters existingUserID, replaceSessionToken, sessionName
      • Join: auth parameter for the guest-policy evaluation (guestPolicy=ALWAYS_ACCEPT_AUTH)
      • MeetingLayout enum: UNIFIED_LAYOUT, PLUGINS_ONLY, PARTICIPANTS_AND_CHAT_ONLY
      • Feature enum (disabledFeatures): privateChat, plugins, multiFunctionalMode, pinChatMessage and all 3.0 options
      • ApiVersionResponse: graphqlWebsocketUrl, graphqlApiUrl, html5PluginSdkVersion
    • PSR-18 http client injection: BigBlueButton::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.
    • Complete mdBook documentation: HTTP client injection, cookies/JSESSIONID, hooks, recordings incl. text tracks, server configuration, FAQ, contribution and testing guides.

    Fixed

    • 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-stubs
    • putRecordingTextTrack uploads the caption track as POST multipart with a file field (was a GET request without file); PutRecordingTextTrackParameters::setTrackFile() provides the track
    • PutRecordingTextTrackResponse::isUploadTrackSuccess() and friends evaluate the message key of successful responses, too
    • BigBlueButton::__construct($baseUrl, $secret) no longer mixes up the two arguments when passed explicitly
    • BaseJsonResponse reads missing message/messageKey properties null-safe
    • The curl transport now reads the cookie jar after the request and extracts the JSESSIONID from the Netscape jar format (the old code read the jar before the request and could never capture a cookie)
    • DocumentFile throws its dedicated exception on unreadable files instead of emitting a PHP warning first
    • getJSessionId() no longer fails on uninitialized access before a session id was captured
    • Empty list parameters (disabledFeatures, 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 element

    Deprecated

    • Create: breakoutRoomsEnabled, learningDashboardEnabled, virtualBackgroundsDisabled (replaced by disabledFeatures), copyright, webVoice (no effect since BBB 4.0)
    • Join: 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)

    Changed

    • psr/http-client and psr/http-factory are optional (suggest): the library itself ships without package dependencies and uses curl by default
    • The curl transport releases its cookie temp file also when a request fails; the hooks hashing algorithm is restored when a URL build throws; the parameter-mapping reflection is cached per class
    • JoinMeetingParameters::enforceLayout accepts MeetingLayout|string and is exposed as MeetingLayout enum
    • getJoinMeetingURL() is officially supported again and documented as the standard join flow; joinMeeting() carries a warning that server-side joins skip the session cookie
    • Test suite: 100 percent class, method and line coverage; every API method is additionally tested offline against a stub PSR-18 client
    • Quality gates: PHPStan clean, PHPUnit exits 0, pre-commit hooks pass without bypass; code coverage is opt-in via composer code-coverage
    Open source →
  2. 2.3.1 07 May 2024
    Release notes

    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.

    Open source →
    Release notes Open source →
  3. 2.3.0 20 Apr 2024
    Release notes

    Change logs being baked...

    Open source →
    Release notes Open source →
  4. 2.2.0 21 May 2023
    Release notes

    Add support for BigBlueButton 2.6 features and hashing algorithms.

    Open source →
    Release notes Open source →
  5. 2.1.4 17 Jun 2022
    Release notes

    Fix PHP type compatibility issue for boolean by accepting null as function return value.

    Open source →
    Release notes Open source →
  6. 2.1.3 17 Jun 2022

    Nothing published for this version

  7. 2.1.2 15 Jun 2022
    Release notes

    New features

    Updates

    • Delete composer 1 dev dependency.
    • Update PHP CS Fixer version for dev.
    • Delete password parameter from getRecordings API.

    New Contributors

    Full Changelog: 2.1.1...2.1.2

    Open source →
  8. 2.1.1 24 Jan 2022
    Release notes

    What's Changed

    • Hotfix : fix mistyped breakoutRoomsPrivateChatEnabled parameter for creating rooms by @michaelCenef in #173
    • Pass array with curl options to the BigBlueButton class by @denis-b in #171

    New Contributors

    Full Changelog: 2.1.0...2.1.1

    Open source →
  9. 2.1.0 29 Dec 2021
    Release notes

    New features

    • Add new features for BigBlueButton 2.3.x and 2.4.x
    • Add the ability to configure the timeout.
    • Add "buildUrl" for custom addtional API.
    • Handle guest policy.

    Updates

    • Delete legacy configXml APIs.
    • Delete joinViaHTML5.

    Fixed

    • Fix fetching customdata for attendees.
    • Close php curl.
    Open source →
  10. 2.0.13 11 Jun 2021
    Release notes

    New features

    • Allow passing optional parameters to BigBlueButton class.

    Updates

    • Support for 7.1+
    • Add isBreakout property to Meeting.

    Fixed

    • Fix getRaw type in Hook class.
    Open source →
  11. 2.0.12 25 Apr 2021

    Nothing published for this version

  12. 2.0.11 15 Apr 2021

    Nothing published for this version

  13. 2.0.10 07 Apr 2021

    Nothing published for this version

  14. 2.0.9 20 Aug 2020

    Nothing published for this version

  15. 2.0.8 02 Apr 2020

    Nothing published for this version

  16. 2.0.7 15 Nov 2019

    Nothing published for this version

  17. 2.0.6 14 Nov 2019

    Nothing published for this version

  18. 2.0.5 10 Apr 2019

    Nothing published for this version

  19. 2.0.4 15 Nov 2018

    Nothing published for this version

  20. 2.0.3 12 Nov 2018

    Nothing published for this version

  21. 2.0.2 18 Oct 2018

    Nothing published for this version

  22. 2.0.1 05 Oct 2018

    Nothing published for this version

  23. 2.0.0 01 Aug 2018

    Nothing published for this version

  24. v1.0 13 Jun 2018

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive