#$number"; } function implemented($number): void { echo "Implemented FR "; bugl($number); } function peclbugfix($number): void { echo "Fixed PECL bug "; bugl($number); } function peclbugl($number): void { echo "#$number"; } function githubissue($repo, $number): void { echo "Fixed issue "; githubissuel($repo, $number); } function githubissuel($repo, $number): void { echo "GH-$number"; } function githubsecurityl($repo, $id): void { echo "GHSA-$id"; } function release_date($in): void { $time = strtotime($in); $human_readable = date('d M Y', $time); $for_tools = date('Y-m-d', $time); echo ""; } function changelog_makelink(string $branch): string { return '' . htmlentities($branch) . ''; } function changelog_header(int $major_version, array $minor_versions): void { site_header("PHP {$major_version} ChangeLog", [ 'current' => 'docs', 'css' => ['changelog.css'], 'layout_span' => 12, ]); echo "

PHP {$major_version} ChangeLog

\n"; $glue = ''; foreach ($minor_versions as $branch) { echo $glue, changelog_makelink($branch); $glue = ' | '; } echo "\n"; } function changelog_footer(int $current_major, array $minor_versions): void { $sidebar = "
ChangeLogs
"]); }