The closure optimizations RFC passed 24 to 0 and then shipped half. Static inference was pulled in August, so typing static on your closures is back on you.
PHP 8.6 lets readonly properties declare default values. Here is what changed, why interface properties made it worthwhile, and the edge cases to watch.
PHP 8.6 ships a native Io\Poll API backed by epoll, kqueue, and WSAPoll. What it fixes about stream_select, and how the new Context and Watcher classes work.
PHP 8.4.25 and 8.5.10 RC add stack limit checks to array_walk_recursive, compact, array comparison, and DOM normalize. Segfaults become catchable Errors.
The PHP Foundation's first quarterly report covers ext/uri Builder classes, raw AF_PACKET sockets, a zval size experiment, PIE 1.5, and 100+ security fixes.
PHP 8.5 lets you place static closures and first-class callables in constant expressions, so attributes and default arguments can finally carry real logic.
PHP 8.5 adds array_first() and array_last() to read the ends of an array without touching the internal pointer. Here is how they work and why they matter.
PECL is officially deprecated. Here is how PHP's new extension installer PIE works, why it exists, and how to use it to manage extensions like Composer.
A clear look at PHP's True Async RFC, the spawn and await coroutine model, why version 1.6 was voted down, and where native async is heading for PHP 8.6.
PHP's Bound-Erased Generic Types RFC brings native generic syntax to PHP 8.6. Here is how bound erasure works, the syntax, and why the vote is contested.
PHP 8.5's #[NoDiscard] attribute warns you when critical return values are silently discarded. Here's how to use it to write safer, self-documenting APIs.
PHP 8.6 lands two closure optimizations — static inference and stateless caching — delivering real memory and speed gains with zero code changes required.
The PHP Foundation funds core PHP development and drives the language forward. Here's what it does, why it matters, and how PHP developers can support it.