Repository navigation
Conversation
Widen the PHP constraint to ">=8.3 <8.7"; the previous "<8.6" is exclusive and excluded PHP 8.6. Bump byjg/* dependencies to ^7.0. While 7.0 is unreleased these resolve to 7.0.x-dev from each component's 7.0 branch, via minimum-stability dev with prefer-stable. Pin PHPUnit to ^12.5 and move Psalm to tools/psalm/composer.json. Psalm enumerates supported PHP versions and no release lists 8.6, so as a require-dev it made "composer install" fail on the 8.6 build before any test ran. "composer psalm" bootstraps the tool and runs it. CI: add PHP 8.6 to the matrix; the Psalm job runs on 8.5. Housekeeping: rename phpunit.xml.dist to phpunit.xml, carry the 6.0 changelog onto this branch, and update CHANGELOG-7.0.md.
licensing.html returns 404; the page is /license/. The Dependencies mermaid drifted from composer.json, which is now what the site's graph is built from (collect-deps.py in add-doc).
FakeSenderWrapper now keeps every envelope it is given: getSent() returns them, oldest first, and clear() forgets them, so a test can check what the application would have sent. Sending still does nothing and always succeeds. The wrapper tests were named *TestWrapper.php, which PHPUnit's default Test.php suffix skips, so the Amazon SES, FakeSender, Mailgun and PHPMailer tests never ran. Rename them to *WrapperTest.php. The Amazon SES test had broken unnoticed once getSesClient() declared a SesClient return type; it now sends through a real SesClient with the SDK's Aws\MockHandler, and the MockSender stand-in is removed. None of these tests reach a real service. Suite: 18 -> 38 tests (3 functional tests still skip without credentials).
- Install Psalm as psalm/phar instead of the tools/psalm project - phpunit.xml: PHPUnit 12.5 schema - Workflow: actions/checkout@v7 - README: badges, Installation and Running Tests sections, https links - Remove FUNDING.yml (comes from byjg/.github) and example.php - CHANGELOG-7.0.md updated
PHP 8.6 deprecates "is" as a class name and guzzlehttp/promises, required by the AWS SDK, has a class called Is. With failOnDeprecation the 8.6 build failed on a deprecation raised in vendor code. Deprecations raised in src/ still fail the suite.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Prepares this component for the 7.0 line (dependency level L1).
Requirements
"php": ">=8.3 <8.7"— PHP 8.3, 8.4, 8.5 and 8.6.The previous
<8.6is exclusive, so it stopped at 8.5 and excluded PHP 8.6 entirely.Toolchain
^10.5|^11.5^12.5^5.9|^6.13inrequire-dev^6.16intools/psalm/composer.jsonPHPUnit 13 is deliberately not used. It requires PHP
>=8.4.1, which would break the 8.3 floor, and it pullssebastian/diff ^9.0— which the newest stable Psalm (6.16.1) does not accept. Becauseminimum-stability: devis set, that combination does not fail; it silently resolves Psalm to an unreleased6.x-devbranch head. Pinning PHPUnit to^12.5keeps one stable PHPUnit and one stable Psalm across the whole matrix.Resolved consistently as PHPUnit 12.5.33 + Psalm 6.16.1 + sebastian/diff 7.0.0.
ByJG dependencies
Bumped to
^7.0. While 7.0 is unreleased these resolve to7.0.x-devfrom each component's7.0branch (minimum-stability: dev+prefer-stable: true), so the L0 branches must be pushed first — verified resolving on PHP 8.6.Psalm moved out of
require-devPsalm enumerates the PHP versions it supports and no published release lists 8.6, so as a dev dependency it made
composer installfail on the 8.6 build job before any test ran. It now lives intools/psalm/composer.jsonand is installed only by the Psalm job (PHP 8.5).composer psalmbootstraps the tool, so local usage is unchanged.Continuous integration
~8.1.31 || ~8.2.27 || ~8.3.16 || ~8.4.3 || ~8.5.0and cannot be installed on 8.6 at all.Housekeeping
phpunit.xml.dist→phpunit.xml7.0branchCHANGELOG-7.0.mdadded/updatedVerification
Tests run locally on PHP 8.5.9 and PHP 8.6.0beta1 — both green.