Skip to content

Update sbt to 2.0.4 - #500

Closed
scala-steward wants to merge 1 commit into
nafg:masterfrom
scala-steward:update/sbt-2.0.4
Closed

Update sbt to 2.0.4#500
scala-steward wants to merge 1 commit into
nafg:masterfrom
scala-steward:update/sbt-2.0.4

Conversation

@scala-steward

Copy link
Copy Markdown
Contributor

About this PR

📦 Updates org.scala-sbt:sbt from 1.12.14 to 2.0.4

📜 GitHub Release Notes - Version Diff

Usage

Please merge!

I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.

If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.

Configure Scala Steward for your repository with a .scala-steward.conf file.

Have a fantastic day writing Scala!

⚙ Adjust future updates

Add this to your .scala-steward.conf file to ignore future updates of this dependency:

updates.ignore = [ { groupId = "org.scala-sbt", artifactId = "sbt" } ]

Or, add this to slow down future updates of this dependency:

dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.scala-sbt", artifactId = "sbt" }
}]
labels: library-update, early-semver-major, semver-spec-major, version-scheme:early-semver, commit-count:1

@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The project’s SBT configuration is updated from version 1.12.14 to 2.0.4.

Changes

Build configuration

Layer / File(s) Summary
Update SBT version
project/build.properties
Changes the configured SBT version from 1.12.14 to 2.0.4.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Possibly related PRs

Poem

A rabbit hops through builds so bright,
SBT leaps to two-point-four tonight.
One tiny line, a mighty spring,
Fresh tools make the compile sing!
Binky binky! What a thing.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the sbt version bump to 2.0.4.
Description check ✅ Passed The description clearly describes the sbt dependency update and related Scala Steward context.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ 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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@project/build.properties`:
- Line 1: Update the CI and publish job Java setup in .github/workflows/ci.yml
from Temurin 11 to JDK 17 to support the sbt.version 2.0.4 change, and verify
the build definition and plugins follow SBT 2.x migration requirements before
merging.
🪄 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: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 11810b4b-07ca-4cf8-8720-5197cf3ad9f5

📥 Commits

Reviewing files that changed from the base of the PR and between ec8428e and ff5dbee.

📒 Files selected for processing (1)
  • project/build.properties

Comment thread project/build.properties
@@ -1 +1 @@
sbt.version=1.12.14
sbt.version=2.0.4

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -eu

# Check build definitions and plugins for upgrade-sensitive code.
rg -n '(^|[[:space:]])[A-Za-z0-9_]+:[A-Za-z0-9_]+' build.sbt project --glob '*.sbt' --glob '*.scala' || true
rg -n 'addSbtPlugin|sbtPlugin|scalaVersion|exportJars|Def\.uncached' build.sbt project --glob '*.sbt' --glob '*.scala' || true

# Check CI/toolchain declarations for JDK versions.
rg -n 'java-version|JAVA_HOME|jdk|temurin|zulu|java:' .github .circleci Dockerfile* Jenkinsfile* 2>/dev/null || true

Repository: nafg/slick-migration-api

Length of output: 1177


🏁 Script executed:

#!/bin/bash
set -eu

printf '--- files ---\n'
git ls-files 'project/*' 'build.sbt' '.github/workflows/*.yml' Dockerfile* 2>/dev/null || true

printf '\n--- project/build.properties ---\n'
cat -n project/build.properties

printf '\n--- build.sbt header ---\n'
sed -n '1,120p' build.sbt | cat -n

printf '\n--- project plugins ---\n'
cat -n project/plugins.sbt

printf '\n--- workflow relevant sections ---\n'
sed -n '1,140p' .github/workflows/ci.yml | cat -n

printf '\n--- publish-related settings ---\n'
rg -n 'publish|publishArtifact|sonatype|coursierResolver|dependencyResolution|organization|Test|Compile|Defaults|Settings|Compile / package|coverageEnabled|coverageEnabled|coverageExcludedPackages|coveralls' build.sbt project --glob '*.sbt' --glob '*.scala' || true

printf '\n--- scala/sbt/version references ---\n'
rg -n 'scalaVersion|crossScalaVersions|scalaRelease|sbt.version|scalaVersion :=' build.sbt project .github --glob '*.yml' --glob '*.yaml' --glob '*.scala' --glob '*.sbt' || true

Repository: nafg/slick-migration-api

Length of output: 253


🏁 Script executed:

#!/bin/bash
set -eu

echo '--- files ---'
git ls-files 'project/*' 'build.sbt' '.github/workflows/*.yml' Dockerfile* 2>/dev/null || true

echo
echo '--- project/build.properties ---'
cat -n project/build.properties

echo
echo '--- build.sbt header ---'
sed -n '1,120p' build.sbt | cat -n

echo
echo '--- project plugins ---'
cat -n project/plugins.sbt

echo
echo '--- workflow relevant sections ---'
sed -n '1,140p' .github/workflows/ci.yml | cat -n

echo
echo '--- publish-related settings ---'
rg -n 'publish|publishArtifact|sonatype|coursierResolver|dependencyResolution|organization|Test|Compile|Defaults|Settings|Compile / package|coverageEnabled|coveralls' build.sbt project --glob '*.sbt' --glob '*.scala' || true

echo
echo '--- scala/sbt/version references ---'
rg -n 'scalaVersion|crossScalaVersions|scalaRelease|sbt.version|scalaVersion :=' build.sbt project .github --glob '*.yml' --glob '*.yaml' --glob '*.scala' --glob '*.sbt' || true

Repository: nafg/slick-migration-api

Length of output: 7375


🌐 Web query:

SBT 2.0 JDK 17 requirement documentation

💡 Result:

sbt 2.x requires a minimum of JDK 17 to run [1][2][3]. This requirement is strictly enforced; the sbt runner is designed to detect the JDK version before launching and will terminate with an error message if it detects a version lower than JDK 17 [4]. The decision to move to JDK 17 as the baseline is driven by the fact that sbt 2.x uses Scala 3.8.x for build definitions and plugins [2][3], which itself requires JDK 17 or higher [2][3]. Official documentation recommends using Eclipse Adoptium Temurin JDK 17 [1]. While sbt 2.x requires JDK 17 to execute the build process, you can still compile code targeting older JDK versions (such as JDK 8) by using the --release flag in your build configuration [5].

Citations:


Align the build with SBT 2.x before relying on this version bump.

project/build.properties now pins SBT 2.0.4, which requires JDK 17, but the CI builds and publish job still run with Temurin 11. Update .github/workflows/ci.yml to JDK 17 and review the SBT 2.x migration notes for plugin/build-definition compatibility before merging.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@project/build.properties` at line 1, Update the CI and publish job Java setup
in .github/workflows/ci.yml from Temurin 11 to JDK 17 to support the sbt.version
2.0.4 change, and verify the build definition and plugins follow SBT 2.x
migration requirements before merging.

@mergify

mergify Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

@scala-steward

Copy link
Copy Markdown
Contributor Author

Superseded by

@scala-steward
scala-steward deleted the update/sbt-2.0.4 branch August 5, 2026 17:21
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