Tags: testingbot/testingbot-php
Tags
Modernize client to v2: resource-oriented, typed, full API coverage Rewrite the TestingBot PHP client (PHP 8.1+) around a resource-grouped `TestingBot\Client` with a backward-compatible `TestingBot\TestingBotAPI` facade. The 1.x flat method names/signatures are preserved; the one behaviour change is that failures now throw typed exceptions instead of returning an `['error' => ...]` array. Highlights: - Full API coverage across 13 resources (tests, builds, storage, tunnels, user, team-management, codeless lab tests + suites, screenshots, devices, browsers, configuration, jobs). - Single cURL chokepoint behind HttpClientInterface (timeouts, TLS verify, versioned UA, curl_errno -> NetworkException, HTTP-status checking) with a mockable seam for tests. - Typed exception hierarchy (Authentication/NotFound/RateLimit/Api/Network). - Replace PHP8-fatal mime_content_type() with ext-fileinfo. - PSR-4 autoload; drop bogus runtime deps (phpunit-selenium, paratest, appium); type=library; add phpstan (L8), php-cs-fixer (PSR-12), .editorconfig. - 86 unit tests via FakeHttpClient (no network) + gated live integration suite. - GitHub Actions: CI matrix PHP 8.1-8.4 + token-free tag-driven release workflow. - Rewritten README, CHANGELOG, CLAUDE.md. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>