Update dependency phpstan/phpstan to v0.12.14 #22
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.
This PR contains the following updates:
0.11.12
->0.12.14
Release Notes
phpstan/phpstan
v0.12.14
Compare Source
Bugfixes 🐛
Result cache fixes:
349bd9e
), #3041, #30421100202
)ffb7796
, phpstan/phpstan-src@b13181e
), #3043Improvements 🔧
304d472
)4f53a82
)eec492e
)Function signature fixes 🤖
v0.12.13
Compare Source
Fixed problem with result cache that caused it to not be invalidated when the main project configuration file is changed. (phpstan/phpstan-src@
5b764c7
), #3036v0.12.12
Compare Source
Major new features 🚀
Read more about this release at Medium.com!
Parallel analysis
PHPStan runs in multiple threads! This leads to huge performance gain roughly equivalent to the number of your CPU cores! This works on all operating systems and does not require any special PHP extension. This is enabled by default.
Result cache
PHPStan now analyses changed files only (since the last analysis) and the files depending on the changed files! This is enabled by default. Read more about it here.
Bleeding edge🔪
??
operator issues - levels 1 and 4 (#36), thanks @leongersen!isset()
- level 4 (phpstan/phpstan-src@25b61d9
)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
: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.
Improvements 🔧
@phpstan-
PHPDocs (#146), thanks @BackEndTea!f4e7ce8
)4f51382
)e18b3b4
)Bugfixes 🐛
7cd1d70
)b5ed37b
)Function signature fixes 🤖
ReflectionProperty::isInitialized
(#144), thanks @leongersen!Vector::merge()
(ext-ds) (#145), thanks @enumag!stream_socket_enable_crypto
returns int|bool (#148), thanks @frederikbosch!v0.12.11
Compare Source
Improvements 🔧
ebe779c
), #298571bda09
)7e28fb8
)Bugfixes 🐛
54eb9ce
), #2993mkdir()
- it's not thread-safe (phpstan/phpstan-src@96d8202
), #2982php -d memory_limit=X for worker
processes (phpstan/phpstan-src@2905d86
), #29810464d0f
)0a5cd64
), #2986e8bb833
), #2950Function signature fixes 🤖
fpassthru()
(#143), thanks @jlherren!v0.12.10
Compare Source
Improvements 🔧
Bleeding edge🔪
PHPStan runs in multiple threads! This leads to huge performance gain roughly equivalent to the number of your CPU cores! This works on all operating systems and does not require any special PHP extension.
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
: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.
Bugfixes 🐛
c0cb3a6
), #2958cedc99f
), #2975f83240f
)Function signature fixes 🤖
readline()
may return FALSE (e.g. when user presses ctrl+D) (#129), thanks @dktapps!iterator_to_array()
(#138), thanks @Lctrs!Vector::map()
(#139), thanks @enumag!v0.12.9
Compare Source
Major new features 🚀
Support for custom type aliases (phpstan/phpstan-src@
3151160
)Type aliases (also known as
typedef
) are a popular feature in other languages like TypeScript or C++. Using the following configuration inphpstan.neon
will allow you to reference these types in your PHPDocs:The development of this feature was sponsored by @tslettebo.
Several performance optimizations - you should see performance improvements between 10–20%:
3eb84e2
), #2915Improvements 🔧
c36df00
)3b71993
)Bugfixes 🐛
49314cb
), #2938json_last_error{,_msg}()
type onjson_{en,de}code()
call (#118), thanks @cs278!65118a2
, phpstan/phpstan-src@a672c89
)Function signature fixes 🤖
v0.12.8
Compare Source
Improvements 🔧
3e1ce5d
, phpstan/phpstan-src@a6223f3
)[]
in PHPDocs after generic types and array shapes, likeclass-string<Foo>[]
(phpstan/phpdoc-parser#37), phpstan/phpdoc-parser#36, thank you @iluuu1994!e68852a
, phpstan/phpstan-src@7e89f44
), #2858, thanks @nishimura!e71259c
)a613567
), #2748cefb459
), #2892Bugfixes 🐛
5ab5450
), #288521d4198
)6b045e7
)c7db447
)a086c3c
), #2870Function signature fixes 🤖
v0.12.7
Compare Source
4b18031
), #2877, #2875117736f
), #2832, #2542v0.12.6
Compare Source
Improvements 🔧
treatPhpDocTypesAsCertain
to ignore always true/false type comparisons for types coming from phpDocs (phpstan/phpstan-src@222545e
), #1254, #1926, #1950, #1969, #1991, #2070, #2431, #2538, #2854bc9f7cc
, phpstan/phpstan-src@bfcc2e9
), #162Bleeding edge🔪
See explanation in previous release notes.
random_int()
dynamic return type extension and parameters rule (#99), thanks @cs278!$this
in closures (phpstan/phpstan-src@5e8127d
)Bugfixes 🐛
4724469
)9665e16
(phpstan/phpstan-src@c981d89
), #28507c0fdfe
)Function signature fixes 🤖
curl_share_setopt()
fix $value parameter type (#97), thanks @cs278!DOMDocument::saveHTMLFile
andDOMDocument::saveXML
(#103), thanks @Slamdunk!mysqli_warning::next()
will return bool (#105), thanks @voku!v0.12.5
Compare Source
Improvements 🔧
b20d7b6
)ca37ebd
), #2819e208c05
), #2643Bugfixes 🐛
e4fe64c
), #2818tmpDir
in phpstan.neon the same way as other paths are expanded (phpstan/phpstan-src@79333d3
), #28436f6ea7e
), #1601d279fe5
), #2841, #28386bd522c
), #2823$i++
is involved (phpstan/phpstan-src@9665e16
), #2835Function signature fixes 🤖
v0.12.4
Compare Source
You can now sponsor PHPStan development right here on GitHub! Does GitHub already have your 💳? Do you use PHPStan to find 🐛 before they reach production? Send a couple of 💸 a month my way too. Thank you!
Major new features 🚀
phpstan/phpstan
Composer package drops dependency on nikic/php-parser. This means it can be used with projects that depend on different PHP-Parser versions.stubFiles
config option are now subject to few select rulesae238a1
), #671Improvements 🔧
2a6901a
), #2790eeae2da
), #2606af21e23
)dc9221b
)92df236
)d24dee2
)148f323
), #2787list
andlist<foo>
support (#83), #2804, thanks @orklah!Bugfixes 🐛
dfcb75d
)65e578c
), #2740, thanks @orklah!2b0013f
), #2722d4bfc70
), #2767Cannot unset offset 0 on $this
when extending SimpleXMLElement (phpstan/phpstan-src@3f20c2d
), #275213fb5b1
), #27523a5cd06
)81b1afa
), #2648Function signature fixes 🤖
3c4b0a7
)63ec225
), #2553v0.12.3
Compare Source
Improvements
@var
PHPDoc tag:@var
aboveecho
for the statement itself (phpstan/phpstan-src@adb41f9
)throw
(phpstan/phpstan-src@91c0fe2
)if
(phpstan/phpstan-src@921d71a
)while
(phpstan/phpstan-src@31940cc
)switch
(phpstan/phpstan-src@fa2dc8d
)return
(phpstan/phpstan-src@8e1ae67
)0b4fcb6
)@var
abovereturn
andthrow
(phpstan/phpstan-src@f73a2f4
), #2701$this
in@var
(phpstan/phpstan-src@a020fdc
), #2654never-return
type (phpstan/phpstan-src@a966f27
), #2701@psalm-
prefixed PHPDoc tags (phpstan/phpstan-src@f4583a2
), #2701733509c
), #2711ad8d823
)3e4d7b3
)Collection<Foo>
is nowCollection&iterable<Foo>
even when Collection is generic (with different number of type variables) (phpstan/phpstan-src@fe7bb6d
)41db2c9
)Bugfixes
44fde65
), #2648a80b312
), #2501ff7311a
, phpstan/phpstan-src@76f8760
), #2731, #2649c3caa6c
), #26490dfa034
)Function signature fixes
array_replace
andarray_replace_recursive
with nullable return type (phpstan/phpstan-src@21e9c13
), #2328v0.12.2
Compare Source
918c470
)v0.12.1
Compare Source
Improvements
646ea1d
), #26653f0efd0
), #26528779ae2
)66f8d97
)class-string
is passed toclass-string<T>
(phpstan/phpstan-src@f939d23
), #266657d296f
), #2664006298e
)d575c0f
)b6fc214
)1440a73
), #26479af3c60
), #26772ec754f
), #2657Bugfixes
3e96d61
), #2653, #2674a41133f
), #2612448c9ef
), #2676219edfc
), #2686cda2133
), #26861d58633
), #2680, #2650b0a32e9
), #2659Function signature fixes
v0.12.0
Compare Source
This is a massive release! Check out the accompanying article on Medium.com for an overview of the major new features.
PHPStan 0.12 is brought to you by Gábor Hojtsy (@gaborhojtsy):
Major new features
phpstan/phpstan
Composer package now consists of a single PHAR file, similarly to the role previously handled byphpstan-shim
repository which is now obsoleted. PHPStan development now happens at https://github.com/phpstan/phpstan-src.sprintf()
and methods likeDateTimeImmutable::setTime()
called without reading the returned value are now detected.class-string
andclass-string<T>
pseudotypes (phpstan/phpstan-src@77eb141
, phpstan/phpstan-src@6262320
)mixed
,object
and concrete class objects now understand if their subtype is being subtracted from them. So for example a prior check for null on mixed now makes PHPStan understand that the type does not contain null anymore. This is especially useful for parent and child classes. See examples.b149f8e
)83078fe
)new static()
is safe only with final constructor or in final class - level 0 (phpstan/phpstan-src@3ebf508
)178953d
, phpstan/phpstan-src@9155530
,78e04aa
)yield
and generators related checks (phpstan/phpstan-src@c952192
, phpstan/phpstan-src@96c57c6
, phpstan/phpstan-src@83e1163
)@var
annotation tag - level 2 (phpstan/phpstan-src@25101c4
, phpstan/phpstan-src@42a8618
, phpstan/phpstan-src@d17e459
)phpstan.neon
usingstubFiles
config option. This feature can also be used to make non-generic classes and interfaces generic. Only PHPDocs are read from those files right now, nothing else.BC breaks
0c17a5b
)%rootDir%/../../../
in paths, but can use a relative path which is resolved relatively to the config file placement. So if you havephpstan.neon
in the root of your project, you can reference yoursrc/Foo.php
file simply bysrc/Foo.php
, no matter what the current working directory in your CLI prompt is.BC breaks for extension developers
parametersSchema
, to prevent accidental typos. See examples.9d54899
)beda6ea
)24fa3bc
)Scope::isNegated()
(phpstan/phpstan-src@7efe347
)Scope::getInFunctionCall()
(phpstan/phpstan-src@164e195
)e13c685
isDeprecated()
,getDeprecatedDescription()
,isFinal()
,isInternal()
,getThrowType()
isDeprecated()
,getDeprecatedDescription()
,isInternal()
98362bc
BrokerAwareClassReflectionExtension
, useBrokerAwareExtension
instead (phpstan/phpstan-src@33a8798
)AnalysisResult::getCurrentDirectory()
(phpstan/phpstan-src@38babb7
)68797a5
)1f3ecf8
)ba3db31
)Improvements and bugfixes
Link to range of commits on GitHub. Everything that has been merged and fixed so far is included in this release.
v0.11.19
Compare Source
Fixed regression - error in trait can be ignored by both the class context file path and the trait file path (
63cc502
), #2532v0.11.18
Compare Source
Bugfixes
simpleRelativePathHelper
(38e8c90
), #2528445212b
), #2526v0.11.17
Compare Source
Read more about the baseline in an article about this release!
What's new
baselineNeon
error formatter (286e526
), #2523, thanks @marcelthole!count
in file path (c327552
)--xdebug
). Xdebug is disabled by default. (3b379a3
)v0.11.16
Compare Source
Improvements
Bleeding edge
See explanation in previous release notes.
13af8bd
)1d13005
)Bugfixes
Renovate configuration
📅 Schedule: At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻️ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by WhiteSource Renovate. View repository job log here.