@kailuowang kailuowang released this Oct 31, 2017 · 432 commits to master since this release

Assets 2

Version 1.0.0-RC1

2017 Oct 21

This is the only planned release candidate release prior to 1.0.0, which if everything goes according to plan, shall come in 2-3 weeks.

Breaking changes and migration

To migrate from 1.0.0-MF.

  • The rename of Cartesian to Semigroupal and EitherT.liftT to EitherT.liftF can be done automatically through scalafix we provide. See instructions here.
  • For FlatMap's >> and <<, use Apply's *> and <* instead.
  • Profunctor and Strong were moved to the cats.arrow package, Bifunctor, Invariant and Contravariant were moved to the cats root package.
  • SemigroupK[λ[α => Kleisli[F, α, α]]] and MonoidK[λ[α => Kleisli[F, α, α]]] are no longer implicitly available, Use Kleisli.endoSemigroupK and Kleisli.endoMonoidK to get them explicitly.
  • law testing for type classes in cats.kernel was made consistent with the law testing in cats.core. Check here for a guide on how to test cats type class instances.
  • NonEmptyList.concat that takes NonEmptlyList was deprecated, use NonEmptyList.concatNel instead.
  • Monoid no longer has a InvariantMonoidal instance, we discovered that it's not lawful. It has have an Invariant and a Semigroupal (new name for Cartesian) instance.
  • Foldable.iterateRight now takes an Iterable instead of Iterator, see #1973 for rationale.
  • Foldable for Set and Traversable for Map were moved to Alleycats, see #1831 for rationale.
  • cats.data.Kleisli#transform and cats.free.Coyoneda#transform were deprecated and replaced by mapK

New features / enhancements (API, instances, data types, etc.):

Bug fixes:

Documentation Improvements/Additions:

Build improvements/dependency updates

Testing improvements

Scalafix for migration

  • #1813 Add RenameInjectProdAndCoproduct, RenameTupleApplySyntax and RemoveSplit Scalafix rewrites by @gabro
  • #1937 Add scalafix for contramap by @LukaJCB