december adventure 2025
I’m going to try to work on something small everyday during december. see the original December Adventure.
my goals:
- make bad dub techno
- work on sbt 2.x
I’m going to try to work on something small everyday during december. see the original December Adventure.
my goals:
This is a blog post on sbt 2.x development, continuing from sbt 2.x remote cache, sudori part 4, part 5 etc. I work on sbt 2.x in my own time with collaboration with the Scala Center and other volunteers, like Billy at EngFlow. In this post, I want to highlight the perf improvement work I attempted in sbt 2.0.0-RC7, which was released yesterday.
Besides jump starting the plugin ecosystem, one of the motivations for the having release candidates of sbt 2.x is to start testing them with actual builds. As they say, everybody has an operational plan until they get punched in the mouth.
Hi everyone. On behalf of the sbt project, I am happy to announce sbt 2.0.0-RC7, a beta version of sbt 2.x. sbt 2.0 is a new version of sbt, based on Scala 3 constructs and Bazel-compatible cache system.
Please try it out, and report any issues you might come across. Note: sbt 2.0.0-RC7 will keep binary compatibility with 2.0.0 and 2.x.
See https://github.com/sbt/sbt/releases/tag/v2.0.0-RC7 for the full details.
Hi everyone. On behalf of the sbt project, I am happy to announce sbt 1.12.0-M2. This is the twelfth feature release of sbt 1.x, a binary compatible release focusing on new features. sbt 1.x is released under Semantic Versioning, and the plugins are expected to work throughout the 1.x series. Please try it out, and report any issues you might come across.
The headline features of sbt 1.12.0 are:
Full release note is here - https://github.com/sbt/sbt/releases/tag/v1.12.0-M2
Expecty 0.17.1 is released. Expecty brings power assert (or power assertion) to Scala. It was originally implemented by Peter Niederwieser who implemented the original power assertion Spock in Groovy. It had gone dormant for a while, and I forked it in 2018, and started publishing it against modern build matrix like Scala 2.12, 2.13, 3.x, JVM, JS, and Native.
Hi everyone. On behalf of the sbt project, I am happy to announce sbt 1.12.0-M1. This is the twelfth feature release of sbt 1.x, a binary compatible release focusing on new features. sbt 1.x is released under Semantic Versioning, and the plugins are expected to work throughout the 1.x series. Please try it out, and report any issues you might come across.
The headline features of sbt 1.12.0 are:
Full release note is here - https://github.com/sbt/sbt/releases/tag/v1.12.0-M1
In this post, I want to look into the incremental compilation of Scala 3, or the apparent problem associated with it. The incremental compilation on Scala 2.12 or 2.13 has been fairly stable, but for some reason it’s more fragile on Scala 3.x in my experience. We will investigate the cause and attempt to fix it as scala/scala3#24171.
Hi everyone. On behalf of the sbt project, I’m happy to announce that sbt 1.11.7 patch release is available.
The headline features of sbt 1.11.7 are:
sbt runnerFull release note is here - https://github.com/sbt/sbt/releases/tag/v1.11.7. See 1.11.0 release note for the details on 1.11.x features.
Hi everyone. On behalf of the sbt project, I am happy to announce sbt 2.0.0-RC6, a beta version of sbt 2.x. sbt 2.0 is a new version of sbt, based on Scala 3 constructs and Bazel-compatible cache system.
Please try it out, and report any issues you might come across. Note: sbt 2.0.0-RC6 will keep binary compatibility with 2.0.0 and 2.x.
See https://github.com/sbt/sbt/releases/tag/v2.0.0-RC6 for the full details.
Hi everyone. On behalf of the sbt project, I’m happy to announce that sbt 1.11.6 patch release is available.
The headline features of sbt 1.11.6 are:
Full release note is here - https://github.com/sbt/sbt/releases/tag/v1.11.6. See 1.11.0 release note for the details on 1.11.x features.
Hi everyone. On behalf of the sbt project, I’m happy to announce that sbt 1.11.5 patch release is available.
The headline features of sbt 1.11.5 are:
sbt --jvm-clientFull release note is here - https://github.com/sbt/sbt/releases/tag/v1.11.5. See 1.11.0 release note for the details on 1.11.x features.
I went to Scala Days 2025 at EPFL this week to give a talk on sbt 2.0.
Hi everyone. On behalf of the sbt project, I’m happy to announce that sbt 1.11.4 patch release is available. Full release note is here - https://github.com/sbt/sbt/releases/tag/v1.11.4
See 1.11.0 release note for the details on 1.11.x features.
Hi everyone. On behalf of the sbt project, I’m happy to announce that sbt 1.11.3 patch release is available. Full release note is here - https://github.com/sbt/sbt/releases/tag/v1.11.3
See 1.11.0 release note for the details on 1.11.x features.
Hi everyone. On behalf of the tree-sitter-scala project, I am happy to announce tree-sitter-scala 0.24.0. The first two segments of the version number comes from the tree-sitter-cli that was used to generate the parser, and the last segment is our actual version number. tree-sitter-scala 0.24.0 uses tree-sitter 0.24.x.
tree-sitter-scala is a Scala parser in C language, generated using Tree-sitter CLI, and conforming to the Tree-sitter API. Tree-sitter parsers are generally fast, incremental, and robust (ok with partial errors). We publish Rust binding to crates.io.
Hi everyone. On behalf of the sbt project, I’m happy to announce that sbt 1.11.2 patch release is available. Full release note is here - https://github.com/sbt/sbt/releases/tag/v1.11.2
See 1.11.0 release note for the details on 1.11.x features.
Hi everyone. On behalf of the sbt project, I’m happy to announce that sbt 1.11.1 patch release is available. Full release note is here - https://github.com/sbt/sbt/releases/tag/v1.11.1
See 1.11.0 release note for the details on 1.11.x features.
Hi everyone. On behalf of the sbt project, I am happy to announce sbt 1.11.0. This is the eleventh feature release of sbt 1.x, a binary compatible release focusing on new features. sbt 1.x is released under Semantic Versioning, and the plugins are expected to work throughout the 1.x series. Please try it out, and report any issues you might come across.
The headline features of sbt 1.11.0 are:
Full release note is here - https://github.com/sbt/sbt/releases/tag/v1.11.0
Hi everyone. On behalf of the sbt project, I am happy to announce sbt 1.11.0-RC2. This is the eleventh feature release of sbt 1.x, a binary compatible release focusing on new features. sbt 1.x is released under Semantic Versioning, and the plugins are expected to work throughout the 1.x series. Please try it out, and report any issues you might come across.
The headline features of sbt 1.11.0 are:
Full release note is here - https://github.com/sbt/sbt/releases/tag/v1.11.0-RC2
Eval 0.3.1 is released. Eval evaluates Scala 3 code. See https://eed3si9n.com/eval/ for details.
Eval 0.3.1 introduces a workaround for the Scala 3.x VirtualFile issue on Windows #19.
@ifdef is a Scala compiler plugin that implements conditional compilation in Scala. ifdef 0.4.1 supports Scala JVM, JS and Native.
| Scala Version | JVM | JS (1.x) | Native (0.5.x) | sbt plugin |
|---|---|---|---|---|
| 3.x | ✅ | ✅ | ✅ | ✅ |
| 2.13.x | ✅ | ✅ | ✅ | n/a |
| 2.12.x | ✅ | ✅ | ✅ | ✅ |
Gigahorse 0.9.0 is released. Gigahorse is an HTTP client for Scala that I started in 2016, with multiple backend support: Apache HttpClient 5.x, AsyncHttpClient 2.12.x, OkHttp 3.x, and Pekko HTTP 1.x.
Gigahorse 0.8.0 is released. Gigahorse is an HTTP client for Scala that I started in 2016, with multiple backend support. See documentation for more details on Gigahorse itself.
Hi everyone. On behalf of the sbt project, I’m happy to announce that sbt 1.10.11 patch release is available. Full release note is here - https://github.com/sbt/sbt/releases/tag/v1.10.11.
See 1.10.0 release note for the details on 1.10.x features.
sbt --client shutdown short-circuitHi everyone. On behalf of the sbt project, I am happy to announce sbt 2.0.0-M4, a beta version of sbt 2.x. Please try it out, and report any issues you might come across. Note that sbt 2.x is released under Semantic Versioning, and the plugins will need to be published for the specific milestone version.
I work on sbt in my own time with collaboration with Adrien Piquerez and other volunteers, like Kenji Yoshida, Jerry Tan, Matthias Kurz (Play maintainer), and recently Billy at EngFlow to name a few.