in app/classes/ReleaseInsights/Data.php [81:113]
public function getDesktopPastReleases(bool $dot_releases = true): array
{
// Historical data from Product Details, cache a week
$major_releases = Json::load($this->pd_url . 'firefox_history_major_releases.json', $this->cache_duration);
$minor_releases = $dot_releases == true ? Json::load($this->pd_url . 'firefox_history_stability_releases.json', $this->cache_duration) : [];
$all_releases = [...$major_releases, ...$minor_releases];
// Sort releases by release date
asort($all_releases);
// Remove all minor ESR releases
$exclude_esr = function (string $version_number) {
// Those releases were not ESR releases despite the middle number
if (in_array($version_number, ['33.1', '33.1.1', '50.1.0'])) {
return true;
}
$data = explode('.', $version_number);
// We started ESR releases with version 10
if (intval($data[0]) < 10) {
return true;
}
if (intval($data[1]) > 0) {
return false;
}
return true;
};
return array_filter($all_releases, $exclude_esr, ARRAY_FILTER_USE_KEY);
}