Change record status: 
Project: 
Introduced in branch: 
main
Introduced in version: 
12.1.0
Description: 

ResourceFetcher::fetchResource() now stores resource data in the expirable key/value collection media.oembed_resource instead of cache.default. This means regular cache clears no longer remove stored resources.

Resources are stored for 30 days. After 21 days, a refresh is queued in the new media_oembed_resource_refresh queue and processed during cron. A blocking request is only made when no stored data is available.

Added a new public method: ResourceFetcher::refreshResource(string $url): array.

Added three optional constructor arguments to ResourceFetcher::__construct(): $keyValueExpirableFactory, $queueFactory and $time.