From ef2b2658de51498b8b5b1d15642e7a1433a655fe Mon Sep 17 00:00:00 2001 From: Erik Osheim Date: Mon, 31 Aug 2015 11:00:29 -0400 Subject: [PATCH 1/5] Disable clean step in release to reduce memory pressure. Currently I'm unable to get through a clean cross-build for 2.10 and 2.11 with both JVM and JS. Even using additional memory (4G) I seem to run out late in the 2.11 build/test after building and testing 2.10. This suggests a memory leak in SBT or scalac. If we remove the clean, I should be able to "stage" the release by building ahead of time. The commit also removes parallel execution from the JS step for the same reason. --- build.sbt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/build.sbt b/build.sbt index b69d06b0ae..ad3c5347fe 100644 --- a/build.sbt +++ b/build.sbt @@ -38,7 +38,8 @@ lazy val commonSettings = Seq( ) ++ warnUnusedImport lazy val commonJsSettings = Seq( - scalaJSStage in Global := FastOptStage + scalaJSStage in Global := FastOptStage, + parallelExecution := false ) lazy val commonJvmSettings = Seq( @@ -279,7 +280,7 @@ lazy val sharedReleaseProcess = Seq( releaseProcess := Seq[ReleaseStep]( checkSnapshotDependencies, inquireVersions, - runClean, + //runClean, // disabled to reduce memory usage during release runTest, setReleaseVersion, commitReleaseVersion, From 2ed567001774ff8fcdf73468218feb918e5a2e59 Mon Sep 17 00:00:00 2001 From: Erik Osheim Date: Mon, 31 Aug 2015 11:49:29 -0400 Subject: [PATCH 2/5] Setting version to 0.2.0 --- version.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.sbt b/version.sbt index 16b90da7a8..e033b22ee5 100644 --- a/version.sbt +++ b/version.sbt @@ -1 +1 @@ -version in ThisBuild := "0.1.3-SNAPSHOT" \ No newline at end of file +version in ThisBuild := "0.2.0" \ No newline at end of file From bd1ee92c3d4cb6ad0d205353cf8b621f02f7d99f Mon Sep 17 00:00:00 2001 From: Erik Osheim Date: Mon, 31 Aug 2015 11:51:36 -0400 Subject: [PATCH 3/5] Setting version to 0.3.0 --- version.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.sbt b/version.sbt index e033b22ee5..0ed6346f7f 100644 --- a/version.sbt +++ b/version.sbt @@ -1 +1 @@ -version in ThisBuild := "0.2.0" \ No newline at end of file +version in ThisBuild := "0.3.0" \ No newline at end of file From e43611bbd5dcb89e5a851ec28cc314ed9da62446 Mon Sep 17 00:00:00 2001 From: Erik Osheim Date: Mon, 31 Aug 2015 23:32:26 -0400 Subject: [PATCH 4/5] Updates to AUTHORS.md and CHANGES.md for 0.2.0 I reviewed the git logs since v0.1.2 to find the relevant commits, manually checked the commit authors against our current list, and tried to summarize the work and changes that users should expect to see. For reference, the command I used was `git log v0.1.2..HEAD`. --- AUTHORS.md | 6 ++++++ CHANGES.md | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) diff --git a/AUTHORS.md b/AUTHORS.md index f94b9221a8..d036468ab7 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -24,12 +24,16 @@ possible: * Cody Allen * Colt Frederickson * Dale Wijnand + * Dave Rostron * David Allsopp * Derek Wickern + * Edmund Noble * Erik Osheim * Eugene Burmako * Eugene Yokota + * Feynman Liang * Frank S. Thomas + * Jisoo Park * Josh Marcus * Julien Truffaut * Kenji Yoshida @@ -40,6 +44,8 @@ possible: * Miles Sabin * Owen Parry * Pascal Voitot + * Philip Wills + * Rintcius * Rob Norris * Romain Ruetschi * Ross A. Baker diff --git a/CHANGES.md b/CHANGES.md index 277b5ea806..2f77110517 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,63 @@ +## Version 0.2.0 + +> 2015 August 31 + +Version 0.2.0 is the second release of the Cats library. + +The most exciting feature of this release is Scala.js support, which +comes courtesy of much hard work by the Scala.js community (especially +Alistair Johnson). The SBT build configuration and project layout were +updated to support building for both the JVM and JS platforms. + +Since the 0.1.2 release there was wide agreement that the split +between `cats-core` and `cats-std` was awkward. The two projects have +been combined into `cats-core`, meaning that type class instances for +common types like `List` are now available in `cats-core`. + +There was also a concerted effort to improve and add documentation to +the project. Many people helped find typos, broken links, and places +where the docs could be improved. In particular, the following +tutorials were added or overhauled: + + * `Applicative` + * `Const` + * `Foldable` + * `Free` + * `FreeApplicative` + * `Kleisli` + * `Monad` + * `Monoid` + * `Semigroup` + * `SemigroupK` + * `Traverse` + * `Validated` + * `Xor` + +Several new type classes and data types were introduced: + + * `Choice[F[_, _]]` + * `Group[A]` + * `MonadReader[F[_, _], R]` + * `Stream[A]` and `StreamT[F[_], A]` + * `Prod[F[_], G[_], A]` and `Func[F[_], A, B]` + +Syntax tests were added to ensure that existing syntax worked, and +there has been some movement to enrich existing types with syntax to +make converting them to Cats types easier. + +The previous `Fold[A]` type, which was used to support lazy folds, has +been replaced with `Eval[A]`. This type supports both strict and lazy +evaluation, supports lazy `map` and `flatMap`, and is trampolined for +stack safety. The definition of `Foldable#foldRight` has been updated +to something much more idiomatic and easier to reason about. The goal +is to support laziness in Cats via the `Eval[A]` type wherever +possible. + +In addition to these specific changes there were numerous small bug +fixes, additions, improvements, and updates. Thanks to everyone who +filed issues, participated in the Cats Gitter channel, submitted code, +or helped review pull requests. + ## Version 0.1.2 > 2015 July 17 From de832742db2a9ae19c40a14bb5ada81e7830613a Mon Sep 17 00:00:00 2001 From: Erik Osheim Date: Tue, 1 Sep 2015 00:20:10 -0400 Subject: [PATCH 5/5] Fix Stream -> Streaming typo. --- CHANGES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index 2f77110517..a9cf37f3e8 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -38,7 +38,7 @@ Several new type classes and data types were introduced: * `Choice[F[_, _]]` * `Group[A]` * `MonadReader[F[_, _], R]` - * `Stream[A]` and `StreamT[F[_], A]` + * `Streaming[A]` and `StreamingT[F[_], A]` * `Prod[F[_], G[_], A]` and `Func[F[_], A, B]` Syntax tests were added to ensure that existing syntax worked, and