Skip to main content
← All articles
php

PHP 8.6 is one release candidate away — General Availability lands November 19

PHP 8.6 is one release candidate away — General Availability lands November 19

I wrote earlier about some of the smaller RFCs riding into PHP 8.6 — readonly property defaults, secure session defaults, a Duration class, clamp() — as the release was still weeks out. As of today, the php.net release schedule has exactly one checkpoint left before General Availability, which is as good a moment as any to look at the whole path that got here.

The full timeline

PHP 8.6's cycle ran through three alpha releases (July 2, 16, and 30), an RFC merge deadline on August 11, the soft feature freeze alongside Beta 1 on August 13, Beta 2 on August 27, Beta 3 on September 10, the hard feature freeze on September 22, and then into release candidates: RC1 was skipped, RC2 shipped September 24, RC3 on October 8, RC4 on October 21. The schedule now shows exactly two dates remaining: RC5 on November 5, and General Availability on November 19, 2026.

What "one RC left" actually signals

By the time a release cycle is down to its final release candidate, the feature set has been frozen for close to two months — nothing new is landing between RC4 and GA, only bug fixes against what's already there. That's the real value of watching the RC sequence rather than the GA date alone: a jump straight from an early RC to GA would be a reason for caution, while a release that's gone through five release candidates without schedule slippage is a release that's had its rough edges found and filed well before launch day. PHP's release manager process doesn't typically add RCs on short notice unless something regression-worthy turns up late, so four completed RCs with a fifth already scheduled, on an unchanged GA date, is a reasonably strong signal this ships on time.

What this means for an upgrade plan

Two and a half weeks out is the right time to start the boring parts of a PHP version bump if you haven't already: checking your Docker base image's PHP 8.6 availability timeline, confirming the extensions your stack depends on have 8.6-compatible releases, and running your test suite against the RC in a disposable environment rather than waiting for the tag to go stable. For anyone running Drupal, the practical answer right now is still "wait for Drupal core's own compatibility statement" — but there's no reason the Docker image pin and extension audit can't happen against RC5 this week, so the actual cutover isn't blocked on infrastructure work that could have been done in advance.

BM
Blue Moose
The moose behind Blue Moose. Full-stack PHP developer — Drupal by day, Symfony by night, tests always.