Skip to content

7.1.0 M2

Lars Hupel edited this page Jul 31, 2013 · 3 revisions

This release is not binary compatible with 7.0.0 and previous milestones in the 7.1.x series.

Built against Scala 2.9.3 and 2.10.2. 2.11 support not complete yet.

Note that these lists are not cumulative!

New features

  • toRight and toLeft on OptionT returning EitherT (#430)
  • Future and Task: nonblocking version of gatherUnordered and chooseAny (6a0849ede3)
  • Future and Task: new methods runFor, attemptRunFor and timed (fe5f404d13)
  • Split instance for BijectionT (#434)
  • Future and Task: timed delays, Duration timeouts, retriable tasks and accumulating errors (021f18d8ed, b8f2fd1e2f, 88d1325af8)
  • add foreach to NonEmptyList (#440, f627c5569e)
  • "mixed" compositions: Foldable1 and Foldable, Traverse1 and Traverse, and more (#438)
  • new type class: Optional (#411, be28c1c702)
  • MonadPlus: Unapply version of unite (#453)

Subject to further changes

  • These from scalaz-stream: a data type containing an A, a B, or both an A and a B (9d16d1b1b7, #452)
  • ==>>: port of Data.Map from Haskell (interface is probably stable) (#418)

Changed features

  • fixes in ProductFoldable and ProductFoldable1 (#431)
  • clear the Function0 reference of Need (#422, #428)
  • NonEmptyList append with tail sharing (52f7885818)
  • Applicative: flip and then flip returns the original instance (#437)
  • produce immutable.IndexedSeq, not collection.IndexedSeq, in functions (#439)
  • empty on Foldable1 constantly returns false (#441)
  • classify several sealed or private traits (#444, #450, 579ed7d502)
  • change implicit def to implicit val, where possible (#447)
  • migrate Strategy.Naive to Java ExecutorService (in preparation of 2.11) (#436, 2a6be4f09c)

Deprecations

  • head on ListT (#446)

Build changes

  • add Scala dependencies for Scala 2.11 (44f73cb3ee)
  • new check-gen-type-classes task: checks whether gen-type-class would change anything in the source, mandatory for pull requests now (#442)
  • update SBT to 0.13.0-RC4, update SBT plugins, use sbt-unidoc plugin, build with Scala 2.10.2 (#451)

Incompatible changes

  • moved liftSemigroup from Monoid to Semigroup (#432)

    Migration strategy: simple textual replacement

  • seal scalaz.syntax.*Ops and *Instance traits (#429, #450, 579ed7d502)

    Migration strategy: none, those traits were never supposed to be extended

  • remove leftover variance annotations in BijectionT (#434)

    Migration strategy: some parts relied, and still rely on a scalac bug. However, if your types have variance annotations, your instance definitions should still compile. See the discussions on the mailing list for details.

  • conflate Cojoin and Cobind (#435)

    Migration strategy: replace all usages of Cojoin by Cobind

  • change return type of headOption on ListT to OptionT (#445)

    Migration strategy: if calls to to this function wrap it into OptionT, remove the wrapping, otherwise add .run to calls of this function

  • finalize several alias functions (#443)

    Migration strategy: scrap the corresponding function bodies in your instances

Clone this wiki locally