Files
renovate/lib/modules/datasource/java-version
Michael Kriese f64ec3975a fix(cache): build all cache keys with a shared helper (#46811)
* refactor(datasource): separate registry URLs in cache keys with a colon

Co-Authored-By: Claude Opus 5.5 <michael.kriese+claude-code@mend.io>
Co-Authored-By: Claude Sonnet 5.5 <michael.kriese+claude-code@mend.io>

* fix(datasource/go): separate the remaining cache key parts with a colon

Co-Authored-By: Claude Opus 5.5 <michael.kriese+claude-code@mend.io>

* refactor(datasource): build cache keys with a shared colon-joining helper

Co-Authored-By: Claude Opus 5.5 <michael.kriese+claude-code@mend.io>

* refactor: build all cache keys with buildCacheKey

Co-Authored-By: Claude Opus 5.5 <michael.kriese+claude-code@mend.io>

* refactor(http): keep GET package cache keys as the bare URL

Co-Authored-By: Claude Opus 5.5 <michael.kriese+claude-code@mend.io>

* refactor(cache): extend cache key helper to memory cache keys

Co-Authored-By: Claude Opus 5.5 <michael.kriese+claude-code@mend.io>

* refactor(datasource/go): prefix the goproxy cache keys with their purpose

Co-Authored-By: Claude Opus 5.5 <michael.kriese+claude-code@mend.io>

---------

Co-authored-by: Claude Opus 5.5 <michael.kriese+claude-code@mend.io>
2026-10-10 10:46:09 +00:00
..

This datasource returns releases from the Adoptium API.

It uses image_type=<jre|jdk>&project=jdk&release_type=ga&sort_method=DATE&sort_order=DESC as filter parameters. This means that the datasource finds:

  • JRE or JDK images
  • with a JDK project
  • which have the General Availability status And finally, the results are sorted in descending order.

When Renovate contacts the Adoptium API, it fetches 50 pages. Each page has 50 items. So 2500 items are fetched from the API in total.

If you want to get releases which come with the JDK, set the packageName to java-jdk or java.

If you want to get releases which come with the JRE, set the packageName to java-jre. LTS releases of Java will have a version that comes with the JRE. Non-LTS releases may not always include the JRE.

Additionally you can filter by os and architecture. For example, to get only Linux x64 jre releases, you can pass java-jre?os=linux&architecture=x64 as packageName. See https://api.adoptium.net/q/swagger-ui/#/Release%20Info/getReleaseVersions for allowed values.

Use java?system=true to let renovate detect the current os and architecture.