sbt 1.5.3

  • Fixes scalacOptions not getting forwarded to ScalaDoc in Scala 3 #6499 by @pikinier20
  • Fixes undercompilation of sealed traits that extends other seal traits zinc#979 by @dwijnand
  • Fixes version parsing not recognizing dots in a prerelease tag lm#377 by @Nirvikalpa108
  • Fixes inputFile resolving to incorrect files when file specific globs are used io#319 by @eatkins
  • Updates to Scala 2.12.14 #6522 by @mkurz

For more details please see

Scala, Python quick reference

syntax Scala Python
immutable variable val x = 1 Starlark:
REV = "1.1.0"
lazy variable lazy val x = 1 n/a
mutable variable var x = 1 in function:
x = 1
if expression if (x > 1) "a" else "b" "a" if x > 1 else "b"

POM consistency for sbt plugins


There's a long-standing bug that sbt maintainers have known for a while, which is that when sbt plugin is published to a Maven repository, the POM file sbt generates is not valid.

Here's an example. sbt-pgp 2.1.2 is published to, but if you look at the POM file name it's sbt-pgp-2.1.2.pom, not matching the URL structure sbt-pgp_2.12_1.0. Since most plugins were published to Bintray until recently, and because only a few plugins were published to Sonatype OSSRH, which seems to be okay with this, this issue has not gotten too much attention.

Fast forward 2021, Bintray was discontinued, and now that more plugins are published to Sonatype OSSRH, companies that use Artifactory to front Maven Central are running into this. Active GitHub issue is sbt/sbt#3410. I will discuss an experimental workaround for this.

sbt 1.5.2


I'm happy to announce sbt 1.5.2 patch release is available. Full release note is here -

Bintray to JFrog Artifactory migration status and sbt 1.5.1


I'm happy to announce sbt 1.5.1 patch release is available. Full release note is here - This post will also report the Bintray to JFrog Artifactory migration.

There's now a cloud-hosted Artifactory instance licensed to Scala Center. Let's call this "Artsy" in this post instead of the Artifactory instance. With the release of sbt 1.5.1, I think we can say that the migration is done.

herding cats: day 19


Wrote herding cats: day 19 featuring FunctionK, or Rúnar's encoding of rank-2 polymorphic function, and Resource datatype, which he envisioned rank-N polymorphism would unlock back in 2010.

sbt 1.5.0


Hi everyone. On behalf of the sbt project, I am happy to announce sbt 1.5.0. This is the fifth 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.

The headline features of sbt 1.5.0 are:

  • Scala 3 support
  • Eviction error
  • Deprecation of sbt 0.13 syntax
  • Coursier-based launcher

How to upgrade

sbt 1.4.9


I'm happy to announce sbt 1.4.9 patch release is available. Full release note is here -


  • sbt 1.4.9 fixes JLine 2 fork + JAnsi version to match that of JLine 3.19.0 to fix line reading, which among other things affected IntelliJ import.
  • sbt 1.4.9 is a maintenance patch. The most notable thing is that this was that it was released without using Bintray, and a few things were dropped. See below for details.

sbt 1.4.9 is published to Sonatype OSS without going through Bintray.

  • Prior to 1.4.8, sbt-launcher was published twice under sbt-launch.jar and Maven-compatible sbt-launch-<version>.jar. We're no longer going to publish the Maven incompatible form of the launcher JAR. The latest sbt-extras has already migrated to the correct URL, but CI environments using an older version of it may experience disruptions.
  • DEB and RPM packages are not provided for this release. I hope we will have a replacement repo up to eventually be able to support this, but we do not have one yet. For now, download *.tgz from GitHub release.
Syndicate content