private function getChangelogFromFile(string $uri)
    {
        try {
            return cache()->remember($this->getChangelogCacheKey($uri), 30, function () use ($uri) {
                // retrieve changelog from provided uri
                $client = new Client();
                $response = $client->request('GET', $uri);

                // spawn a new Markdown parser
                $parser = new Parsedown();
                $parser->setSafeMode(true);

                // return the parsed changelog
                return $parser->parse($response->getBody());
            });
        } catch (Exception $e) {
            logger()->error('An error occurred while fetching changelog from file.', [
                'code'       => $e->getCode(),
                'error'      => $e->getMessage(),
                'trace'      => $e->getTrace(),
                'uri'        => $uri,
            ]);
        }

        return '';
    }