search term:

incremental compilation of Scala 3

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.

sbt 1.11.7

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:

  • Launcher 1.5.1 to fix sbt 0.13 support, including on setup-sbt action v1
  • JDK 25 warning workaround by adding JDK flags in sbt runner
  • Backport of JDK 25 JEP-512/JEP-445 Main run

Full 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.

sbt 2.0.0-RC6

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.

Key changes since 2.0.0-RC5

See https://github.com/sbt/sbt/releases/tag/v2.0.0-RC6 for the full details.

sbt 1.11.5

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:

  • Scala 3.8.0 (currently nightly) support
  • Scala Nightly repository support
  • Central Repository publishing improvements
  • sbt --jvm-client
  • sbtn improvements

Full 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.

tree-sitter-scala 0.24.0

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.

About tree-sitter-scala

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.

sbt 1.11.0

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:

  • Support for the Central Repository publishing

Full release note is here - https://github.com/sbt/sbt/releases/tag/v1.11.0

sbt 1.11.0-RC2

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:

  • Support for the Central Repository publishing

Full release note is here - https://github.com/sbt/sbt/releases/tag/v1.11.0-RC2

ifdef 0.4.1

@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

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

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.

sbt 2.0.0-M4

Hi 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.

sbt 1.10.9

Hi everyone. On behalf of the sbt project, I’m happy to announce that sbt 1.10.9 patch release is available. Full release note is here - https://github.com/sbt/sbt/releases/tag/v1.10.9.

  • There’s now sbt 1.10.10
  • sbt 1.10.8 is skipped since we found a bug post-release

See 1.10.0 release note for the details on 1.10.x features.

Highlights

  • Adds allowUnsafeScalaLibUpgrade setting
  • Zinc bug fix to improve local source dependency invalidation
  • sbtn client-side run capability (not enabled in sbt 1.x)

sudori part 7: client-side run with sbt

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. Lately I’ve been working on a feature called client-side run, a feature I’ve thought sbt should have for a long time.

what is client-side run?

A client-side run is an execution of the user-land program initiated at the client-side, without blocking the sbt server. I should probably unpack the details for this to make sense.

december adventure 2024

I’m going to try to work on something small everyday during december. see the original December Adventure.

my goal: work on sbt 2.x, other open source like sbt 1.x and plugins, or some post on this site, like music or recipe.

2024-12-31

checking out Boston suburbs. had coffee at Tatte Bakery & Cafe, and skated a bit at Newton Centre Playground nearby.

in the evening, we picked up some veggies at Whole Foods, dinner from 八福川菜 (Sichuan Gourmet House), and prepped for the midnight soba noodle, and ozouni for the new year.

addressed a review comment on io#397, which retries non-IOExceptions.

ifdef 0.4.0

@ifdef is a Scala compiler plugin that implements conditional compilation in Scala. ifdef 0.4.0 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