Skip to content

Releases: sbt/sbt

1.7.0-M1

27 Mar 07:37
v1.7.0-M1
d065f38
Compare
Choose a tag to compare
1.7.0-M1 Pre-release
Pre-release

Scala 3 forward compatibility support

sbt 1.7.0 implements support for Scala 3.1.2's improved forward compatibility feature.

ThisBuild / scalaVersion       := "3.1.2-RC2"
ThisBuild / scalaOutputVersion := "3.0.2"

This sets the -scala-output-version compiler option to 3.0, which lets us generate TASTy files and bytecode compatible with older Scala 3.x versions, while using newer Scala 3.x compiler at runtime. In addition, runtime Scala version and POM entries are also downgraded to 3.0.2.

The sbt support for this was contributed by Michał Pałka at VirtusLab as #6814.

Other updates

1.6.2

01 Feb 04:39
v1.6.2
Compare
Choose a tag to compare

License

sbt 1.6.2 adds License object that defines predefined license values:

licenses := List(License.Apache2)

Predefined values are License.Apache2, License.MIT, License.CC0, and License.GPL3_or_later. lm#395 by @eed3si9n

v1.6.1...v1.6.2

1.6.1

29 Dec 05:37
v1.6.1
Compare
Choose a tag to compare
  • sbt 1.6.1 updates log4j 2 to 2.17.1, which fixes a remote code execution vulnerability when attacker controls configuration (CVE-2021-44832) #6765 by @eed3si9n

1.6.0

26 Dec 19:29
v1.6.0
Compare
Choose a tag to compare

v1.5.8...v1.6.0

Changes with compatibility implications

BSP improvements

  • Fixes .sbtopts not getting picked up when sbt server is started by Metals #6593 by @adpi2
  • Fixes BSP IntelliJ import when java is not on PATH #6576 by @github-samuel-clarenc
  • Implements BSP buildTarget/cleanCache, which fixes IntelliJ rebuild #6638 by @hmemcpy
  • Implements BSP build/taskProgress notifications #6642 by @hmemcpy
  • Improves BSP IntelliJ import by sending information about sbt server process failure #6573 by @github-samuel-clarenc
  • Makes BSP requests robust to some target failures #6609 by @adpi2
  • Sends BSP diagnostics and meaningful error message when reloading fails #6566 by @adpi2
  • Fixes handling of sources in the base directory #6701 by @adpi2
  • Fixes sbtn buffer not printing out all the outputs on system out #6703 by @adpi2
  • Fixes infinite loop when server fails to load #6707 by @adpi2
  • Fixes handling of fake position such as <macro>, which are occasionally returned by the compiler #6730 by @eed3si9n
  • Adds sbt shutdownall to shutdown all sbt server instances #6697 by @er1c
  • Adds sbt --no-server to not start the server or use a virtual terminal #6728 by @eed3si9n

Zinc improvements

Remote caching improvements

sbt 1.6.0 improves remote caching of resources directory by virtualizing the internal sync state (copy-resources.txt). This allows incremental resource directory synching to be resumed from the remote cache, similar to how Zinc has been able to resume incremental compilation from the remote cache. This was contributed by Amina Adewusi (@Nirvikalpa108) as #6611.

Dependency tree improvements

  • Fixes dependencyTree to use asciiGraphWidth setting 6693 by @kijuky
  • Fixes rendering cycles in dependencyBrowseTree #6675 by @nimatrueway
  • Migrates dependencyBrowseTree to use Contraband data types instead of scala.util.parsing.json #6699 by @Nirvikalpa108

Other updates

1.5.8

20 Dec 23:59
v1.5.8
Compare
Choose a tag to compare
  • sbt 1.5.8 updates log4j 2 to 2.17.0, which fixes a denial of service vulnerability caused by infinite recursion (CVE-2021-45105) #6755 by @augi

1.6.0-RC2

18 Dec 23:45
v1.6.0-RC2
Compare
Choose a tag to compare
1.6.0-RC2 Pre-release
Pre-release

v1.6.0-RC1...v1.6.0-RC2

Changes with compatibility implications

BSP improvements

  • Fixes .sbtopts not getting picked up when sbt server is started by Metals #6593 by @adpi2
  • Fixes BSP IntelliJ import when java is not on PATH #6576 by @github-samuel-clarenc
  • Implements BSP buildTarget/cleanCache, which fixes IntelliJ rebuild #6638 by @hmemcpy
  • Implements BSP build/taskProgress notifications #6642 by @hmemcpy
  • Improves BSP IntelliJ import by sending information about sbt server process failure #6573 by @github-samuel-clarenc
  • Makes BSP requests robust to some target failures #6609 by @adpi2
  • Sends BSP diagnostics and meaningful error message when reloading fails #6566 by @adpi2
  • Fixes handling of sources in the base directory #6701 by @adpi2
  • Fixes sbtn buffer not printing out all the outputs on system out #6703 by @adpi2
  • Fixes infinite loop when server fails to load #6707 by @adpi2
  • Fixes handling of fake position such as <macro>, which are occasionally returned by the compiler #6730 by @eed3si9n
  • Adds sbt shutdownall to shutdown all sbt server instances #6697 by @er1c
  • Adds sbt --no-server to not start the server or use a virtual terminal #6728 by @eed3si9n

Zinc improvements

Remote caching improvements

sbt 1.6.0 improves remote caching of resources directory by virtualizing the internal sync state (copy-resources.txt). This allows incremental resource directory synching to be resumed from the remote cache, similar to how Zinc has been able to resume incremental compilation from the remote cache. This was contributed by Amina Adewusi (@Nirvikalpa108) as #6611.

Dependency tree improvements

  • Fixes dependencyTree to use asciiGraphWidth setting 6693 by @kijuky
  • Fixes rendering cycles in dependencyBrowseTree #6675 by @nimatrueway
  • Migrates dependencyBrowseTree to use Contraband data types instead of scala.util.parsing.json #6699 by @Nirvikalpa108

Other updates

1.5.7

15 Dec 06:51
v1.5.7
Compare
Choose a tag to compare
  • sbt 1.5.7 updates log4j 2 to 2.16.0, which disables JNDI lookup and fixes a denial of service vulnerability (CVE-2021-45046) #6749 by @augi

1.5.6

10 Dec 05:51
v1.5.6
Compare
Choose a tag to compare

1.6.0-RC1

29 Nov 18:19
v1.6.0-RC1
Compare
Choose a tag to compare
1.6.0-RC1 Pre-release
Pre-release

Changes with compatibility implications

  • The Scala version used to compile build.sbt is updated to Scala 2.12.15, which improves the compatibility with JDK 17+. The metabuild is compiled with -Xsource:3 flag #6664 by @Nirvikalpa108 + @eed3si9n
  • sbt.TrapExit is dropped due to Security Manager being deprecated in JDK 17. Calling sys.exit in run or test would shutdown the sbt session. Use forking to prevent it #6665 by @eed3si9n
  • sbt 1.6.0 reads credentials from the file specified using SBT_CREDENTIALS environment variable, following sbt launcher #6724 by @daddykotex

BSP improvements

  • Fixes .sbtopts not getting picked up when sbt server is started by Metals #6593 by @adpi2
  • Fixes BSP IntelliJ import when java is not on PATH #6576 by @github-samuel-clarenc
  • Implements BSP buildTarget/cleanCache, which fixes IntelliJ rebuild #6638 by @hmemcpy
  • Implements BSP build/taskProgress notifications #6642 by @hmemcpy
  • Improves BSP IntelliJ import by sending information about sbt server process failure #6573 by @github-samuel-clarenc
  • Makes BSP requests robust to some target failures #6609 by @adpi2
  • Sends BSP diagnostics and meaningful error message when reloading fails #6566 by @adpi2
  • Fixes handling of sources in the base directory #6701 by @adpi2
  • Fixes sbtn buffer not printing out all the outputs on system out #6703 by @adpi2
  • Fixes infinite loop when server fails to load #6707 by @adpi2
  • Fixes handling of fake position such as <macro>, which are occasionally returned by the compiler #6730 by @eed3si9n
  • Adds sbt shutdownall to shutdown all sbt server instances #6697 by @er1c
  • Adds sbt --no-server to not start the server or use a virtual terminal #6728 by @eed3si9n

Zinc improvements

Remote caching improvements

sbt 1.6.0 improves remote caching of resources directory by virtualizing the internal sync state (copy-resources.txt). This allows incremental resource directory synching to be resumed from the remote cache, similar to how Zinc has been able to resume incremental compilation from the remote cache. This was contributed by Amina Adewusi (@Nirvikalpa108) as #6611.

Dependency tree improvements

  • Fixes dependencyTree to use asciiGraphWidth setting 6693 by @kijuky
  • Fixes rendering cycles in dependencyBrowseTree #6675 by @nimatrueway
  • Migrates dependencyBrowseTree to use Contraband data types instead of scala.util.parsing.json #6699 by @Nirvikalpa108

Other updates

  • Updates to lm-coursier 2.0.9, which uses Coursier 2.1.0-M1. This fixes full Scala suffix getting incorrectly overwritten by scalaVersion #6725 by @eed3si9n
  • Fixes tab completion of global keys #6716 by @eed3si9n
  • Fixes shutdown hook error in timing report #6630 by @Nirvikalpa108
  • Fixes ClassCastException in XMainConfiguration #6649 by @eed3si9n
  • Moves scalaInstanceTopLoader to compileBase settings #6480 by @adpi2
  • Fixes crossSbtVersions included into lintBuild #6656 by @Nirvikalpa108
  • Fixes realpathish function in sbt runner script #6641 by @darabos
  • Fixes repeated version numbers in eviction error lm#386 by @rtyley
  • Flyweights ConfigRef to reduce heap usage lm#390 by @eed3si9n
  • Adds Windows Java home selectors for JDK cross building #6684 by @kxbmap
  • Makes scripted Java home configurable using scripted / javaHome #6673 by @kxbmap

1.6.0-M1

20 Sep 00:34
v1.6.0-M1
Compare
Choose a tag to compare
1.6.0-M1 Pre-release
Pre-release

Changes with compatibility implications

  • The Scala version used to compile build.sbt is updated to Scala 2.12.15, which improves the compatibility with JDK 17+. The metabuild is compiled with -Xsource:3 flag #6664 by @Nirvikalpa108 + @eed3si9n
  • sbt.TrapExit is dropped due to Security Manager being deprecated in JDK 17. Calling sys.exit in run or test would shutdown the sbt session. Use forking to prevent it #6665 by @eed3si9n

BSP improvements

  • Fixes .sbtopts not getting picked up when sbt server is started by Metals #6593 by @adpi2
  • Fixes BSP IntelliJ import when java is not on PATH #6576 by @github-samuel-clarenc
  • Implements BSP buildTarget/cleanCache, which fixes IntelliJ rebuild #6638 by @hmemcpy
  • Implements BSP build/taskProgress notifications #6642 by @hmemcpy
  • Improves BSP IntelliJ import by sending information about sbt server process failure #6573 by @github-samuel-clarenc
  • Makes BSP requests robust to some target failures [#6609][6609] by @adpi2
  • Sends BSP diagnostics and meaningful error message when reloading fails #6566 by @adpi2

Remote caching improvements

sbt 1.6.0 improves remote caching of resources directory by virtualizing the internal sync state (copy-resources.txt). This allows incremental resource directory synching to be resumed from the remote cache, similar to how Zinc has been able to resume incremental compilation from the remote cache. This was contributed by Amina Adewusi (@Nirvikalpa108) as #6611.

Zinc improvements

Other updates