Skip to content

7.1.0 RC1

Lars Hupel edited this page Jun 29, 2014 · 1 revision

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, 2.10.4 and 2.11.1.

Note that these lists are not cumulative!

New features

  • unsafeStart constructor for Task for running the computation right away (#684)
  • aliases: IMap for ==>>, Disjunction for \/ (#716, e874976659, fixes #706)
  • failureNel method on Validation object; complements syntax (#720)
  • Cofree.delay (uses Trampoline.delay) (#726)
  • Maybe and MaybeT: safe replacement for Option and corresponding transformer (#728, #732, #733, #749)
  • toThese on \/ (#729)
  • Free.runFC for running a Free with embedded Coyoneda (#731)
  • Cofree.mapUnfold (169a9bac68, ca059e145e)
  • Traverse and Zip instances for DList (#734)
  • provide syntax imports for Catchable (#735)
  • ensure method on Task, similar as in \/ (#738)
  • lookup for association lists (#740)
  • fromTryCatchNonFatal catching only non-fatal exceptions (#741)
  • conversion from Validation and any Optional to Maybe (#722, #724)
  • fromFoldable: generalization of fromList for IList, ISet and Map (#739)
  • NotNothing type class which witnesses that a type did not get inferred to Nothing (#746)
  • MonadError type class (#748)
  • embed X into BiX for Foldable, Functor and Traverse (#750)
  • updateAppend on ==>> which uses a Semigroup operation if the key already exists (#752)
  • clean up Unicode operators in BooleanOps (#754, fixes #482)

Changed features

  • performance optimizations (#712, #713, #714, #717)
  • rename underlying to run in ListT; deprecate underlying (#719)
  • Monad[Task].point and Monad[Future].point evaluate lazily in order to be consistent with Monad[IO] ([#736], 489c4c8b6a)
  • AllFunctions import object extends BooleanFunctions (e2025f4c9e, fixes #704)
  • rename merge on StreamOps to interleave (consistent with EphemeralStream) (7ed93e2cdf, fixes #540)

Deprecations

  • use failure* instead of fail* for consistency (#722)
  • Zipper#tryNext is unsafe (0541252e45)
  • CharSet, InsertionMap, Rope, Union (9f4c398169)

Build changes

Incompatible changes

  • make Free a lawful Monad by hiding the constructors (#725)

    Migration strategy: Instead of pattern matching on the constructors manually, use one of the combinators.

  • fromTryCatchThrowable uses NotNothing witness (#746)

    Migration strategy: if used correctly before, none needed

  • lossless tags: @@ is not a subtype of the corresponding raw type any longer (#693, fixes #676 and #747)

    Migration strategy: Tag.unwrap converts from a tagged to the untagged variant

  • reverse order of either on BooleanOps (03cd235225, fixes #724)

    Migration strategy: call swap on the result

Clone this wiki locally