Repository navigation
Releases: offline-agency/laravel-webex
Release list
2.0.0
2.0.0
Released automatically from #13 at commit c4aec48c1c416676cc411936fe7e905398f66b8c (previous version: 1.1.0).
Version bump: major (breaking change).
#13: Develop
Summary
Releases develop as laravel-webex 2.0.0: new platforms (PHP 8.4/8.5, Laravel 12/13), every endpoint aligned with the official Webex OpenAPI specification, honest HTTP results, per-request tokens with retries, lazy pagination, and the Admin, Calling, Devices and Messaging APIs.
This pull request is labelled release:major; merging it into main creates the 2.0.0 tag and GitHub Release with this description as the release notes. Migration steps are in UPGRADE.md.
BREAKING CHANGE: PHP 8.4/8.5 and Laravel 12/13 only; Messages::delete() is destroy(); Webhooks::createWebhook() takes strings; endpoints that do not exist in the Webex API were fixed or removed; HTTP results, authentication events and the /auth route behave differently. See below and UPGRADE.md.
Platforms
| 1.x | 2.0 | |
|---|---|---|
| PHP | 7.1+ | 8.4 and 8.5 (~8.4.0 || ~8.5.0) |
| Laravel | 5 – 9 | 12 (from 12.69.2) and 13 (from 13.32) |
The package now requires laravel/framework (it uses Illuminate\Foundation); guzzlehttp/guzzle and doctrine/dbal are no longer required.
Breaking changes
Messages::delete($id)→Messages::destroy($id)(the old name collided with the base class HTTP helper).Webhooks::createWebhook()takes resource and event as strings:createWebhook('Name', $url, 'meetings', 'created').- Endpoints – every method is checked against the official Webex OpenAPI specification (
tests/Contract). 51 requests that do not exist in the API were fixed (paths, HTTP methods, parameters) or removed; the full list is in UPGRADE.md. - HTTP results – any 2xx is a success (201/202 return the entity); malformed JSON, JSON scalars or a missing document return an
Error; failures without a Webex error document returnError("Webex request failed (HTTP n)."); only network failures are converted into anError, other exceptions are thrown. - Authentication – the
/authroute is off by default (WEBEX_AUTH_ROUTE_ENABLED=true, path and name configurable inwebex.auth_route);SuccessfulAuthenticationis dispatched after the client is built and is deprecated in favour ofWebexClientConfigured. - Entities – properties are typed from the API schemas where unambiguous; a value of another type is ignored.
Added
- APIs – Admin (audit events, hybrid clusters/connectors, licenses, locations, organizations, reports, resource groups, roles, space classifications, workspaces), Calling (BroadWorks, call controls, voice messaging), Devices (devices, configurations, workspaces, xAPI), Messaging (rooms, teams, memberships, messages, attachment actions, events, room tabs), and every Meeting module on the facade.
- Tokens and retries – token resolved per request (
forToken(),webex.token_resolver, thenwebex.bearer);GET/PUT/DELETEretried on network failures, 429 (honouringRetry-After) and 503 (webex.retry);Error::$statusandError::$retryAfter. - Pagination – lazy
cursor()for messages and rooms, followingnextLinkonly on the base URL's host;listWithPagination()returns['items' => [...], 'nextLink' => ?string]. - Config –
php artisan vendor:publish --tag=webex-config; invalid config values fall back to defaults.
Fixed
People::destroyPerson,MeetingChats::destroyChats,MeetingTranscripts::listSnippetsOfTranscript,MeetingParticipant::admitand theAbstractApiresponse decoding and DELETE URL building.nulladditional data and non-object JSON bodies no longer throw aTypeError.
Tooling and project
- Pest 4, Testbench 10/11, Larastan 3.13 at level max (
src,Http,config,routes,tests, release tooling), Pint 1.32; 100 % line coverage enforced. - CI: PHP 8.4/8.5 × Laravel 12/13, lowest dependencies,
composer validate --strict,composer audit, actionlint. - Automatic tag and GitHub Release for every pull request merged into
main(see CONTRIBUTING.md); Dependabot, CODEOWNERS, SECURITY.md (private vulnerability reporting).
Upgrade checklist
- Upgrade the application to PHP 8.4+ and Laravel 12.69.2+ or 13.32+.
- Replace
Messages::delete()withMessages::destroy(). - Pass strings to
Webhooks::createWebhook(). - Check calls to the endpoints fixed or removed in UPGRADE.md.
- If you use
/auth, setWEBEX_AUTH_ROUTE_ENABLED=true; move token logic fromSuccessfulAuthenticationtoAuthenticationRequested/WebexClientConfigured. - Handle
Errorfor unexpected responses; do not rely on exceptions being returned asError.
Breaking changes and migration
This release contains breaking changes: read the description above and UPGRADE.md.
1.1.0
1.0.0
What's Changed
- First release by @SanaviaNicolas in #1
New Contributors
- @SanaviaNicolas made their first contribution in #1
Full Changelog: https://github.com/offline-agency/laravel-webex/commits/1.0.0