-------------------------------------------------------------------------------- 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 <[email protected]> - 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 -------------------------------------------------------------------------------- _______________________________________________ package-announce mailing list -- [email protected] To unsubscribe send an email to [email protected] Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/[email protected]
