From 0b718bb3fa95de90fbaa6d832e696f4742678ff8 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Fri, 10 Jul 2015 11:40:38 -0400 Subject: [PATCH] notes --- notes/0.13.9.markdown | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/notes/0.13.9.markdown b/notes/0.13.9.markdown index 490c7a823..614fb3abf 100644 --- a/notes/0.13.9.markdown +++ b/notes/0.13.9.markdown @@ -48,6 +48,8 @@ [2006]: https://github.com/sbt/sbt/pull/2006 [2008]: https://github.com/sbt/sbt/issues/2008 [2009]: https://github.com/sbt/sbt/pull/2009 + [2046]: https://github.com/sbt/sbt/issues/2046 + [2097]: https://github.com/sbt/sbt/pull/2097 ### Fixes with compatibility implications @@ -74,7 +76,7 @@ ### Bug fixes -- Fixes memory/performance issue with cached resolution. See below. +- Fixes memory/performance/correctness issue with cached resolution. See below. - Correct incremental compile debug message for invalidated products [#1961][1961] by [@jroper][@jroper] - Enables forced GC by default. See below. - Fixes Maven compatibility to read `maven-metadata.xml`. See below. @@ -115,16 +117,20 @@ It also adds `configurationsToRetrieve` key, that takes values of `Option[Set[Co On a larger dependency graph, the JSON file growing to be 100MB+ with 97% of taken up by *caller* information. -The caller information is not useful once the graph is successfully resolved. To make the matter worse, these large JSON files were never cleaned up. -sbt 0.13.9 creates a single caller to represent all callers, +sbt 0.13.9 filters out artificial callers, which fixes `OutOfMemoryException` seen on some builds. This generally shrinks the size of JSON, so it should make the IO operations faster. Dynamic graphs will be rotated with directories named after `yyyy-mm-dd`, and stale JSON files will be cleaned up after few days. -[#2030][2030]/[#1721][1721]/[#2014][2014] by [@eed3si9n][@eed3si9n] +sbt 0.13.9 also fixes a correctness issue that was found in the earlier releases. +Under some circumstances, libraries that shouldn't have been evicted was being evicted. +This occured when library `A1` depended on `B2`, but a newer `A2` dropped the dependency, +and `A2` and `B1` are also is in the graph. This is fixed by sorting the graph prior to eviction. + +[#2030][2030]/[#1721][1721]/[#2014][2014]/[#2046][2046]/[#2097][2097] by [@eed3si9n][@eed3si9n] ### Force GC