Kai Ole Hartwig
4 min read
Medium

PHP 8.6 RC2 Is Out: Release Roadmap to November 2026 and the Key Changes at a Glance

On September 23, 2026, PHP 8.6.0 RC2 shipped, about eighteen hours after RC1 on September 22, with three targeted fixes: a resource leak in the CLI development server for static file requests, session-state corruption when strict mode rejects a supplied session ID, and a silent failure of unserialize('') instead of a proper error. The stable release 8.6.0 is planned for November 2026, following the established annual rhythm after 8.2 (2022), 8.3 (2023), 8.4 (2024), and 8.5 (November 20, 2025).

What's new in PHP 8.6?

PHP 8.6.0 RC2 was tagged on September 23, 2026, about eighteen hours after RC1 the day before. RC2 contains only three fixes over RC1: a resource leak in the CLI development server for requests to static files, corruption of session state when strict mode rejects a supplied session ID, and a previously silent failure of unserialize('') instead of a proper error.

On the feature side, PHP 8.6 brings several new language additions: partial function application lets you pre-fill individual function arguments to create new callables, for a more functional programming style. The built-in clamp() function constrains a value to a given range. There's also a new Time\Duration value type, an Io\Poll polling API, default values for readonly properties, and extended error handling for streams plus chunked fetching for PostgreSQL.

Why it matters

PHP's annual release rhythm has been stable for years: 8.2 in November 2022, 8.3 in November 2023, 8.4 in November 2024, 8.5 on November 20, 2025. PHP 8.6 follows the same pattern; the stable release is expected in November 2026. For TYPO3 and Sylius operators, that gives a predictable point in time to test compatibility before hosting providers and distributions switch to 8.6 as the default version.

More relevant to most teams than the new features are the deprecations that ship with PHP 8.6: passing objects where arrays are expected, the legacy functions is_double() and is_long(), the metaphone() function, and using "namespace" as a class constant name. Deprecations are typically the first thing that bites when moving to a new major version, far more often than the new features themselves.

What you should do now

There's time for a structured test before the stable release in November, no rush for a production switch:

 

# Install PHP 8.6 RC2 locally or in a test container
docker run --rm -it php:8.6.0RC2-cli php -v

# Check your own dependencies for PHP 8.6 compatibility
composer why-not php:^8.6

# Run static analysis with your current PHPStan/Psalm configuration
vendor/bin/phpstan analyse --level=max

 

Check in particular for calls to is_double(), is_long(), and metaphone() in your own code and in dependencies, and look for places where objects are passed to array parameters. For TYPO3 installations, it's worth checking the TYPO3 compatibility matrix once it's updated for 8.6; TYPO3 LTS versions typically support new PHP major versions only some time after their stable release.

Frequently asked questions about PHP 8.6

When exactly will PHP 8.6.0 stable ship?+

An exact date wasn't announced as of this writing. Based on the pattern of previous versions (8.2 in November 2022, 8.3 in November 2023, 8.4 in November 2024, 8.5 on November 20, 2025), a release in November 2026 is likely.

Will TYPO3 support PHP 8.6 as soon as it ships stable?+

That isn't known as of this writing. TYPO3 LTS versions typically extend supported PHP versions only after their own review, sometimes several months after the PHP stable release. Check the official TYPO3 compatibility matrix before switching to 8.6 in production.

Do I need to act now?+

No, there's no urgent need to act. Testing your application and key dependencies against the release candidates now helps catch deprecation warnings early, rather than discovering them during next year's production upgrade.

What's the practical benefit of partial function application?+

Partial function application lets you pre-fill individual arguments of a function to create a new, callable function. That reduces boilerplate in functional-style code, such as callbacks or pipeline construction, but it's not a replacement for closures in cases that need additional state.

Conclusion

PHP 8.6 follows the project's established annual rhythm, with a modest feature set and the usual deprecations. The real preparation work lies less in the new features than in testing against the release candidates early and cleaning up deprecated function calls before the stable release ships in November 2026.

Sources

I keep PHP applications tested for compatibility and security updates, from version upgrades to TYPO3 and Sylius operations.

Compatibility testing against new PHP versions, cleanup of deprecations, ongoing update planning for TYPO3 and Sylius environments.

Platform operations, not paper advice: I review, patch and harden your infrastructure on an ongoing basis.

Get in touch →

About the author

[Translate to English:] Foto von Kai Ole Hartwig.

Kai Ole Hartwig

Freelance DevSecOps consultant · OnlyOle Consulting

Programming since 2002 – self-taught, set up my own business with KO-Web in 2012. Over 100 projects, with a focus on security, performance, automation and quality. Today freelance: DevSecOps consulting, training and software development.