diff --git a/notes/0.13.8.markdown b/notes/0.13.8.markdown index aae8be9cc..550194bbf 100644 --- a/notes/0.13.8.markdown +++ b/notes/0.13.8.markdown @@ -2,28 +2,56 @@ [@eed3si9n]: https://github.com/eed3si9n [@gkossakowski]: https://github.com/gkossakowski [@jsuereth]: https://github.com/jsuereth + + [@ajozwik]: https://github.com/ajozwik + [@dwickern]: https://github.com/dwickern [@kretes]: https://github.com/kretes [@j-keck]: https://github.com/j-keck + [875]: https://github.com/sbt/sbt/issues/875 [1180]: https://github.com/sbt/sbt/issues/1180 [1542]: https://github.com/sbt/sbt/issues/1542 [1702]: https://github.com/sbt/sbt/pull/1702 + [1738]: https://github.com/sbt/sbt/issues/1738 + [1741]: https://github.com/sbt/sbt/pull/1741 [1746]: https://github.com/sbt/sbt/pull/1746 [1748]: https://github.com/sbt/sbt/issues/1748 + [1771]: https://github.com/sbt/sbt/pull/1771 + [SI-9027]: https://issues.scala-lang.org/browse/SI-9027 + +### Fixes with compatibility implications + +- Rolls back XML parsing workaround. See below. ### Improvements -- Discovered main classes are now sorted. [#1180][1180] by [@kretes][@kretes] -- Implemented a new mechanism of forking javac, whereby errors are captured. Also more likely to run in-process. [#1702][1702] by [@jsuereth][jsuereth] +- Discovered main classes will be sorted. [#1180][1180] by [@kretes][@kretes] +- Implemented a new mechanism of forking javac, whereby errors are captured. Also more likely to run in-process. [#1702][1702] by [@jsuereth][@jsuereth] - Adds project-level dependency exclusions. See below. -## Fixes +### Fixes -- Javac warnings now always treated as warnings. [#1702][1702]/[#875][875] by [@jsuereth][jsuereth] -- compilerReporter now fed to javac during incremental compilation. [#1542][1542] by [@jsuereth][jsuereth] -- ignore hidden build files from the build. [#1746][1746] by [@j-keck][@j-keck] +- Javac warnings are treated as warnings. [#1702][1702]/[#875][875] by [@jsuereth][@jsuereth] +- `compilerReporter` is fed to javac during incremental compilation. [#1542][1542] by [@jsuereth][@jsuereth] +- Ignores hidden build files from the build. [#1746][1746] by [@j-keck][@j-keck] +- Fixes build.sbt parsing of multiple import. [#1741][1741] by [@ajozwik][@ajozwik] +- Fixes ANSI escape code for overwriting lines on Windows. [#1771][1771] by [@dwickern][@dwickern] -## Project-level dependency exclusions +### Rolling back XML parsing workaround + +sbt 0.13.7 implemented natural whitespace handling by switching `build.sbt` parsing to use Scala compiler, instead of blank line delimiting. We realized that some build definitions no longer parsed due to the difference in XML handling. + + val a = + val b = 0 + +At the time, we thought adding parentheses around XML nodes could work around this behavior. However, the workaround has caused [more issues][1738], and since then we have realized that this is a compiler issue [SI-9027][SI-9027], so we have decided to roll back our workaround. In the meantime, if you have consecutive XML elements in your build.sbt, encose them in `` tag, or parentheses. + + val a = + val b = 0 + +[#1765][1765] by [@ajozwik][@ajozwik] + +### Project-level dependency exclusions sbt 0.13.8 adds project-level dependency exclusions: @@ -31,4 +59,4 @@ sbt 0.13.8 adds project-level dependency exclusions: excludeDependencies += "com.example" %% "foo" In the first example, all artifacts from the organization `"org.apache.logging.log4j"` are excluded from the managed dependency. -In the second example, artifacts with the organization `"com.example"` and the name `"foo"` cross versioned to the current `scalaVersion` are excluded. +In the second example, artifacts with the organization `"com.example"` and the name `"foo"` cross versioned to the current `scalaVersion` are excluded. [#1748][1748] by [@eed3si9n][@eed3si9n]