Skip to content

Releases: offline-agency/laravel-webex

2.0.0

Choose a tag to compare

@github-actions github-actions released this 13 Oct 21:13
c4aec48

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 return Error("Webex request failed (HTTP n)."); only network failures are converted into an Error, other exceptions are thrown.
  • Authentication – the /auth route is off by default (WEBEX_AUTH_ROUTE_ENABLED=true, path and name configurable in webex.auth_route); SuccessfulAuthentication is dispatched after the client is built and is deprecated in favour of WebexClientConfigured.
  • 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, then webex.bearer); GET/PUT/DELETE retried on network failures, 429 (honouring Retry-After) and 503 (webex.retry); Error::$status and Error::$retryAfter.
  • Pagination – lazy cursor() for messages and rooms, following nextLink only 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::admit and the AbstractApi response decoding and DELETE URL building.
  • null additional data and non-object JSON bodies no longer throw a TypeError.

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() with Messages::destroy().
  • Pass strings to Webhooks::createWebhook().
  • Check calls to the endpoints fixed or removed in UPGRADE.md.
  • If you use /auth, set WEBEX_AUTH_ROUTE_ENABLED=true; move token logic from SuccessfulAuthentication to AuthenticationRequested / WebexClientConfigured.
  • Handle Error for unexpected responses; do not rely on exceptions being returned as Error.

Breaking changes and migration

This release contains breaking changes: read the description above and UPGRADE.md.

1.1.0

Choose a tag to compare

@SanaviaNicolas SanaviaNicolas released this 22 Apr 14:55
8995d95

Fix authentication

1.0.0

Choose a tag to compare

@Giacomo92 Giacomo92 released this 13 Apr 15:23
75ea538

What's Changed

New Contributors

Full Changelog: https://github.com/offline-agency/laravel-webex/commits/1.0.0