Skip to content

[WIP] PHP 8.6 release page - #2030

Draft
saundefined wants to merge 7 commits into
php:masterfrom
saundefined:php86
Draft

saundefined wants to merge 7 commits into
php:masterfrom
saundefined:php86

Conversation

@saundefined

@saundefined saundefined commented Oct 4, 2026 •

Copy link
Copy Markdown
Member

@github-actions

github-actions Bot commented Oct 4, 2026 •

Copy link
Copy Markdown
Contributor

📊 Regression report for commit 284f24a is at https://web-php-regression-report-pr-2030.preview.thephp.foundation

@github-actions

github-actions Bot commented Oct 4, 2026 •

Copy link
Copy Markdown
Contributor

🚀 Preview for commit 284f24a is available at https://web-php-pr-2030.preview.thephp.foundation

Comment thread public/releases/8.6/release.inc Resolved
Comment thread public/releases/8.6/release.inc Resolved
Comment thread public/releases/8.6/release.inc Resolved
Comment thread public/releases/8.6/release.inc Resolved
Comment thread public/releases/8.6/release.inc Resolved
Co-authored-by: Tim Düsterhus <tim@bastelstu.be>
Comment thread public/releases/8.6/release.inc Resolved
Comment thread public/releases/8.6/release.inc Resolved
Comment thread public/releases/8.6/release.inc Resolved
Comment thread public/releases/8.6/release.inc Resolved
Comment thread public/releases/8.6/release.inc Resolved
Comment thread public/releases/8.6/release.inc Resolved
Comment thread public/releases/8.6/release.inc Outdated
Comment on lines +54 to +67
new FeatureComparison(
id: 'duration-class',
title: message('duration_title', $lang),
description: message('duration_description', $lang),
links: [
'RFC|https://wiki.php.net/rfc/duration_class',
],
before: <<<'PHP'
// TODO
PHP,
after: <<<'PHP'
// TODO
PHP,
),

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For Duration perhaps a custom wrapper around time_nanosleep()? The class nicely maps directly onto the parameters of time_nanosleep().

And then perhaps showcase some of the mathematical operations, e.g. the delay example from the RFC: https://wiki.php.net/rfc/duration_class#examples

Comment thread public/releases/8.6/languages/en.php Resolved
Comment thread public/releases/8.6/languages/en.php Resolved
'documentation' => 'Doc',
'released' => 'Released Nov 19, 2026',
'key_features' => 'Key Features in PHP 8.6',
'key_features_description' => '<p><strong>Faster</strong>, <strong>cleaner</strong>, and <strong>built for developers</strong>.</p>',

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we avoid putting the <p> tags in the message contents, if the entire message is a single paragraph? Just wrap the actual usage in the tags, to make translating easier

'key_features' => 'Key Features in PHP 8.6',
'key_features_description' => '<p><strong>Faster</strong>, <strong>cleaner</strong>, and <strong>built for developers</strong>.</p>',

'features_pfa_description' => '<p>Allows functions to be called with only a subset of the required parameters, deferring the passing of the remaining ones to a later time.</p>',

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this description is wrong - functions are not called with a subset of the required parameters, rather a subset of parameters is specified and the call is delayed until the remaining ones are provided

'features_sort_direction_description' => '<p>Represents a sort directions.</p>',

'pfa_title' => 'Partial Function Application',
'pfa_description' => 'Allows functions to be called with only a subset of the required parameters, deferring the passing of the remaining ones to a later time.',

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

any expected difference between this and features_pfa_description? Same with some of the other description messages - if they are expected to be the same, just reuse the original one?

Not repeating my comments on the various features_* and other messages

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I’ve separated these into two different language keys, because the features_* descriptions might be simplified or condensed, whereas the main descriptions might require more detail.

If the wording ends up being the same, we can always merge them.

Comment thread public/releases/8.6/languages/en.php Resolved
Comment thread public/releases/8.6/languages/en.php Resolved
}

\site_header("PHP 8.6 Release Announcement", [
'current' => 'php85',

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

are these meant to say 8.5 for current and for the css ?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

css — includes the necessary files,
current — adds a css class to the current page

@TimWolla TimWolla left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rendering on mobile is broken:

Image

For PHP 8.5:

Image

Comment thread public/releases/8.6/release.inc Resolved
saundefined and others added 3 commits November 7, 2026 12:51
Co-authored-by: Tim Düsterhus <timwolla@googlemail.com>
Co-authored-by: Daniel Scherzer <daniel.e.scherzer@gmail.com>
Co-authored-by: Theodore Brown <theodorejb@outlook.com>
@saundefined

Copy link
Copy Markdown
Member Author

Rendering on mobile is broken:

@TimWolla should be fixed

@theodorejb

Copy link
Copy Markdown
Contributor

The icons currently in the Key Features section are confusing, since they don't seem to have anything to do with the features (apparently they were just copied from the 8.5 release page?).

@theodorejb

Copy link
Copy Markdown
Contributor

The Partial Function Application section shows "PHP 8.5 and older" for the left-hand pipe operator example, but it should just be PHP 8.5, since the pipe operator wasn't available on older versions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants