---
title: "sbt 2 is now available!"
url: https://daily.dev/posts/sbt-2-is-now-available--ehrfhwcu5
source_url: https://www.scala-lang.org/blog/2026/06/29/sbt2.html
type: article
source: "The Scala Programming Language"
published: 2026-08-23T12:17:35.895Z
updated: 2026-08-23T12:25:58.318Z
tags: ["scala"]
reading_time: 6
upvotes: 0
comments: 0
language: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# sbt 2 is now available!

**[The Scala Programming Language](https://daily.dev/sources/scala-lang)** · 6 min read · 0 upvotes · 0 comments

## Summary

sbt 2 has officially launched after five years of development and over 82 contributors. Key changes include using Scala 3.8.4 for build definitions (requiring JDK 17 minimum), a native sbtn client for faster startup and client-server architecture by default, incremental testing, a Bazel-compatible local/remote cache system, in-sourced project matrix support for cross-building JVM/JS/Native, and simplified cross-published library dependency syntax (using %% instead of %%% in most cases). Major plugins like Scala.js, Scala Native, and sbt-assembly are already available, with Play framework support still pending. Upgrading requires setting sbt.version=2.0.1 in project/build.properties.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.scala-lang.org/blog/2026/06/29/sbt2.html>

## Questions this post answers

### How do I upgrade my project to sbt 2?

Set sbt.version=2.0.1 in project/build.properties, which upgrades only the builds you choose. Download the official sbt runner from SDKMAN or from the sbt GitHub releases page to get the updated sbt shell script, sbtn native client, and launcher. sbt 2.x requires a minimum of JDK 17 and uses Scala 3.8.4 for build definitions and plugins.

_daily.dev helps Scala teams track build tool upgrades like the sbt 2 migration as they roll out._

### What are the main new features in sbt 2 compared to sbt 1.x?

sbt 2 adds a local/remote Bazel-compatible cache system with cachable compile and test tasks, incremental testing, in-sourced project matrix for cross-building JVM/JS/Native, and a client-server architecture using the sbtn native-image client for faster startup. It also simplifies cross-built dependency declarations, allowing %% instead of %%% for Scala.js and Scala Native libraries.

_Developers evaluating build tool changes can follow sbt 2 feature rollouts on daily.dev._

### Which sbt plugins are already compatible with sbt 2?

Scala.JS 1.22.0, Scala Native 0.5.11, and sbt-assembly 2.3.1 are already published and available for sbt 2.x, enabling cross builds across JVM, JS, and Native platforms. Play framework support is still in progress, with only a milestone release (3.1.0-M9) available. A compatibility plugin called sbt2-compat bridges source-level differences to aid plugin migration.

_Teams planning a migration can check plugin compatibility status for sbt 2 on daily.dev._

---

Tags: [#scala](https://daily.dev/tags/scala)

[View this post on daily.dev](https://daily.dev/posts/sbt-2-is-now-available--ehrfhwcu5)
