sbt 1.4.6


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

How to upgrade

Download the official sbt launcher from SDKMAN or download from

In addition, the sbt version used for your build is upgraded by putting the following in project/


This mechanism allows that sbt 1.4.6 is used only for the builds that you want.


  • Updates to Coursier 2.0.8, which fixes the cache directory setting on Windows (Fix contributed by Frank Thomas)
  • Fixes performance regression in shell tab completion #6214 by @eed3si9n
  • Fixes match error when using withDottyCompat lm#352 by @eed3si9n
  • Fixes thread-safety in AnalysisCallback handler zinc#957 by @dotta

new tab completion feature in sbt 1.4.x

sbt 1.4.x upgraded the underlying line reader to JLine 3, which implements a better tab completion. For example, in sbt 1.3.x,

sbt:root> ++2[tab]

would complete to

sbt:root> ++2.1

but hitting the tab again

sbt:root> ++2.1[tab]

would just display

sbt:root> ++2.1[tab]
2.11.12   2.12.12   2.13.4
sbt:root> ++2.1[tab]
2.11.12   2.12.12   2.13.4

On the other hand, sbt 1.4.6 would highlight cycle through candidates from the second [tab] onwards.


sbt 1.4.6 was brought to you by 3 contributors. Eugene Yokota (eed3si9n), Mirco Dotta, and Frank Thomas. Thank you!

Thanks to everyone who's helped improve sbt and Zinc 1 by using them, reporting bugs, improving our documentation, porting builds, porting plugins, and submitting and reviewing pull requests.

For anyone interested in helping sbt, there are many avenues for you to help, depending on your interest. If you're interested, Contributing, "help wanted", "good first issue" are good starting points. If you have ideas let us know on sbt Discussions.

Donate to April

Apparently April, an active contributor to Scala compiler has been sick without diagnosis. Let's help her out!