From e367a4aca5635a8d1e1275b1bb78f5d050769cd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandru=20P=C4=83tr=C4=83nescu?= Date: Tue, 30 Apr 2024 11:25:56 +0300 Subject: [PATCH] Update the end of release cycle based on approved https://wiki.php.net/rfc/release_cycle_update --- include/branches.inc | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/include/branches.inc b/include/branches.inc index f141e3ef0e..a7a8d0a094 100644 --- a/include/branches.inc +++ b/include/branches.inc @@ -306,7 +306,15 @@ function get_branch_bug_eol_date($branch): ?DateTime $date = get_branch_release_date($branch); - return $date ? $date->add(new DateInterval('P2Y')) : null; + $date = $date?->add(new DateInterval('P2Y')); + + // Versions before 8.2 do not extend the release cycle to the end of the year + if (version_compare($branch, '8.2', '<')) { + return $date; + } + + // Extend the release cycle to the end of the year + return $date?->setDate($date->format('Y'), 12, 31); } function get_branch_security_eol_date($branch): ?DateTime @@ -324,7 +332,16 @@ function get_branch_security_eol_date($branch): ?DateTime } $date = get_branch_release_date($branch); - return $date ? $date->add(new DateInterval('P3Y')) : null; + + // Versions before 8.1 have 3-year support since the initial release + if (version_compare($branch, '8.1', '<')) { + return $date?->add(new DateInterval('P3Y')); + } + + $date = $date?->add(new DateInterval('P4Y')); + + // Extend the release cycle to the end of the year + return $date?->setDate($date->format('Y'), 12, 31); } function get_branch_release_date($branch): ?DateTime