Update dependency sbt/sbt to v1.8.2 #17

Merged
renovate[bot] merged 1 commit from renovate/sbt-sbt-1.x into master 2023-02-28 13:04:46 +00:00
renovate[bot] commented 2023-02-28 06:40:16 +00:00 (Migrated from github.com)

Mend Renovate

This PR contains the following updates:

Package Update Change
sbt/sbt minor 1.1.6 -> 1.8.2

Release Notes

sbt/sbt

v1.8.2: 1.8.2

Compare Source

updates

v1.8.1: 1.8.1

Compare Source

Bug fixes

Updates

New Contributors

Full Changelog: https://github.com/sbt/sbt/compare/v1.8.0...v1.8.1

v1.8.0: 1.8.0

Compare Source

Security fixes

  • Updates to Coursier 2.1.0-RC1 to address CVE-2022-37866
  • Updates to Ivy 2.3.0-sbt-a8f9eb5bf09d0539ea3658a2c2d4e09755b5133e to address CVE-2022-37866

Changes with compatibility implications

  • Updates to Scala 2.12.17 + Scala compiler 2.12.17, which upgrades to scala-xml 2.x #​7021

Bug fixes

Other updates

  • Adds long classpath support on JDK 9+ via argument file (opt out using -Dsbt.argsfile=false or SBT_ARGSFILE environment variable) #​7010 by @​easel
  • Adds out-of-box ZIO Test support #​7053 by @​987Nabil
  • Adds support for newly introduced buildTarget/outputPaths method of Build Server Protocol. #​6985 by @​povder

New Contributors

Full Changelog: https://github.com/sbt/sbt/compare/v1.7.1...v1.8.0

v1.7.3: 1.7.3

Compare Source

updates

new contributors

Full Changelog: https://github.com/sbt/sbt/compare/v1.7.2...v1.7.3

v1.7.2: 1.7.2

Compare Source

See https://github.com/sbt/sbt/releases/tag/v1.7.0 for the details on sbt 1.7.x.

v1.7.1: 1.7.1

Compare Source

See https://github.com/sbt/sbt/releases/tag/v1.7.0 for the details on sbt 1.7.x.

Bug fix

Full Changelog: https://github.com/sbt/sbt/compare/v1.7.0...v1.7.1

v1.7.0: 1.7.0

Compare Source

Changes with compatibility implications
++ command updates

Prior to sbt 1.7 ++ <sv> <command1> filtered subprojects using crossScalaVersions having the same ABI suffix as <sv>. This behavior was generally not well understood, and also created incorrect result for Scala 3.x since ++ 3.0.1 test could downgrade subproject that may require 3.1 or above.

sbt 1.7.0 fixes this by requiring ++ <sv> <command1> so <sv> part can be given as a semantic version selector expression, such as 3.1.x or 2.13.x. Note that the expression may match at most one Scala version to switch into. In sbt 1.7.0, a concrete version such as ++ 3.0.1 equires exact version to be present in crossScalaVersion.

This contribution was a collaborated effort among Arnout Engelen #​6894, Rui Gonçalves lm#​400, and Eugene Yokota.

Scala 3 compiler error improvements

In zinc#​1082, Toshiyuki Takahashi contributed a fix to ignore Problem#rendered passed from the compiler when sbt uses position mapper to transform the position. This is aimed at fixing the error reporting for Play on Scala 3.

In #​6874, Chris Kipp extended xsbti.Problem to track richer information available in Scala 3. This is aimed at enhancing the compilation errors reported to BSP client such as Metals.

BSP updates
Other updates

v1.6.2: 1.6.2

Compare Source

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: 1.6.1

Compare Source

  • 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

v1.6.0: 1.6.0

Compare Source

Changes with compatibility implications
BSP improvements
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
Other updates

v1.5.8: 1.5.8

Compare Source

  • 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

v1.5.7: 1.5.7

Compare Source

  • 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

v1.5.6: 1.5.6

Compare Source

  • sbt 1.5.6 updates log4j 2 to 2.15.0, which fixes remote code execution vulnerability (CVE-2021-44228) #​6743 by @​eed3si9n

v1.5.5: 1.5.5

Compare Source

v1.5.4: 1.5.4

Compare Source

v1.5.3: 1.5.3

Compare Source

v1.5.2: 1.5.2

Compare Source

v1.5.1: 1.5.1

Compare Source

v1.5.0: 1.5.0

Compare Source

The headline features of sbt 1.5.0 are:

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

sbt 1.5.0 adds built-in Scala 3 support, contributed by Scala Center. Main implementation was done by Adrien Piquerez (@​adpi2) based on EPFL/LAMP's sbt-dotty. You can now use Scala 3.0.0-RC2 like any other Scala version.

ThisBuild / scalaVersion := "3.0.0-RC2"

This will compile the following Hello.scala:

package example

@&#8203;main def hello(arg: String*): Unit =
  if arg.isEmpty then println("hello")
  else println(s"hi ${arg.head}")

Note: To support cross testing of various Scala 3.x releases, crossTarget directory will contain the full Scala version. #​6415

Scala 2.13-3.x sandwich

Scala 3.0.x shares the standard library with Scala 2.13, and since Scala 2.13.4, they can mutually consume the output of each other as external library. This allows you to create Scala 2.13-3.x sandwich, a layering of dependencies coming from different Scala versions.

Warning: Library authors should generally treat Scala 3.0 as any other major version, and prefer to cross publish _3 variant to avoid the conflict. Some libraries may encode a particular notion in different ways for Scala 2.13 and 3.0. For example, arity abstraction may use Shapeless HList in Scala 2.13, but built-in Tuple types in Scala 3.0. Thus it's generally not safe to have _2.13 and _3 versions of the same library in the classpath, even transitively. Application developers should be free to use .cross(CrossVersion.for3Use2_13) as long as the transitive dependency graph will not introduce _2.13 variant of a library you already have in _3 variant.

sbt 1.5.0 introduces new cross building operand to use _3 variant when scalaVersion is 2.13.x, and vice versa:

("a" % "b" % "1.0").cross(CrossVersion.for3Use2_13)

("a" % "b" % "1.0").cross(CrossVersion.for2_13Use3)

lm#​361 by @​adpi2

Deprecation of sbt 0.13 syntax

sbt 1.5.0 deprecates both the sbt 0.13 style shell syntax proj/config:intask::key and sbt 0.13 style build.sbt DSL key in (Compile, intask) in favor of the unified slash syntax.

There's a syntactic Scalafix rule for unified slash syntax
to semi-automatically rewrite existing sbt 0.13 syntax to the slash syntax. Currently it requires the use of scalafix CLI
and it's not very precise (because it's a syntactic rule that only looks at the shape of the code) but it gets most of the job done.

$ scalafix --rules=https://gist.githubusercontent.com/eed3si9n/57e83f5330592d968ce49f0d5030d4d5/raw/7f576f16a90e432baa49911c9a66204c354947bb/Sbt0_13BuildSyntax.scala *.sbt project/*.scala

See https://www.scala-sbt.org/1.x/docs/Migrating-from-sbt-013x.html#slash for details.

Eviction error

sbt 1.5.0 removes eviction warning, and replaces it with stricter eviction error. Unlike the eviction warning that was based on speculation, eviction error only uses the ThisBuild / versionScheme information supplied by the library authors.

For example:

lazy val use = project
  .settings(
    name := "use",
    libraryDependencies ++= Seq(
      "org.http4s" %% "http4s-blaze-server" % "0.21.11",
      // https://repo1.maven.org/maven2/org/typelevel/cats-effect_2.13/3.0.0-M4/cats-effect_2.13-3.0.0-M4.pom
      // is published with early-semver
      "org.typelevel" %% "cats-effect" % "3.0.0-M4",
    ),
  )

The above build will fail to build use/compile with the following error:

[error] stack trace is suppressed; run last use / update for the full output
[error] (use / update) found version conflict(s) in library dependencies; some are suspected to be binary incompatible:
[error]
[error]   * org.typelevel:cats-effect_2.12:3.0.0-M4 (early-semver) is selected over {2.2.0, 2.0.0, 2.0.0, 2.2.0}
[error]       +- use:use_2.12:0.1.0-SNAPSHOT                        (depends on 3.0.0-M4)
[error]       +- org.http4s:http4s-core_2.12:0.21.11                (depends on 2.2.0)
[error]       +- io.chrisdavenport:vault_2.12:2.0.0                 (depends on 2.0.0)
[error]       +- io.chrisdavenport:unique_2.12:2.0.0                (depends on 2.0.0)
[error]       +- co.fs2:fs2-core_2.12:2.4.5                         (depends on 2.2.0)
[error]
[error]
[error] this can be overridden using libraryDependencySchemes or evictionErrorLevel

This is because Cats Effect 2.x and 3.x are found in the classpath, and Cats Effect has declared that it uses early-semver. If the user wants to opt-out of this, the user can do so per module:

ThisBuild / libraryDependencySchemes += "org.typelevel" %% "cats-effect" % VersionScheme.Always

or globally as:

ThisBuild / evictionErrorLevel := Level.Info

On the other hand, if you want to bring back the guessing feature in eviction warning, you can do using the following settings:

ThisBuild / assumedVersionScheme := VersionScheme.PVP
ThisBuild / assumedVersionSchemeJava := VersionScheme.EarlySemVer
ThisBuild / assumedEvictionErrorLevel := Level.Warn

@​eed3si9n implemented this in #​6221, inspired in part by Scala Center's sbt-eviction-rules, which was implemented by Alexandre Archambault (@​alxarchambault) and Julien Richard-Foy (@​julienrf).

ThisBuild / packageTimestamp setting

In sbt 1.4.0 we started wiping out the timestamps in JAR to make the builds more repeatable. This had an unintended consequence of breaking Play's last-modified response header.

To opt out of this default, the user can use:

ThisBuild / packageTimestamp := Package.keepTimestamps

// or

ThisBuild / packageTimestamp := Package.gitCommitDateTimestamp

#​6237 by @​eed3si9n

Coursier-based launcher

sbt launcher shipped in the official installer of sbt is a generic launcher that is able to launch all versions of sbt. For the sbt launcher shipped with sbt 1.5.0 installer, its internal dependency resolver used to resolve sbt itself was updated from Apache Ivy to Coursier (Dependency resolver for the built has been updated to Coursier in sbt 1.3.0).

You can use -Dsbt.launcher.coursier=false to opt out of using Coursier and used Apache Ivy instead. launcher#​86 by @​eed3si9n

Other updates

v1.4.9: 1.4.9

Compare Source

Changes since 1.4.9

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.

Changes with compatibility implications

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

  • Prior to 1.4.9, 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 and older version of it may experience disruptions. As the fix, curl *.tgz from GitHub release.
  • 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.
Migration note for Travis CI

If you're using Travis CI, you might run into the above issue because it's using an older version of sbt-extras. Here's how you can use the official sbt launcher script instead:

install:
  - |

### update this only when sbt-the-bash-script needs to be updated
    export SBT_LAUNCHER=1.4.9
    export SBT_OPTS="-Dfile.encoding=UTF-8"
    curl -L --silent "https://github.com/sbt/sbt/releases/download/v$SBT_LAUNCHER/sbt-$SBT_LAUNCHER.tgz" > $HOME/sbt.tgz
    tar zxf $HOME/sbt.tgz -C $HOME
    sudo rm /usr/local/bin/sbt
    sudo ln -s $HOME/sbt/bin/sbt /usr/local/bin/sbt
script:
  - sbt -v "+test"
Fixes

v1.4.8: 1.4.8

Compare Source

Changes with compatibility implications

sbt 1.4.8 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 and older version of it may experience disruptions. As the fix, curl *.tgz from GitHub release.
  • 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.
Migration note for Travis CI

If you're using Travis CI, you might run into the above issue because it's using an older version of sbt-extras. Here's how you can use the official sbt launcher script instead:

install:
  - |

### update this only when sbt-the-bash-script needs to be updated
    export SBT_LAUNCHER=1.4.8
    export SBT_OPTS="-Dfile.encoding=UTF-8"
    curl -L --silent "https://github.com/sbt/sbt/releases/download/v$SBT_LAUNCHER/sbt-$SBT_LAUNCHER.tgz" > $HOME/sbt.tgz
    tar zxf $HOME/sbt.tgz -C $HOME
    sudo rm /usr/local/bin/sbt
    sudo ln -s $HOME/sbt/bin/sbt /usr/local/bin/sbt
script:
  - sbt -v "+test"
Fixes

v1.4.7: 1.4.7

Compare Source

v1.4.6: 1.4.6

Compare Source

v1.4.5: 1.4.5

Compare Source


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [sbt/sbt](https://togithub.com/sbt/sbt) | minor | `1.1.6` -> `1.8.2` | --- ### Release Notes <details> <summary>sbt/sbt</summary> ### [`v1.8.2`](https://togithub.com/sbt/sbt/releases/tag/v1.8.2): 1.8.2 [Compare Source](https://togithub.com/sbt/sbt/compare/v1.8.1...v1.8.2) #### updates - Fixes M1/M2/Aarch64 Mac support by [#&#8203;7120][7120] by [@&#8203;eed3si9n][@&#8203;eed3si9n] - Fixes glibc 2.31/Debian 11/Ubuntu 20.04 compatibility [#&#8203;7118][7118] by [@&#8203;eed3si9n][@&#8203;eed3si9n] [7120]: https://togithub.com/sbt/sbt/pull/7120 [7118]: https://togithub.com/sbt/sbt/issues/7118 [@&#8203;eed3si9n]: https://togithub.com/eed3si9n ### [`v1.8.1`](https://togithub.com/sbt/sbt/releases/tag/v1.8.1): 1.8.1 [Compare Source](https://togithub.com/sbt/sbt/compare/v1.8.0...v1.8.1) #### Bug fixes - Fixes slf4j 2.x getting pulled into the metabuild [#&#8203;7115][7115] by [@&#8203;eed3si9n][@&#8203;eed3si9n] - Fixes BSP support on Windows by making `PATH` environment variable case insensitive by [#&#8203;7085][7085] by [@&#8203;dos65][@&#8203;dos65] #### Updates - Adds sbtn (GraalVM native client) for Linux on Aarch64 [ipcsocket#&#8203;33][ipcsocket33], [#&#8203;7108][7108] etc by [@&#8203;mkurz][@&#8203;mkurz] and [@&#8203;eed3si9n][@&#8203;eed3si9n] #### New Contributors - [@&#8203;dos65](https://togithub.com/dos65) made their first contribution in [https://github.com/sbt/sbt/pull/7085](https://togithub.com/sbt/sbt/pull/7085) **Full Changelog**: https://github.com/sbt/sbt/compare/v1.8.0...v1.8.1 [7115]: https://togithub.com/sbt/sbt/pull/7115 [7085]: https://togithub.com/sbt/sbt/pull/7085 [7108]: https://togithub.com/sbt/sbt/pull/7108 [ipcsocket33]: https://togithub.com/sbt/ipcsocket/pull/33 [@&#8203;eed3si9n]: https://togithub.com/eed3si9n [@&#8203;Nirvikalpa108]: https://togithub.com/Nirvikalpa108 [@&#8203;adpi2]: https://togithub.com/adpi2 [@&#8203;er1c]: https://togithub.com/er1c [@&#8203;eatkins]: https://togithub.com/eatkins [@&#8203;dwijnand]: https://togithub.com/dwijnand [@&#8203;mkurz]: https://togithub.com/mkurz [@&#8203;dos65]: https://togithub.com/dos65 ### [`v1.8.0`](https://togithub.com/sbt/sbt/releases/tag/v1.8.0): 1.8.0 [Compare Source](https://togithub.com/sbt/sbt/compare/v1.7.3...v1.8.0) #### Security fixes - Updates to Coursier 2.1.0-RC1 to address CVE-2022-37866 - Updates to Ivy 2.3.0-sbt-a8f9eb5bf09d0539ea3658a2c2d4e09755b5133e to address CVE-2022-37866 #### Changes with compatibility implications - Updates to Scala 2.12.17 + Scala compiler 2.12.17, which upgrades to scala-xml 2.x [#&#8203;7021][7021] #### Bug fixes - Fixes background job logging [#&#8203;6992][6992] by [@&#8203;adpi2][@&#8203;adpi2] #### Other updates - Adds long classpath support on JDK 9+ via argument file (opt out using `-Dsbt.argsfile=false` or `SBT_ARGSFILE` environment variable) [#&#8203;7010][7010] by [@&#8203;easel][@&#8203;easel] - Adds out-of-box ZIO Test support [#&#8203;7053][7053] by [@&#8203;987Nabil][@&#8203;987Nabil] - Adds support for newly introduced `buildTarget/outputPaths` method of Build Server Protocol. [#&#8203;6985][6985] by [@&#8203;povder][@&#8203;povder] #### New Contributors - [@&#8203;easel](https://togithub.com/easel) made their first contribution in [https://github.com/sbt/sbt/pull/7010](https://togithub.com/sbt/sbt/pull/7010) - [@&#8203;sashashura](https://togithub.com/sashashura) made their first contribution in [https://github.com/sbt/sbt/pull/7023](https://togithub.com/sbt/sbt/pull/7023) - [@&#8203;987Nabil](https://togithub.com/987Nabil) made their first contribution in [https://github.com/sbt/sbt/pull/7053](https://togithub.com/sbt/sbt/pull/7053) **Full Changelog**: https://github.com/sbt/sbt/compare/v1.7.1...v1.8.0 [7021]: https://togithub.com/sbt/sbt/pull/7021 [6985]: https://togithub.com/sbt/sbt/pull/6985 [6992]: https://togithub.com/sbt/sbt/pull/6992 [7010]: https://togithub.com/sbt/sbt/pull/7010 [7030]: https://togithub.com/sbt/sbt/pull/7030 [7053]: https://togithub.com/sbt/sbt/pull/7053 [@&#8203;eed3si9n]: https://togithub.com/eed3si9n [@&#8203;Nirvikalpa108]: https://togithub.com/Nirvikalpa108 [@&#8203;adpi2]: https://togithub.com/adpi2 [@&#8203;er1c]: https://togithub.com/er1c [@&#8203;eatkins]: https://togithub.com/eatkins [@&#8203;dwijnand]: https://togithub.com/dwijnand [@&#8203;ckipp01]: https://togithub.com/ckipp01 [@&#8203;povder]: https://togithub.com/povder [@&#8203;easel]: https://togithub.com/easel [@&#8203;987Nabil]: https://togithub.com/987Nabil ### [`v1.7.3`](https://togithub.com/sbt/sbt/releases/tag/v1.7.3): 1.7.3 [Compare Source](https://togithub.com/sbt/sbt/compare/v1.7.2...v1.7.3) #### updates - Updates underlying Coursier from 2.1.0-M2 to 2.1.0-M7-18-g67daad6a9 (lm-coursier-shaded 2.0.12) by [@&#8203;eed3si9n](https://togithub.com/eed3si9n) in [https://github.com/sbt/sbt/pull/7060](https://togithub.com/sbt/sbt/pull/7060) - Sets up automatic release to to WinGet by [@&#8203;vedantmgoyal2009](https://togithub.com/vedantmgoyal2009) in [https://github.com/sbt/sbt/pull/6981](https://togithub.com/sbt/sbt/pull/6981) #### new contributors - [@&#8203;vedantmgoyal2009](https://togithub.com/vedantmgoyal2009) made their first contribution in [https://github.com/sbt/sbt/pull/6981](https://togithub.com/sbt/sbt/pull/6981) **Full Changelog**: https://github.com/sbt/sbt/compare/v1.7.2...v1.7.3 ### [`v1.7.2`](https://togithub.com/sbt/sbt/releases/tag/v1.7.2): 1.7.2 [Compare Source](https://togithub.com/sbt/sbt/compare/v1.7.1...v1.7.2) See https://github.com/sbt/sbt/releases/tag/v1.7.0 for the details on sbt 1.7.x. - Fixes invalidation of incremental `testQuick` task [#&#8203;6903][6903] by [@&#8203;gontard][@&#8203;gontard] - Fixes `/tmp/.sbt/` collision for domain socket [#&#8203;7041][7041] by [@&#8203;eed3si9n][@&#8203;eed3si9n] - Adds workaround for `dependencyBrowseGraph` with sometimes missing node [#&#8203;6978][6978] by [@&#8203;frosforever][@&#8203;frosforever] - Updates `sbt new` by default to use Giter8 0.15.0 [#&#8203;7038][7038] by [@&#8203;eed3si9n][@&#8203;eed3si9n] - Updates launcher to support Scala 3 apps [#&#8203;7035][7035] by [@&#8203;eed3si9n][@&#8203;eed3si9n] - Adds `diagnosticCode` and `diagnosticRelatedInforamation` (sic) to `InterfaceUtil.problem(...)` [#&#8203;7006][7006] by [@&#8203;ckipp01][@&#8203;ckipp01] - Forwards `diagnosticCode` to BSP [#&#8203;6998][6998] by [@&#8203;ckipp01][@&#8203;ckipp01] - Improves log for not found remote cache [#&#8203;6824][6824] by [@&#8203;gontard][@&#8203;gontard] [6903]: https://togithub.com/sbt/sbt/pull/6903 [6978]: https://togithub.com/sbt/sbt/pull/6978 [6998]: https://togithub.com/sbt/sbt/pull/6998 [7035]: https://togithub.com/sbt/sbt/pull/7035 [6824]: https://togithub.com/sbt/sbt/pull/6824 [7038]: https://togithub.com/sbt/sbt/pull/7038 [7006]: https://togithub.com/sbt/sbt/pull/7006 [7041]: https://togithub.com/sbt/sbt/pull/7041 [@&#8203;eed3si9n]: https://togithub.com/eed3si9n [@&#8203;Nirvikalpa108]: https://togithub.com/Nirvikalpa108 [@&#8203;adpi2]: https://togithub.com/adpi2 [@&#8203;er1c]: https://togithub.com/er1c [@&#8203;eatkins]: https://togithub.com/eatkins [@&#8203;dwijnand]: https://togithub.com/dwijnand [@&#8203;ckipp01]: https://togithub.com/ckipp01 [@&#8203;gontard]: https://togithub.com/gontard [@&#8203;frosforever]: https://togithub.com/frosforever ### [`v1.7.1`](https://togithub.com/sbt/sbt/releases/tag/v1.7.1): 1.7.1 [Compare Source](https://togithub.com/sbt/sbt/compare/v1.7.0...v1.7.1) See https://github.com/sbt/sbt/releases/tag/v1.7.0 for the details on sbt 1.7.x. #### Bug fix - Fixes Java incremental compilation, specifically parsing of annotations in class files of [@&#8203;SethTisue](https://togithub.com/SethTisue) in [https://github.com/sbt/zinc/pull/1111](https://togithub.com/sbt/zinc/pull/1111) **Full Changelog**: https://github.com/sbt/sbt/compare/v1.7.0...v1.7.1 ### [`v1.7.0`](https://togithub.com/sbt/sbt/releases/tag/v1.7.0): 1.7.0 [Compare Source](https://togithub.com/sbt/sbt/compare/v1.6.2...v1.7.0) ##### Changes with compatibility implications - `++` is stricter. See below. - Drops OkHttp 3.x dependency [lm#&#8203;399][lm399] by [@&#8203;eed3si9n][@&#8203;eed3si9n] - Updates to Scala 2.12.16 - Moves domain socket location to `XDG_RUNTIME_DIR` and `/tmp` [#&#8203;6887][6887] by [@&#8203;AlonsoM45][@&#8203;AlonsoM45] - Deprecates `Resolver.sonatypeRepo` and adds `Resolver.sonatypeOssRepos`, which includes https://s01.oss.sonatype.org/ by [@&#8203;armanbilge][@&#8203;armanbilge] in [lm#&#8203;393][lm393] ##### `++` command updates Prior to sbt 1.7 `++ <sv> <command1>` filtered subprojects using `crossScalaVersions` having the same ABI suffix as `<sv>`. This behavior was generally not well understood, and also created incorrect result for Scala 3.x since `++ 3.0.1 test` could downgrade subproject that may require 3.1 or above. sbt 1.7.0 fixes this by requiring `++ <sv> <command1>` so `<sv>` part can be given as a [semantic version selector](https://togithub.com/npm/node-semver) expression, such as `3.1.x` or `2.13.x`. Note that the expression may match at most one Scala version to switch into. In sbt 1.7.0, a concrete version such as `++ 3.0.1` equires exact version to be present in `crossScalaVersion`. This contribution was a collaborated effort among [Arnout Engelen](https://togithub.com/raboof) [#&#8203;6894][6894], [Rui Gonçalves](https://togithub.com/ruippeixotog) [lm#&#8203;400][lm400], and [Eugene Yokota](https://togithub.com/eed3si9n). ##### Scala 3 compiler error improvements In [zinc#&#8203;1082][zinc1082], [Toshiyuki Takahashi](https://togithub.com/tototoshi) contributed a fix to ignore `Problem#rendered` passed from the compiler when sbt uses position mapper to transform the position. This is aimed at fixing the error reporting for Play on Scala 3. In [#&#8203;6874][6874], [Chris Kipp](https://togithub.com/ckipp01) extended `xsbti.Problem` to track richer information available in Scala 3. This is aimed at enhancing the compilation errors reported to BSP client such as Metals. ##### BSP updates - Fixes sbt sending cumulative `build/publishDiagnostics` in BSP [#&#8203;6847][6847]/[#&#8203;6929][6929] by [@&#8203;tanishiking][@&#8203;tanishiking] and [@&#8203;kpodsiad][@&#8203;kpodsiad] - Adds optional framework field to the BSP response [#&#8203;6830][6830] by [@&#8203;kpodsiad][@&#8203;kpodsiad] - Adds BSP environment request support [#&#8203;6858][6858] by [@&#8203;kpodsiad][@&#8203;kpodsiad] ##### Other updates - Fixes under-compilation when Java annotation changes by [@&#8203;SethTisue][@&#8203;SethTisue] in [zinc#&#8203;1079][zinc1079] - Fixes ipcsocket JNI cleanup code deleting empty directories in `/tmp` [ipc#&#8203;23][ipc23] by [@&#8203;eed3si9n][@&#8203;eed3si9n] - Fixes command argument parsing with quotes in `-a="b c"` pattern [#&#8203;6816][6816] by [@&#8203;Nirvikalpa108][@&#8203;Nirvikalpa108] - Fixes `ThisBuild / includePluginResolvers` [#&#8203;6849][6849] by [@&#8203;bjaglin][@&#8203;bjaglin] - Fixes watchOnTermination callbacks [#&#8203;6870][6870] by [@&#8203;eatkins][@&#8203;eatkins] - Fixes `proxyInputStream#available`, which affected sbt-site `previewSite` [#&#8203;6965][6965] by [@&#8203;eed3si9n][@&#8203;eed3si9n] [@&#8203;eed3si9n]: https://togithub.com/eed3si9n [@&#8203;Nirvikalpa108]: https://togithub.com/Nirvikalpa108 [@&#8203;adpi2]: https://togithub.com/adpi2 [@&#8203;er1c]: https://togithub.com/er1c [@&#8203;eatkins]: https://togithub.com/eatkins [@&#8203;dwijnand]: https://togithub.com/dwijnand [@&#8203;kpodsiad]: https://togithub.com/kpodsiad [@&#8203;bjaglin]: https://togithub.com/bjaglin [@&#8203;tanishiking]: https://togithub.com/tanishiking [@&#8203;AlonsoM45]: https://togithub.com/AlonsoM45 [@&#8203;armanbilge]: https://togithub.com/armanbilge [@&#8203;SethTisue]: https://togithub.com/SethTisue [6814]: https://togithub.com/sbt/sbt/pull/6814 [6816]: https://togithub.com/sbt/sbt/pull/6816 [6830]: https://togithub.com/sbt/sbt/pull/6830 [6849]: https://togithub.com/sbt/sbt/pull/6849 [6847]: https://togithub.com/sbt/sbt/pull/6847 [6874]: https://togithub.com/sbt/sbt/pull/6874 [6870]: https://togithub.com/sbt/sbt/pull/6870 [6858]: https://togithub.com/sbt/sbt/pull/6858 [6887]: https://togithub.com/sbt/sbt/pull/6887 [6894]: https://togithub.com/sbt/sbt/pull/6894 [6929]: https://togithub.com/sbt/sbt/pull/6929 [6965]: https://togithub.com/sbt/sbt/pull/6965 [zinc1082]: https://togithub.com/sbt/zinc/pull/1082 [zinc1079]: https://togithub.com/sbt/zinc/pull/1079 [lm393]: https://togithub.com/sbt/librarymanagement/pull/393 [lm399]: https://togithub.com/sbt/librarymanagement/pull/399 [lm400]: https://togithub.com/sbt/librarymanagement/pull/400 [ipc23]: https://togithub.com/sbt/ipcsocket/pull/23 [setupjava302]: https://togithub.com/actions/setup-java/pull/302 ### [`v1.6.2`](https://togithub.com/sbt/sbt/releases/tag/v1.6.2): 1.6.2 [Compare Source](https://togithub.com/sbt/sbt/compare/v1.6.1...v1.6.2) - Fixes test framework loading failure not failing the build [#&#8203;6806][6806] by [@&#8203;eed3si9n][@&#8203;eed3si9n] - Fixes `readLine` catching `InterruptedException` [#&#8203;6803][6803] by [@&#8203;tpetillot][@&#8203;tpetillot] - Fixes `sbt --help` by removing unimplemented `-S-X` option [#&#8203;6799][6799] by [@&#8203;Nirvikalpa108][@&#8203;Nirvikalpa108] #### License sbt 1.6.2 adds `License` object that defines predefined license values: ```scala licenses := List(License.Apache2) ``` Predefined values are `License.Apache2`, `License.MIT`, `License.CC0`, and `License.GPL3_or_later`. [lm#&#8203;395][lm395] by [@&#8203;eed3si9n][@&#8203;eed3si9n] [@&#8203;eed3si9n]: https://togithub.com/eed3si9n [@&#8203;Nirvikalpa108]: https://togithub.com/Nirvikalpa108 [@&#8203;adpi2]: https://togithub.com/adpi2 [@&#8203;eatkins]: https://togithub.com/eatkins [@&#8203;dwijnand]: https://togithub.com/dwijnand [@&#8203;retronym]: https://togithub.com/retronym [@&#8203;tpetillot]: https://togithub.com/tpetillot [6806]: https://togithub.com/sbt/sbt/pull/6806 [6803]: https://togithub.com/sbt/sbt/pull/6803 [6799]: https://togithub.com/sbt/sbt/pull/6799 [lm395]: https://togithub.com/sbt/librarymanagement/pull/395 ### [`v1.6.1`](https://togithub.com/sbt/sbt/releases/tag/v1.6.1): 1.6.1 [Compare Source](https://togithub.com/sbt/sbt/compare/v1.6.0...v1.6.1) [@&#8203;eed3si9n]: https://togithub.com/eed3si9n [@&#8203;Nirvikalpa108]: https://togithub.com/Nirvikalpa108 [@&#8203;adpi2]: https://togithub.com/adpi2 [@&#8203;eatkins]: https://togithub.com/eatkins [@&#8203;dwijnand]: https://togithub.com/dwijnand [@&#8203;retronym]: https://togithub.com/retronym [6765]: https://togithub.com/sbt/sbt/pull/6765 - 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) [#&#8203;6765][6765] by [@&#8203;eed3si9n][@&#8203;eed3si9n] ### [`v1.6.0`](https://togithub.com/sbt/sbt/releases/tag/v1.6.0): 1.6.0 [Compare Source](https://togithub.com/sbt/sbt/compare/v1.5.8...v1.6.0) ##### Changes with compatibility implications - Updates to log4j 2.17.0. See [The state of the log4j CVE in the Scala ecosystem](https://www.scala-lang.org/blog-detail/2021/12/16/state-of-log4j-in-scala-ecosystem.html) for details. - The Scala version used to compile `build.sbt` is updated to [Scala 2.12.15](https://togithub.com/scala/scala/releases/tag/v2.12.15), which improves the compatibility with JDK 17+. The metabuild is compiled with `-Xsource:3` flag [#&#8203;6664][6664] by [@&#8203;Nirvikalpa108][@&#8203;Nirvikalpa108] + [@&#8203;eed3si9n][@&#8203;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](https://www.scala-sbt.org/1.x/docs/Forking.html) to prevent it [#&#8203;6665][6665] by [@&#8203;eed3si9n][@&#8203;eed3si9n] - sbt 1.6.0 reads credentials from the file specified using `SBT_CREDENTIALS` environment variable, following sbt launcher [#&#8203;6724][6724] by [@&#8203;daddykotex][@&#8203;daddykotex] ##### BSP improvements - Fixes `.sbtopts` not getting picked up when sbt server is started by Metals [#&#8203;6593][6593] by [@&#8203;adpi2][@&#8203;adpi2] - Fixes BSP IntelliJ import when `java` is not on `PATH` [#&#8203;6576][6576] by [@&#8203;github-samuel-clarenc][@&#8203;github-samuel-clarenc] - Implements BSP `buildTarget/cleanCache`, which fixes IntelliJ `rebuild` [#&#8203;6638][6638] by [@&#8203;hmemcpy][@&#8203;hmemcpy] - Implements BSP `build/taskProgress` notifications [#&#8203;6642][6642] by [@&#8203;hmemcpy][@&#8203;hmemcpy] - Improves BSP IntelliJ import by sending information about sbt server process failure [#&#8203;6573][6573] by [@&#8203;github-samuel-clarenc][@&#8203;github-samuel-clarenc] - Makes BSP requests robust to some target failures [#&#8203;6609][6609] by [@&#8203;adpi2][@&#8203;adpi2] - Sends BSP diagnostics and meaningful error message when reloading fails [#&#8203;6566][6566] by [@&#8203;adpi2][@&#8203;adpi2] - Fixes handling of sources in the base directory [#&#8203;6701][6701] by [@&#8203;adpi2][@&#8203;adpi2] - Fixes `sbtn` buffer not printing out all the outputs on system out [#&#8203;6703][6703] by [@&#8203;adpi2][@&#8203;adpi2] - Fixes infinite loop when server fails to load [#&#8203;6707][6707] by [@&#8203;adpi2][@&#8203;adpi2] - Fixes handling of fake position such as `<macro>`, which are occasionally returned by the compiler [#&#8203;6730][6730] by [@&#8203;eed3si9n][@&#8203;eed3si9n] - Adds `sbt shutdownall` to shutdown all sbt server instances [#&#8203;6697][6697] by [@&#8203;er1c][@&#8203;er1c] - Adds `sbt --no-server` to not start the server or use a virtual terminal [#&#8203;6728][6728] by [@&#8203;eed3si9n][@&#8203;eed3si9n] ##### Zinc improvements - Fixes under-compilation of folded constants (see also [SI-7173][SI-7173]) [zinc@d15228][zincd15228]/[zinc#&#8203;1003][zinc1003] by [@&#8203;ephemerist][@&#8203;ephemerist] and [@&#8203;dwijnand][@&#8203;dwijnand] - Fixes over-compilation of extended classes on JDK 11 [zinc#&#8203;998][zinc998] by [@&#8203;lrytz][@&#8203;lrytz] - Improves performance of loading used names from persisted `Analysis` file [zinc#&#8203;995][zinc995] by [@&#8203;dwijnand][@&#8203;dwijnand] - Fixes hashing of large files [zinc#&#8203;1018][zinc1018] by [@&#8203;niktrop][@&#8203;niktrop] ##### 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 ([@&#8203;Nirvikalpa108][@&#8203;Nirvikalpa108]) as [#&#8203;6611][6611]. ##### Dependency tree improvements - Fixes `dependencyTree` to use `asciiGraphWidth` setting [6693][6693] by [@&#8203;kijuky][@&#8203;kijuky] - Fixes rendering cycles in `dependencyBrowseTree` [#&#8203;6675][6675] by [@&#8203;nimatrueway][@&#8203;nimatrueway] - Migrates `dependencyBrowseTree` to use Contraband data types instead of `scala.util.parsing.json` [#&#8203;6699][6699] by [@&#8203;Nirvikalpa108][@&#8203;Nirvikalpa108] ##### Other updates - Updates to lm-coursier 2.0.9, which uses [Coursier 2.1.0-M2](https://togithub.com/coursier/coursier/releases/tag/v2.1.0-M2). This fixes full Scala suffix getting incorrectly overwritten by `scalaVersion` [#&#8203;6753][6753] by [@&#8203;eed3si9n][@&#8203;eed3si9n] - Fixes tab completion of global keys [#&#8203;6716][6716] by [@&#8203;eed3si9n][@&#8203;eed3si9n] - Fixes shutdown hook error in timing report [#&#8203;6630][6630] by [@&#8203;Nirvikalpa108][@&#8203;Nirvikalpa108] - Fixes `ClassCastException` in `XMainConfiguration` [#&#8203;6649][6649] by [@&#8203;eed3si9n][@&#8203;eed3si9n] - Moves `scalaInstanceTopLoader` to `compileBase` settings [#&#8203;6480][6480] by [@&#8203;adpi2][@&#8203;adpi2] - Fixes `crossSbtVersions` included into `lintBuild` [#&#8203;6656][6656] by [@&#8203;Nirvikalpa108][@&#8203;Nirvikalpa108] - Fixes `realpathish` function in `sbt` runner script [#&#8203;6641][6641] by [@&#8203;darabos][@&#8203;darabos] - Fixes repeated version numbers in eviction error [lm#&#8203;386][lm386] by [@&#8203;rtyley][@&#8203;rtyley] - Flyweights `ConfigRef` to reduce heap usage [lm#&#8203;390][lm390] by [@&#8203;eed3si9n][@&#8203;eed3si9n] - Adds Windows Java home selectors for JDK cross building [#&#8203;6684][6684] by [@&#8203;kxbmap][@&#8203;kxbmap] - Makes scripted Java home configurable using `scripted / javaHome` [#&#8203;6673][6673] by [@&#8203;kxbmap][@&#8203;kxbmap] - `maven.repo.local` system property configures local Maven repository [lm#&#8203;391][lm391] by [@&#8203;peter-janssen][@&#8203;peter-janssen] [@&#8203;eed3si9n]: https://togithub.com/eed3si9n [@&#8203;Nirvikalpa108]: https://togithub.com/Nirvikalpa108 [@&#8203;adpi2]: https://togithub.com/adpi2 [@&#8203;er1c]: https://togithub.com/er1c [@&#8203;eatkins]: https://togithub.com/eatkins [@&#8203;dwijnand]: https://togithub.com/dwijnand [@&#8203;retronym]: https://togithub.com/retronym [@&#8203;github-samuel-clarenc]: https://togithub.com/github-samuel-clarenc [@&#8203;hmemcpy]: https://togithub.com/hmemcpy [@&#8203;lrytz]: https://togithub.com/lrytz [@&#8203;ephemerist]: https://togithub.com/ephemerist [@&#8203;rtyley]: https://togithub.com/rtyley [@&#8203;darabos]: https://togithub.com/darabos [@&#8203;nimatrueway]: https://togithub.com/nimatrueway [@&#8203;kxbmap]: https://togithub.com/kxbmap [@&#8203;kijuky]: https://togithub.com/kijuky [@&#8203;daddykotex]: https://togithub.com/daddykotex [@&#8203;niktrop]: https://togithub.com/niktrop [@&#8203;peter-janssen]: https://togithub.com/peter-janssen [6480]: https://togithub.com/sbt/sbt/pull/6480 [6566]: https://togithub.com/sbt/sbt/pull/6566 [6593]: https://togithub.com/sbt/sbt/pull/6593 [6576]: https://togithub.com/sbt/sbt/pull/6576 [6573]: https://togithub.com/sbt/sbt/pull/6573 [6609]: https://togithub.com/sbt/sbt/pull/6609 [6611]: https://togithub.com/sbt/sbt/pull/6611 [6630]: https://togithub.com/sbt/sbt/pull/6630 [6649]: https://togithub.com/sbt/sbt/pull/6649 [6638]: https://togithub.com/sbt/sbt/pull/6638 [6641]: https://togithub.com/sbt/sbt/pull/6641 [6642]: https://togithub.com/sbt/sbt/pull/6642 [6656]: https://togithub.com/sbt/sbt/pull/6656 [6664]: https://togithub.com/sbt/sbt/pull/6664 [6665]: https://togithub.com/sbt/sbt/pull/6665 [6675]: https://togithub.com/sbt/sbt/pull/6675 [6684]: https://togithub.com/sbt/sbt/pull/6684 [6673]: https://togithub.com/sbt/sbt/pull/6673 [6693]: https://togithub.com/sbt/sbt/pull/6693 [6697]: https://togithub.com/sbt/sbt/pull/6697 [6701]: https://togithub.com/sbt/sbt/pull/6701 [6703]: https://togithub.com/sbt/sbt/pull/6703 [6699]: https://togithub.com/sbt/sbt/pull/6699 [6707]: https://togithub.com/sbt/sbt/pull/6707 [6716]: https://togithub.com/sbt/sbt/pull/6716 [6725]: https://togithub.com/sbt/sbt/pull/6725 [6724]: https://togithub.com/sbt/sbt/pull/6724 [6728]: https://togithub.com/sbt/sbt/pull/6728 [6730]: https://togithub.com/sbt/sbt/pull/6730 [6753]: https://togithub.com/sbt/sbt/pull/6753 [SI-7173]: https://togithub.com/scala/bug/issues/7173 [zinc995]: https://togithub.com/sbt/zinc/pull/995 [zinc998]: https://togithub.com/sbt/zinc/issues/998 [zinc1003]: https://togithub.com/sbt/zinc/pull/1003 [zincd15228]: https://togithub.com/sbt/zinc/pull/985/commits/d15228951f3de0ae07c0da5f34b84be5f0e7a4bb [zinc1018]: https://togithub.com/sbt/zinc/pull/1018 [lm386]: https://togithub.com/sbt/librarymanagement/pull/386 [lm390]: https://togithub.com/sbt/librarymanagement/pull/390 [lm391]: https://togithub.com/sbt/librarymanagement/pull/391 ### [`v1.5.8`](https://togithub.com/sbt/sbt/releases/tag/v1.5.8): 1.5.8 [Compare Source](https://togithub.com/sbt/sbt/compare/v1.5.7...v1.5.8) [@&#8203;eed3si9n]: https://togithub.com/eed3si9n [@&#8203;Nirvikalpa108]: https://togithub.com/Nirvikalpa108 [@&#8203;adpi2]: https://togithub.com/adpi2 [@&#8203;eatkins]: https://togithub.com/eatkins [@&#8203;dwijnand]: https://togithub.com/dwijnand [@&#8203;retronym]: https://togithub.com/retronym [@&#8203;augi]: https://togithub.com/augi [6755]: https://togithub.com/sbt/sbt/pull/6755 - 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) [#&#8203;6755][6755] by [@&#8203;augi][@&#8203;augi] ### [`v1.5.7`](https://togithub.com/sbt/sbt/releases/tag/v1.5.7): 1.5.7 [Compare Source](https://togithub.com/sbt/sbt/compare/v1.5.6...v1.5.7) [@&#8203;eed3si9n]: https://togithub.com/eed3si9n [@&#8203;Nirvikalpa108]: https://togithub.com/Nirvikalpa108 [@&#8203;adpi2]: https://togithub.com/adpi2 [@&#8203;eatkins]: https://togithub.com/eatkins [@&#8203;dwijnand]: https://togithub.com/dwijnand [@&#8203;retronym]: https://togithub.com/retronym [@&#8203;augi]: https://togithub.com/augi [6749]: https://togithub.com/sbt/sbt/pull/6749 - 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) [#&#8203;6749][6749] by [@&#8203;augi][@&#8203;augi] ### [`v1.5.6`](https://togithub.com/sbt/sbt/releases/tag/v1.5.6): 1.5.6 [Compare Source](https://togithub.com/sbt/sbt/compare/v1.5.5...v1.5.6) [@&#8203;eed3si9n]: https://togithub.com/eed3si9n [@&#8203;Nirvikalpa108]: https://togithub.com/Nirvikalpa108 [@&#8203;adpi2]: https://togithub.com/adpi2 [@&#8203;eatkins]: https://togithub.com/eatkins [@&#8203;dwijnand]: https://togithub.com/dwijnand [@&#8203;retronym]: https://togithub.com/retronym [6743]: https://togithub.com/sbt/sbt/pull/6743 - sbt 1.5.6 updates log4j 2 to 2.15.0, which fixes remote code execution vulnerability (CVE-2021-44228) [#&#8203;6743][6743] by [@&#8203;eed3si9n][@&#8203;eed3si9n] ### [`v1.5.5`](https://togithub.com/sbt/sbt/releases/tag/v1.5.5): 1.5.5 [Compare Source](https://togithub.com/sbt/sbt/compare/v1.5.4...v1.5.5) - Fixes remote caching not managing resource files [#&#8203;6554][6554] by [@&#8203;Nirvikalpa108][@&#8203;Nirvikalpa108] - Fixes launcher causing `NoClassDefFoundError` when launching sbt 1.4.0 - 1.4.2 [launcher#&#8203;98][launcher98] by [@&#8203;eed3si9n][@&#8203;eed3si9n] - Fixes cross-Scala suffix conflict warning involving `_3` [lm#&#8203;383][lm383] by [@&#8203;eed3si9n][@&#8203;eed3si9n] - Fixes `binaryScalaVersion` of `3.0.1-SNAPSHOT` [lm#&#8203;384][lm384] by [@&#8203;adpi2][@&#8203;adpi2] - Fixes carriage return in supershell progress state [#&#8203;6556][6556] by [@&#8203;sebastian-alfers][@&#8203;sebastian-alfers] - Fixes IntegrationTest configuration not tagged as test in BSP [#&#8203;6551][6551] by [@&#8203;samuelClarencTeads][@&#8203;samuelClarencTeads] - Fixes BSP task error handling [#&#8203;6565][6565] by [@&#8203;adpi2][@&#8203;adpi2] - Fixes handling of invalid range positions returned by Javac [zinc#&#8203;990][zinc990] by [@&#8203;retronym][@&#8203;retronym] - Fixes local class analysis [zinc#&#8203;985][zinc985] by [@&#8203;ephemerist][@&#8203;ephemerist] - Adds `buildTarget/resources` support for BSP [#&#8203;6552][6552] by [@&#8203;samuelClarencTeads][@&#8203;samuelClarencTeads] - Adds `build.sbt` support for BSP import [#&#8203;6553][6553] by [@&#8203;retronym][@&#8203;retronym] - Tracks source dependencies using `OriginalTreeAttachments` in Scala 2.13 [zinc#&#8203;985][zinc985] by [@&#8203;ephemerist][@&#8203;ephemerist] - Reduces overhead in Analysis protobuf deserialization [zinc#&#8203;989][zinc989] by [@&#8203;retronym][@&#8203;retronym] - Minimizes unnecessary information in signature analysis [zinc#&#8203;987][zinc987] by [@&#8203;ephemerist][@&#8203;ephemerist] - Enables compile-to-jar for local Javac [zinc#&#8203;986][zinc986] by [@&#8203;ephemerist][@&#8203;ephemerist] - Enables Zinc cycle reporting when Scalac is not invoked [zinc#&#8203;988][zinc988] by [@&#8203;ephemerist][@&#8203;ephemerist] [@&#8203;eed3si9n]: https://togithub.com/eed3si9n [@&#8203;Nirvikalpa108]: https://togithub.com/Nirvikalpa108 [@&#8203;adpi2]: https://togithub.com/adpi2 [@&#8203;eatkins]: https://togithub.com/eatkins [@&#8203;dwijnand]: https://togithub.com/dwijnand [@&#8203;retronym]: https://togithub.com/retronym [@&#8203;ephemerist]: https://togithub.com/ephemerist [@&#8203;samuelClarencTeads]: https://togithub.com/samuelClarencTeads [@&#8203;sebastian-alfers]: https://togithub.com/sebastian-alfers [6551]: https://togithub.com/sbt/sbt/pull/6551 [6554]: https://togithub.com/sbt/sbt/pull/6554 [6556]: https://togithub.com/sbt/sbt/pull/6556 [6552]: https://togithub.com/sbt/sbt/pull/6552 [6565]: https://togithub.com/sbt/sbt/pull/6565 [6553]: https://togithub.com/sbt/sbt/pull/6553 [lm383]: https://togithub.com/sbt/librarymanagement/pull/383 [lm384]: https://togithub.com/sbt/librarymanagement/pull/384 [zinc989]: https://togithub.com/sbt/zinc/pull/989 [zinc988]: https://togithub.com/sbt/zinc/pull/988 [zinc990]: https://togithub.com/sbt/zinc/pull/990 [zinc985]: https://togithub.com/sbt/zinc/pull/985 [zinc986]: https://togithub.com/sbt/zinc/pull/986 [zinc987]: https://togithub.com/sbt/zinc/pull/987 [launcher98]: https://togithub.com/sbt/launcher/pull/98 ### [`v1.5.4`](https://togithub.com/sbt/sbt/releases/tag/v1.5.4): 1.5.4 [Compare Source](https://togithub.com/sbt/sbt/compare/v1.5.3...v1.5.4) - Fixes compiler ClassLoader list to use `compilerJars.toList` (For Scala 3, this drops support for 3.0.0-M2) [#&#8203;6538][6538] by [@&#8203;adpi2][@&#8203;adpi2] - Fixes undercompilation of package object causing "Symbol 'type X' is missing from the classpath" [zinc#&#8203;983][zinc983] by [@&#8203;retronym][@&#8203;retronym] - Fixes overcompilation with scalac `-release` flag [zinc#&#8203;982][zinc982] by [@&#8203;retronym][@&#8203;retronym] - Fixes BSP on ARM Macs by keeping JNI server socket to keep using JNI [ipcsocket#&#8203;14][ipcsocket14] by [@&#8203;quelgar][@&#8203;quelgar] - Fixes `build/exit` notification not closing BSP channel [#&#8203;6539][6539] by [@&#8203;adpi2][@&#8203;adpi2] - Fixes POM file's Maven repository ID character restriction to match that of Maven [lm#&#8203;380][lm380] by [@&#8203;peter-janssen][@&#8203;peter-janssen] [@&#8203;peter-janssen]: https://togithub.com/peter-janssen [@&#8203;eed3si9n]: https://togithub.com/eed3si9n [@&#8203;Nirvikalpa108]: https://togithub.com/Nirvikalpa108 [@&#8203;adpi2]: https://togithub.com/adpi2 [@&#8203;eatkins]: https://togithub.com/eatkins [@&#8203;dwijnand]: https://togithub.com/dwijnand [@&#8203;retronym]: https://togithub.com/retronym [@&#8203;quelgar]: https://togithub.com/quelgar [lm380]: https://togithub.com/sbt/librarymanagement/pull/380 [zinc982]: https://togithub.com/sbt/zinc/pull/982 [zinc983]: https://togithub.com/sbt/zinc/pull/983 [ipcsocket14]: https://togithub.com/sbt/ipcsocket/pull/14 [6539]: https://togithub.com/sbt/sbt/pull/6539 [6538]: https://togithub.com/sbt/sbt/pull/6538 ### [`v1.5.3`](https://togithub.com/sbt/sbt/releases/tag/v1.5.3): 1.5.3 [Compare Source](https://togithub.com/sbt/sbt/compare/v1.5.2...v1.5.3) - Fixes `scalacOptions` not getting forwarded to ScalaDoc in Scala 3 [#&#8203;6499][6499] by [@&#8203;pikinier20][@&#8203;pikinier20] - Fixes undercompilation of sealed traits that extends other seal traits [zinc#&#8203;979][zinc979] by [@&#8203;dwijnand][@&#8203;dwijnand] - Fixes version parsing not recognizing dots in a prerelease tag [lm#&#8203;377][lm377] by [@&#8203;Nirvikalpa108][@&#8203;Nirvikalpa108] - Fixes spurious "[@&#8203;nowarn](https://togithub.com/nowarn) annotation does not suppress any warnings" in old style sbt plugins with `sbtPlugin := true` [#&#8203;6517][6517] by [@&#8203;Nirvikalpa108][@&#8203;Nirvikalpa108] - Fixes `inputFile` resolving to incorrect files when file specific globs are used [io#&#8203;319][io319] by [@&#8203;eatkins][@&#8203;eatkins] - Fixes multiple main class warning when `run` is scoped [#&#8203;6523][6523] by [@&#8203;eatkins][@&#8203;eatkins] - Fixes duplicate `unmanagedSourceDirectories` when Scala version is 3.0.0 [#&#8203;6511][6511] by [@&#8203;bjaglin][@&#8203;bjaglin] - Fixes URL for `Resolvers.sonatypeRepo("releases")` [lm#&#8203;379][lm379]/[#&#8203;5405][5405] by [@&#8203;mkurz][@&#8203;mkurz] - Makes `makeScalaInstance` public [#&#8203;6504][6504] by [@&#8203;adpi2][@&#8203;adpi2] - Adjusts to Scala 2.13.6 restriction on narrowing access when overriding a field [io#&#8203;317][io317] by [@&#8203;SethTisue][@&#8203;SethTisue] - Implements `sbtn` downloading in `sbt` runner script [#&#8203;6514][6514] by [@&#8203;eed3si9n][@&#8203;eed3si9n] - Updates to Scala 2.12.14 [#&#8203;6522][6522] by [@&#8203;mkurz][@&#8203;mkurz] [6504]: https://togithub.com/sbt/sbt/pull/6504 [6511]: https://togithub.com/sbt/sbt/pull/6511 [6514]: https://togithub.com/sbt/sbt/pull/6514 [6522]: https://togithub.com/sbt/sbt/pull/6522 [6517]: https://togithub.com/sbt/sbt/pull/6517 [6499]: https://togithub.com/sbt/sbt/pull/6499 [6523]: https://togithub.com/sbt/sbt/pull/6523 [5405]: https://togithub.com/sbt/sbt/issues/5405 [io317]: https://togithub.com/sbt/io/pull/317 [io319]: https://togithub.com/sbt/io/pull/319 [lm377]: https://togithub.com/sbt/librarymanagement/pull/377 [lm379]: https://togithub.com/sbt/librarymanagement/pull/379 [zinc979]: https://togithub.com/sbt/zinc/pull/979 [@&#8203;eed3si9n]: https://togithub.com/eed3si9n [@&#8203;Nirvikalpa108]: https://togithub.com/Nirvikalpa108 [@&#8203;adpi2]: https://togithub.com/adpi2 [@&#8203;bjaglin]: https://togithub.com/bjaglin [@&#8203;mkurz]: https://togithub.com/mkurz [@&#8203;pikinier20]: https://togithub.com/pikinier20 [@&#8203;eatkins]: https://togithub.com/eatkins [@&#8203;dwijnand]: https://togithub.com/dwijnand [@&#8203;SethTisue]: https://togithub.com/SethTisue ### [`v1.5.2`](https://togithub.com/sbt/sbt/releases/tag/v1.5.2): 1.5.2 [Compare Source](https://togithub.com/sbt/sbt/compare/v1.5.1...v1.5.2) - Improves [developer guide](https://togithub.com/sbt/sbt/blob/develop/DEVELOPING.md) for new contributors [#&#8203;6469][6469] by [@&#8203;Nirvikalpa108][@&#8203;Nirvikalpa108] - Fixes `ConcurrentModificationException` while compiling Scala 2.13.4 and Java sources [zinc#&#8203;974][zinc974] by [@&#8203;lefou][@&#8203;lefou] - Fixes `-client` by making it the same as `--client` [#&#8203;6500][6500] by [@&#8203;Nirvikalpa108][@&#8203;Nirvikalpa108] - Fixes scripted tests for dependency-graph [#&#8203;6484][6484] by [@&#8203;Nirvikalpa108][@&#8203;Nirvikalpa108] - Fixes metabuild ClassLoader missing `util-interface` [#&#8203;6493][6493] by [@&#8203;adpi2][@&#8203;adpi2] - Uses `-Duser.home` instead of `$HOME` to download launcher JAR [#&#8203;6483][6483] by [@&#8203;rdesgroppes][@&#8203;rdesgroppes] - Fixes `sbt new` leaving behind `target` directory [#&#8203;6488][6488] by [@&#8203;eed3si9n][@&#8203;eed3si9n] - Fixes "zip END header not found" error during `pushRemoteCache` [#&#8203;6497][6497] by [@&#8203;eed3si9n][@&#8203;eed3si9n] [6469]: https://togithub.com/sbt/sbt/pull/6469 [6484]: https://togithub.com/sbt/sbt/pull/6484 [6483]: https://togithub.com/sbt/sbt/pull/6483 [6488]: https://togithub.com/sbt/sbt/pull/6488 [6493]: https://togithub.com/sbt/sbt/pull/6493 [6500]: https://togithub.com/sbt/sbt/pull/6500 [6497]: https://togithub.com/sbt/sbt/issues/6497 [zinc974]: https://togithub.com/sbt/zinc/issues/974 [@&#8203;eed3si9n]: https://togithub.com/eed3si9n [@&#8203;lefou]: https://togithub.com/lefou [@&#8203;Nirvikalpa108]: https://togithub.com/Nirvikalpa108 [@&#8203;rdesgroppes]: https://togithub.com/rdesgroppes [@&#8203;adpi2]: https://togithub.com/adpi2 ### [`v1.5.1`](https://togithub.com/sbt/sbt/releases/tag/v1.5.1): 1.5.1 [Compare Source](https://togithub.com/sbt/sbt/compare/v1.5.0...v1.5.1) - sbt 1.5.1 in-sources [sbt][runner] runner script to sbt/sbt repo, and implements `sbt-launch.jar` download - Make Linux distribution contain only the `sbt` runner script to minimize bandwidth - Fixes `NullPointerException` caused by the launcher implementation [#&#8203;6434][6434]/[launcher#&#8203;96][launcher96] by [@&#8203;eed3si9n][@&#8203;eed3si9n] and [@&#8203;adpi2][@&#8203;adpi2] - Fixes spurious "[@&#8203;nowarn](https://togithub.com/nowarn) annotation does not suppress any warnings" in sbt plugins [#&#8203;6431][6431] by [@&#8203;adpi2][@&#8203;adpi2] - Fixes JUnit reports directory for non-`Test` configurations [#&#8203;6425][6425] by [@&#8203;ashleymercer][@&#8203;ashleymercer] - Fixes publishing to Ivy repo when there are classifiers [#&#8203;6456][6456] by [@&#8203;guilgaly][@&#8203;guilgaly] - Fixes `itSettings` overriding settings in `Compile` configuration [#&#8203;6436][6436] by [@&#8203;steinybot][@&#8203;steinybot] - Fixes "Could not find required component 'xsbti'" error when launching sbt 0.13 [launcher#&#8203;95][launcher95] by [@&#8203;eed3si9n][@&#8203;eed3si9n] [runner]: https://raw.githubusercontent.com/sbt/sbt/v1.5.1/sbt [6431]: https://togithub.com/sbt/sbt/pull/6431 [6425]: https://togithub.com/sbt/sbt/pull/6425 [6456]: https://togithub.com/sbt/sbt/pull/6456 [6436]: https://togithub.com/sbt/sbt/issues/6436 [6434]: https://togithub.com/sbt/sbt/pull/6434 [launcher95]: https://togithub.com/sbt/launcher/pull/95 [launcher96]: https://togithub.com/sbt/launcher/pull/96 [@&#8203;adpi2]: https://togithub.com/adpi2 [@&#8203;eed3si9n]: https://togithub.com/eed3si9n [@&#8203;eatkins]: https://togithub.com/eatkins [@&#8203;xuwei-k]: https://togithub.com/xuwei-k [@&#8203;ashleymercer]: https://togithub.com/ashleymercer [@&#8203;guilgaly]: https://togithub.com/guilgaly [@&#8203;steinybot]: https://togithub.com/steinybot ### [`v1.5.0`](https://togithub.com/sbt/sbt/releases/tag/v1.5.0): 1.5.0 [Compare Source](https://togithub.com/sbt/sbt/compare/v1.4.9...v1.5.0) The headline features of sbt 1.5.0 are: - Scala 3 support - Eviction error - Deprecation of sbt 0.13 syntax - Coursier-based launcher ##### Scala 3 support sbt 1.5.0 adds built-in Scala 3 support, contributed by Scala Center. Main implementation was done by Adrien Piquerez ([@&#8203;adpi2][@&#8203;adpi2]) based on EPFL/LAMP's [sbt-dotty](https://togithub.com/lampepfl/dotty/tree/master/sbt-dotty). You can now use Scala 3.0.0-RC2 like any other Scala version. ```scala ThisBuild / scalaVersion := "3.0.0-RC2" ``` This will compile the following `Hello.scala`: ```scala package example @&#8203;main def hello(arg: String*): Unit = if arg.isEmpty then println("hello") else println(s"hi ${arg.head}") ``` **Note**: To support cross testing of various Scala 3.x releases, `crossTarget` directory will contain the full Scala version. [#&#8203;6415][6415] ##### Scala 2.13-3.x sandwich Scala 3.0.x [shares](https://www.scala-lang.org/2019/12/18/road-to-scala-3.html) the standard library with Scala 2.13, and since Scala 2.13.4, they can mutually consume the output of each other as external library. This allows you to create Scala 2.13-3.x sandwich, a layering of dependencies coming from different Scala versions. **Warning**: Library authors should generally treat Scala 3.0 as any other major version, and prefer to cross publish `_3` variant to avoid the conflict. Some libraries may encode a particular notion in different ways for Scala 2.13 and 3.0. For example, arity abstraction may use Shapeless HList in Scala 2.13, but built-in Tuple types in Scala 3.0. Thus it's generally not safe to have `_2.13` and `_3` versions of the same library in the classpath, even transitively. Application developers should be free to use `.cross(CrossVersion.for3Use2_13)` as long as the transitive dependency graph will not introduce `_2.13` variant of a library you already have in `_3` variant. sbt 1.5.0 introduces new cross building operand to use `_3` variant when `scalaVersion` is 2.13.x, and vice versa: ```scala ("a" % "b" % "1.0").cross(CrossVersion.for3Use2_13) ("a" % "b" % "1.0").cross(CrossVersion.for2_13Use3) ``` [lm#&#8203;361][lm361] by [@&#8203;adpi2][@&#8203;adpi2] ##### Deprecation of sbt 0.13 syntax sbt 1.5.0 deprecates both the sbt 0.13 style shell syntax `proj/config:intask::key` and sbt 0.13 style build.sbt DSL `key in (Compile, intask)` in favor of the unified slash syntax. There's a [syntactic Scalafix rule for unified slash syntax](https://eed3si9n.com/syntactic-scalafix-rule-for-unified-slash-syntax) to semi-automatically rewrite existing sbt 0.13 syntax to the slash syntax. Currently it requires the use of scalafix CLI and it's not very precise (because it's a syntactic rule that only looks at the shape of the code) but it gets most of the job done. $ scalafix --rules=https://gist.githubusercontent.com/eed3si9n/57e83f5330592d968ce49f0d5030d4d5/raw/7f576f16a90e432baa49911c9a66204c354947bb/Sbt0_13BuildSyntax.scala *.sbt project/*.scala See <https://www.scala-sbt.org/1.x/docs/Migrating-from-sbt-013x.html#slash> for details. ##### Eviction error sbt 1.5.0 removes eviction warning, and replaces it with stricter eviction error. Unlike the eviction warning that was based on speculation, eviction error only uses the [`ThisBuild / versionScheme` information][versionScheme] supplied by the library authors. For example: ```scala lazy val use = project .settings( name := "use", libraryDependencies ++= Seq( "org.http4s" %% "http4s-blaze-server" % "0.21.11", // https://repo1.maven.org/maven2/org/typelevel/cats-effect_2.13/3.0.0-M4/cats-effect_2.13-3.0.0-M4.pom // is published with early-semver "org.typelevel" %% "cats-effect" % "3.0.0-M4", ), ) ``` The above build will fail to build `use/compile` with the following error: ```scala [error] stack trace is suppressed; run last use / update for the full output [error] (use / update) found version conflict(s) in library dependencies; some are suspected to be binary incompatible: [error] [error] * org.typelevel:cats-effect_2.12:3.0.0-M4 (early-semver) is selected over {2.2.0, 2.0.0, 2.0.0, 2.2.0} [error] +- use:use_2.12:0.1.0-SNAPSHOT (depends on 3.0.0-M4) [error] +- org.http4s:http4s-core_2.12:0.21.11 (depends on 2.2.0) [error] +- io.chrisdavenport:vault_2.12:2.0.0 (depends on 2.0.0) [error] +- io.chrisdavenport:unique_2.12:2.0.0 (depends on 2.0.0) [error] +- co.fs2:fs2-core_2.12:2.4.5 (depends on 2.2.0) [error] [error] [error] this can be overridden using libraryDependencySchemes or evictionErrorLevel ``` This is because Cats Effect 2.x and 3.x are found in the classpath, and Cats Effect has declared that it uses early-semver. If the user wants to opt-out of this, the user can do so per module: ```scala ThisBuild / libraryDependencySchemes += "org.typelevel" %% "cats-effect" % VersionScheme.Always ``` or globally as: ```scala ThisBuild / evictionErrorLevel := Level.Info ``` On the other hand, if you want to bring back the guessing feature in eviction warning, you can do using the following settings: ```scala ThisBuild / assumedVersionScheme := VersionScheme.PVP ThisBuild / assumedVersionSchemeJava := VersionScheme.EarlySemVer ThisBuild / assumedEvictionErrorLevel := Level.Warn ``` [@&#8203;eed3si9n][@&#8203;eed3si9n] implemented this in [#&#8203;6221][6221], inspired in part by Scala Center's [sbt-eviction-rules](https://togithub.com/scalacenter/sbt-eviction-rules), which was implemented by Alexandre Archambault ([@&#8203;alxarchambault][@&#8203;alxarchambault]) and Julien Richard-Foy ([@&#8203;julienrf][@&#8203;julienrf]). ##### ThisBuild / packageTimestamp setting In sbt 1.4.0 we started wiping out the timestamps in JAR to make the builds more repeatable. This had an unintended consequence of breaking Play's last-modified response header. To opt out of this default, the user can use: ```scala ThisBuild / packageTimestamp := Package.keepTimestamps // or ThisBuild / packageTimestamp := Package.gitCommitDateTimestamp ``` [#&#8203;6237][6237] by [@&#8203;eed3si9n][@&#8203;eed3si9n] ##### Coursier-based launcher sbt launcher shipped in the official installer of sbt is a generic launcher that is able to launch all versions of sbt. For the sbt launcher shipped with sbt 1.5.0 installer, its internal dependency resolver used to resolve sbt itself was updated from Apache Ivy to Coursier (Dependency resolver for the built has been updated to Coursier in sbt 1.3.0). You can use `-Dsbt.launcher.coursier=false` to opt out of using Coursier and used Apache Ivy instead. [launcher#&#8203;86][launcher86] by [@&#8203;eed3si9n][@&#8203;eed3si9n] ##### Other updates - Fixes `SemanticdbPlugin` creating duplicate `scalacOptions` or dropping `-Yrangepos` [#&#8203;6296][6296]/[#&#8203;6316][6316] by [@&#8203;bjaglin][@&#8203;bjaglin] and [@&#8203;eed3si9n][@&#8203;eed3si9n] - Fixes tab completion of dependency configurations `Compile`, `Test`, etc [#&#8203;6283][6283] by [@&#8203;eed3si9n][@&#8203;eed3si9n] - Fixes exit code calculation in `StashOnFailure` [#&#8203;6266][6266] by [@&#8203;melezov][@&#8203;melezov] - Fixes concurrency issues with `testQuick` [#&#8203;6326][6326] by [@&#8203;RafalSumislawski][@&#8203;RafalSumislawski] - Updates to Scala 2.12.13. - Updates to Coursier 2.0.15, includes `reload` memory fix by [@&#8203;jtjeferreira] and behind-the-proxy IntelliJ import fix added by [@&#8203;eed3si9n][@&#8203;eed3si9n] - Warns when `ThisBuild / versionScheme` is missing while publishing [#&#8203;6310][6310] by [@&#8203;eed3si9n][@&#8203;eed3si9n] - Use 2010-01-01 for the repeatable build timestamp wipe-out to avoid negative date [#&#8203;6254][6254] by [@&#8203;takezoe][@&#8203;takezoe] (There's an active discussion to use commit date instead) - Adds FileInput/FileOutput that avoids intermediate String parsing [#&#8203;5515][5515] by [@&#8203;jtjeferreira][@&#8203;jtjeferreira] - Support credential file without realm [lm#&#8203;367][lm367] by [@&#8203;MasseGuillaume][@&#8203;MasseGuillaume] - Support MUnit out of box [#&#8203;6335][6335] by [@&#8203;julienrf][@&#8203;julienrf] - Automatically publishLocal plugin dependency subprojects before `scripted` [#&#8203;6351][6351] by [@&#8203;steinybot][@&#8203;steinybot] [versionScheme]: https://www.scala-sbt.org/1.x/docs/Publishing.html#Version+scheme [@&#8203;adpi2]: https://twitter.com/adrienpi2 [@&#8203;jtjeferreira]: https://togithub.com/jtjeferreira [@&#8203;takezoe]: https://togithub.com/takezoe [@&#8203;eed3si9n]: https://twitter.com/eed3si9n [@&#8203;julienrf]: https://twitter.com/julienrf [@&#8203;alxarchambault]: https://twitter.com/alxarchambault [@&#8203;bjaglin]: https://togithub.com/bjaglin [@&#8203;RafalSumislawski]: https://togithub.com/RafalSumislawski [@&#8203;melezov]: https://togithub.com/melezov [@&#8203;MasseGuillaume]: https://togithub.com/MasseGuillaume [@&#8203;steinybot]: https://togithub.com/steinybot [@&#8203;arixmkii]: https://togithub.com/arixmkii [lm361]: https://togithub.com/sbt/librarymanagement/pull/361 [lm367]: https://togithub.com/sbt/librarymanagement/pull/367 [6296]: https://togithub.com/sbt/sbt/pull/6296 [5515]: https://togithub.com/sbt/sbt/pull/5515 [6254]: https://togithub.com/sbt/sbt/pull/6254 [6221]: https://togithub.com/sbt/sbt/pull/6221 [6283]: https://togithub.com/sbt/sbt/pull/6283 [6237]: https://togithub.com/sbt/sbt/pull/6237 [6316]: https://togithub.com/sbt/sbt/pull/6316 [6310]: https://togithub.com/sbt/sbt/pull/6310 [6326]: https://togithub.com/sbt/sbt/pull/6326 [6266]: https://togithub.com/sbt/sbt/pull/6266 [6335]: https://togithub.com/sbt/sbt/pull/6335 [6351]: https://togithub.com/sbt/sbt/pull/6351 [6403]: https://togithub.com/sbt/sbt/pull/6403 [6401]: https://togithub.com/sbt/sbt/pull/6401 [6397]: https://togithub.com/sbt/sbt/pull/6397 [6408]: https://togithub.com/sbt/sbt/pull/6408 [6415]: https://togithub.com/sbt/sbt/issues/6415 [launcher86]: https://togithub.com/sbt/launcher/pull/86 [launcher89]: https://togithub.com/sbt/launcher/pull/89 [launcher92]: https://togithub.com/sbt/launcher/pull/92 [launcher93]: https://togithub.com/sbt/launcher/pull/93 [zinc968]: https://togithub.com/sbt/zinc/pull/968 [lm372]: https://togithub.com/sbt/librarymanagement/pull/372 ### [`v1.4.9`](https://togithub.com/sbt/sbt/releases/tag/v1.4.9): 1.4.9 [Compare Source](https://togithub.com/sbt/sbt/compare/v1.4.8...v1.4.9) ##### Changes since 1.4.9 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. ##### Changes with compatibility implications sbt 1.4.9 is published to Sonatype OSS without going through Bintray. - Prior to 1.4.9, `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 and older version of it may experience disruptions. As the fix, curl `*.tgz` from GitHub release. - 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. ##### Migration note for Travis CI If you're using Travis CI, you might run into the above issue because it's using an older version of sbt-extras. Here's how you can use the official sbt launcher script instead: ```yaml install: - | ### update this only when sbt-the-bash-script needs to be updated export SBT_LAUNCHER=1.4.9 export SBT_OPTS="-Dfile.encoding=UTF-8" curl -L --silent "https://github.com/sbt/sbt/releases/download/v$SBT_LAUNCHER/sbt-$SBT_LAUNCHER.tgz" > $HOME/sbt.tgz tar zxf $HOME/sbt.tgz -C $HOME sudo rm /usr/local/bin/sbt sudo ln -s $HOME/sbt/bin/sbt /usr/local/bin/sbt script: - sbt -v "+test" ``` ##### Fixes - Fixes `sourcePositionMappers` added by Play not getting called [#&#8203;6352][6352] by [@&#8203;mkurz][@&#8203;mkurz] - Upgrade to JLine 3.19.0 to work around Scala 2.13.5 REPL breakage [#&#8203;6366][6366] by [@&#8203;eed3si9n][@&#8203;eed3si9n] - Fixes concurrent `testQuick` leading to an infinite loop [#&#8203;6326][6326] by [@&#8203;RafalSumislawski][@&#8203;RafalSumislawski] - Fixes `ZipEntry` timestamp to 2010-01-01 to prevent negative value [#&#8203;6290][6290] by [@&#8203;takezoe][@&#8203;takezoe] - Display a better error message for "sbt server is already booting" problem [#&#8203;6353][6353] by [@&#8203;sideeffffect][@&#8203;sideeffffect] [6290]: https://togithub.com/sbt/sbt/pull/6290 [6326]: https://togithub.com/sbt/sbt/pull/6326 [6352]: https://togithub.com/sbt/sbt/pull/6352 [6353]: https://togithub.com/sbt/sbt/pull/6353 [6366]: https://togithub.com/sbt/sbt/pull/6366 [@&#8203;takezoe]: https://togithub.com/takezoe [@&#8203;RafalSumislawski]: https://togithub.com/RafalSumislawski [@&#8203;mkurz]: https://togithub.com/mkurz [@&#8203;sideeffffect]: https://togithub.com/sideeffffect [@&#8203;eed3si9n]: https://togithub.com/eed3si9n ### [`v1.4.8`](https://togithub.com/sbt/sbt/releases/tag/v1.4.8): 1.4.8 [Compare Source](https://togithub.com/sbt/sbt/compare/v1.4.7...v1.4.8) ##### Changes with compatibility implications sbt 1.4.8 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 and older version of it may experience disruptions. As the fix, curl `*.tgz` from GitHub release. - 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. ##### Migration note for Travis CI If you're using Travis CI, you might run into the above issue because it's using an older version of sbt-extras. Here's how you can use the official sbt launcher script instead: ```yaml install: - | ### update this only when sbt-the-bash-script needs to be updated export SBT_LAUNCHER=1.4.8 export SBT_OPTS="-Dfile.encoding=UTF-8" curl -L --silent "https://github.com/sbt/sbt/releases/download/v$SBT_LAUNCHER/sbt-$SBT_LAUNCHER.tgz" > $HOME/sbt.tgz tar zxf $HOME/sbt.tgz -C $HOME sudo rm /usr/local/bin/sbt sudo ln -s $HOME/sbt/bin/sbt /usr/local/bin/sbt script: - sbt -v "+test" ``` ##### Fixes - Fixes `sourcePositionMappers` added by Play not getting called [#&#8203;6352][6352] by [@&#8203;mkurz][@&#8203;mkurz] - Upgrade to JLine 3.19.0 to work around Scala 2.13.5 REPL breakage [#&#8203;6366][6366] by [@&#8203;eed3si9n][@&#8203;eed3si9n] - Fixes concurrent `testQuick` leading to an infinite loop [#&#8203;6326][6326] by [@&#8203;RafalSumislawski][@&#8203;RafalSumislawski] - Fixes `ZipEntry` timestamp to 2010-01-01 to prevent negative value [#&#8203;6290][6290] by [@&#8203;takezoe][@&#8203;takezoe] - Display a better error message for "sbt server is already booting" problem [#&#8203;6353][6353] by [@&#8203;sideeffffect][@&#8203;sideeffffect] [6290]: https://togithub.com/sbt/sbt/pull/6290 [6326]: https://togithub.com/sbt/sbt/pull/6326 [6352]: https://togithub.com/sbt/sbt/pull/6352 [6353]: https://togithub.com/sbt/sbt/pull/6353 [6366]: https://togithub.com/sbt/sbt/pull/6366 [@&#8203;takezoe]: https://togithub.com/takezoe [@&#8203;RafalSumislawski]: https://togithub.com/RafalSumislawski [@&#8203;mkurz]: https://togithub.com/mkurz [@&#8203;sideeffffect]: https://togithub.com/sideeffffect [@&#8203;eed3si9n]: https://togithub.com/eed3si9n ### [`v1.4.7`](https://togithub.com/sbt/sbt/releases/tag/v1.4.7): 1.4.7 [Compare Source](https://togithub.com/sbt/sbt/compare/v1.4.6...v1.4.7) - Updates to Coursier 2.0.9, fixing authentication with Sonatype Nexus [#&#8203;6278][6278] / [https://github.com/coursier/coursier/pull/1948](https://togithub.com/coursier/coursier/pull/1948) by [@&#8203;cchepelov][@&#8203;cchepelov] - Fixes Ctrl-C printing out stack trace [#&#8203;6213][6213] by [@&#8203;eatkins][@&#8203;eatkins] - Fixes tab completion adding extra whitespace [#&#8203;6257][6257] by [@&#8203;eed3si9n][@&#8203;eed3si9n] - Fixes Scalac options for SemanticDB on Scala >= 3.0.0-M3 [#&#8203;6231][6231] by [@&#8203;adpi2][@&#8203;adpi2] - GNU Emacs support for `sbtn` and `sbt --client` [#&#8203;6276][6276] by [@&#8203;fommil][@&#8203;fommil] - Deprecates `externalPom(...)` and `externalIvyFile(...)` [#&#8203;6284][6284] by [@&#8203;eed3si9n][@&#8203;eed3si9n] [@&#8203;adpi2]: https://togithub.com/adpi2 [@&#8203;eed3si9n]: https://togithub.com/eed3si9n [@&#8203;eatkins]: https://togithub.com/eatkins [@&#8203;cchepelov]: https://togithub.com/cchepelov [@&#8203;fommil]: https://togithub.com/fommil [6278]: https://togithub.com/sbt/sbt/pull/6278 [6213]: https://togithub.com/sbt/sbt/pull/6213 [6257]: https://togithub.com/sbt/sbt/pull/6257 [6276]: https://togithub.com/sbt/sbt/pull/6276 [6284]: https://togithub.com/sbt/sbt/pull/6284 [6231]: https://togithub.com/sbt/sbt/pull/6231 ### [`v1.4.6`](https://togithub.com/sbt/sbt/releases/tag/v1.4.6): 1.4.6 [Compare Source](https://togithub.com/sbt/sbt/compare/v1.4.5...v1.4.6) - Updates to Coursier 2.0.8, which fixes the cache directory setting on Windows (fix contributed by [@&#8203;fthomas](https://togithub.com/fthomas)) - Fixes performance regression in shell tab completion [#&#8203;6214][6214] by [@&#8203;eed3si9n][@&#8203;eed3si9n] - Fixes match error when using `withDottyCompat` [lm#&#8203;352][lm352] by [@&#8203;eed3si9n][@&#8203;eed3si9n] - Fixes thread-safety in AnalysisCallback handler [zinc#&#8203;957][zinc957] by [@&#8203;dotta][@&#8203;dotta] [lm352]: https://togithub.com/sbt/librarymanagement/pull/352 [6214]: https://togithub.com/sbt/sbt/pull/6214 [zinc957]: https://togithub.com/sbt/zinc/pull/957 [@&#8203;dotta]: https://togithub.com/dotta [@&#8203;adpi2]: https://togithub.com/adpi2 [@&#8203;eed3si9n]: https://togithub.com/eed3si9n [@&#8203;eatkins]: https://togithub.com/eatkins ### [`v1.4.5`](https://togithub.com/sbt/sbt/releases/tag/v1.4.5): 1.4.5 [Compare Source](https://togithub.com/sbt/sbt/compare/v1.4.4...v1.4.5) - sbt 1.4.5 adds support for Apple silicon (AArch64 also called ARM64) [#&#8203;6162][6162]/[#&#8203;6169][6169] by [@&#8203;eatkins][@&#8203;eatkins] - Updates to Coursier 2.0.7 [#&#8203;6120][6120] by [@&#8203;jtjeferreira][@&#8203;jtjeferreira] - Fixes watch shell option [#&#8203;6166][6166] by [@&#8203;eatkins][@&#8203;eatkins] - Fixes `onLoad` to run with the correct `FileTreeRepository` and `CacheStoreFactory` [#&#8203;6190][6190] by [@&#8203;mkurz][@&#8203;mkurz] [6162]: https://togithub.com/sbt/sbt/issues/6162 [6169]: https://togithub.com/sbt/sbt/pull/6169 [6166]: https://togithub.com/sbt/sbt/pull/6166 [6120]: https://togithub.com/sbt/sbt/pull/6120 [6190]: https://togithub.com/sbt/sbt/pull/6190 [@&#8203;adpi2]: https://togithub.com/adpi2 [@&#8203;eed3si9n]: https://togithub.com/eed3si9n [@&#8203;eatkins]: https://togithub.com/eatkins [@&#8203;jtjeferreira]: https://togithub.com/jtjeferreira </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/navicore/stsource). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM0LjE1My4yIn0=-->
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
navicore/stsource!17
No description provided.