Skip to content

temurin: Add version 26#586

Open
f-cramer wants to merge 1 commit intoScoopInstaller:masterfrom
f-cramer:master
Open

temurin: Add version 26#586
f-cramer wants to merge 1 commit intoScoopInstaller:masterfrom
f-cramer:master

Conversation

@f-cramer
Copy link
Copy Markdown
Contributor

@f-cramer f-cramer commented Apr 9, 2026

This adds two new apps for temurin-26

Summary by CodeRabbit

  • New Features
    • Added Eclipse Temurin JDK version 26.0.0-35 for Windows 64-bit systems
    • Added Eclipse Temurin JRE version 26.0.0-35 for Windows 64-bit systems
    • Both packages include automated version checking and update capabilities

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 9, 2026

Walkthrough

Two new JSON manifest files add Eclipse Temurin 26 JDK and JRE runtime distributions, including metadata, Windows x64 binaries, environment configuration, and automated version checking via the Adoptium API.

Changes

Cohort / File(s) Summary
Temurin 26 Manifests
bucket/temurin26-jdk.json, bucket/temurin26-jre.json
Added JSON manifests for Temurin 26 JDK and JRE with version 26.0.0-35, Windows x64 binaries, extraction directories, PATH and JAVA_HOME environment setup, and automated version checking via Adoptium API with checkver and autoupdate rules.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Possibly related PRs

Suggested labels

review-needed

Suggested reviewers

  • se35710

Poem

🐰 Hop, hop, hooray! Java twenty-six arrives,
Two shiny manifests help the runtimes thrive,
With checksums verified and paths configured right,
Temurin bundles now in perfect light! ✨

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description is missing required sections from the template: no issue reference (Closes #XXXX or Relates to #XXXX) is provided, and while the Contributing Guide checkbox is marked, the description lacks detail about the changes. Add an issue reference (Closes #XXXX or Relates to #XXXX) and provide a brief description of what the two new temurin-26 apps are (JDK and JRE) and their key features.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title 'temurin: Add version 26' is directly related to the main changeset, which adds two new Temurin 26 packages (JDK and JRE manifests).
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
bucket/temurin26-jre.json (1)

20-20: Strip .LTS suffix to match temurin25-jre.json and maintain consistent version format.

Line 20 lacks the .replace('.LTS', '') call present in bucket/temurin25-jre.json Line 20. Since Adoptium API version_data.semver may include .LTS for LTS streams and Scoop manifests should keep version as numeric JDK version only, stripping the suffix ensures consistency across release types.

Proposed patch
-            "$ver = (json_path $page $..version_data.semver).replace('+', '-')",
+            "$ver = (json_path $page $..version_data.semver).replace('+', '-').replace('.LTS', '')",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@bucket/temurin26-jre.json` at line 20, The semver extraction for
temurin26-jre currently only replaces '+' with '-' but needs to also strip a
trailing ".LTS" like temurin25-jre.json; update the expression that builds $ver
(the line currently: "$ver = (json_path $page
$..version_data.semver).replace('+', '-')") to additionally call
.replace('.LTS','') (e.g., chain the replace calls so the ".LTS" suffix is
removed before/alongside replacing '+') so the resulting version is numeric-only
and consistent with temurin25-jre.json.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@bucket/temurin26-jdk.json`:
- Line 20: The checkver script currently sets "$ver = (json_path $page
$..version_data.semver).replace('+', '-')" but omits normalizing the ".LTS"
suffix; update the checkver expression used in this file (the line that builds
$ver) to also strip the ".LTS" suffix like in temurin25-jdk.json by adding a
.replace('.LTS', '') step so returned semver values are canonical (i.e., apply
.replace('+', '-') then .replace('.LTS', '') on the json_path result).

---

Nitpick comments:
In `@bucket/temurin26-jre.json`:
- Line 20: The semver extraction for temurin26-jre currently only replaces '+'
with '-' but needs to also strip a trailing ".LTS" like temurin25-jre.json;
update the expression that builds $ver (the line currently: "$ver = (json_path
$page $..version_data.semver).replace('+', '-')") to additionally call
.replace('.LTS','') (e.g., chain the replace calls so the ".LTS" suffix is
removed before/alongside replacing '+') so the resulting version is numeric-only
and consistent with temurin25-jre.json.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 417f1e5c-9996-4a7a-93d8-f053ba55ded8

📥 Commits

Reviewing files that changed from the base of the PR and between 45af0df and 4c0cfe0.

📒 Files selected for processing (2)
  • bucket/temurin26-jdk.json
  • bucket/temurin26-jre.json

"checkver": {
"url": "https://api.adoptium.net/v3/assets/feature_releases/26/ga?jvm_impl=hotspot&heap_size=normal&os=windows&architecture=x64&image_type=jdk&project=jdk&vendor=eclipse&page_size=1&sort_order=DESC",
"script": [
"$ver = (json_path $page $..version_data.semver).replace('+', '-')",
Copy link
Copy Markdown

@coderabbitai coderabbitai bot Apr 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🌐 Web query:

For Adoptium API v3 responses used by Scoop checkver, should .LTSbe stripped fromversion_data.semver to keep manifest versions normalized?

💡 Result:

Yes—strip the .LTS suffix from Adoptium API v3’s version_data.semver when generating the Scoop manifest version, so the manifest stays “version-only” and consistent.

  • Adoptium’s semver can include an LTS marker as part of the build metadata (commonly seen like ...+<build>.LTS), and downstream tooling commonly removes it when converting +. (e.g., .replace("+", ".").replace(".LTS","")).[1]
  • Scoop manifests allow letters in version (pattern ^[\w\.\-+_]+$), so leaving .LTS wouldn’t be invalid—but it’s not a real version increment and can make versions inconsistent/noisier across releases.[2]
  • If you need “is this an LTS line?” metadata, Adoptium exposes that separately (e.g., via /v3/info/available_releases), rather than relying on embedding LTS into your package version.[3]

Practical Scoop checkver.replace normalization: convert + to . and remove a trailing .LTS if present.

Sources: [1], [2], [3]


🏁 Script executed:

#!/bin/bash
# Find and examine both temurin JSON files
fd -e json temurin | head -20

Repository: ScoopInstaller/Java

Length of output: 644


🏁 Script executed:

# Check if these files exist and examine their content around line 20
if [ -f "bucket/temurin25-jdk.json" ]; then
  echo "=== temurin25-jdk.json (lines 15-25) ==="
  sed -n '15,25p' bucket/temurin25-jdk.json
fi

if [ -f "bucket/temurin26-jdk.json" ]; then
  echo "=== temurin26-jdk.json (lines 15-25) ==="
  sed -n '15,25p' bucket/temurin26-jdk.json
fi

Repository: ScoopInstaller/Java

Length of output: 1603


Align checkver script with temurin25-jdk.json to normalize .LTS suffix.

The checkver script on line 20 is missing the .replace('.LTS', '') normalization present in the temurin25-jdk.json equivalent. This inconsistency can lead to non-canonical versions when Adoptium API responses include the .LTS suffix in version_data.semver.

Proposed patch
-            "$ver = (json_path $page $..version_data.semver).replace('+', '-')",
+            "$ver = (json_path $page $..version_data.semver).replace('+', '-').replace('.LTS', '')",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"$ver = (json_path $page $..version_data.semver).replace('+', '-')",
"$ver = (json_path $page $..version_data.semver).replace('+', '-').replace('.LTS', '')",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@bucket/temurin26-jdk.json` at line 20, The checkver script currently sets
"$ver = (json_path $page $..version_data.semver).replace('+', '-')" but omits
normalizing the ".LTS" suffix; update the checkver expression used in this file
(the line that builds $ver) to also strip the ".LTS" suffix like in
temurin25-jdk.json by adding a .replace('.LTS', '') step so returned semver
values are canonical (i.e., apply .replace('+', '-') then .replace('.LTS', '')
on the json_path result).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

26 is no LTS version and as such there is no need to strip a suffix. See also other non-LTS versions like 24 or 23

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@f-cramer, you're absolutely right — the .LTS suffix in Adoptium's version_data.semver only appears for LTS releases (e.g., Java 21, 17, 11), not for non-LTS versions like 23, 24, or 26. The checkver script is correct as-is. I apologize for the noise.


✏️ Learnings added
Learnt from: f-cramer
Repo: ScoopInstaller/Java PR: 586
File: bucket/temurin26-jdk.json:20-20
Timestamp: 2026-04-09T12:10:42.293Z
Learning: In the ScoopInstaller/Java repository, the `.replace('.LTS', '')` normalization in the `checkver` script for Temurin manifests is only needed for LTS Java versions (e.g., 21, 17, 11). Non-LTS versions like Java 23, 24, and 26 do not have the `.LTS` suffix in Adoptium API `version_data.semver` responses, so no such stripping is required in their manifests.

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant