Update all non-major dependencies
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| friendsofphp/php-cs-fixer | ^3.51.0 -> ^3.57.2 |
||||
| phpstan/phpstan | ^1.10.62 -> ^1.11.2 |
||||
| phpstan/phpstan-phpunit | ^1.3.16 -> ^1.4.0 |
||||
| phpunit/phpunit (source) | ^11.0.6 -> ^11.1.3 |
Release Notes
PHP-CS-Fixer/PHP-CS-Fixer (friendsofphp/php-cs-fixer)
v3.57.2
- docs: better ConfigurableFixer allowed types (#8024)
- docs: Improve Docker usage example (#8021)
- feat: Report used memory to 2 decimal digits only (#8017)
- fix: Support named args in
ParallelConfigFactory::detect()(#8026) - fix:
php_unit_test_class_requires_coversAttribute detection when class is final (#8016)
v3.57.1
- chore: update PHPDoc in
Preg::matchAll(#8012) - fix: Runner - handle no files while in parallel runner (#8015)
v3.57.0
- feat: Ability to run Fixer with parallel runner 🎉 (#7777)
v3.56.2
- chore: update PHPStan (#8010)
- DX: Fix Mess Detector violations (#8007)
- DX: Install PCov extension for local Docker (#8006)
v3.56.1
- chore: improve PHPDoc typehints (#7994)
- CI: Allow any integer in PHPStan error for Token's constructor (#8000)
- fix: Better array shape in
PhpUnitDedicateAssertFixer(#7999) - fix:
ConstantCaseFixer- do not touch typed constants (#7998)
v3.56.0
- feat:
TrailingCommaInMultilineFixer- handle trailing comma in language constructs (#7989) - fix:
TrailingCommaInMultilineFixer- language constructs should be covered by arguments, not parameters (#7990) - chore: remove invalid comment (#7987)
- DX: Cache optimisation (#7985)
v3.55.0
- feat: Introduce
OrderedAttributesFixer(#7395) - chore: few SCA fixes and dev-tools update (#7969)
- chore: fix phpdoc types (#7977)
- chore: narrow PHPDoc types (#7979)
- chore: Normalize implicit backslahes in single quoted strings internally (#7786)
- chore: phpdoc - rely on strict list/tuple/assoc instead of array (#7978)
- chore: PhpUnitDataProviderNameFixer - follow config creation pattern (#7980)
- chore: Preg - drop half-support for array-pattern (#7976)
- chore: re-use CodeHasher (#7984)
- chore: RuleSetsTest - assert that Fixer is configurable (#7961)
- chore: sugar syntax (#7986)
- chore: Tokens should be always a list (#7698)
- CI: Ad-hoc fix for MacOS jobs (#7970)
- CI: Fix calculating diff between branches in PRs (#7973)
- DX: allow to enforce cache mechanism by env var (#7983)
- DX: do not typehint fixed-length arrays as lists (#7974)
- DX: Prevent having deprecated fixers listed as successors of other deprecated fixers (#7967)
- DX: Resolve/Ignore PHPStan issues on level 6 + bump to level 7 with new baseline (#7971)
- DX: use
listtype in PHPDoc (#7975) - fix:
PhpUnitAttributesFixer- fix for#[RequiresPhp]exceeding its constructor parameters (#7966) - test: don't count comment after class as another classy element (#7982)
v3.54.0
- feat: introduce
PhpUnitAttributesFixer(#7831) - chore: Properly determine self-approval trigger commit (#7936)
- chore: Revert ref for self-approval Git checkout (#7944)
- CI: check if proper array key is declared (#7912)
- DX: cleanup
FullyQualifiedStrictTypesFixerTest(#7954) - DX: cleanup
PhpdocNoAccessFixerTest(#7933) - DX: cleanup
PhpUnitMethodCasingFixerTest(#7948) - DX: cleanup
PhpUnitStrictFixerTest(#7938) - DX: Improve internal dist config for Fixer (#7952)
- DX: Improve issue templates (#7942)
- DX: there is no namespace if there is no PHP code (#7953)
- DX: update .gitattributes (#7931)
- fix: Remove Infection during Docker release (#7937)
- fix:
FullyQualifiedStrictTypesFixer- do not add imports before PHP opening tag (#7955) - fix:
PhpUnitMethodCasingFixer- do not double underscore (#7949) - fix:
PhpUnitTestClassRequiresCoversFixer- do not add annotation when there are attributes (#7880) - test: Ignore PHP version related mutations (#7935)
v3.53.0
- chore: Use
listoverarrayin more places (#7905) - CI: allow for self-approvals for maintainers (#7921)
- CI: Improve Infection setup (#7913)
- CI: no need to trigger enable auto-merge when self-approve (#7929)
- DX: reduce
array_filterfunction usages (#7923) - DX: remove duplicated character from
trimcall (#7930) - DX: update actions producing warnings (#7925)
- DX: update actions producing warnings (#7928)
- DX: update
phpstan/phpstan-strict-rules(#7924) - feat: Add trailing comma in multiline to PER-CS 2.0 (#7916)
- feat: Introduce
AttributeAnalysis(#7909) - feat:
@PHP84Migrationintroduction (#7774) - fix: Constant invocation detected in typed constants (#7892)
- fix:
PhpdocArrayTypeFixer- JIT stack limit exhausted (#7895) - test: Introduce Infection for mutation tests (#7874)
v3.52.1
- fix: StatementIndentationFixer - do not crash on ternary operator in class property (#7899)
- fix:
PhpCsFixer\Tokenizer\Tokens::setSizereturn type (#7900)
v3.52.0
- chore: fix PHP 8.4 deprecations (#7894)
- chore: fix PHPStan 1.10.60 issues (#7873)
- chore: list over array in more places (#7876)
- chore: replace template with variable in Preg class (#7882)
- chore: update PHPStan (#7871)
- depr:
nullable_type_declaration_for_default_null_value- deprecate option that is against@PHP84Migration(#7872) - docs: Fix typo (#7889)
- feat: Add support for callable template in PHPDoc parser (#7084)
- feat: Add
array_indentationtoPER-CS2.0ruleset (#7881) - feat:
@Symfony:risky- addno_unreachable_default_argument_value(#7863) - feat:
PhpCsFixerruleset - enablenullable_type_declaration_for_default_null_value(#7870) - fix: Constant invocation detected in DNF types (#7869)
- fix: Correctly indent multiline constants and properties (#7875)
- fix:
no_useless_concat_operator- do not break variable (#7827) - fix:
TokensAnalyzer- handle unary operator in arrow functions (#7862) - fix:
TypeExpression- fix "JIT stack limit exhausted" error (#7843)
phpstan/phpstan (phpstan/phpstan)
v1.11.2
v1.11.1
Improvements 🔧
Bugfixes 🐛
- Do not complain about
impure(Function|Method).pureif it has@phpstan-asserttags (https://github.com/phpstan/phpstan-src/commit/9544f8a6b52dbd6068800bbfc5bdaf67fe04a8c2) - Remove tip about deprecated config option (https://github.com/phpstan/phpstan-src/commit/d603c7b676e3b91f4b7ba81d46aee3e9a593f883), #11000
- Fix false positive with
reportPossiblyNonexistentConstantArrayOffset: true(https://github.com/phpstan/phpstan-src/commit/5277630459518024b16272bf6b6fd216eb3d10ed), #10997 - Fix parent keyword case sensitivity (#3064), thanks @staabm!
- InlineHTML is an impure point (#3072), thanks @staabm!
- UnionTypeHelper - prevent infinite recursion (https://github.com/phpstan/phpstan-src/commit/bb3da26d562727c3122a344622059ded2239d6ab), #11027
- Fix more potential for infinite recursion (https://github.com/phpstan/phpstan-src/commit/1d02c4f27684644e8361cf2a2bc5713adef9b95e)
- RangeFunctionReturnTypeExtension - fix internal ValueError (https://github.com/phpstan/phpstan-src/commit/fe3895ada98940d1a71c2eb115d61afda9fd7a2c), #11026
- Property unset is an impure point (https://github.com/phpstan/phpstan-src/commit/702ddcd7805ba08c0765bdf0930beaef0e6b4fc1), #11001
- Fix property assign not being an impure point in arrow function (https://github.com/phpstan/phpstan-src/commit/35ff6895f48b74e8bc0dda7ec94c40e73c84099b), #11001
- Fix internal error when accessing enum case by class-string (https://github.com/phpstan/phpstan-src/commit/1116e03389f0f47297c2638b5b67c84f4d339478), #10985
- Fix resolving
selfandstaticin@phpstan-closure-thisfrom trait stub file (https://github.com/phpstan/phpstan-src/commit/93402494ee92dd2e7264f112105151586203e0ec), #11009 - CallToMethodStatementWithoutImpurePointsRule - fix for methods called on unions (https://github.com/phpstan/phpstan-src/commit/ee33f1e48b5ae9d6e99500814c186cd31e7a764f), #11011
Function signature fixes 🤖
- Offset
uriinstream_get_meta_datacalls is always present on PHP 8.3+ (https://github.com/phpstan/phpstan-src/commit/885d46bc8d7555a8b762914821ad2f0f5871e517), #11024, #10999
v1.11.0
Read the article about PHPStan 1.11 on phpstan.org »
Major new features 🚀
-
Error identifiers
- A way to categorize reported errors by a stable identifier. Up until now you had to use specific and ever-changing error messages
- Can be used for ignoring specific errors locally with new
@phpstan-ignorecomment (uses current or next line automatically) - Can be used for ignoring specific errors in
ignoreErrorssection of your configuration file (phpstan.neon) - Can be used in output formatters
- Can be seen in PHPStan Pro GUI or in TableErrorFormatter with
-v - Catalogue with source code links: https://phpstan.org/error-identifiers
-
PHPStan Pro Reboot
- A new migration wizard will effortlessly migrate all your
@phpstan-ignore-lineand@phpstan-ignore-next-lineto the new@phpstan-ignorecomment style with error identifiers. The old comment style is dangerous because it ignores all errors, current and future, on that line. - Revamped UI for much more comfortable viewing and browsing of reported errors
- The new UI also lets you browse ignored errors, from
ignoreErrors, from your baseline and also ignored locally in source code using comments - Streaming errors during launch: You don't have to wait for the analysis to complete, you can see errors as they come in during the analysis
- Support for mapping file paths to the host filesystem when running in Docker or remotely
- Try it out by running PHPStan with
--proCLI option
- A new migration wizard will effortlessly migrate all your
- PHPDoc tags describing callable lifecycle:
@param-immediately-invoked-callable,@param-later-invoked-callable- Useful for exception analysis (https://phpstan.org/blog/bring-your-exceptions-under-control) and
@phpstan-pure
- Useful for exception analysis (https://phpstan.org/blog/bring-your-exceptions-under-control) and
- PHPDoc tag
@param-closure-thisto describe what$thisis bound to in a passed closure - Two new config options around stricter offset checks in arrays (#3028), #7553, thanks @ttomdewit!
-
reportPossiblyNonexistentGeneralArrayOffset -
reportPossiblyNonexistentConstantArrayOffset - Learn more in the documentation
-
Bleeding edge 🔪
- Checking truthiness of
@phpstan-pureabove functions and methods - Check
new/function call/method call/static method call on a separate line without any side effects even without@phpstan-purePHPDoc tag on the declaration side - BetterNoopRule - take advantage of impure points (https://github.com/phpstan/phpstan-src/commit/a6470521b65d7424f552633c1f3827704c6262c3), #10389
- Run missing type check on
@param-out(https://github.com/phpstan/phpstan-src/commit/56b20024386d983927c64dfa895ff026bed2798c) - CallToConstructorStatementWithoutSideEffectsRule - report class with no constructor (https://github.com/phpstan/phpstan-src/commit/b116d25a6e4ba6c09f59af6569d9e6f6fd20aff4)
- Deprecated: returning plain strings as errors, use RuleErrorBuilder
- Deprecated: returning RuleError without identifier (https://github.com/phpstan/phpstan-src/commit/969e6fa31d5484d42dab902703cfc6820a983cfd)
If you want to see the shape of things to come and adopt bleeding edge features early, you can include this config file in your project's phpstan.neon:
includes:
- vendor/phpstan/phpstan/conf/bleedingEdge.neon
Of course, there are no backwards compatibility guarantees when you include this file. The behaviour and reported errors can change in minor versions with this file included. Learn more
Improvements 🔧
- Generic RuleErrorBuilder (https://github.com/phpstan/phpstan-src/commit/9a3ed85178097e2d74f27623dd02bdd72c571e5b)
- Deprecate
checkMissingIterableValueType: falseandcheckGenericClassInNonGenericObjectType: falsein favour of ignoring via identifiers (https://github.com/phpstan/phpstan-src/commit/a64998108b318581b0203e84582711c3e4d1e43c) - Deprecate old NoopRule - replaced by BetterNoopRule in bleeding edge (https://github.com/phpstan/phpstan-src/commit/109083571de6102cb854b9975c1463551ef678d0)
- Allow ignoring errors from CollectedDataNode with local comments (https://github.com/phpstan/phpstan-src/commit/dc3b75ab4a2acd863405416620240302b284973a)
- Introduce
newtype (#3050), #9704, thanks @ruudk! - RuleTestCase - fail on PHP warnings, notices etc. (#3030), thanks @janedbal!
- Check duplicate assignment of redeclared promoted readonly properties (#3049), #8101, #9863, #9864, thanks @schlndh!
- Remove line from "nikic/php-parser" error message (#2845), thanks @mvorisek!
- Stub validator - PHPStan classes are known without extra stubs (https://github.com/phpstan/phpstan-src/commit/d004c239677fb7abe41aa16e8e1b45bfac63f773)
- Stub validator - PhpParser classes are known without extra stubs (https://github.com/phpstan/phpstan-src/commit/3e498e1592221f3a01527c10318424014d52f85d)
- CheckstyleErrorFormatter - include error identifier in source attribute (https://github.com/phpstan/phpstan-src/commit/f66cf5badd2c98317d1d296ba24c3be77efcda18), #1205
- BaselinePhpErrorFormatter - error identifiers in comments (https://github.com/phpstan/phpstan-src/commit/4b32cac2d1b98c6af65c07041fdbc64e5d3f3baf)
-
RuleErrorBuilder::file()- file path needs to exist (https://github.com/phpstan/phpstan-src/commit/c453f29f60992167a5aa46d4926c18a420ae7b26) - AbstractMethodInNonAbstractClassRule - better error message for enums (https://github.com/phpstan/phpstan-src/commit/b5dd34e492b03566458e98b314c6852cfd683916)
- Fixed Xdebug spelling (#2746), thanks @derickr!
- Track invalidated
$thisand used variables after invoking closure (#2980) - Support
@phan-prefixes on recognized PHPDoc tags (#3000), thanks @anomiex! -
pure-callableandpure-ClosurePHPDoc types (https://github.com/phpstan/phpstan-src/commit/cdaff5f00d621c3a94e048b8bd9fa864d47b3228) -
highlight_string()flips side-effects depending on $return (#3021), thanks @staabm! - Improve types for predefined constants (#3054), thanks @zonuexe!
Bugfixes 🐛
- Make
AccessoryNonFalsyStringType::toInteger()returnIntegerTypeinstead of non-zero (#3018), #10893, thanks @zonuexe! - Filter scope by non-empty array after foreach regardless of
polluteScopeWithAlwaysIterableForeach(#3029), #10922, thanks @VincentLanglet! - Preserve large arrays with same keys through union (#3032), #9397, #10080, thanks @schlndh!
- Fix
count($x) > $n === truenegation (#3037), #10952, thanks @rvanvelzen! - Fix NAN not accepting NAN (#3036), #10956, #10297, thanks @rvanvelzen!
- DateTimeInstantiationRule - fix error message for
newwith wrong name case (https://github.com/phpstan/phpstan-src/commit/59ac31a554203a7ae3fb9449bbd5b61f3afe2e20) - Process ConstFetch (https://github.com/phpstan/phpstan-src/commit/b5c63c296783bd067b14bad410dab2b87a1b7b3c)
- Fix
preg_match_allbehaviour with no flags (https://github.com/phpstan/phpstan-src/commit/a856ec7ab5540cb4a8d30e9e170958a32a7165b2) -
file_get_contentsis an impure function (https://github.com/phpstan/phpstan-src/commit/2b5b3174c7f00e56b7692b4c26552b2ad13c73d5) - Fix
ClosureType::equals()(https://github.com/phpstan/phpstan-src/commit/29c35b584a948e9a3c90e2d56312069ce073e6e6) - Use statement result of analysed anonymous class to inform about throw points and impure points (https://github.com/phpstan/phpstan-src/commit/70a75f68896e5f7eaa988c0cb7f20dad32c3c172)
- Filter out implicit throw points from callables when
exceptions.implicitThrows: false(#3016), thanks @janedbal! - Fix
ConstantArrayType::hasOffsetValueType()for offset union type where all types are valid (https://github.com/phpstan/phpstan-src/commit/26e949b0d093751c98e9a106f680092abf3b28d9) -
non-empty-listalways has offset 0 (https://github.com/phpstan/phpstan-src/commit/f4d1d481472b45c56ba2cd49ae98065092217f36) - Narrow to
non-empty-string/non-falsey-stringaftermb_strlen()(#3038), thanks @staabm! - Implement
Type::isOffsetAccessLegal()to detect offset access that crashes even inisset()(#3045), #8393, #10926, thanks @rajyan! - Specify types on
match()condition correctly (#3053), #10974, #9694, thanks @rvanvelzen! -
json_decodewith force array flag: subtract all objects, not just stdClass (#3052), thanks @rajyan! - Fix
strlen($x) > $n === truenegation (#3040), thanks @staabm! - Support multi-byte string function variants (#3039), thanks @staabm!
- Final scope from
Continue_points should not be used forwhile (true)(#3057), #10980, thanks @greew! - Fix enum performance problem (#3062, #3060), #10979, thanks @staabm!
- NULL and null as a property default value are treated differently when overriding a parent property (#3063), #10987, thanks @staabm!
Function signature fixes 🤖
- Make the url key of metadata returned by
stream_get_meta_data()optional (#3024), #10887, thanks @hirokinoue! - Narrow
Closure::bind$newScopeparam (#2817), thanks @mvorisek! - Infer object type mysqli_fetch_object (#2675) (#2675), thanks @staabm!
- Fix
Imagick::identifyImage()return type (#3017), thanks @SVillette!
Internals 🔍
- Clean up old identifiers and metadata (https://github.com/phpstan/phpstan-src/commit/c476a8611d06ed5ce850ba74bd087ed0fa9304ad)
- Delete StatementOrderVisitor that is no longer needed (https://github.com/phpstan/phpstan-src/commit/017d321f47b2a49c11b0337a920235b0770da164)
- Introduce
ClassReflection::getClassTypeDescription()(https://github.com/phpstan/phpstan-src/commit/dec9e435a7e0cea96079eb08c799df6b49b92e82) - Fix classname typo in tests (#2461), thanks @szepeviktor!
- Fix various typos (#2463), thanks @szepeviktor!
- Added text regarding patch issues during installation (#2670), thanks @mt-satak!
- Fix typo in ArgumentsNormalizer (#2705), thanks @mad-briller!
- Rich PHPDoc for ExceptionTypeResolver (https://github.com/phpstan/phpstan-src/commit/e7ab4f741c0ec22cf70457c7a542b7978202b10a)
- Hide internal commands (#2833), thanks @rvanvelzen!
- Test invalidated object in static closure (#2981), thanks @staabm!
- PHPDoc: address multiple variables defined in one @param (#3001), thanks @Muqsit!
- Do not assume every contributor uses PhpStorm (https://github.com/phpstan/phpstan-src/commit/d1834e69d06e0f85a45db8f5fb7a2c5a6ce898b6)
- TypeInferenceTestCase: ability to disable implicit throws (#3015), thanks @janedbal!
- Slightly reduce comparing and calling methods for trivial optimizations (#3004), #10926, thanks @zonuexe!
- AnalyserResultFinalizer - DRY of running CollectedDataNode rules (https://github.com/phpstan/phpstan-src/commit/38e2c96ee45733c8d3b44d048ce27a9b5450718e)
- Introduce LocalIgnoresProcessor (https://github.com/phpstan/phpstan-src/commit/d026655260727c7c6e4cd69d50d57569e9128c13)
- Introduce
RuleErrorBuilder::treatPhpDocTypesAsCertainTip()for a bit more DRYness (#3035), thanks @axlon! - Make ResultCacheEndToEndTest pass level 9 (#3055), #10977, thanks @AJenbo!
- ClassReflection - cache enum cases (https://github.com/phpstan/phpstan-src/commit/39ce0425737cdbacfee5fbc08160d023cb5bc639), #10979
v1.10.67
This is the last release, or one of the last releases, in 1.10.x series. The next one is going to be PHPStan 1.11, and it's going to be released at some point in May 2024.
Improvements 🔧
- Forbid PHPUnitPHAR prefixed classes (#3002), thanks @staabm!
- Improve error messages on unnamed parameters (#3010), #10814, thanks @takaram!
Bugfixes 🐛
- Improve
date()return types (#2888), #10468, #6613, thanks @zonuexe! - Default value null does not make promoted property type nullable (https://github.com/phpstan/phpstan-src/commit/b2177e350f79176a5d53eaf75e37e5dce0053f8a), #9839
- Fix socket_select array types after call (https://github.com/phpstan/phpstan-src/commit/24c52494be982429eb6782ad859fb6cbd6fb3dee), https://github.com/phpstan/phpstan/discussions/10285
- Fix conditional types in PHPDocs from stubs for native functions (https://github.com/phpstan/phpstan-src/commit/8ae0b28a5c1e6f4e2c692caff0cd99df07f2486e)
- Fix env int key problem (https://github.com/phpstan/phpstan-src/commit/e606fbedaea7e887456a771ce0dbb9572d16accf), #10833
- Fix false positives about uninitialized properties (#2897), #10523, #10822, thanks @staabm!
- Incremented numeric-string should change to int/float (#2797), #10122, #10187, thanks @staabm!
- Do not generalize big array when combined with empty array (#3003), #10834, thanks @RobertMe!
- Fix string concatenation with benevolent union type (https://github.com/phpstan/phpstan-src/commit/4a4c739f9ff85b6c73659c21f8f3b8b7af8c82c9), #10863
- Treat
get_defined_vars()as using constructor arguments (#3012), #10865, thanks @rvanvelzen! - Allow undefined variables passed into by-ref parameters only if the type is nullable (https://github.com/phpstan/phpstan-src/commit/7f8f9cce7f3903e505916c7afe04b7912570b5e2, https://github.com/phpstan/phpstan-src/commit/7961f7ae1fe815b0796e4d73717f1b117d4a7163), #1916
Function signature fixes 🤖
- More precise
gc_status()signature for PHP8.3+ (#2996), thanks @staabm! - Add object shape for
mysqli_result::fetch_fields(#3005), thanks @schlndh!
Internals 🔍
- composer-dependency-analyser: update to 1.5.0 (support functions) (#3011), thanks @janedbal!
v1.10.66
Improvements 🔧
- Detect mismatch between readonly/non-readonly class parent (https://github.com/phpstan/phpstan-src/commit/986cbdfb2fd0c3de71b31ac3f212bd499d2131e1), #10789
- TypeInferenceTestCase - fix for performance problem with PHPUnit 11 (https://github.com/phpstan/phpstan-src/commit/da87a6541f97b01e35d309524f05c0d3d0bc0a00), #10757
Bugfixes 🐛
-
array_pushpreserves list (https://github.com/phpstan/phpstan-src/commit/5473b6701c1a9dd3ca1eb676b3b2c0dec43f2535)
Function signature fixes 🤖
- Fix
redis::getsignature (#2990), thanks @VincentLanglet!
Internals 🔍
v1.10.65
Improvements 🔧
Bugfixes 🐛
- Update BetterReflection (#2988)
- Fix ReflectionSourceStubber compatibility before PHP 8.1 (https://github.com/ondrejmirtes/BetterReflection/commit/94ca1336c58332604a74012d20286a240db376ea), https://github.com/larastan/larastan/pull/1882
- Fix trait method visibility (https://github.com/ondrejmirtes/BetterReflection/commit/d6153d513eb9111f01740394c61ff72142030089?w=1)
Function signature fixes 🤖
Internals 🔍
- Add more tests for issue #10622 (#2961), thanks @mvorisek!
- Remove unnecessary method calls in ClassReflection (#2984), thanks @staabm!
- Use
TrinaryLogic::describe()in test (https://github.com/phpstan/phpstan-src/commit/222a66cdbf67f2ae367b251ed56acda53a3d8286)
v1.10.64
Bleeding edge 🔪
- Fail build when project config uses custom extensions outside of analysed paths
- This will only occur after a run that uses already present and valid result cache
If you want to see the shape of things to come and adopt bleeding edge features early, you can include this config file in your project's phpstan.neon:
includes:
- vendor/phpstan/phpstan/conf/bleedingEdge.neon
Of course, there are no backwards compatibility guarantees when you include this file. The behaviour and reported errors can change in minor versions with this file included. Learn more
Improvements 🔧
- Introduce
ForbiddenClassNameExtensionfor append additional forbidden class prefixes (#2979), thanks @kamil-zacek! - Add
AlwaysUsedMethodExtension(#2927), thanks @axlon! - Warn about possibly stale result cache with custom extensions (https://github.com/phpstan/phpstan-src/commit/9338fdfe1611f742c65c61e5035315e1d64c4972)
- This is how it looks: https://twitter.com/OndrejMirtes/status/1770024563113390437
Bugfixes 🐛
Function signature fixes 🤖
- Fix
DOMDocument::loadreturn type (#2975), thanks @VincentLanglet! - Fix
SplObjectStorage::removeAll/Except(#2892), thanks @schlndh!
v1.10.63
phpstan/phpstan-phpunit (phpstan/phpstan-phpunit)
v1.4.0
- f3ea021 - Update lock-closed-issues.yml
- f93aec7 - Merge remote-tracking branch 'origin/1.3.x' into 1.4.x
- 77bdf96 - Update metcalfc/changelog-generator action to v4.3.1
- 6a1df9a - Update cbrgm/mastodon-github-action action to v2
- e95a58b - Update metcalfc/changelog-generator action to v4.2.0
- 77345df - Update dessant/lock-threads action to v5
- 99bb21e - Merge branch '1.3.x' into 1.4.x
- ac8ea99 - Update actions/checkout action to v4
- 529f300 - Merge branch '1.3.x' into 1.4.x
- 62e883e - Open 1.4.x-dev
- 97ec1d3 - Merge branch '1.3.x' into 1.4.x
- 4d99a7d - Require PHPStan 1.11
- 908e232 - Error identifiers
sebastianbergmann/phpunit (phpunit/phpunit)
v11.1.3: PHPUnit 11.1.3
Fixed
- #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
How to install or update PHPUnit
v11.1.2: PHPUnit 11.1.2
Fixed
-
#5795: Using
@testWithannotation may generatePHP Warning: Uninitialized string offset 0 -
#5807: The
#[CoversMethod]attribute is not considered for risky test check
How to install or update PHPUnit
v11.1.1: PHPUnit 11.1.1
Fixed
-
#5798: The
#[CoversClass]and#[UsesClass]attributes can no longer target traits
How to install or update PHPUnit
v11.1.0: PHPUnit 11.1.0
Added
- #5689: Distinguish between self, direct and indirect deprecations
-
#5696:
#[DisableReturnValueGenerationForTestDoubles]attribute for disabling return value generation for test doubles created usingcreateMock(),createMockForIntersectionOfInterfaces(),createPartialMock(),createStub(), andcreateStubForIntersectionOfInterfaces() -
#5175:
#[CoversMethod]and#[UsesMethod]attributes for more fine-grained code coverage targeting -
#5720: Support filtering using
--filter,--exclude-filter,--group, and--exclude-groupwhen listing tests using--list-testsand--list-tests-xmlas well as listing groups with--list-groups -
#5733: Implicitly include (abstract) parent class(es) with
#[CoversClass]and#[UsesClass]attributes -
--only-summary-for-coverage-textCLI option to reduce the code coverage report in text format to a summary -
--show-uncovered-for-coverage-textCLI option to expand the code coverage report in text format to include a list of uncovered files
Changed
-
#5689: The XML configuration file generated using
--generate-configurationnow generates<source ignoreIndirectDeprecations="true" restrictNotices="true" restrictWarnings="true">instead of<source restrictDeprecations="true" restrictNotices="true" restrictWarnings="true"> -
#5708: Allow the
--group,--exclude-group,--covers,--uses, and--test-suffixCLI options to be used multiple times -
PHPUnit\Framework\TestCase::__construct()is now annotated to be final in preparation for declaring itfinalin PHPUnit 12 - Changed how the
DeprecationTriggered,ErrorTriggered,NoticeTriggered,PhpDeprecationTriggered,PhpNoticeTriggered,PhpWarningTriggered, andWarningTriggeredevents are represented as text
Deprecated
-
#5689: The
restrictDeprecationsattribute on the<source>element of the XML configuration file is now deprecated in favor of theignoreSelfDeprecations,ignoreDirectDeprecations, andignoreIndirectDeprecationsattributes -
#5709: Deprecate support for using comma-separated values with the
--group,--exclude-group,--covers,--uses, and--test-suffixCLI options
How to install or update PHPUnit
v11.0.10: PHPUnit 11.0.10
Changed
- The namespaces of dependencies are now prefixed with
PHPUnitPHARinstead of justPHPUnitfor the PHAR distribution of PHPUnit
How to install or update PHPUnit
v11.0.9: PHPUnit 11.0.9
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
How to install or update PHPUnit
v11.0.8: PHPUnit 11.0.8
Fixed
- #5765: Be more forgiving with error handlers that do not respect error suppression
How to install or update PHPUnit
v11.0.7: PHPUnit 11.0.7
Changed
-
#5747: Cache result of
Groups::groups() -
#5748: Improve performance of
NamePrettifier::prettifyTestMethodName() -
#5750: Micro-optimize
NamePrettifier::prettifyTestMethodName()once again - #5752: Improve message for deprecation of doubling methods named "method"
Fixed
- #5760: TestDox printer does not display details about exceptions raised in before-test methods
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
- [ ] If you want to rebase/retry this PR, check this box
Config source: https://github.com/Slamdunk/.github/blob/main/renovate-config.json
Branch automerge failure
This PR was configured for branch automerge. However, this is not possible, so it has been raised as a PR instead.
- Branch has one or more failed status checks