Closed
Description
- This allows using the
void
andobject
and nullable types from php 7.2. https://www.php.net/supported-versions.php still officially supports 7.2 for security patches (some third parties backport patches on a best effort basis, e.g. when packaged for Linux) - This allows upgrading phpunit to support php 8.0. Currently, no versions of phpunit support php 8.0, and https://phpunit.de/supported-versions.html indicates phpunit 6 and 7 are no longer maintained. Future phpunit versions require adding
:void
, which means supporting multiple phpunit versions is inconvenient. - This allows making the backwards incompatible changes that were added in TODOs - e.g. converting exception classes to a list, making types a list for union type support, etc
Related to #328 - it's possible to work around and run php 8.0 in Travis so keeping php 7.0 support is possible
I'm only familiar with a few of the packages depending on this https://github.com/microsoft/tolerant-php-parser/network/dependents?dependent_type=PACKAGE&package_id=UGFja2FnZS01NDI3MTMyOTI%3D
- php-language-server hasn't received commits recently, but the language server is widely used and the maintainer is active and responsive elsewhere. (requires php ^7.0)
It may be useful to support new token types in 8.0, but staying on 0.0.x indefinitely might add tech debt. - I use this for http://github.com/phan/phan/ as a polyfill/fallback parser (php ^7.2)
- There are some other major dependents like phptree that I'm less familiar with
Metadata
Metadata
Assignees
Labels
No labels