$storage = new \GuzzleHttp\Subscriber\Cache\CacheStorage(new \Doctrine\Common\Cache\FilesystemCache(__DIR__ . '/cache'));
CacheSubscriber::attach($client, ['storage' => $storage]);
$data = json_decode($client->get('https://www.drupal.org/api-d7/node.json?type=project_release&taxonomy_vocabulary_7=100&field_release_build_type=static')->getBody());
$projects = [];
$conflict = [];
class UrlHelper
{
    public static function prepareUrl($url)
    {
        return str_replace('https://www.drupal.org/api-d7/node', 'https://www.drupal.org/api-d7/node.json', $url);
    }
}
while (isset($data) && isset($data->list)) {
    $results = array_merge($results, $data->list);
    if (isset($data->next)) {
        $data = json_decode($client->get(UrlHelper::prepareUrl($data->next))->getBody());
    } else {
        $data = NULL;
    }
}
foreach ($results as $result) {
    $nid = $result->field_release_project->id;
    $core = (int) substr($result->field_release_version, 0, 1);
    // Skip D6 and older.
    if ($core < 7) {
        continue;
    }
    try {
        if (!isset($projects[$nid])) {
            $project = json_decode($client->get('https://www.drupal.org/api-d7/node.json?nid=' . $nid)->getBody());
            $projects[$nid] = $project->list[0];