sbt/sbt (sbt/sbt)
### [`v1.9.9`](https://togithub.com/sbt/sbt/releases/tag/v1.9.9): 1.9.9
[Compare Source](https://togithub.com/sbt/sbt/compare/v1.9.8...v1.9.9)
##### Bug fixes
- To fix `console` task on Scala 2.13.13, sbt 1.9.9 backports updates to JLine 3.24.1 and JAnsi 2.4.0 by [@hvesalai](https://togithub.com/hvesalai) in [https://github.com/sbt/sbt/pull/7503](https://togithub.com/sbt/sbt/pull/7503) / [https://github.com/sbt/sbt/issues/7502](https://togithub.com/sbt/sbt/issues/7502)
- To fix sbt 1.9.8's `UnsatisfiedLinkError` with `stat`, sbt 1.9.9 removes native code that was used to get the millisecond-precision timestamp that was broken ([JDK-8177809](https://bugs.openjdk.org/browse/JDK-8177809)) on JDK 8 prior to [OpenJDK 8u302](https://mail.openjdk.org/pipermail/jdk8u-dev/2021-July/014118.html) by [@eed3si9n](https://togithub.com/eed3si9n) in [https://github.com/sbt/io/pull/367](https://togithub.com/sbt/io/pull/367)
**Full Changelog**: https://github.com/sbt/sbt/compare/v1.9.8...v1.9.9
### [`v1.9.8`](https://togithub.com/sbt/sbt/releases/tag/v1.9.8): 1.9.8
[Compare Source](https://togithub.com/sbt/sbt/compare/v1.9.7...v1.9.8)
#### updates
- Fixes `IO.getModifiedOrZero` on Alpine etc, by using clib `stat()` instead of non-standard `__xstat64` abi by [@bratkartoffel](https://togithub.com/bratkartoffel) in [https://github.com/sbt/io/pull/362](https://togithub.com/sbt/io/pull/362)
- As a temporary fix for JLine issue, this disables vi-style effects inside emacs by [@hvesalai](https://togithub.com/hvesalai) in [https://github.com/sbt/sbt/pull/7420](https://togithub.com/sbt/sbt/pull/7420)
- Backports fix for `updateSbtClassifiers` not downloading sources [https://github.com/sbt/sbt/pull/7437](https://togithub.com/sbt/sbt/pull/7437) by [@azdrojowa123](https://togithub.com/azdrojowa123)
- Backports missing logger methods that take Java Supplier [https://github.com/sbt/sbt/pull/7447](https://togithub.com/sbt/sbt/pull/7447) by [@mkurz](https://togithub.com/mkurz)
**Full Changelog**: https://github.com/sbt/sbt/compare/v1.9.7...v1.9.8
### [`v1.9.7`](https://togithub.com/sbt/sbt/releases/tag/v1.9.7): 1.9.7
[Compare Source](https://togithub.com/sbt/sbt/compare/v1.9.6...v1.9.7)
##### Highlights
- sbt 1.9.7 updates its IO module to 1.9.7, which fixes parent path traversal vulnerability in `IO.unzip`. This was discovered and reported by Kenji Yoshida ([@xuwei-k][@xuwei-k]), and fixed by [@eed3si9n][@eed3si9n] in [io#360][io360].
##### Zip Slip (arbitrary file write) vulnerability
See for the most up to date information. This affects all sbt versions prior to 1.9.7.
Path traversal vulnerabilty was discovered in `IO.unzip` code. This is a very common vulnerability known as [Zip Slip](https://security.snyk.io/research/zip-slip-vulnerability), and was found and fixed in plexus-archiver, Ant, etc.
Given a specially crafted zip or JAR file, `IO.unzip` allows writing of arbitrary file. The follow is an example of a malicious entry:
+2018-04-15 22:04:42 ..... 20 20 ../../../../../../root/.ssh/authorized_keys
When executed on some path with six levels, `IO.unzip` could then overwrite a file under `/root/`. sbt main uses `IO.unzip` only in `pullRemoteCache` and `Resolvers.remote`, however, many projects use `IO.unzip(...)` directly to implement custom tasks and tests.
##### Non-determinism from AutoPlugins loading
We've known that occasionally some builds non-deterministically flip-flops its behavior when a task or a setting is set by two independent AutoPlugins, i.e. two plugins that neither depends on the other.
sbt 1.9.7 attempts to fix non-determinism of plugin loading order.
This was contributed by [@eed3si9n][@eed3si9n] in [#7404][7404].
##### Other updates and fixes
- Updates Coursier to 2.1.7 by [@regiskuckaertz][@regiskuckaertz] in [#7392][7392]
- Updates Swoval to 2.1.12 by [@eatkins][@eatkins] in [io#353][io353].
- Fixes `.sbtopts` support for `sbt` runner script on Windows by [@ptrdom][@ptrdom] in [#7393][7393]
- Adds documentation on `scriptedSbt` key by [@mdedetrich][@mdedetrich] in [#7383][7383]
- Includes the URL in `dependencyBrowseTree` log by [@mkurz][@mkurz] in [#7396][7396]
[@eed3si9n]: https://togithub.com/eed3si9n
[@Nirvikalpa108]: https://togithub.com/Nirvikalpa108
[@adpi2]: https://togithub.com/adpi2
[@er1c]: https://togithub.com/er1c
[@eatkins]: https://togithub.com/eatkins
[@dwijnand]: https://togithub.com/dwijnand
[@xuwei-k]: https://togithub.com/xuwei-k
[@regiskuckaertz]: https://togithub.com/regiskuckaertz
[@ptrdom]: https://togithub.com/ptrdom
[@mdedetrich]: https://togithub.com/mdedetrich
[@mkurz]: https://togithub.com/mkurz
[7404]: https://togithub.com/sbt/sbt/pull/7404
[7392]: https://togithub.com/sbt/sbt/pull/7392
[7393]: https://togithub.com/sbt/sbt/pull/7393
[7396]: https://togithub.com/sbt/sbt/pull/7396
[7383]: https://togithub.com/sbt/sbt/pull/7383
[io353]: https://togithub.com/sbt/io/pull/353
[io360]: https://togithub.com/sbt/io/pull/360
### [`v1.9.6`](https://togithub.com/sbt/sbt/releases/tag/v1.9.6): 1.9.6
[Compare Source](https://togithub.com/sbt/sbt/compare/v1.9.5...v1.9.6)
#### bug fix
- sbt 1.9.6 reverts "internal representation of class symbol names" change ([https://github.com/sbt/zinc/pull/1244](https://togithub.com/sbt/zinc/pull/1244)), which caused Scala compiler to generate wrong anonymous class name by [@eed3si9n](https://togithub.com/eed3si9n) in [https://github.com/sbt/zinc/pull/1256](https://togithub.com/sbt/zinc/pull/1256). See [https://github.com/scala/bug/issues/12868](https://togithub.com/scala/bug/issues/12868) for more details.
**Full Changelog**: https://github.com/sbt/sbt/compare/v1.9.5...v1.9.6
### [`v1.9.5`](https://togithub.com/sbt/sbt/releases/tag/v1.9.5): 1.9.5
[Compare Source](https://togithub.com/sbt/sbt/compare/v1.9.4...v1.9.5)
**Update**: ⚠️ sbt 1.9.5 is broken, because it causes Scala compiler to generate wrong class names for anonymous class on lambda. While we investigate please refrain from publishing libraries with it.
[https://github.com/scala/bug/issues/12868#issuecomment-1720848704](https://togithub.com/scala/bug/issues/12868#issuecomment-1720848704)
#### highlights
- Switches to pre-compiled compiler bridge for Scala 2.13.12+ [#7374][7374] by [@eed3si9n][@eed3si9n]
- Fixes NPE when just `-X` is passed to `scalacOptions` [zinc#1246][zinc1246] by [@unkarjedy][@unkarjedy]
#### other updates
- Fixes internal representation of class symbol names [zinc#1244][zinc1244] by [@dwijnand][@dwijnand]
- Fixes `NumberFormatException` in `CrossVersionUtil.binaryScalaVersion` [lm#426][lm426] by [@HelloKunal][@HelloKunal]
- Fixes `scripted` client/server instability on Windows [#7087][7087] by [@mdedetrich][@mdedetrich]
- Fixes `sbt` launcher script bug on Windows [#7365][7365] by [@JD557][@JD557]
- Fixes `help` command on oldshell [#7358][7358] by [@azdrojowa123][@azdrojowa123]
- Adds `allModuleReports` to `UpdateReport` [lm#428][lm428] by [@mdedetrich][@mdedetrich]
- Handles javac warning messages [zinc#1228][zinc1228] by [@Arthurm1][@Arthurm1]
- Enables inliner for Scala 2.13 compiler bridge [zinc#1247][zinc1247] by [@mdedetrich][@mdedetrich]
#### new contributors
- [@azdrojowa123](https://togithub.com/azdrojowa123) made their first contribution in [https://github.com/sbt/sbt/pull/7358](https://togithub.com/sbt/sbt/pull/7358)
- [@JD557](https://togithub.com/JD557) made their first contribution in [https://github.com/sbt/sbt/pull/7367](https://togithub.com/sbt/sbt/pull/7367)
**Full Changelog**: https://github.com/sbt/sbt/compare/v1.9.4...v1.9.5
[@eed3si9n]: https://togithub.com/eed3si9n
[@Nirvikalpa108]: https://togithub.com/Nirvikalpa108
[@adpi2]: https://togithub.com/adpi2
[@er1c]: https://togithub.com/er1c
[@eatkins]: https://togithub.com/eatkins
[@dwijnand]: https://togithub.com/dwijnand
[@mdedetrich]: https://togithub.com/mdedetrich
[@JD557]: https://togithub.com/JD557
[@azdrojowa123]: https://togithub.com/azdrojowa123
[@HelloKunal]: https://togithub.com/HelloKunal
[@unkarjedy]: https://togithub.com/unkarjedy
[@Arthurm1]: https://togithub.com/Arthurm1
[7374]: https://togithub.com/sbt/sbt/pull/7374
[7087]: https://togithub.com/sbt/sbt/pull/7087
[7365]: https://togithub.com/sbt/sbt/issues/7365
[7358]: https://togithub.com/sbt/sbt/pull/7358
[zinc1246]: https://togithub.com/sbt/zinc/pull/1246
[zinc1244]: https://togithub.com/sbt/zinc/pull/1244
[zinc1228]: https://togithub.com/sbt/zinc/pull/1228
[zinc1247]: https://togithub.com/sbt/zinc/pull/1247
[lm426]: https://togithub.com/sbt/librarymanagement/pull/426
[lm428]: https://togithub.com/sbt/librarymanagement/pull/428
### [`v1.9.4`](https://togithub.com/sbt/sbt/releases/tag/v1.9.4): 1.9.4
[Compare Source](https://togithub.com/sbt/sbt/compare/v1.9.3...v1.9.4)
##### CVE-2022-46751
[CVE-2022-46751](https://togithub.com/advisories/GHSA-2jc4-r94c-rp7h) is a security vulnerability discovered in Apache Ivy, but found also in Coursier.
With coordination with Apache Foundation, Adrien Piquerez ([@adpi2](https://togithub.com/adpi2)) from Scala Center backported the fix to both our Ivy 2.3 fork and Coursier. sbt 1.9.4 updates them to the fixed versions.
#### Other updates
- Fixes `sbt_script` lookup by replacing all spaces with `%20` (not only the first one) in the path. by [@arturaz](https://togithub.com/arturaz) in [https://github.com/sbt/sbt/pull/7349](https://togithub.com/sbt/sbt/pull/7349)
- Fixes [scala-debug-adapter#543](https://togithub.com/scala-debug-adapter/sbt/issues/543): Maintain order of internal deps by [@adpi2](https://togithub.com/adpi2) in [https://github.com/sbt/sbt/pull/7347](https://togithub.com/sbt/sbt/pull/7347)
- Removes `conscriptConfigs` task, not used and needed(?) anymore by [@mkurz](https://togithub.com/mkurz) in [https://github.com/sbt/sbt/pull/7353](https://togithub.com/sbt/sbt/pull/7353)
- Adds a Scala 3 seed to the `sbt new` menu by [@SethTisue](https://togithub.com/SethTisue) in [https://github.com/sbt/sbt/pull/7354](https://togithub.com/sbt/sbt/pull/7354)
#### new contributors
- [@arturaz](https://togithub.com/arturaz) made their first contribution in [https://github.com/sbt/sbt/pull/7349](https://togithub.com/sbt/sbt/pull/7349)
**Full Changelog**: https://github.com/sbt/sbt/compare/v1.9.3...v1.9.4
### [`v1.9.3`](https://togithub.com/sbt/sbt/releases/tag/v1.9.3): 1.9.3
[Compare Source](https://togithub.com/sbt/sbt/compare/v1.9.2...v1.9.3)
##### Actionable diagnostics (aka quickfix)
Actionable diagnostics, or quickfix, is an area in Scala tooling that's been getting attention since Chris Kipp presented it in the March 2023 Tooling Summit. Chris has written the [roadmap][actionable] and sent [sbt/sbt#7242][7242] that kickstarted the effort, but now there's been steady progress in [Build Server Protocol][bsp527], [Dotty](https://togithub.com/lampepfl/dotty/issues/17337), [Scala 2.13](https://togithub.com/scala/scala/pull/10406/), IntelliJ, Zinc, etc. Metals 1.0.0, for example, is now capable of surfacing code actions as a quickfix.
sbt 1.9.3 adds a new interface called `AnalysisCallback2` to relay code actions from the compiler(s) to Zinc's Analysis file. Future version of Scala 2.13.x (and hopefully Scala 3) will release with proper code actions, but as a demo I've implemented a code action for procedure syntax usages even on current Scala 2.13.11 with `-deprecation` flag.
This was contributed by Eugene Yokota ([@eed3si9n](https://togithub.com/eed3si9n)) in [zinc#1226][zinc1226]. Special thanks to [@lrytz][@lrytz] for identifying this issue in [zinc#1214](https://togithub.com/sbt/zinc/discussions/1214).
#### other updates
- Adds M1/M2/Aarch64 build of sbtn into the installer by [@julienrf](https://togithub.com/julienrf) in [https://github.com/sbt/sbt/pull/7329](https://togithub.com/sbt/sbt/pull/7329)
- Fixes scripted tests timing out after 5 minutes by [@eed3si9n](https://togithub.com/eed3si9n) in [https://github.com/sbt/sbt/pull/7336](https://togithub.com/sbt/sbt/pull/7336)
**Full Changelog**: https://github.com/sbt/sbt/compare/v1.9.2...v1.9.3
[@eed3si9n]: https://togithub.com/eed3si9n
[@Nirvikalpa108]: https://togithub.com/Nirvikalpa108
[@adpi2]: https://togithub.com/adpi2
[@er1c]: https://togithub.com/er1c
[@eatkins]: https://togithub.com/eatkins
[@dwijnand]: https://togithub.com/dwijnand
[@ckipp01]: https://togithub.com/ckipp01
[@mdedetrich]: https://togithub.com/mdedetrich
[@xuwei-k]: https://togithub.com/xuwei-k
[@lrytz]: https://togithub.com/lrytz
[7242]: https://togithub.com/sbt/sbt/pull/7242
[7251]: https://togithub.com/sbt/sbt/pull/7251
[zinc1186]: https://togithub.com/sbt/zinc/pull/1186
[zinc1226]: https://togithub.com/sbt/zinc/pull/1226
[bsp527]: https://togithub.com/build-server-protocol/build-server-protocol/pull/527
[actionable]: https://contributors.scala-lang.org/t/roadmap-for-actionable-diagnostics/6172/1
### [`v1.9.2`](https://togithub.com/sbt/sbt/releases/tag/v1.9.2): 1.9.2
[Compare Source](https://togithub.com/sbt/sbt/compare/v1.9.1...v1.9.2)
##### Fix
- Let `++` fall back to a bincompat Scala version by [@eed3si9n](https://togithub.com/eed3si9n) in [https://github.com/sbt/sbt/pull/7328](https://togithub.com/sbt/sbt/pull/7328)
**Full Changelog**: https://github.com/sbt/sbt/compare/v1.9.1...v1.9.2
### [`v1.9.1`](https://togithub.com/sbt/sbt/releases/tag/v1.9.1): 1.9.1
[Compare Source](https://togithub.com/sbt/sbt/compare/v1.9.0...v1.9.1)
##### Change to Scala CLA
sbt 1.9.1 is the first release of sbt after changing to Scala CLA in [#7306][7306] etc. A number of contributors to sbt voiced concerns about donating our work to Lightbend after 2022, and Lightbend, Scala Center, and I agreed on changing the contributor license agreement such that the copyright would tranfer to Scala Center, a non-profit organization. sbt and its subcompoments, including Zinc, will remain available under Apache v2 license.
##### Updates
- Fixes "Repository for publishing is not specified" error even when `publish / skip` is set `true` by [@adpi2][@adpi2] in [#7295][7295]
- Fixes scripted test not working when `sbtPluginPublishLegacyMavenStyle := false` by [@adpi2][@adpi2] in [#7286][7286]
- Fixes copy-pasting to `sbt console` being slow by [@andrzejressel][@andrzejressel] in [#7280][7280]
- Fixes missing range in BSP Diagnostic by [@adpi2][@adpi2] in [#7298][7298]
- Fixes zip64 offset writing by [@dwijnand][@dwijnand] in [zinc#1206][zinc1206]
- Fixes a typo in the description of `exportPipelining` key by [@alexklibisz][@alexklibisz] in [#7291][7291]
- `dependencyBrowseGraph` and `dependencyDot` render in color by [@sideeffffect][@sideeffffect] in [#7301][7301]. This can be opted-out using `dependencyDotNodeColors` setting.
- Adds softwaremill/tapir.g8 to `sbt new` default menu by [@katlasik][@katlasik] in [#7300][7300]
- Makes `sbt new` default menu extensible via `templateDescriptions` setting key and `templateRunLocal` input key by [@eed3si9n][@eed3si9n] in [#7304][7304]
- Adds Hedgehog Scala to default test framework by [@kevin-lee][@kevin-lee] in [#7287][7287]
- Updates `semanticdbVersion` to 4.7.8 by [@ckipp01][@ckipp01] in [#7294][7294]
- Updates JNA to 5.13.0 by [@xuwei-k][@xuwei-k] in [io#346][io346]
- Updates Scala 2.13 for Zinc etc to 2.13.11 by [@mkurz][@mkurz] in [#7279][7279]
- Updates sbtn to 1.9.0 by [@mkurz][@mkurz] in [#7290][7290]
- Updates Scala Toolkit to 0.2.0 by [@eed3si9n][@eed3si9n] in [#7318][7318]
##### Behind the scene
- Adds `@tailrec` annotation by [@xuwei-k][@xuwei-k] in [zinc#1209][zinc1209]
- Updates Scala versions in scripted tests by [@xuwei-k][@xuwei-k] in [#7312][7312]
- Many typo fixes by [@xuwei-k][@xuwei-k] in [#7313][7313]
- Fixes Scaladoc warnings by [@xuwei-k][@xuwei-k] in [#7314][7314]
- Typo fix in `DEVELOPING.md` by [@dongxuwang][@dongxuwang] in [#7299][7299]
- Avoids deprecated `java.net.URL` constructor by [@xuwei-k][@xuwei-k] in [#7315][7315]
- Refactors `filter` to `withFilter` where possible by [@xuwei-k][@xuwei-k] in [#7317][7317]
#### new contributors
- [@andrzejressel](https://togithub.com/andrzejressel) made their first contribution in [https://github.com/sbt/sbt/pull/7280](https://togithub.com/sbt/sbt/pull/7280)
- [@kevin-lee](https://togithub.com/kevin-lee) made their first contribution in [https://github.com/sbt/sbt/pull/7287](https://togithub.com/sbt/sbt/pull/7287)
- [@alexklibisz](https://togithub.com/alexklibisz) made their first contribution in [https://github.com/sbt/sbt/pull/7291](https://togithub.com/sbt/sbt/pull/7291)
- [@dongxuwang](https://togithub.com/dongxuwang) made their first contribution in [https://github.com/sbt/sbt/pull/7299](https://togithub.com/sbt/sbt/pull/7299)
- [@katlasik](https://togithub.com/katlasik) made their first contribution in [https://github.com/sbt/sbt/pull/7300](https://togithub.com/sbt/sbt/pull/7300)
**Full Changelog**: https://github.com/sbt/sbt/compare/v1.9.0...v1.9.1
[@eed3si9n]: https://togithub.com/eed3si9n
[@Nirvikalpa108]: https://togithub.com/Nirvikalpa108
[@adpi2]: https://togithub.com/adpi2
[@er1c]: https://togithub.com/er1c
[@eatkins]: https://togithub.com/eatkins
[@dwijnand]: https://togithub.com/dwijnand
[@ckipp01]: https://togithub.com/ckipp01
[@mdedetrich]: https://togithub.com/mdedetrich
[@xuwei-k]: https://togithub.com/xuwei-k
[@julienrf]: https://togithub.com/julienrf
[@mkurz]: https://togithub.com/mkurz
[@andrzejressel]: https://togithub.com/andrzejressel
[@kevin-lee]: https://togithub.com/kevin-lee
[@alexklibisz]: https://togithub.com/alexklibisz
[@dongxuwang]: https://togithub.com/dongxuwang
[@katlasik]: https://togithub.com/katlasik
[@sideeffffect]: https://togithub.com/sideeffffect
[7306]: https://togithub.com/sbt/sbt/pull/7306
[7279]: https://togithub.com/sbt/sbt/pull/7279
[7280]: https://togithub.com/sbt/sbt/pull/7280
[7287]: https://togithub.com/sbt/sbt/pull/7287
[7286]: https://togithub.com/sbt/sbt/pull/7286
[7290]: https://togithub.com/sbt/sbt/pull/7290
[7291]: https://togithub.com/sbt/sbt/pull/7291
[7294]: https://togithub.com/sbt/sbt/pull/7294
[7295]: https://togithub.com/sbt/sbt/pull/7295
[7298]: https://togithub.com/sbt/sbt/pull/7298
[7299]: https://togithub.com/sbt/sbt/pull/7299
[7300]: https://togithub.com/sbt/sbt/pull/7300
[7301]: https://togithub.com/sbt/sbt/pull/7301
[7304]: https://togithub.com/sbt/sbt/pull/7304
[7312]: https://togithub.com/sbt/sbt/pull/7312
[7313]: https://togithub.com/sbt/sbt/pull/7313
[7314]: https://togithub.com/sbt/sbt/pull/7314
[7315]: https://togithub.com/sbt/sbt/pull/7315
[7317]: https://togithub.com/sbt/sbt/pull/7317
[7318]: https://togithub.com/sbt/sbt/pull/7318
[io346]: https://togithub.com/sbt/io/pull/346
[zinc1206]: https://togithub.com/sbt/zinc/pull/1206
[zinc1209]: https://togithub.com/sbt/zinc/pull/1209
### [`v1.9.0`](https://togithub.com/sbt/sbt/releases/tag/v1.9.0): 1.9.0
[Compare Source](https://togithub.com/sbt/sbt/compare/v1.8.3...v1.9.0)
##### Changes with compatibility implications
- Deprecates `IntegrationTest` configuration. See below.
- Updates underlying Coursier to 2.1.2 by [@eed3si9n][@eed3si9n].
##### Deprecation of IntegrationTest configuration
sbt 1.9.0 deprecates `IntegrationTest` configuration. ([RFC-3](https://eed3si9n.com/sbt-drop-custom-config/) proposes to deprecate general use of configuration axis beyond `Compile` and `Test`, and this is the first installment of the change.)
The recommended migration path is to create a subproject named "integration", or "foo-integration" etc.
```scala
lazy val integration = (project in file("integration"))
.dependsOn(core) // your current subproject
.settings(
publish / skip := true,
// test dependencies
libraryDependencies += something % Test,
)
```
From the shell you can run:
```scala
> integration/test
```
Assuming these are slow tests compared to the regular tests, I might not aggregate them at all from other subprojects, and maybe only run it on CI, but it's up to you.
Why deprecate `IntegrationTest`? `IntegrationTest` was a demoware for the idea of custom configuration axis, and now that we are planning to deprecate the mechanism to simplify sbt, we wanted to stop advertising it. We won't remove it during sbt 1.x series, but deprecation signals the non-recommendation status.
This was contributed by [@eed3si9n][@eed3si9n] and [@mdedetrich][@mdedetrich] in [lm#414][lm414]/[#7261][7261].
##### POM consistency of sbt plugin publishing
sbt 1.9.0 publishes sbt plugin to Maven repository in a POM-consistent way. sbt has been publishing POM file of sbt plugins as `sbt-something-1.2.3.pom` even though the artifact URL is suffixed as `sbt-something_2.12_1.0`. This allowed "sbt-something" to be registered by Maven Central, allowing [search](https://central.sonatype.com/search?smo=true\&q=sbt-pgp). However, as more plugins moved to Maven Central, it was considered that keeping POM consisntency rule was more important, especially for corporate repositories to proxy them.
sbt 1.9.0 will publish using both the conventional POM-inconsistent style and POM-consistent style so prior sbt releases can still consume the plugin. However, this can be opted-out using `sbtPluginPublishLegacyMavenStyle` setting.
This fix was contributed by Adrien Piquerez ([@adpi2][@adpi2]) at Scala Center in [coursier#2633][coursier2633], [sbt#7096][7096] etc. Special thanks to William Narmontas ([@ScalaWilliam][@ScalaWilliam]) and Wudong Liu ([@wudong][@wudong]) whose experimental plugin [sbt-vspp](https://togithub.com/esbeetee/sbt-vspp) paved the way for this feature.
##### `sbt new`, a text-based adventure
sbt 1.9.0 adds text-based menu when `sbt new` or `sbt init` is called without arguments:
$ sbt -Dsbt.version=1.9.0-RC2 init
....
Welcome to sbt new!
Here are some templates to get started:
a) scala/toolkit.local - Scala Toolkit (beta) by Scala Center and VirtusLab
b) typelevel/toolkit.local - Toolkit to start building Typelevel apps
c) sbt/cross-platform.local - A cross-JVM/JS/Native project
d) scala/scala-seed.g8 - Scala 2 seed template
e) playframework/play-scala-seed.g8 - A Play project in Scala
f) playframework/play-java-seed.g8 - A Play project in Java
g) scala-js/vite.g8 - A Scala.JS + Vite project
i) holdenk/sparkProjectTemplate.g8 - A Scala Spark project
m) spotify/scio.g8 - A Scio project
n) disneystreaming/smithy4s.g8 - A Smithy4s project
q) quit
Select a template (default: a):
Unlike Giter8, `.local` template creates `build.sbt` etc in the **current directory**, and reboots into an sbt session.
This was contributed by Eugene Yokota ([@eed3si9n][@eed3si9n]) in [#7228][7228].
##### Actionable diagnostics steps
sbt 1.9.0 adds `actions` to `Problem`, allowing the compiler to suggest code edits as part of the compiler warnings and errors in a structual manner.
See [Roadmap for actionable diagnostics][actionable] for more details. The changes were contributed by [@ckipp01][@ckipp01] in [#7242][7242] and [@eed3si9n][@eed3si9n] in [bsp#527][bsp527]/[#7251][7251]/[zinc#1186][zinc1186] etc.
##### `releaseNotesURL` setting
sbt 1.9.0 adds `releaseNotesURL` setting, which creates `info.releaseNotesUrl` property in the POM file. This will then be used by Scala Steward. See [
Add release notes URLs to your POMs](https://contributors.scala-lang.org/t/add-release-notes-urls-to-your-poms/6059/1) for details.
This was contributed by Arman Bilge in [lm#410][lm410].
##### Other updates
- Updates Scala 2.13 cross build for Zinc to 2.13.10 to address [CVE-2022-36944](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-36944) by [@rhuddleston][@rhuddleston]
- Updates underlying Scala to 2.12.18 for JDK 21-ea in [#7271][7271] by [@eed3si9n][@eed3si9n].
- Fixes Zinc incremental compilation looping infinitely [zinc#1182][zinc1182] by [@CarstonSchilds][@CarstonSchilds]
- Fixes `libraryDependencySchemes` not overriding `assumedVersionScheme` [lm#415][lm415] by [@adriaanm][@adriaanm]
- Fixes spurious whitespace in the runner script by [@keynmol][@keynmol] in [#7134][7134]
- Makes `RunProfiler` available by [@dragos][@dragos] in [#7215][7215]
- Makes `publishLocal / skip` work by [@mdedetrich][@mdedetrich] in [#7165][7165]
- Fixes NullPointerError under `-Vdebug` by [@som-snytt][@som-snytt] in [zinc#1141][zinc1141]
- Fixes Maven `settings.xml` properties expansion by [@nrinaudo][@nrinaudo] in [lm#413][lm413]
- Adds `FileFilter.nothing` and `FileFilter.everything` by [@mdedetrich][@mdedetrich] in [io#340][io340]
- Adds `Resolver.ApacheMavenSnapshotsRepo` by [@mdedetrich][@mdedetrich]
- Avoids deprecated `java.net.URL` constructor by [@xuwei-k][@xuwei-k] in [io#341][io341]
- Updates to Swoval 2.1.10 by [@eatkins][@eatkins] in [io#343][io343]
- Updates to sbt-giter8-resolver 0.16.2 by [@eed3si9n][@eed3si9n]
- Fixes dead lock between `LoggerContext` and `Terminal` by [@adpi2][@adpi2] in [#7191][7191]
- Notifies `ClassFileManager` from `IncOptions` in `Incremental.prune` by [@lrytz] in [zinc1148][zinc1148]
- Updates usage info for java-home in the runner script by [@liang3zy22][@liang3zy22] in [#7171][7171]
- Deprecates misspelled `Problem#diagnosticRelatedInforamation` by [@ckipp01][@ckipp01] in [#7241][7241]
- Adds built-in support for weaver-cats test framework [#7263][7263] by [@kubukoz][@kubukoz]
##### Behind the scene
- Replaces olafurpg/setup-scala with actions/setup-java by [@mzuehlke][@mzuehlke] in [#7154][7154]
- Uses `sonatypeOssRepos` instead of `sonatypeRepo` by [@yoshinorin][@yoshinorin] in [#7227][7227]
[@eed3si9n]: https://togithub.com/eed3si9n
[@Nirvikalpa108]: https://togithub.com/Nirvikalpa108
[@adpi2]: https://togithub.com/adpi2
[@er1c]: https://togithub.com/er1c
[@eatkins]: https://togithub.com/eatkins
[@dwijnand]: https://togithub.com/dwijnand
[@ckipp01]: https://togithub.com/ckipp01
[@mdedetrich]: https://togithub.com/mdedetrich
[@xuwei-k]: https://togithub.com/xuwei-k
[@nrinaudo]: https://togithub.com/nrinaudo
[@CarstonSchilds]: https://togithub.com/CarstonSchilds
[@som-snytt]: https://togithub.com/som-snytt
[@lrytz]: https://togithub.com/lrytz
[@dragos]: https://togithub.com/dragos
[@keynmol]: https://togithub.com/keynmol
[@mzuehlke]: https://togithub.com/mzuehlke
[@yoshinorin]: https://togithub.com/yoshinorin
[@liang3zy22]: https://togithub.com/liang3zy22
[@adriaanm]: https://togithub.com/adriaanm
[@wudong]: https://togithub.com/wudong
[@ScalaWilliam]: https://togithub.com/ScalaWilliam
[@rhuddleston]: https://togithub.com/rhuddleston
[@kubukoz]: https://togithub.com/kubukoz
[7096]: https://togithub.com/sbt/sbt/pull/7096
[7215]: ttps://github.com/sbt/sbt/pull/7215
[7191]: https://togithub.com/sbt/sbt/pull/7191
[7228]: https://togithub.com/sbt/sbt/pull/7228
[7134]: https://togithub.com/sbt/sbt/pull/7134
[7165]: https://togithub.com/sbt/sbt/pull/7165
[7154]: https://togithub.com/sbt/sbt/pull/7154
[7227]: https://togithub.com/sbt/sbt/pull/7227
[7171]: https://togithub.com/sbt/sbt/pull/7171
[7234]: https://togithub.com/sbt/sbt/pull/7234
[7241]: https://togithub.com/sbt/sbt/pull/7241
[7242]: https://togithub.com/sbt/sbt/pull/7242
[7251]: https://togithub.com/sbt/sbt/pull/7251
[7271]: https://togithub.com/sbt/sbt/pull/7271
[7261]: https://togithub.com/sbt/sbt/pull/7261
[7263]: https://togithub.com/sbt/sbt/pull/7263
[zinc1182]: https://togithub.com/sbt/zinc/pull/1182
[zinc1141]: https://togithub.com/sbt/zinc/pull/1141
[zinc1148]: https://togithub.com/sbt/zinc/pull/1148
[zinc1186]: https://togithub.com/sbt/zinc/pull/1186
[zinc1196]: https://togithub.com/sbt/zinc/pull/1196
[lm410]: https://togithub.com/sbt/librarymanagement/pull/410
[lm411]: https://togithub.com/sbt/librarymanagement/pull/411
[lm413]: https://togithub.com/sbt/librarymanagement/pull/413
[lm414]: https://togithub.com/sbt/librarymanagement/pull/414
[lm415]: https://togithub.com/sbt/librarymanagement/pull/415
[io340]: https://togithub.com/sbt/io/pull/340
[io341]: https://togithub.com/sbt/io/pull/341
[io343]: https://togithub.com/sbt/io/pull/343
[coursier2633]: https://togithub.com/coursier/coursier/pull/2633
[io344]: https://togithub.com/sbt/io/pull/344
[zinc1185]: https://togithub.com/sbt/zinc/pull/1185
[zinc1186]: https://togithub.com/sbt/zinc/pull/1186
[bsp527]: https://togithub.com/build-server-protocol/build-server-protocol/pull/527
[actionable]: https://contributors.scala-lang.org/t/roadmap-for-actionable-diagnostics/6172/1
### [`v1.8.3`](https://togithub.com/sbt/sbt/releases/tag/v1.8.3): 1.8.3
[Compare Source](https://togithub.com/sbt/sbt/compare/v1.8.2...v1.8.3)
##### Security fix
- Fixes `sbt.io.IO.withTemporaryFile` not limiting access on Unix-like systems in [io#344][io344]/[zinc#1185][zinc1185] by [@eed3si9n][@eed3si9n]
##### IO.withTemporaryFile fix
sbt 1.8.3 fixes `sbt.io.IO.withTemporaryFile` etc not limiting access on Unix-like systems. Prior to this patch release, some functions were using `java.io.File.createTempFile`, which does not set strict file permissions, as opposed to the NIO-equivalent that does.
This means that on a shared Unix-like systems, build user or plugin's use of `sbt.io.IO.withTemporaryFile` etc would have exposed the information to other users.
This issue was reported by Oleksandr Zolotko at IBM, and was fixed by Eugene Yokota ([@eed3si9n][@eed3si9n]) in [io#344][io344]/[zinc#1185][zinc1185].
##### Other updates
sbt 1.8.3 backports Zinc and IO fixes from 1.9.0-RC2 as well.
- Fixes Zinc incremental compilation looping infinitely [zinc#1182][zinc1182] by [@CarstonSchilds][@CarstonSchilds]
- Fixes spurious whitespace in the runner script by [@keynmol][@keynmol] in [#7134][7134]
- Fixes NullPointerError under `-Vdebug` by [@som-snytt][@som-snytt] in [zinc#1141][zinc1141]
- Avoids deprecated `java.net.URL` constructor by [@xuwei-k][@xuwei-k] in [io#341][io341]
- Updates to Swoval 2.1.10 by [@eatkins][@eatkins] in [io#343][io343]
- Notifies `ClassFileManager` from `IncOptions` in `Incremental.prune` by [@lrytz] in [zinc1148][zinc1148]
- Adds `FileFilter.nothing` and `FileFilter.everything` by [@mdedetrich][@mdedetrich] in [io#340][io340]
[@eed3si9n]: https://togithub.com/eed3si9n
[@Nirvikalpa108]: https://togithub.com/Nirvikalpa108
[@adpi2]: https://togithub.com/adpi2
[@er1c]: https://togithub.com/er1c
[@eatkins]: https://togithub.com/eatkins
[@dwijnand]: https://togithub.com/dwijnand
[@ckipp01]: https://togithub.com/ckipp01
[@mdedetrich]: https://togithub.com/mdedetrich
[@xuwei-k]: https://togithub.com/xuwei-k
[@nrinaudo]: https://togithub.com/nrinaudo
[@CarstonSchilds]: https://togithub.com/CarstonSchilds
[@som-snytt]: https://togithub.com/som-snytt
[@lrytz]: https://togithub.com/lrytz
[@dragos]: https://togithub.com/dragos
[@keynmol]: https://togithub.com/keynmol
[@mzuehlke]: https://togithub.com/mzuehlke
[@yoshinorin]: https://togithub.com/yoshinorin
[@liang3zy22]: https://togithub.com/liang3zy22
[@adriaanm]: https://togithub.com/adriaanm
[7096]: https://togithub.com/sbt/sbt/pull/7096
[7215]: ttps://github.com/sbt/sbt/pull/7215
[7191]: https://togithub.com/sbt/sbt/pull/7191
[7228]: https://togithub.com/sbt/sbt/pull/7228
[7134]: https://togithub.com/sbt/sbt/pull/7134
[7165]: https://togithub.com/sbt/sbt/pull/7165
[7154]: https://togithub.com/sbt/sbt/pull/7154
[7227]: https://togithub.com/sbt/sbt/pull/7227
[7171]: https://togithub.com/sbt/sbt/pull/7171
[7234]: https://togithub.com/sbt/sbt/pull/7234
[zinc1182]: https://togithub.com/sbt/zinc/pull/1182
[zinc1141]: https://togithub.com/sbt/zinc/pull/1141
[zinc1148]: https://togithub.com/sbt/zinc/pull/1148
[lm410]: https://togithub.com/sbt/librarymanagement/pull/410
[lm411]: https://togithub.com/sbt/librarymanagement/pull/411
[lm413]: https://togithub.com/sbt/librarymanagement/pull/413
[lm415]: https://togithub.com/sbt/librarymanagement/pull/415
[io340]: https://togithub.com/sbt/io/pull/340
[io341]: https://togithub.com/sbt/io/pull/341
[io343]: https://togithub.com/sbt/io/pull/343
[coursier2633]: https://togithub.com/coursier/coursier/pull/2633
[io344]: https://togithub.com/sbt/io/pull/344
[zinc1185]: https://togithub.com/sbt/zinc/pull/1185
### [`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 [#7120][7120] by [@eed3si9n][@eed3si9n]
- Fixes glibc 2.31/Debian 11/Ubuntu 20.04 compatibility [#7118][7118] by [@eed3si9n][@eed3si9n]
[7120]: https://togithub.com/sbt/sbt/pull/7120
[7118]: https://togithub.com/sbt/sbt/issues/7118
[@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 [#7115][7115] by [@eed3si9n][@eed3si9n]
- Fixes BSP support on Windows by making `PATH` environment variable case insensitive by [#7085][7085] by [@dos65][@dos65]
#### Updates
- Adds sbtn (GraalVM native client) for Linux on Aarch64 [ipcsocket#33][ipcsocket33], [#7108][7108] etc by [@mkurz][@mkurz] and [@eed3si9n][@eed3si9n]
#### New Contributors
- [@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
[@eed3si9n]: https://togithub.com/eed3si9n
[@Nirvikalpa108]: https://togithub.com/Nirvikalpa108
[@adpi2]: https://togithub.com/adpi2
[@er1c]: https://togithub.com/er1c
[@eatkins]: https://togithub.com/eatkins
[@dwijnand]: https://togithub.com/dwijnand
[@mkurz]: https://togithub.com/mkurz
[@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 [#7021][7021]
#### Bug fixes
- Fixes background job logging [#6992][6992] by [@adpi2][@adpi2]
#### Other updates
- Adds long classpath support on JDK 9+ via argument file (opt out using `-Dsbt.argsfile=false` or `SBT_ARGSFILE` environment variable) [#7010][7010] by [@easel][@easel]
- Adds out-of-box ZIO Test support [#7053][7053] by [@987Nabil][@987Nabil]
- Adds support for newly introduced `buildTarget/outputPaths` method of Build Server Protocol. [#6985][6985] by [@povder][@povder]
#### New Contributors
- [@easel](https://togithub.com/easel) made their first contribution in [https://github.com/sbt/sbt/pull/7010](https://togithub.com/sbt/sbt/pull/7010)
- [@sashashura](https://togithub.com/sashashura) made their first contribution in [https://github.com/sbt/sbt/pull/7023](https://togithub.com/sbt/sbt/pull/7023)
- [@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
[@eed3si9n]: https://togithub.com/eed3si9n
[@Nirvikalpa108]: https://togithub.com/Nirvikalpa108
[@adpi2]: https://togithub.com/adpi2
[@er1c]: https://togithub.com/er1c
[@eatkins]: https://togithub.com/eatkins
[@dwijnand]: https://togithub.com/dwijnand
[@ckipp01]: https://togithub.com/ckipp01
[@povder]: https://togithub.com/povder
[@easel]: https://togithub.com/easel
[@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 [@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 [@vedantmgoyal2009](https://togithub.com/vedantmgoyal2009) in [https://github.com/sbt/sbt/pull/6981](https://togithub.com/sbt/sbt/pull/6981)
#### new contributors
- [@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 [#6903][6903] by [@gontard][@gontard]
- Fixes `/tmp/.sbt/` collision for domain socket [#7041][7041] by [@eed3si9n][@eed3si9n]
- Adds workaround for `dependencyBrowseGraph` with sometimes missing node [#6978][6978] by [@frosforever][@frosforever]
- Updates `sbt new` by default to use Giter8 0.15.0 [#7038][7038] by [@eed3si9n][@eed3si9n]
- Updates launcher to support Scala 3 apps [#7035][7035] by [@eed3si9n][@eed3si9n]
- Adds `diagnosticCode` and `diagnosticRelatedInforamation` (sic) to `InterfaceUtil.problem(...)` [#7006][7006] by [@ckipp01][@ckipp01]
- Forwards `diagnosticCode` to BSP [#6998][6998] by [@ckipp01][@ckipp01]
- Improves log for not found remote cache [#6824][6824] by [@gontard][@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
[@eed3si9n]: https://togithub.com/eed3si9n
[@Nirvikalpa108]: https://togithub.com/Nirvikalpa108
[@adpi2]: https://togithub.com/adpi2
[@er1c]: https://togithub.com/er1c
[@eatkins]: https://togithub.com/eatkins
[@dwijnand]: https://togithub.com/dwijnand
[@ckipp01]: https://togithub.com/ckipp01
[@gontard]: https://togithub.com/gontard
[@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 [@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#399][lm399] by [@eed3si9n][@eed3si9n]
- Updates to Scala 2.12.16
- Moves domain socket location to `XDG_RUNTIME_DIR` and `/tmp` [#6887][6887] by [@AlonsoM45][@AlonsoM45]
- Deprecates `Resolver.sonatypeRepo` and adds `Resolver.sonatypeOssRepos`, which includes https://s01.oss.sonatype.org/ by [@armanbilge][@armanbilge] in [lm#393][lm393]
##### `++` command updates
Prior to sbt 1.7 `++ ` filtered subprojects using `crossScalaVersions` having the same ABI suffix as ``. 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 `++ ` so `` 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) [#6894][6894], [Rui Gonçalves](https://togithub.com/ruippeixotog) [lm#400][lm400], and [Eugene Yokota](https://togithub.com/eed3si9n).
##### Scala 3 compiler error improvements
In [zinc#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 [#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 [#6847][6847]/[#6929][6929] by [@tanishiking][@tanishiking] and [@kpodsiad][@kpodsiad]
- Adds optional framework field to the BSP response [#6830][6830] by [@kpodsiad][@kpodsiad]
- Adds BSP environment request support [#6858][6858] by [@kpodsiad][@kpodsiad]
##### Other updates
- Fixes under-compilation when Java annotation changes by [@SethTisue][@SethTisue] in [zinc#1079][zinc1079]
- Fixes ipcsocket JNI cleanup code deleting empty directories in `/tmp` [ipc#23][ipc23] by [@eed3si9n][@eed3si9n]
- Fixes command argument parsing with quotes in `-a="b c"` pattern [#6816][6816] by [@Nirvikalpa108][@Nirvikalpa108]
- Fixes `ThisBuild / includePluginResolvers` [#6849][6849] by [@bjaglin][@bjaglin]
- Fixes watchOnTermination callbacks [#6870][6870] by [@eatkins][@eatkins]
- Fixes `proxyInputStream#available`, which affected sbt-site `previewSite` [#6965][6965] by [@eed3si9n][@eed3si9n]
[@eed3si9n]: https://togithub.com/eed3si9n
[@Nirvikalpa108]: https://togithub.com/Nirvikalpa108
[@adpi2]: https://togithub.com/adpi2
[@er1c]: https://togithub.com/er1c
[@eatkins]: https://togithub.com/eatkins
[@dwijnand]: https://togithub.com/dwijnand
[@kpodsiad]: https://togithub.com/kpodsiad
[@bjaglin]: https://togithub.com/bjaglin
[@tanishiking]: https://togithub.com/tanishiking
[@AlonsoM45]: https://togithub.com/AlonsoM45
[@armanbilge]: https://togithub.com/armanbilge
[@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
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.
This PR contains the following updates:
1.6.2
->1.9.9
Release Notes
sbt/sbt (sbt/sbt)
### [`v1.9.9`](https://togithub.com/sbt/sbt/releases/tag/v1.9.9): 1.9.9 [Compare Source](https://togithub.com/sbt/sbt/compare/v1.9.8...v1.9.9) ##### Bug fixes - To fix `console` task on Scala 2.13.13, sbt 1.9.9 backports updates to JLine 3.24.1 and JAnsi 2.4.0 by [@hvesalai](https://togithub.com/hvesalai) in [https://github.com/sbt/sbt/pull/7503](https://togithub.com/sbt/sbt/pull/7503) / [https://github.com/sbt/sbt/issues/7502](https://togithub.com/sbt/sbt/issues/7502) - To fix sbt 1.9.8's `UnsatisfiedLinkError` with `stat`, sbt 1.9.9 removes native code that was used to get the millisecond-precision timestamp that was broken ([JDK-8177809](https://bugs.openjdk.org/browse/JDK-8177809)) on JDK 8 prior to [OpenJDK 8u302](https://mail.openjdk.org/pipermail/jdk8u-dev/2021-July/014118.html) by [@eed3si9n](https://togithub.com/eed3si9n) in [https://github.com/sbt/io/pull/367](https://togithub.com/sbt/io/pull/367) **Full Changelog**: https://github.com/sbt/sbt/compare/v1.9.8...v1.9.9 ### [`v1.9.8`](https://togithub.com/sbt/sbt/releases/tag/v1.9.8): 1.9.8 [Compare Source](https://togithub.com/sbt/sbt/compare/v1.9.7...v1.9.8) #### updates - Fixes `IO.getModifiedOrZero` on Alpine etc, by using clib `stat()` instead of non-standard `__xstat64` abi by [@bratkartoffel](https://togithub.com/bratkartoffel) in [https://github.com/sbt/io/pull/362](https://togithub.com/sbt/io/pull/362) - As a temporary fix for JLine issue, this disables vi-style effects inside emacs by [@hvesalai](https://togithub.com/hvesalai) in [https://github.com/sbt/sbt/pull/7420](https://togithub.com/sbt/sbt/pull/7420) - Backports fix for `updateSbtClassifiers` not downloading sources [https://github.com/sbt/sbt/pull/7437](https://togithub.com/sbt/sbt/pull/7437) by [@azdrojowa123](https://togithub.com/azdrojowa123) - Backports missing logger methods that take Java Supplier [https://github.com/sbt/sbt/pull/7447](https://togithub.com/sbt/sbt/pull/7447) by [@mkurz](https://togithub.com/mkurz) **Full Changelog**: https://github.com/sbt/sbt/compare/v1.9.7...v1.9.8 ### [`v1.9.7`](https://togithub.com/sbt/sbt/releases/tag/v1.9.7): 1.9.7 [Compare Source](https://togithub.com/sbt/sbt/compare/v1.9.6...v1.9.7) ##### Highlights - sbt 1.9.7 updates its IO module to 1.9.7, which fixes parent path traversal vulnerability in `IO.unzip`. This was discovered and reported by Kenji Yoshida ([@xuwei-k][@xuwei-k]), and fixed by [@eed3si9n][@eed3si9n] in [io#360][io360]. ##### Zip Slip (arbitrary file write) vulnerability SeeConfiguration
📅 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.
This PR has been generated by Mend Renovate. View repository job log here.