Skip to content

Update sbt to 2.0.5 - #386

Open
scala-steward wants to merge 1 commit into
nafg:masterfrom
scala-steward:update/sbt-2.0.5
Open

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

Conversation

@scala-steward

@scala-steward scala-steward commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

About this PR

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

📜 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

Summary by CodeRabbit

  • Chores
    • Updated the project’s build tooling to a newer version.

@scala-steward scala-steward mentioned this pull request Aug 5, 2026
@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The project updates its configured SBT version from 1.12.14 to 2.0.5.

Changes

Build tooling

Layer / File(s) Summary
Update configured SBT version
project/build.properties
The configured SBT version changes from 1.12.14 to 2.0.5.

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

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the SBT version update from 1.12.14 to 2.0.5.
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 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 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: Do not upgrade the build to sbt 2.0.5 while project/plugins.sbt still
pins the incompatible Scala.js crossproject, Scala.js bundler, and Scalafix
converter plugins. Either update all three to sbt2-compatible releases and
adjust build.sbt for any changed sbt-scalajs-bundler API, or retain
sbt.version=1.12.14 until the migration is complete.
🪄 Autofix

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: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: a85464ec-80c0-4b7c-8077-11d19a84f8ce

📥 Commits

Reviewing files that changed from the base of the PR and between 19b40d8 and 03670f7.

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

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

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 | 🟠 Major | 🏗️ Heavy lift

🧩 Analysis chain

🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

base="https://repo.maven.apache.org/maven2"

check_sbt2_plugin() {
  group="$1"
  artifact="$2"
  version="$3"
  group_path="${group//.//}"
  url="$base/$group_path/${artifact}_sbt2_3/$version/${artifact}_sbt2_3-$version.pom"

  curl --fail --silent --show-error --location "$url" >/dev/null
  echo "Found: $group:$artifact:$version"
}

check_sbt2_plugin "org.portable-scala" "sbt-scalajs-crossproject" "1.3.2"
check_sbt2_plugin "ch.epfl.scala" "sbt-scalajs-bundler" "0.21.1"

Repository: nafg/scala-phonenumber

Length of output: 211


🏁 Script executed:

#!/usr/bin/env bash
set -u

printf 'Files of interest:\n'
git ls-files 'project/build.properties' 'project/plugins.sbt' 'build.sbt' | sed -n '1,80p'

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

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

printf '\nbuild.sbt plugin imports/usages/scala.js config relevant lines:\n'
rg -n -i 'sbt( |-|\+)scalajs|scalaJS|crossProject|addSbtPlugin|org\.portable-scala|ch\.epfl\.scala' build.sbt project/plugins.sbt project -g '*.sbt' || true

printf '\nRepository refs:\n'
git rev-parse --show-toplevel
git log --oneline -5 -- project/build.properties project/plugins.sbt build.sbt || true

Repository: nafg/scala-phonenumber

Length of output: 3039


🌐 Web query:

org.portable-scala sbt-scalajs-crossproject 1.3.2 sbt2 Scala 3 plugin

💡 Result:

The plugin org.portable-scala:sbt-scalajs-crossproject version 1.3.2 is designed for sbt 1.x and has not been ported to sbt 2.x [1][2]. If you are migrating your build to sbt 2.x, the official portable-scala crossproject plugins are not available [1][3]. Alternative approaches exist within the community, such as org.wvlet.uni:sbt-uni-crossproject, which was created as a standalone, uni-owned plugin to provide crossProject support for sbt 2.x by reproducing the CrossType.Pure layout and essential API surface [1][2]. For projects remaining on sbt 1.x, version 1.3.2 is compatible with Scala 3 and is the standard way to implement cross-platform builds (JVM/JS/Native) [4][5][6]. In your project/plugins.sbt file, you would typically include: addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "1.3.2") addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.16.0") // Or newer version [4][7] If you encounter issues during a transition to sbt 2.x, note that some community members have opted to replace the upstream plugins entirely with custom alternatives to maintain build functionality [1][2].

Citations:


🌐 Web query:

ch.epfl.scala sbt-scalajs-bundler 0.21.1 sbt 2 compatibility sbt2_sbt2_3

💡 Result:

The sbt-scalajs-bundler plugin (version 0.21.1) is not natively compatible with sbt 2.x [1][2]. As of August 2026, sbt-scalajs-bundler 0.21.1 is designed for sbt 1.x and Scala 2.12 [1][2]. Official support for sbt 2.x has been introduced for the core Scala.js plugin (starting with version 1.22.0) [3][4], but the sbt-scalajs-bundler ecosystem has not been updated to support sbt 2.x [5][2]. Key points regarding sbt 2.x compatibility: - Core Scala.js 1.22.0+ supports sbt 2.x [3][4]. - sbt 2.x introduced significant changes, including mandatory serializable task attributes and altered dependency syntax (where %% behaves like %%%) [6][4]. Plugins built for sbt 1.x, like sbt-scalajs-bundler 0.21.1, do not automatically support these sbt 2.x requirements [6][1]. - While an sbt2-compat plugin exists to bridge source-level differences during plugin development [4], sbt-scalajs-bundler 0.21.1 remains a legacy plugin for sbt 1.x environments [1][2]. Users looking to use sbt 2.x should monitor the official Scala Center repositories for potential updates to bundler support, as older versions are being phased out in the sbt 2.x ecosystem [7].

Citations:


🌐 Web query:

sbt-ci-release 1.12.0 sbt 2 compatibility sbt2_sbt2_3

💡 Result:

sbt-ci-release version 1.12.0 provides compatibility for sbt 2.0.0, as indicated in its release notes [1]. The plugin is cross-published for both sbt 1.x and sbt 2.x versions [2][3]. When using sbt-ci-release for sbt 2 projects, the artifact identifier typically includes the relevant sbt binary version suffix, such as sbt2_3, to denote compatibility with the sbt 2 ecosystem [4]. To use the plugin, you continue to add it to your project/plugins.sbt file in the standard manner: addSbtPlugin("com.github.sbt" % "sbt-ci-release" % "1.12.0") The plugin also includes functionality to support projects maintaining cross-version compatibility or migrating to sbt 2.x via its Git tag mini-DSL [5][6]. For detailed configuration regarding migration or specific publishing requirements, refer to the official sbt-ci-release documentation [6].

Citations:


🌐 Web query:

sbt-mergify-github-actions 0.9.1 sbt 2 compatibility sbt2_sbt2_3

💡 Result:

The sbt-mergify-github-actions plugin version 0.9.1 supports sbt 2 compatibility [1]. The artifact identifier suffix _sbt2_3 in javadoc.io (e.g., sbt-mergify-github-actions_sbt2_3) confirms that this version is built for sbt 2 and Scala 3, consistent with the ecosystem's standard cross-building patterns for sbt 2 plugins [1][2]. While version 0.9.0 was noted in some repository metadata as targeting sbt 1 (via the _2.12_1.0 suffix) [3][4], the availability of the _sbt2_3 artifact for 0.9.1 indicates it has been updated to provide native support for the sbt 2 environment [1]. If you are configuring your project for sbt 2, you should reference the artifact using the appropriate sbt 2 cross-version suffix.

Citations:


🌐 Web query:

sbt-scoverage 2.4.4 sbt 2 compatibility sbt2_sbt2_3

💡 Result:

Yes, sbt-scoverage 2.4.4 provides official compatibility with sbt 2.x [1][2]. The artifact sbt-scoverage_sbt2_3 explicitly denotes that version 2.4.4 has been built with support for the sbt 2.x ecosystem [1][2][3]. The project has actively integrated support for sbt 2.x versions throughout its development cycle, including testing against various sbt 2.0.0 release candidates [4]. To use this version in an sbt 2.x project, you typically add the plugin to your project/plugins.sbt file in the standard way [1][2]: addSbtPlugin("org.scoverage" % "sbt-scoverage" % "2.4.4") The Scala Language Index confirms that sbt-scoverage 2.4.4 is configured to work with both sbt 1.x and sbt 2.x [1][5].

Citations:


🌐 Web query:

org.scalablytyped.converter sbt-converter 1.0.0-beta44 sbt 2 compatibility

💡 Result:

The sbt-converter plugin, including version 1.0.0-beta44, is not compatible with sbt 2. It is specifically designed for sbt 1.x and requires the Scala 2.12 runtime environment, which is standard for plugins in the sbt 1.x ecosystem [1][2][3][4][5]. While the broader ScalablyTyped Converter project has introduced Scala 3 cross-compilation support in later versions (starting with v1.0.0-beta45), the sbt-converter plugin itself remains restricted to Scala 2.12 [2][3][4]. Official development documentation and repository configurations explicitly note that the plugin is not cross-compiled for Scala 3 or updated for the architectural changes present in sbt 2, and steps have been taken in the build process to explicitly skip the plugin when cross-compiling or testing for non-supported environments [1][2][4][5].

Citations:


Keep incompatible plugins on sbt 1.x before upgrading to 2.0.5.

project/plugins.sbt still pins plugins that are not sbt 2.x compatible: org.portable-scala:sbt-scalajs-crossproject:1.3.2, ch.epfl.scala:sbt-scalajs-bundler:0.21.1, and org.scala-typings.scalablytyped.converter:sbt-converter:1.0.0-beta44. sbt-scalajs-bundler uses a plugin-only API in build.sbt, so replacing it also changes the build. Update these plugins to sbt2-compatible versions or retain sbt.version=1.12.14 until this migration is complete.

🤖 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, Do not upgrade the build to sbt 2.0.5
while project/plugins.sbt still pins the incompatible Scala.js crossproject,
Scala.js bundler, and Scalafix converter plugins. Either update all three to
sbt2-compatible releases and adjust build.sbt for any changed
sbt-scalajs-bundler API, or retain sbt.version=1.12.14 until the migration is
complete.

@mergify

mergify Bot commented Aug 5, 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

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