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) andinsertDocumentviaDocumentUrl/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,MeetingLayoutand extendedFeatureenums - 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:
getJoinUrlJSON parsing (the previous XML implementation never worked against a real server),putRecordingTextTrackmultipart 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
- Replace deprecated lockSettingsDisableNote by lockSettingsDisableNotes by @DigitalTimK in #235
- Improve DocumentOptions by @DigitalTimK in #236
- Add "preUploadedPresentation" and "preUploadedPresentationName" to create by @nimah79 in #249
- Introduce ApiParameterMapper-Attribute Class by @DigitalTimK in #253
- Improve parameter constructors by @DigitalTimK in #247
- Introduce native php enums by @DigitalTimK in #248
- Introduce document classes by @DigitalTimK in #245
- Simplify BigBlueButton::processJsonResponse, drop parameter by @donquixote in #275
- Inject UrlBuilder instance into the BigBlueButton constructor by @donquixote in #286
- Add #[SensitiveParameter] attribute by @donquixote in #285
- Issue #267: Inject PSR http client into BigBlueButton class, instead of using curl by @donquixote in #273
Tests & tooling
- Upgrade to phpunit 10 by @DigitalTimK in #251
- Implement CaptainHook by @DigitalTimK in #256
- Test fixture files (and other stuff) by @DigitalTimK in #234
- Sort packages in composer.json by @donquixote in #268
- Run php-cs-fixer by @donquixote in #274
- Remove unnecessary non-capturing group in regex by @donquixote in #269
- Issue #279: testInsertDocumentFile random fail by @donquixote in #280
- Fix "is feature disabled" check in more places in BigBlueButtonTest by @donquixote in #282
- Fix data provider in FixturesTest by @donquixote in #283
Documentation
- Introduce documentation in docs-folder by @DigitalTimK in #228
New Contributors
- @nimah79 made their first contribution in #249
- @donquixote made their first contribution in #268
Full Changelog: 2.3.1...3.0.0