On-demand GitHub source materialization
Changed onResolves a GitHub org/repo coordinate to a registry source. Idempotent — if the source already exists, returns it with status: "existing"; otherwise probes GitHub, inserts a hidden on_demand source row (and a new on_demand org when no curated org claims the segment), and ingests up to 100 releases.
Negative results (not_found, empty) are cached in KV (24h and 6h respectively) so repeat probes don't re-hit GitHub. deferred outcomes (rate-limit, 5xx) are not cached and let the next cron pass retry.
Body requires provider: "github" — other providers are explicitly rejected, not silently accepted. Coordinate must match {org}/{repo} (case-insensitive; URLs are deduped via LOWER(sources.url)).
Request
- Base URL: https://api.releases.sh
- URL: https://api.releases.sh/lookups
- Auth: HTTP bearer
Response
Lookup result. Inspect status to disambiguate outcomes.
Changes
- breaking
the response property
//became nullable for the status - breaking
the response property
//became nullable for the status - breaking
the response property
//became nullable for the status - breaking
the response property
/became nullable for the status - breaking
the response property
/became nullable for the status - breaking
the response property
/became nullable for the status - breaking
the response property
/became nullable for the status - breaking
the response property
/became nullable for the status - info
response property
releases/items/publishedAtlist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200 - info
response property
releases/items/urllist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200 - info
response property
releases/items/versionlist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200 - info
response property
source/isHiddenlist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200 - info
response property
source/metadatalist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200 - info
response property
source/orgIdlist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200 - info
response property
source/productIdlist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200 - info
response property
source/starsFetchedAtlist-of-types was narrowed by removing typesnullfrom media typeapplication/jsonof response200
- breaking
- warning
added the new
too_largeenum value to the/response property for the response status
- warning