diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index d03fafbd..3d4615f6 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -16,7 +16,7 @@ jobs: strategy: fail-fast: false matrix: - php: [ 8.2, 8.3, 8.4 ] + php: [ 8.3, 8.4, 8.5 ] laravel: [ 11.*, 12.*, 13.* ] dependency-version: [ stable, lowest ] include: @@ -28,12 +28,11 @@ jobs: testbench: ^10.0 - laravel: 13.* testbench: ^11.0 - exclude: - # Laravel 13 needs PHP 8.3 or newer - - laravel: 13.* - php: 8.2 - timeout-minutes: 15 + # A SchemaFetcherTest failure diffs two copies of the whole Linear schema, + # which PHPUnit takes about 15 minutes to render. Leave room for that, so a + # real failure is reported rather than cancelled at the timeout. + timeout-minutes: 30 name: "PHP ${{ matrix.php }} / Laravel ${{ matrix.laravel }} (${{ matrix.dependency-version }})" diff --git a/CHANGELOG.md b/CHANGELOG.md index 9169cfe9..00ed5f29 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,7 +17,8 @@ format. This project adheres to [Semantic Versioning](https://semver.org/spec/v2 ### Changed - Pending requests are now namespaced by kind, e.g. `Requests\Pending\Queries\PendingIssuesQueryRequest`. -- Requires PHP 8.2+, Laravel 11+ and `spatie/laravel-data` 4.11+. +- Requires PHP 8.3+, Laravel 11+, `saloonphp/saloon` 4.0+ and `spatie/laravel-data` 4.11+. +- Guzzle 8 is now allowed alongside Guzzle 7. - `LinearResponse::resolve()` returns `object` rather than `Data|Collection`, so union responses can narrow it to their interface. ### Fixed @@ -30,7 +31,7 @@ format. This project adheres to [Semantic Versioning](https://semver.org/spec/v2 - Scalar list properties failed to hydrate under `spatie/laravel-data` 4.3 and newer. - Input classes were generated with a name that did not match their file, and relied on PHP CS Fixer to rename them. - `organizationInviteDetails` referred to a class that did not exist. -- The lowest supported `saloonphp/saloon` did not have `MockClient::destroyGlobal()`, so the floor is now 3.5. +- The lowest supported `webonyx/graphql-php` dropped the reasons from `@deprecated` input fields when it round-tripped the schema, so a sync rewrote `local.graphql` even when nothing had changed. The floor is now 15.34.1. ### Removed diff --git a/composer.json b/composer.json index 708ac0a2..11473609 100755 --- a/composer.json +++ b/composer.json @@ -17,20 +17,20 @@ "type": "library", "license": "MIT", "require": { - "php": "^8.2", + "php": "^8.3", "ext-json": "*", "illuminate/support": "^11.0|^12.0|^13.0", - "guzzlehttp/guzzle": "^7.8", + "guzzlehttp/guzzle": "^7.8|^8.0", "nikic/php-parser": "^5.0", - "saloonphp/saloon": "^3.5", + "saloonphp/saloon": "^4.0", "spatie/laravel-data": "^4.11", - "webonyx/graphql-php": "^15.10" + "webonyx/graphql-php": "^15.34.1" }, "require-dev": { "friendsofphp/php-cs-fixer": "^3.34", "mockery/mockery": "^1.6", "orchestra/testbench": "^9.2|^10.0|^11.0", - "phpunit/phpunit": "^10.3|^11.0|^12.0" + "phpunit/phpunit": "^10.3|^11.0|^12.0|^13.0" }, "autoload": { "psr-4": {