mirror of
https://github.com/renovatebot/renovate.git
synced 2026-10-26 23:39:13 +00:00
8f5f238b8f
* fix(datasource/crate): only query the crates.io web API for crates.io Private sparse registries such as Artifactory or CodeArtifact advertise an `api` URL in their `config.json` for publishing, but do not implement the crates.io-only read endpoints `api/v1/crates/<name>` and `api/v1/crates/<name>/<version>`. Since #41536 Renovate called both for every registry with an `api` field, producing 404s and a "Release interceptor failed" warning on each run. Restore the crates.io flavor guard for the crate metadata lookup and the release timestamp lookup. Reading `config.json` from a cloned registry is now unreachable, so drop that branch. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * docs(datasource/crate): cite the registry web API specification in the guards * fix(datasource/crate): probe the registry web API once instead of guarding on flavor Keep the crates.io read endpoints for registries that implement them. Registries whose config.json points `api` at crates.io, such as index mirrors, are used without probing. Any other registry is probed on the first crate; a 404 for a crate that the index just returned means the endpoint does not exist, so the registry is remembered as unsupported in the memory cache and, for a day, in the package cache. The release timestamp lookup handles a 404 the same way instead of surfacing the generic "Release interceptor failed" warning. Restores the cloned config.json branch, since cloned registries can now advertise an API again. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * fix(datasource/crate): key the unsupported web API marker by the api URL --------- Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>