PHP: rfc:deprecations
The PHP RFC for 8.6 proposes a comprehensive set of deprecations targeting legacy and problematic language features, scheduled for removal in PHP 9. Key proposals include: deprecating the list() construct in favor of short array syntax [...], deprecating return statements inside finally blocks (which silently swallow exceptions), reserving identifiers like 'let', 'is', 'in', 'out', 'inout', 'namespace', '_', and 'readonly' as future keywords, deprecating passing objects where arrays are expected (deflate_init, http_build_query, stream filters, etc.), removing legacy type-named function aliases (is_double, is_integer, is_long, doubleval), deprecating the dechunk stream filter due to its use in security exploits, and cleaning up inconsistencies in Reflection API methods. Each deprecation is voted on separately requiring a 2/3 majority, with impact analyses showing generally low occurrence counts across popular Composer packages.