[ 'active' => true, 'release' => [ 'type' => 'RC', 'number' => 0, 'sha256_gz' => '', 'sha256_bz2' => '', 'sha256_xz' => '', 'date' => '07 Nov 2023', 'baseurl' => 'https://downloads.php.net/', ], ], '8.2.27' => [ 'active' => true, 'release' => [ 'type' => 'RC', 'number' => 0, 'sha256_bz2' => '', 'sha256_gz' => '', 'sha256_xz' => '', 'date' => '05 Dec 2024', 'baseurl' => 'https://downloads.php.net/', ], ], '8.3.29' => [ 'active' => true, 'release' => [ 'type' => 'RC', 'number' => 1, 'sha256_bz2' => 'b82bc56afcdd406f2f28611612bb51b21805b7cf222c97d6bfa2fdc1918145b0', 'sha256_gz' => 'c74b7e27b06ec12e8d1e9e04baac084bd5ff1aff41cc640ab431a7a51eac8914', 'sha256_xz' => 'f405920ef2281b47a97bd6972c78917922c9c174e00576791a96f32713696d56', 'date' => '04 Dec 2025', 'baseurl' => 'https://downloads.php.net/~eric/', ], ], '8.4.16' => [ 'active' => true, 'release' => [ 'type' => 'RC', 'number' => 1, 'sha256_bz2' => 'e6c3a8b14d3b83d1c7870a2785fa52b018a47e99fbca928133fb5db83b45d0f5', 'sha256_gz' => 'f3c82948de16204e3432a5a26276c67f18b9ee18de3170faebeab6e84e44b33d', 'sha256_xz' => '5a9e95594132d1950ccfe250b519382b0f9c9fdb1831d3b3caa338d5fa55b10c', 'date' => '04 Dec 2025', 'baseurl' => 'https://downloads.php.net/~saki/', ], ], '8.5.1' => [ 'active' => true, 'release' => [ 'type' => 'RC', 'number' => 2, 'sha256_bz2' => '5285c132e3635dddfa920d57edb9acf8fd84432f53fd2d5e3585637d14a09a29', 'sha256_gz' => '394ae2e58140107199fe25c44cb70382fb4b4a4106a3e127ce0220b1cffc9089', 'sha256_xz' => '18b766c67022ef5e84b15e4adc7e9041811668977e16f91fe02bf7c7e3231299', 'date' => '12 Dec 2025', 'baseurl' => 'https://downloads.php.net/~edorian/', ], ], ]; /*** End Configuration *******************************************************************/ // This is a list of the possible checksum values that can be supplied with a QA release. Any // new algorithm is read from the $QA_RELEASES array under the 'release' index for each version // in the form of "$algorithm_$filetype". // // For example, if SHA512 were to be supported, the following indices would have to be added: // // 'sha512_bz2' => 'xxx', // 'sha512_gz' => 'xxx', // 'sha512_xz' => 'xxx', $QA_CHECKSUM_TYPES = ['sha256']; // $QA_RELEASES eventually contains just about everything, also for external use // release : These are encouraged for use (e.g., linked at qa.php.net) // reported : These are allowed to report @ the php.qa.reports mailing list (function(&$QA_RELEASES) use ($QA_CHECKSUM_TYPES) { foreach ($QA_RELEASES as $pversion => $info) { if (isset($info['active']) && $info['active']) { // Allow -dev versions of all active types // Example: 5.3.6-dev $QA_RELEASES['reported'][] = "{$pversion}-dev"; $QA_RELEASES[$pversion]['dev_version'] = "{$pversion}-dev"; // Allow -dev version of upcoming qa releases (rc/alpha/beta) // @todo confirm this php version format for all dev versions if ((int)$info['release']['number'] > 0) { $QA_RELEASES['reported'][] = "{$pversion}{$info['release']['type']}{$info['release']['number']}"; if (!empty($info['release']['baseurl'])) { // php.net filename format for qa releases // example: php-5.3.0RC2 $fn_base = 'php-' . $pversion . $info['release']['type'] . $info['release']['number']; $QA_RELEASES[$pversion]['release']['version'] = $pversion . $info['release']['type'] . $info['release']['number']; foreach ([ 'bz2', 'gz', 'xz' ] as $file_type) { foreach ($QA_CHECKSUM_TYPES as $algo) { if (isset($info['release'][$algo . '_' . $file_type])) { $QA_RELEASES[$pversion]['release']['files'][$file_type][$algo] = $info['release'][$algo . '_' . $file_type]; } } if (!empty($QA_RELEASES[$pversion]['release']['files'][$file_type])) { $QA_RELEASES[$pversion]['release']['files'][$file_type]['path']= $info['release']['baseurl'] . $fn_base . '.tar.' . $file_type; } } if (empty($QA_RELEASES[$pversion]['release']['files'])) { $QA_RELEASES[$pversion]['release']['enabled'] = false; } } } else { $QA_RELEASES[$pversion]['release']['enabled'] = false; } } } // Sorted information for later use // @todo need these? // $QA_RELEASES['releases'] : All current versions with active qa releases foreach ($QA_RELEASES as $pversion => $info) { if (isset($info['active']) && $info['active'] && !empty($info['release']['number'])) { $QA_RELEASES['releases'][$pversion] = $info['release']; } } })($QA_RELEASES);