0.13.12
Fixes with compatibility implications
- By default the Scala toolchain artifacts are now transitively resolved using the provided
scalaVersion
and
scalaOrganization
. Previously a user specifiedscalaOrganization
would not have affected transitive
dependencies on, eg.scala-reflect
. An Ivy-level mechanism is used for this purpose, and as a consequence
the overriding happens early in the resolution process which might improve resolution times, and as a side
benefit fixes #2286. The old behavior can be restored by adding
ivyScala := { ivyScala.value map {_.copy(overrideScalaVersion = sbtPlugin.value)} }
to your build. #2286/#2634 by @milessabin - The Build trait is deprecated in favor of the
.sbt
format #2530 by @dwijnand
Improvements
- When
RecompileOnMacroDef
is enabled, sbt will now print out a info level log indicating that some sources are being recompiled because it's used from a source that contains a macro definition. Can be disabled withincOptions := incOptions.value.withLogRecompileOnMacro(false)
#2637/#2659 by @eed3si9n/@dwijnand - Adds Windows script support and native file extensions on Unix platforms. #2603 by @ekrich
- Improves loading time of large builds. #2630 by @eed3si9n
- Adds the ability to call
dependsOn
for the current project inside a.sbt
file. #2653 by @anatolydwnld
Bug fixes
- Fixes a 0.13.11 regression: dependency resolution hitting Maven Central even with repository overrides. #2519/#2569 by @eed3si9n
- Fixes a 0.13.11 regression in incremental compiler:
IndexOutOfBoundsException
in ExtractAPI #2497/#2557 by @smarter - Fixes merged dependency descriptors dropping configuration specification. #2002/#1500 by @eed3si9n
- Fixes merged dependency descriptors creating non-existing artifacts. #2431/#2500 by @Duhemm
- Fixes incremental compilation misses when macro expansion references another source. #2560/#2563 by @eed3si9n
- Fixes incremental compilation of package objects transitively in name hashing. #2432/#2326 by @gkossakowski
- Fixes incremental compilation relying on filename of package objects. #2438 by @Duhemm
- Provides a workaround flag
incOptions := incOptions.value.withIncludeSynthToNameHashing(true)
for name hashing not including synthetic methods. This will not be enabled by default in sbt 0.13. It can also enabled by passingsbt.inc.include_synth=true
to JVM. #2537 by @eed3si9n - Fixes tab completion for tasks defined in AutoPlugin's buildSettings #2460/#2469 by @Duhemm
- Fixes configuration merging during cached resolution. #2435/#2513 by @Duhemm
Notes
No changes should be necessary to your project definition and all plugins published for sbt 0.13.{x|x<12} should still work. Please report any issues you encounter if this is not the case.
Special thanks to the contributors for making this release a success. According to git shortlog -sn --no-merges v0.13.11..0.13.12
, compared to 0.13.11, there were 83 (non-merge) commits, by 11 contributors: Eugene Yokota, Martin Duhem, Grzegorz Kossakowski, Dale Wijnand, Guillaume Martres, Jason Zaugg, Miles Sabin, Tim Harper, ddworak, ekrich, Anatoly Fayngelerin. Thank you!