#5771: JUnit XML logger may crash when test that is run in separate process exits unexpectedly
#5819: Duplicate keys from different data providers are not handled properly
[10.5.19] - 2024-04-17
Fixed
#5818: Calling method() on a test stub created using createStubForIntersectionOfInterfaces() throws an unexpected exception
[10.5.18] - 2024-04-14
Deprecated
#5812: Support for string array keys in data sets returned by data provider methods that do not match the parameter names of the test method(s) that use(s) them
Fixed
#5795: Using @testWith annotation may generate PHP Warning: Uninitialized string offset 0
[10.5.17] - 2024-04-05
Changed
The namespaces of dependencies are now prefixed with PHPUnitPHAR instead of just PHPUnit for the PHAR distribution of PHPUnit
[10.5.16] - 2024-03-28
Changed
#5766: Do not use a shell in proc_open() if not really needed
#5772: Cleanup process handling after dropping temp-file handling
Fixed
#5570: Windows does not support exclusive locks on stdout
[10.5.15] - 2024-03-22
Fixed
#5765: Be more forgiving with error handlers that do not respect error suppression
Fixed bug #110, #437, #475: File::findStartOfStatement(): the start of statement/expression determination for tokens in parentheses/short array brackets/others scopes, nested within match expressions, was incorrect in most cases.
The trickle down effect of the bug fixes made to the File::findStartOfStatement() method, is that the Generic.WhiteSpace.ScopeIndent and the PEAR.WhiteSpace.ScopeIndent sniffs should now be able to correctly determine and fix the indent for match expressions containing nested expressions.
These fixes also fix an issue with the Squiz.Arrays.ArrayDeclaration sniff and possibly other, unreported bugs.
Thanks to [Rodrigo Primo][@rodrigoprimo] for the patch.
Changed
The following have received efficiency improvements:
Type handling in the PHP Tokenizer
Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch.
Various housekeeping, including improvements to the tests and documentation.
Thanks to [Juliette Reinders Folmer][@jrfnl] for their contributions.
Fixed
Fixed bug #110, #437, #475: File::findStartOfStatement(): the start of statement/expression determination for tokens in parentheses/short array brackets/others scopes, nested within match expressions, was incorrect in most cases.
The trickle down effect of the bug fixes made to the File::findStartOfStatement() method, is that the Generic.WhiteSpace.ScopeIndent and the PEAR.WhiteSpace.ScopeIndent sniffs should now be able to correctly determine and fix the indent for match expressions containing nested expressions.
These fixes also fix an issue with the Squiz.Arrays.ArrayDeclaration sniff and possibly other, unreported bugs.
Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch
Fixed bug #504: The tokenizer could inadvertently mistake the last parameter in a function call using named arguments for a DNF type.
Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch
Fixed bug #508: Tokenizer/PHP: extra hardening against handling parse errors in the type handling layer.
Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch
Tokenizer support for PHP 8.2 Disjunctive Normal Form (DNF) types. #3731[sq-3731], #387, #461
Includes new T_TYPE_OPEN_PARENTHESIS and T_TYPE_CLOSE_PARENTHESIS tokens to represent the parentheses in DNF types.
These new tokens, like other parentheses, will have the parenthesis_opener and parenthesis_closer token array indexes set and the tokens between them will have the nested_parenthesis index.
The File::getMethodProperties(), File::getMethodParameters() and File::getMemberProperties() methods now all support DNF types. #471, #472, #473
Additionally, the following sniff has been updated to support DNF types:
The help screens have received a face-lift for improved usability and readability. #447
Thanks to [Juliette Reinders Folmer][@jrfnl] for the patch and thanks to [Colin Stewart][@costdev], [Gary Jones][@GaryJones] and [@mbomb007] for reviewing.
The Squiz.Commenting.ClosingDeclarationComment sniff will now also examine and flag closing comments for traits. #442
Thanks to [Rodrigo Primo][@rodrigoprimo] for the patch.
The following sniff(s) have efficiency improvements:
... (truncated)
Commits
8f90f7a Merge pull request #510 from PHPCSStandards/feature/changelog-3.10.1
Most Recent Ignore Conditions Applied to This Pull Request
| Dependency Name | Ignore Conditions |
| --- | --- |
| phpunit/phpunit | [>= 10.a, < 11] |
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Updates the requirements on phpstan/phpstan, phpunit/phpunit and squizlabs/php_codesniffer to permit the latest version. Updates
phpstan/phpstan
to 1.11.3Release notes
Sourced from phpstan/phpstan's releases.
Commits
e64220a
PHPStan 1.11.3fb35d99
Update baselinesad4bed9
Fix Laravel tests1310ce9
Updated PHPStan to commit 1310ce93bf4ef94b1fdba1b90f22ccf003599623e755cfd
Update baselines9d04483
Update Laravel testsbaac33c
Update PMMP baseline29ce55c
Updated PHPStan to commit 29ce55c5d33d0c0f0a16a466b35be35f98135d7708dbe82
Updated PHPStan to commit 08dbe8266a29c86093a57e074537f64cecba70f7dae9335
Updated PHPStan to commit dae9335075964f197aa5d965b3d38c12788a6405Updates
phpunit/phpunit
to 10.5.20Release notes
Sourced from phpunit/phpunit's releases.
Changelog
Sourced from phpunit/phpunit's changelog.
... (truncated)
Commits
547d314
Prepare release6da42ed
Make this test work on Windows371fc2c
Update ChangeLog77dc808
Use JUnit XML logfile as expectation instead of test runner outputc722fb2
Do not crash when test run in child process ends unexpectedly and `--log-juni...b2b3555
Add--log-junit
to test94c00e3
Add test without--log-junit
9d1c41f
Merge branch '9.6' into 10.533a0610
Merge branch '8.5' into 9.6920716c
Update toolsUpdates
squizlabs/php_codesniffer
to 3.10.1Release notes
Sourced from squizlabs/php_codesniffer's releases.
Changelog
Sourced from squizlabs/php_codesniffer's changelog.
... (truncated)
Commits
8f90f7a
Merge pull request #510 from PHPCSStandards/feature/changelog-3.10.1c9525a8
Changelog for the 3.10.1 release3361ff2
Merge pull request #509 from PHPCSStandards/feature/file-findstartendofstatem...fb351b3
Merge pull request #508 from PHPCSStandards/feature/tokenizer-php-harden-the-...a82f02e
File::find[Start|End]OfStatement(): add QA tests83373f9
File::findStartOfStatement(): fix some unintentional parse errors in the test...83afad8
Tokenizer/PHP: minor doc fix in type handling layer87c3936
Tokenizer/PHP: efficiency fix07477a7
Tokenizer/PHP: don't retokenize tokens in a broken type DNF declarationcac9038
Tokenizer/PHP: efficiency improvement for DNF type handlingMost Recent Ignore Conditions Applied to This Pull Request
| Dependency Name | Ignore Conditions | | --- | --- | | phpunit/phpunit | [>= 10.a, < 11] |Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show