Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions resources/ATTRIBUTION.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@
From https://github.com/derickr/toot-together/pull/37
Created with snipping tool

* 2026.04.16-@php@fosstodon.org-116414332815427472.jpg
Source: https://fosstodon.org/@php/116414332815427472
From https://github.com/derickr/toot-together/pull/80
Created with snipping tool

* missing-3-confusion.svg
Created by hand using https://www.svgviewer.dev/

Expand Down
3 changes: 3 additions & 0 deletions sitemap.xml
Original file line number Diff line number Diff line change
Expand Up @@ -84,4 +84,7 @@
<url>
<loc>https://scherzer.dev/Blog/20260410-define-deprecated</loc>
</url>
<url>
<loc>https://scherzer.dev/Blog/20260416-php86-release-manager</loc>
</url>
</urlset>
38 changes: 38 additions & 0 deletions src/Blog/posts/20260416-php86-release-manager.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
title: PHP 8.6 Release Manager
---

# PHP 8.6 Release Manager

I'm excited to announce that I will be serving as the "veteran" release manager
for the PHP 8.6 release cycle. In that role I will be mentoring two new
"rookie" release managers to ensure a smooth and successful release process.

[![Mastodon post from @php announcing release managers](/resources/2026.04.16-@php@fosstodon.org-116414332815427472.jpg)][toot]

Like [last year][blog-rm85] when I was elected one of the rookie release
managers for PHP 8.5, selection was done through a public vote; you can see the
results [on the PHP Wiki][todo86]. This year we had seven candidates volunteer,
and the community elected [Matteo Beccati][site-matteo] and
[Joe Ferguson][site-joe].

While they begin to work through [the onboarding instructions][docs-new-rms],
the steps for veteran release managers are not as well documented. Over the next
few months, I plan to document the steps for future veteran release managers to
perform to help onboard new rookies. While the exact job of the veteran release
manager is not well defined at the moment, there is
[an ongoing RFC][rfc-rm-policy] ([discussion thread][rfc-rm-policy-discussion])
to clarify and formalize the role.

I hope the new release managers find my various blog posts about the process
helpful, and I look forward to working with them to release PHP 8.6 this
November.

[blog-rm85]: ./20250417-php85-release-manager
[docs-new-rms]: https://github.com/php/php-src/blob/f437b8b0e9f6177608968a38c00bcfd74032b9bc/docs/release-process.md#new-release-manager-checklist
[rfc-rm-policy]: https://wiki.php.net/rfc/release_manager_selection_policy
[rfc-rm-policy-discussion]: https://news-web.php.net/php.internals/130470
[site-joe]: https://joeferguson.me/
[site-matteo]: https://beccati.com/
[toot]: https://fosstodon.org/@php/116414332815427472
[todo86]: https://wiki.php.net/todo/php86
15 changes: 13 additions & 2 deletions src/Pages/OpenSourcePage.php
Original file line number Diff line number Diff line change
Expand Up @@ -267,11 +267,16 @@ private function addPHPSection(): void {
'https://www.php.net/manual/en/book.reflection.php',
'Reflection extension'
);
$blogLink = FluentHTML::make(
$blogLink85 = FluentHTML::make(
'a',
[ 'href' => '/Blog/20250417-php85-release-manager' ],
'my blog post'
);
$blogLink86 = FluentHTML::make(
'a',
[ 'href' => '/Blog/20260416-php86-release-manager' ],
'blog post'
);
$this->contentWrapper->append(
FluentHTML::make( 'h3', [ 'class' => 'subsection-header' ], 'PHP' ),
FluentHTML::make(
Expand Down Expand Up @@ -301,8 +306,14 @@ private function addPHPSection(): void {
was one of the two "rookie" candidates chosen to help with the release. You can
read more in
END,
$blogLink,
$blogLink85,
'.',
<<<END
I subsequently volunteered to serve as the "veteran" release manager for the PHP
8.6 release cycle (
END,
$blogLink86,
').',
]
),
FluentHTML::make(
Expand Down
8 changes: 3 additions & 5 deletions tests/data/Home.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
Computer Science and Political Science and graduating <em>magna cum laude</em> in 2024 with a Bachelor of Science degree. As part of my work in Computer
Science, I chose to write an honors thesis in my senior year, see <a href="./Thesis">here</a> for details. I continued at Tufts for graduate school, graduating in 2025 with
a Master of Science in Computer Science degree.</p><p>See the links in the navigation bar above for more information about my
experience.</p><h2 class="subsection-header">Contact</h2><ul><li><a href="https://www.linkedin.com/in/daniel-scherzer-520539263/" target="_blank" class="external-link">LinkedIn</a></li><li>Email: <code>daniel.e.scherzer@gmail.com</code></li></ul><h2 class="subsection-header">Blog</h2><p>I also have a blog. You can see a full index of my posts <a href="/Blog">here</a>. My latest blog post is: </p><div class="blog-preview"><h3>Introducing define_deprecated() for PHP</h3><span class="blog-preview-date">Friday, 10 April 2026</span><p>In PHP 8.5, I introduced support for <a href="./Blog/20250429-attributes-on-constants">attributes on constants</a>,
which allows marking compile-time global constants as deprecated. However,
that functionality was not made easily available when defining constants at
<em>runtime</em>, or in code that supports older versions of PHP. My new library,
<a rel="noopener noreferrer" target="_blank" class="external-link" href="https://packagist.org/packages/danielescherzer/define-deprecated">danielescherzer/define-deprecated</a>, provides that support. <a href="/Blog/20260410-define-deprecated">Continue reading...</a></p></div></div><div class="des-footer"><div class="des-footer--content">Content is © 2026 Daniel Scherzer</div></div></body></html>
experience.</p><h2 class="subsection-header">Contact</h2><ul><li><a href="https://www.linkedin.com/in/daniel-scherzer-520539263/" target="_blank" class="external-link">LinkedIn</a></li><li>Email: <code>daniel.e.scherzer@gmail.com</code></li></ul><h2 class="subsection-header">Blog</h2><p>I also have a blog. You can see a full index of my posts <a href="/Blog">here</a>. My latest blog post is: </p><div class="blog-preview"><h3>PHP 8.6 Release Manager</h3><span class="blog-preview-date">Thursday, 16 April 2026</span><p>I'm excited to announce that I will be serving as the &quot;veteran&quot; release manager
for the PHP 8.6 release cycle. In that role I will be mentoring two new
&quot;rookie&quot; release managers to ensure a smooth and successful release process. <a href="/Blog/20260416-php86-release-manager">Continue reading...</a></p></div></div><div class="des-footer"><div class="des-footer--content">Content is © 2026 Daniel Scherzer</div></div></body></html>
3 changes: 2 additions & 1 deletion tests/data/OpenSource.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
the then-subsequent version of PHP, PHP 8.5. In April, the community voted to
decide between the volunteers (luckily there were plenty of candidates) and I
was one of the two &quot;rookie&quot; candidates chosen to help with the release. You can
read more in <a href="/Blog/20250417-php85-release-manager">my blog post</a>.</p><p>PHP uses a process of requests for comment when proposing and implementing major
read more in <a href="/Blog/20250417-php85-release-manager">my blog post</a>. I subsequently volunteered to serve as the &quot;veteran&quot; release manager for the PHP
8.6 release cycle (<a href="/Blog/20260416-php86-release-manager">blog post</a>).</p><p>PHP uses a process of requests for comment when proposing and implementing major
changes; my RFCs include:</p><ul><li>March 2026: <a href="https://wiki.php.net/rfc/override_constants" target="_blank" class="external-link">#[\Override] for class constants</a> - Extend #[\Override] to target class constants (in draft)</li><li>March 2026: <a href="https://wiki.php.net/rfc/debugable-enums" target="_blank" class="external-link">Debugable Enums</a> - Allow __debugInfo() on enums (under discussion)</li><li>July 2025: <a href="https://wiki.php.net/rfc/deprecated_traits" target="_blank" class="external-link">#[\Deprecated] for traits</a> - Support the #[\Deprecated] attribute on traits (implemented in PHP 8.5)</li><li>July 2025: <a href="https://wiki.php.net/rfc/filter_throw_on_failure" target="_blank" class="external-link">FILTER_THROW_ON_FAILURE</a> - Add FILTER_THROW_ON_FAILURE flag to the filter extension (implemented in PHP 8.5)</li><li>June 2025: <a href="https://wiki.php.net/rfc/delayedtargetvalidation_attribute" target="_blank" class="external-link">#[\DelayedTargetValidation] attribute</a> - Delaying compile-time attribute target validation errors with #[\DelayedTargetValidation] (implemented in PHP 8.5)</li><li>March 2025: <a href="https://wiki.php.net/rfc/final_promotion" target="_blank" class="external-link">Final Property Promotion</a> - Adding support for final modifiers in constructor property promotion (implemented in PHP 8.5)</li><li>November 2024: <a href="https://wiki.php.net/rfc/attributes-on-constants" target="_blank" class="external-link">Attributes on Constants</a> - Adding support for attributes on compile-time constants (implemented in PHP 8.5)</li></ul><h3 class="subsection-header">Packages</h3><p>I also wrote multiple open-source PHP packages - though some are currently
primarily used by me, I am a firm supporter of open-source code and figured that
they might be useful to others. The packages that I have created so far are:</p><ul><li><a href="https://packagist.org/packages/danielescherzer/common-phpcs" target="_blank" class="external-link">danielescherzer/common-phpcs</a> - Collection of common codesniffer standards for my projects</li><li><a href="https://packagist.org/packages/danielescherzer/commonmark-ext-pygments-highlighter" target="_blank" class="external-link">danielescherzer/commonmark-ext-pygments-highlighter</a> - CommonMark extension for code highlighting with Pygments</li><li><a href="https://packagist.org/packages/danielescherzer/define-deprecated" target="_blank" class="external-link">danielescherzer/define-deprecated</a> - Allow defining deprecated global constants at runtime without dropping PHP &lt;8.5 support</li><li><a href="https://packagist.org/packages/danielescherzer/html-builder" target="_blank" class="external-link">danielescherzer/html-builder</a> - Tools for building HTML</li></ul><h3 class="subsection-header">Website</h3><p>The source code for my website is also public, in case the code is useful to
Expand Down
4 changes: 3 additions & 1 deletion tests/data/blog-index.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
<!DOCTYPE html>
<html lang="en"><head><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1"><link rel="stylesheet" type="text/css" href="/resources/default-styles.css"><title>Blog index</title><link rel="stylesheet" type="text/css" href="/resources/blog-styles.css"></head><body><div class="des-navbar"><a href="/Home">Home</a><a href="/files/Resume.pdf">Résumé</a><a href="/OpenSource">Open Source</a><a href="/Work">Work</a><strong class="des-strong-page-link">Blog</strong></div><div class="content-wrapper"><h1>Blog index</h1><div class="blog-preview"><h2>Introducing define_deprecated() for PHP</h2><span class="blog-preview-date">Friday, 10 April 2026</span><p>In PHP 8.5, I introduced support for <a href="./Blog/20250429-attributes-on-constants">attributes on constants</a>,
<html lang="en"><head><link rel="icon" href="data:,"><meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1"><link rel="stylesheet" type="text/css" href="/resources/default-styles.css"><title>Blog index</title><link rel="stylesheet" type="text/css" href="/resources/blog-styles.css"></head><body><div class="des-navbar"><a href="/Home">Home</a><a href="/files/Resume.pdf">Résumé</a><a href="/OpenSource">Open Source</a><a href="/Work">Work</a><strong class="des-strong-page-link">Blog</strong></div><div class="content-wrapper"><h1>Blog index</h1><div class="blog-preview"><h2>PHP 8.6 Release Manager</h2><span class="blog-preview-date">Thursday, 16 April 2026</span><p>I'm excited to announce that I will be serving as the &quot;veteran&quot; release manager
for the PHP 8.6 release cycle. In that role I will be mentoring two new
&quot;rookie&quot; release managers to ensure a smooth and successful release process. <a href="/Blog/20260416-php86-release-manager">Continue reading...</a></p></div><div class="blog-preview"><h2>Introducing define_deprecated() for PHP</h2><span class="blog-preview-date">Friday, 10 April 2026</span><p>In PHP 8.5, I introduced support for <a href="./Blog/20250429-attributes-on-constants">attributes on constants</a>,
which allows marking compile-time global constants as deprecated. However,
that functionality was not made easily available when defining constants at
<em>runtime</em>, or in code that supports older versions of PHP. My new library,
Expand Down
Loading