sbt/notes/0.13.12.markdown

5.1 KiB

Fixes with compatibility implications

  • By default the Scala toolchain artifacts are now transitively resolved using the provided scalaVersion and scalaOrganization. Previously a user specified scalaOrganization 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 with incOptions := 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 passing sbt.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