<commit_before>  [@cunei]: https://github.com/cunei
  [@eed3si9n]: https://github.com/eed3si9n
  [@gkossakowski]: https://github.com/gkossakowski
  [@jsuereth]: https://github.com/jsuereth

  [@aerskine]: https://github.com/aerskine
  [@ajozwik]: https://github.com/ajozwik
  [@dwickern]: https://github.com/dwickern
  [@dwijnand]: http://github.com/dwijnand
  [@Duhemm]: https://github.com/Duhemm
  [@kretes]: https://github.com/kretes
  [@indrajitr]: https://github.com/indrajitr
  [@j-keck]: https://github.com/j-keck
  [@xuwei-k]: https://github.com/xuwei-k
  [SI-9027]: https://issues.scala-lang.org/browse/SI-9027
  [Custom-Settings0]: http://www.scala-sbt.org/0.13/tutorial/Custom-Settings.html
  [321]: https://github.com/sbt/sbt/issues/321
  [647]: https://github.com/sbt/sbt/issues/647
  [679]: https://github.com/sbt/sbt/issues/679
  [875]: https://github.com/sbt/sbt/issues/875
  [1001]: https://github.com/sbt/sbt/issues/1001
  [1180]: https://github.com/sbt/sbt/issues/1180
  [1322]: https://github.com/sbt/sbt/issues/1322
  [1340]: https://github.com/sbt/sbt/pull/1340
  [1542]: https://github.com/sbt/sbt/issues/1542
  [1615]: https://github.com/sbt/sbt/issues/1615
  [1616]: https://github.com/sbt/sbt/issues/1616
  [1634]: https://github.com/sbt/sbt/pull/1634
  [1655]: https://github.com/sbt/sbt/issues/1655
  [1676]: https://github.com/sbt/sbt/issues/1676
  [1702]: https://github.com/sbt/sbt/pull/1702
  [1711]: https://github.com/sbt/sbt/issues/1711
  [1714]: https://github.com/sbt/sbt/issues/1714
  [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
  [1752]: https://github.com/sbt/sbt/pull/1752
  [1754]: https://github.com/sbt/sbt/pull/1754
  [1760]: https://github.com/sbt/sbt/pull/1760
  [1765]: https://github.com/sbt/sbt/pull/1765
  [1766]: https://github.com/sbt/sbt/pull/1766
  [1771]: https://github.com/sbt/sbt/pull/1771
  [1787]: https://github.com/sbt/sbt/pull/1787
  [1793]: https://github.com/sbt/sbt/pull/1793
  [1799]: https://github.com/sbt/sbt/pull/1799
  [1817]: https://github.com/sbt/sbt/pull/1817
  [1818]: https://github.com/sbt/sbt/pull/1818
  [1869]: https://github.com/sbt/sbt/issues/1869
  [1871]: https://github.com/sbt/sbt/pull/1871
  [1885]: https://github.com/sbt/sbt/issues/1885
  [1881]: https://github.com/sbt/sbt/issues/1881
  [1899]: https://github.com/sbt/sbt/pull/1899
  [1902]: https://github.com/sbt/sbt/pull/1902

### Changes with compatibility implications

- Disable publishing on implicitly created root project by not enabling `IvyPlugin` by default (`-Dsbt.root.ivyplugin=true` will revert this behavior). [#1871][1871]/[#1869][1869] by [@dwijnand][@dwijnand]
- Rolls back XML parsing workaround. See below.
- Enables cross-version support for Scala sources. See below.

### Improvements

- Adds Maven resolver plugin. See below.
- Adds project-level dependency exclusions. See below.
- Adds sequential tasks. See below.
- 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]
- `evicted` will display all evictions (including the ones not suspected of binary incompatibility). [#1615][1615] by [@eed3si9n][@eed3si9n]
- Better abstration to track new kinds of dependencies for incremental compiler. [#1340][1340] by [@Duhemm][@Duhemm]
- Source dependency uses `--depth 1` for git clone. [#1787][1787] by [@xuwei-k][@xuwei-k]
- Facilitate nicer ways of declaring project settings. See below. [#1902][1902] by [@dwijnand][@dwijnand]

### Fixes

- 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]
- Adds null check in incremental compiler's type tree extraction. [#1754][1754]/[#1655][1655] by [@Duhemm][@Duhemm]
- sbt doesn't honor Maven's uniqueVersions (use sbt-maven-resolver to fix). [#1322][1322]  by [@jsuereth][@jsuereth]
- sbt doesn't see new SNAPSHOT dependency versions in local maven repos (use withLatestSnapshots + sbt-maven-resolver to fix) [#321][321] by [@jsuereth][@jsuereth]
- Property in pom's version field results to wrong dependency resolution (use sbt-maven-resolver to fix). [#647][647] by [@jsuereth][@jsuereth]
- Maven local resolver with parent POM (use sbt-maven-resolver). [#1616][1616] by [@jsuereth][@jsuereth]
- Fixes eviction warning being too noisy. [#1615][1615] by [@eed3si9n][@eed3si9n]
- Issues warning if multiple dependencies to a same library is found with different version. [#1634][1634] by [@eed3si9n][@eed3si9n]
- Removes "No main class detected" warning. [#1766][1766] by [@eed3si9n][@eed3si9n]
- Fixes sporadic ConcurrentModificationException from JUnitXmlTestsListener. [#1881][1881] by [@aerskine][@aerskine]
- Fixes handling of ANSI CSI codes. [#1885][1885] by [@jsuereth][@jsuereth]
- Exempt org.scala-lang:scala-actors-migration and org.scala-lang:scala-pickling from scala binary version checks. [#1818][1818]/[#1899][1899] by [@dwijnand][@dwijnand]
- Fixes cached resolution handling of internal depdendencies. [#1711][1711] by [@eed3si9n][@eed3si9n]
- Fixes cached resolution being too verbose. [#1752][1752] by [@eed3si9n][@eed3si9n]
- Fixes cached resolution not evicting modules transitively. [#1760][#1760] by [@eed3si9n][@eed3si9n]

### 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 = <x/><y/>
    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, enclose them in `<xml:group>` tag, or parentheses.

    val a = <xml:group><x/><y/></xml:group>
    val b = 0

[#1765][1765] by [@ajozwik][@ajozwik]

### Cross-version support for Scala sources

When `crossPaths` setting is set to `true` (it is `true` by default), sbt 0.13.8 will include
`src/main/scala-<scalaBinaryVersion>/` to the `Compile` compilation in addition to
`src/main/scala`. For example, it will include `src/main/scala-2.11/` for Scala 2.11.5, and
`src/main/scala-2.9.3` for Scala 2.9.3. [#1799][1799] by [@indrajitr][@indrajitr]

### Maven resolver plugin<commit_msg>Fix a type in 0.13.8 notes formatting.<commit_after>  [@cunei]: https://github.com/cunei
  [@eed3si9n]: https://github.com/eed3si9n
  [@gkossakowski]: https://github.com/gkossakowski
  [@jsuereth]: https://github.com/jsuereth

  [@aerskine]: https://github.com/aerskine
  [@ajozwik]: https://github.com/ajozwik
  [@dwickern]: https://github.com/dwickern
  [@dwijnand]: http://github.com/dwijnand
  [@Duhemm]: https://github.com/Duhemm
  [@kretes]: https://github.com/kretes
  [@indrajitr]: https://github.com/indrajitr
  [@j-keck]: https://github.com/j-keck
  [@xuwei-k]: https://github.com/xuwei-k
  [SI-9027]: https://issues.scala-lang.org/browse/SI-9027
  [Custom-Settings0]: http://www.scala-sbt.org/0.13/tutorial/Custom-Settings.html
  [321]: https://github.com/sbt/sbt/issues/321
  [647]: https://github.com/sbt/sbt/issues/647
  [679]: https://github.com/sbt/sbt/issues/679
  [875]: https://github.com/sbt/sbt/issues/875
  [1001]: https://github.com/sbt/sbt/issues/1001
  [1180]: https://github.com/sbt/sbt/issues/1180
  [1322]: https://github.com/sbt/sbt/issues/1322
  [1340]: https://github.com/sbt/sbt/pull/1340
  [1542]: https://github.com/sbt/sbt/issues/1542
  [1615]: https://github.com/sbt/sbt/issues/1615
  [1616]: https://github.com/sbt/sbt/issues/1616
  [1634]: https://github.com/sbt/sbt/pull/1634
  [1655]: https://github.com/sbt/sbt/issues/1655
  [1676]: https://github.com/sbt/sbt/issues/1676
  [1702]: https://github.com/sbt/sbt/pull/1702
  [1711]: https://github.com/sbt/sbt/issues/1711
  [1714]: https://github.com/sbt/sbt/issues/1714
  [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
  [1752]: https://github.com/sbt/sbt/pull/1752
  [1754]: https://github.com/sbt/sbt/pull/1754
  [1760]: https://github.com/sbt/sbt/pull/1760
  [1765]: https://github.com/sbt/sbt/pull/1765
  [1766]: https://github.com/sbt/sbt/pull/1766
  [1771]: https://github.com/sbt/sbt/pull/1771
  [1787]: https://github.com/sbt/sbt/pull/1787
  [1793]: https://github.com/sbt/sbt/pull/1793
  [1799]: https://github.com/sbt/sbt/pull/1799
  [1817]: https://github.com/sbt/sbt/pull/1817
  [1818]: https://github.com/sbt/sbt/pull/1818
  [1869]: https://github.com/sbt/sbt/issues/1869
  [1871]: https://github.com/sbt/sbt/pull/1871
  [1885]: https://github.com/sbt/sbt/issues/1885
  [1881]: https://github.com/sbt/sbt/issues/1881
  [1899]: https://github.com/sbt/sbt/pull/1899
  [1902]: https://github.com/sbt/sbt/pull/1902

### Changes with compatibility implications

- Disable publishing on implicitly created root project by not enabling `IvyPlugin` by default (`-Dsbt.root.ivyplugin=true` will revert this behavior). [#1871][1871]/[#1869][1869] by [@dwijnand][@dwijnand]
- Rolls back XML parsing workaround. See below.
- Enables cross-version support for Scala sources. See below.

### Improvements

- Adds Maven resolver plugin. See below.
- Adds project-level dependency exclusions. See below.
- Adds sequential tasks. See below.
- 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]
- `evicted` will display all evictions (including the ones not suspected of binary incompatibility). [#1615][1615] by [@eed3si9n][@eed3si9n]
- Better abstration to track new kinds of dependencies for incremental compiler. [#1340][1340] by [@Duhemm][@Duhemm]
- Source dependency uses `--depth 1` for git clone. [#1787][1787] by [@xuwei-k][@xuwei-k]
- Facilitate nicer ways of declaring project settings. See below. [#1902][1902] by [@dwijnand][@dwijnand]

### Fixes

- 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]
- Adds null check in incremental compiler's type tree extraction. [#1754][1754]/[#1655][1655] by [@Duhemm][@Duhemm]
- sbt doesn't honor Maven's uniqueVersions (use sbt-maven-resolver to fix). [#1322][1322]  by [@jsuereth][@jsuereth]
- sbt doesn't see new SNAPSHOT dependency versions in local maven repos (use withLatestSnapshots + sbt-maven-resolver to fix) [#321][321] by [@jsuereth][@jsuereth]
- Property in pom's version field results to wrong dependency resolution (use sbt-maven-resolver to fix). [#647][647] by [@jsuereth][@jsuereth]
- Maven local resolver with parent POM (use sbt-maven-resolver). [#1616][1616] by [@jsuereth][@jsuereth]
- Fixes eviction warning being too noisy. [#1615][1615] by [@eed3si9n][@eed3si9n]
- Issues warning if multiple dependencies to a same library is found with different version. [#1634][1634] by [@eed3si9n][@eed3si9n]
- Removes "No main class detected" warning. [#1766][1766] by [@eed3si9n][@eed3si9n]
- Fixes sporadic ConcurrentModificationException from JUnitXmlTestsListener. [#1881][1881] by [@aerskine][@aerskine]
- Fixes handling of ANSI CSI codes. [#1885][1885] by [@jsuereth][@jsuereth]
- Exempt org.scala-lang:scala-actors-migration and org.scala-lang:scala-pickling from scala binary version checks. [#1818][1818]/[#1899][1899] by [@dwijnand][@dwijnand]
- Fixes cached resolution handling of internal depdendencies. [#1711][1711] by [@eed3si9n][@eed3si9n]
- Fixes cached resolution being too verbose. [#1752][1752] by [@eed3si9n][@eed3si9n]
- Fixes cached resolution not evicting modules transitively. [#1760][1760] by [@eed3si9n][@eed3si9n]

### 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 = <x/><y/>
    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, enclose them in `<xml:group>` tag, or parentheses.

    val a = <xml:group><x/><y/></xml:group>
    val b = 0

[#1765][1765] by [@ajozwik][@ajozwik]

### Cross-version support for Scala sources

When `crossPaths` setting is set to `true` (it is `true` by default), sbt 0.13.8 will include
`src/main/scala-<scalaBinaryVersion>/` to the `Compile` compilation in addition to
`src/main/scala`. For example, it will include `src/main/scala-2.11/` for Scala 2.11.5, and
`src/main/scala-2.9.3` for Scala 2.9.3. [#1799][1799] by [@indrajitr][@indrajitr]

### Maven resolver plugin
{'fraction_non_alphanumeric': 0.16409239053422134, 'fraction_numerical': 0.08898965566104577, 'mean_word_length': 4.42467332820907, 'pattern_counts': {'":': 0, '<': 19, '<?xml version=': 0, '>': 19, 'https://': 102, 'lorem ipsum': 0, 'www.': 2, 'xml': 6}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6573622', 'n_tokens_mistral': 6045, 'n_tokens_neox': 5113, 'n_words': 1267}