scalaz 7.0.1 final released

110 views
Skip to first unread message

Lars Hupel

unread,
Jun 30, 2013, 11:20:16 AM6/30/13
to sca...@googlegroups.com
Just staged on Sonatype:

"org.scalaz" %% "scalaz-core" % "7.0.1"

for Scala binary versions 2.9.2, 2.9.3 and 2.10.

This is a maintenance release for the 7.0.x series. It's a drop-in
replacement for 7.0.0 which is fully binary backwards compatible (tested
with MiMa)!

That means: Libraries compiled against 7.0.0 will continue to work
(without recompilation) with version 7.0.1. However, the inverse
direction is not supported.

Please give this release a spin, since this is the first time we (the
scalaz team) are doing that sort of thing. It's as easy as changing the
versions of all the scalaz artifacts in your build from "7.0.0" to "7.0.1".

This release contains numerous bugfixes, but also some new features.
Please refer to the release notes at the end of this mail for a full list.


***

The full list of published submodules is available with this Nexus search:

<https://oss.sonatype.org/index.html#nexus-search;gav~org.scalaz~~7.0.1~~>

***

RELEASE NOTES

New features

* Show instance for java.lang.Throwable, needs to be imported explicitly
* runM method on Free for running it in another monad
* mapM method on StreamT, threads a per-element monadic effect through
the stream
* fix utility function as a proper replacement for Endo#fix

Changed features

* override foldMap1 in NonEmptyList to avoid StackOverflowError
* fix Equal[Map[K, V]] instance
* fix Index[IndexedSeq] and Index[List]
* prevent evaluating second parameter in Option's Semigroup twice
* fix composition of ApplicativePlus which violated the laws, new
implementation identical to Haskell implementation
* change name of ToIdOps to ToEffectIdOps to avoid naming collisions
* fix Comonad[Function1] instance
* performance optimization: toList method on Foldable[List] is now
identity, and similarly for IndexedSeq, Set and Stream
* actors: clearing of last processed message from tail node to avoid
memory leaks
* fix infinite loop in EphemeralStream#traverse
* performance: less object allocations
* fix += method on NumericPLens
* put Cofree instances into implicit scope

<https://github.com/scalaz/scalaz/wiki/7.0.1>

Jed Wesley-Smith

unread,
Jul 1, 2013, 11:31:08 PM7/1/13
to scalaz
Lars,

Thanks for this, great to see,

Unfortunately for us it missed the one commit we most hoping for:


essentially just adding the withFilter method to EitherT to shut scalac up:

"[warn] /hd/project/src/Test.scala:23: `withFilter' method does not yet exist on scalaz.EitherT[IO, test.Invalid, test.File], using `filter' method instead"

or as Tony so eloquently paraphrases:

"[warning] smell the cheese. Haha, just fucking with ya!"

should I PR that onto EitherT?

cheers,
jed.



--
You received this message because you are subscribed to the Google Groups "scalaz" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scalaz+un...@googlegroups.com.
To post to this group, send email to sca...@googlegroups.com.
Visit this group at http://groups.google.com/group/scalaz.
For more options, visit https://groups.google.com/groups/opt_out.



Lars Hupel

unread,
Jul 2, 2013, 1:39:17 AM7/2/13
to sca...@googlegroups.com
> Unfortunately for us it missed the one commit we most hoping for:
>
> https://github.com/scalaz/scalaz/commit/bc2a6a43bc1d034443e30d2312ad14375d039121

Sorry, but we cannot add that commit as it is, since it would break
binary compatibility (it adds a method to a trait).

For the upcoming series (7.1.0), I'll change many traits to be abstract
or case classes, so that we won't have that sort of problem in the future.

Lars Hupel

unread,
Jul 3, 2013, 4:16:24 PM7/3/13
to sca...@googlegroups.com
There are some more fixes which didn't get into 7.0.1, because I was
under the assumption that it's not possible to add methods to traits
without breaking bincompat. However, that is actually fine, as long as
the trait is sealed.

Hence, a 7.0.2 will be rolled soon. I compiled a list of commits/pull
requests which I previously didn't consider to be "eligible" for 7.0.1
but which actually are:

<https://github.com/scalaz/scalaz/issues/417>

Please check if I forgot anything there. (In principle, any commit from
about the last two months which only adds methods to sealed traits
qualifies for that list.)
Reply all
Reply to author
Forward
0 new messages