--------------------------------------------------------------------------------
Fedora Update Notification
FEDORA-2019-83be579d13
2019-12-05 01:39:12.688304
--------------------------------------------------------------------------------

Name        : phan
Product     : Fedora 31
Version     : 2.4.4
Release     : 1.fc31
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:

Nov 24 2019, **Phan 2.4.4**  **New features (CLI, Configs):**  + When stderr is
redirected a file or to another program, show an append-only progress bar by
default. (#3514)   Phan would previously disable the progress bar entirely by
default.  The new `--long-progress-bar` CLI flag can be used to choose this
progress bar.  (The `--no-progress-bar` CLI flag or the environment variable
`PHAN_DISABLE_PROGRESS_BAR=1` can be used to disable this) + Treat `$var =
$x['possibly undefined offset']` as creating a definitely defined variable,
not a possibly undefined variable. (#3534)  The config setting
`convert_possibly_undefined_offset_to_nullable` controls   whether the field
type gets cast to the nullable equivalent after removing undefined.  **New
features (Analysis):**  + Emit `PhanPossiblyUndefinedArrayOffset` for accesses
to array fields that are possibly undefined. (#3534) + Warn about returning/not
returning in void/non-void functions.  New issue types:
`PhanSyntaxReturnValueInVoid`, `PhanSyntaxReturnExpectedValue` + Infer that
`$var[$offset] = expr;`/`$this->prop[$offset] = expr;` causes that element to be
non-null (#3546) + Emit `PhanEmptyForeachBody` when iterating over a type that
isn't `Traversable` with an empty statement list. + Warn about computing
`array_values` for an array that is already a list. (#3540) + Infer the real
type is still an array after assigning to a field of an array.  **Plugins:**  +
In `DuplicateExpressionPlugin`, emit `PhanPluginDuplicateIfStatements`   if the
body for `else` is identical to the above body for the `if/elseif`.
**Maintenance:**  + Support native parsing of `AST_TYPE_UNION` (union type)
nodes for PHP 8.0.0-dev. + Reduce memory usage after the polyfill/fallback
parser parses ASTs   (when the final AST isn't cached on disk from a previous
run) + Make the error message for missing `php-ast` contain more detailed
instructions on how to install `php-ast`.   ----  Nov 20 2019, **Phan 2.4.3**
**New features (CLI, Configs):**  + Support `NO_COLOR` environment variable.
(https://no-color.org/)   When this variable is set, Phan's error message and
issue text will not be colorized unless the CLI arg `--color` or `-c` is used.
This overrides the `PHAN_ENABLE_COLOR_OUTPUT` setting. + Add
`PHAN_DISABLE_PROGRESS_BAR` environment variable to disable progress bar by
default unless the CLI arg `--progress-bar` is used. + Show an extra decimal
digit of precision in the progress bar when the terminal is wide enough. (#3514)
**New features (Analysis):**  + Make inferred real types more accurate for
equality/identity/instanceof checks. + Combine array shape types into a single
union type when merging variable types from multiple branches. (#3506)   Do a
better job of invalidating the real union type of fields of array shape types
when the field is only checked/set on some code branches. + Make issue
suggestions (and CLI suggestions) for completions of prefixes case-insensitive.
+ Support `@seal-properties` and `@seal-methods` as aliases of `@phan-forbid-
undeclared-magic-properties` and `@phan-forbid-undeclared-magic-methods` + More
aggressively infer real types of array destructuring(e.g. `[$x] = expr`) and
accesses of array dimensions (e.g. `$x = expr[dim]`) (#3481)   This will result
in a few more false positives about potentially real redundant/impossible
conditions and real type mismatches. + Fix false positives caused by assuming
that the default values of properties are the real types of properties. + Infer
that globals used in functions (`global $myGlobal;`) have unknown real types -
don't emit warnings about redundant/impossible conditions. (#3521)  **Plugins:**
+ Also start checking if closures (and arrow functions) can be static in
`PossiblyStaticMethodPlugin` + Add `AvoidableGetterPlugin` to suggest when
`$this->prop` can be used instead of `$this->getProp()`.   (This will suggest
using the property instead of the getter method if there are no known method
overrides of the getter. This is only checked for instance properties of
`$this`) + Increase severity of `PhanPluginPrintfNonexistentArgument` to
critical. It will become an ArgumentCountError in PHP 8.  **Maintenance:**  +
Bump minimum version of netresearch/jsonmapper to avoid php notices in the
language server in php 7.4 + Improve worst-case performance when analyzing code
that has many possible combinations of array shapes.  **Bug fixes:**  + Properly
emit redundant and impossible condition warnings about uses of class constants
defined as literal strings/floats/integers.   (i.e. infer their real union
types) + Fix false positive inference that `$x[0]` was `string` for `$x` of
types such as `list<\MyClass>|string` (reported in #3483) + Consistently inherit
analysis settings from parent classes recursively, instead of only inheriting
them from the direct parent class. (#3472)   (settings include presence of
dynamic properties, whether undeclared magic methods are forbidden, etc.) +
Don't treat methods that were overridden in one class but inherited by a
different class as if they had overrides. + Fix a crash when running in php
8.0.0-dev due to Union Types being found in Reflection. (#3503) + Fix edge case
looking up the `extends` class/interface name when the namespace is a `use`
alias (#3494)
--------------------------------------------------------------------------------
ChangeLog:

* Mon Nov 25 2019 Remi Collet <[email protected]> - 2.4.4-1
- update to 2.4.4
* Thu Nov 21 2019 Remi Collet <[email protected]> - 2.4.3-1
- update to 2.4.3
- add explicit dependency on netresearch/jsonmapper
* Tue Nov 12 2019 Remi Collet <[email protected]> - 2.4.2-1
- update to 2.4.2
* Mon Nov  4 2019 Remi Collet <[email protected]> - 2.4.1-1
- update to 2.4.1
* Mon Oct 28 2019 Remi Collet <[email protected]> - 2.4.0-1
- update to 2.4.0
* Mon Oct 21 2019 Remi Collet <[email protected]> - 2.3.1-1
- update to 2.3.1
* Mon Oct 14 2019 Remi Collet <[email protected]> - 2.3.0-1
- update to 2.3.0
* Fri Oct  4 2019 Remi Collet <[email protected]> - 2.2.13-1
- update to 2.2.13
- raise dependency on felixfbecker/advanced-json-rpc 3.0.4
--------------------------------------------------------------------------------

This update can be installed with the "dnf" update program. Use
su -c 'dnf upgrade --advisory FEDORA-2019-83be579d13' 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://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/[email protected]

Reply via email to