--------------------------------------------------------------------------------
Fedora Update Notification
FEDORA-2019-fc313be1e8
2019-05-01 00:40:15.530417
--------------------------------------------------------------------------------
Name : phan
Product : Fedora 30
Version : 1.3.1
Release : 1.fc30
URL :
https://github.com/phan/phan
Summary : A static analyzer for PHP
Description :
Phan is a static analyzer that looks for common issues and will verify type
compatibility on various operations when type information is available or can
be deduced. Phan does not make any serious attempt to understand flow control
and narrow types based on conditionals.
--------------------------------------------------------------------------------
Update Information:
20 Apr 2019, **Phan 1.3.1** **New features(Analysis):** + Fix false positive
`PhanTypeMismatchReturnNullable` and `PhanTypeMismatchArgumentNullable`
introduced in 1.3.0 (#2667) + Emit `PhanPossiblyNullTypeMismatchProperty`
instead of `PhanTypeMismatchProperty` when assigning `?T` to a property
expecting a compatible but non-nullable type. (The same issue was already
emitted when the internal union type representation was `T|null` (not `?T`) and
strict property type checking was enabled) **Plugins:** + Add
`PossiblyStaticMethodPlugin` to detect instance methods that can be changed to
static methods (#2609) + Fix edge cases checking if left/right-hand side of
binary operations are numbers in `NumericalComparisonPlugin` ---- 19 Apr 2019,
Phan **1.3.0** **New features(Analysis):** + Fix false positive
`UnusedSuppression` when a doc comment suppresses an issue about itself. (#2571)
+ Improve analysis of argument unpacking with reference parameters, fix false
positive `PhanTypeNonVarPassByRef` (#2646) + In issue descriptions and
suggestions, replace invalid utf-8 (and literal newlines) with placeholders
(#2645) + Suggest typo fixes in `PhanMisspelledAnnotation` for `@phan-*`
annotations. (#2640) + Emit `PhanUnreferencedClass` when the only references to
a class or its elements are within that class. Previously, it would fail to be
emitted when a class referenced itself. + Emit
`PhanUnusedPublicNoOverrideMethodParameter` for method parameters that are not
overridden and are not overrides. (#2539) This is expected to have a lower
false positive rate than `PhanUnusedPublicMethodParameter` because parameters
might be unused by some of the classes overriding/implementing a method.
Setting `unused_variable_detection_assume_override_exists` to true in
`.phan/config.php` can be used to continue emitting the old issue names instead
of `*NoOverride*` equivalents. + Warn about more numeric operations(+, /, etc)
on unknown strings and non-numeric literal strings (#2656) The settings
`scalar_implicit_cast` and `scalar_implicit_partial` affect this for the
`string` union type but not for literals. + Improve types inferred from checks
such as `if (is_array($var['field'])) { use($var['field']); }` and `if
($var['field'] instanceof stdClass) {...}` (#2601) + Infer that $varName is non-
null and an object for conditions such as `if
(isset($varName->field['prop']))`
+ Be more consistent about warning when passing `?SomeClass` to a parameter
expecting non-null `SomeClass`. + Add `PhanTypeMismatchArgumentNullable*` and
`PhanTypeMismatchReturnNullable` when the main reason the type check failed was
nullability Previously, Phan would fail to detect that some nullable class
instances were incompatible with the non-null expected types in some cases. +
Improve analysis of negation of `instanceof` checks on nullable types. (#2663)
**Language Server/Daemon mode:** + Analyze new but unsaved files, if they would
be analyzed by Phan once they actually were saved to disk. **Plugins:** + Warn
about assignments where the left and right hand side are the same expression in
`DuplicateExpressionPlugin` (#2641) New issue type:
`PhanPluginDuplicateExpressionAssignment` **Deprecations:** + Print a message
to stderr if the installed php-ast version is older than 1.0.1. A future major
Phan version of Phan will probably depend on AST version 70 to support new
syntax found in PHP 7.4. + Print a message to stderr if the installed PHP
version is 7.0. A future major version of Phan will require PHP 7.1+ to run.
Phan will still continue to support setting `target_php_version` to `'7.0'` and
`--target-php-version 7.0` in that release. **Bug fixes:** + Fix edge cases in
how Phan checks if files are in `exclude_analysis_directory_list` (#2651) + Fix
crash parsing comma in string literal in array shape (#2597) (e.g. `@param
array{0:'test,other'} $x`)
--------------------------------------------------------------------------------
ChangeLog:
* Tue Apr 23 2019 Remi Collet <remi(a)remirepo.net> - 1.3.1-1
- update to 1.3.1
--------------------------------------------------------------------------------
This update can be installed with the "dnf" update program. Use
su -c 'dnf upgrade --advisory FEDORA-2019-fc313be1e8' at the command
line. For more information, refer to the dnf documentation available at
http://dnf.readthedocs.io/en/latest/command_ref.html#upgrade-command-label
All packages are signed with the Fedora Project GPG key. More details on the
GPG keys used by the Fedora Project can be found at
https://fedoraproject.org/keys
--------------------------------------------------------------------------------