-
Notifications
You must be signed in to change notification settings - Fork 703
7.1.0 M1
This release is not binary compatible with 7.0.0.
Built against Scala 2.9.3 and 2.10.1. No 2.11 support yet.
-
scalaz-concurrent: add aTimerfor timeouts withFuture(#321) - new
Lensmethods:modoandassignowhich modify and return the old value (#324) -
scalaz-example: newSTandWriterexamples (#353) -
maximumByandmaximumOfmethods onFoldable(andminimum*equivalents, andFoldable1equivalents) (#354, 8dcfa1a98e) -
runMmethod onFreefor running it in another monad (9445438a17) - smart constructor for
Nil(1b563d8588) -
Showinstance forjava.lang.Throwable, needs to be imported explicitly (5db73d4a4d) - add
groupBy1, resulting in aMapcontainingNonEmptyListvalues (#361) - add
exceptingmethod onValidationto filter theSuccessside; generalizesensure(#360, cf9b415d4a) - add
foldRight1OptonFoldable(similar tofoldRight1onFoldable1, but returning anOption) (andLeftand curried equivalents) (#362, f121c98fc3) -
mapMmethod onStreamT, threads a per-element monadic effect through the stream (#363) -
Equalinstance for arbitrary Javaenums (4cb886097c, #359) - some additional
product/composemethods on type classes (394f190f79) -
xhoistandcontracohoistforCont(#374) -
CobindandCojoininstances forListandOption(8668507471, c9ab4bdab9) - new syntax for
CobindandCojoin:coflatMapandcoflattenas aliases forcobindandcojoin(bae7f5713b) -
Unapplyvariant forliftM:liftMU(#378) - safe
initandlastforNonEmptyList(#380) - new syntax for
fold(3b68ab66fb) - a version of
traversewhere a subsequent monadic join is applied to the inner result:traverseM(#368) - new type class:
InvariantFunctor(#351, experimental) -
CojoinandCobindinstances forStream,LazyOption,Function1and tests (#387, #388) -
Monoidinstance forFingerTree(#389) -
scalaz-iteratee: generalizedenumReadertoenumIoSourceand provideenumInputStream(#366) - sorting functions on
NonEmptyList(#405) -
Showinstance forLazyOption(#416) - new
tomethod onFoldable, allows construction of arbitrary Scala collections (#420)
-
NullArgumentandNullFunction: specialized versions ofKleisliandCokleisliforOption - new
OnePlusdata type, generalizesNonEmptyList(#348) - new
Endomorphicdata type, generalizesEndo(#384) - rename
OnePlustoOneAndand introduceOneOr(#412, #419, and more)
- building against Scala 2.10.1 instead of Scala 2.10.0, use 2.10.1 as default version (#296)
- tuned
function0Instanceandfunction1Instance(#319) - optimisation for
Future.run(#320) - fix ambiguity for
Functorinstance inOptionTandIdT(#322, 0fef6e514f) - add
Traverse1andFoldable1ops to the all-ops trait (#327) - override
foldMap1inNonEmptyListto avoidStackOverflowError(#332) - fix
Equal[Map[K, V]]instance (fceb867e65) - fix superfluous type parameters in
toValidationNel(cfa6d48e75) - prevent evaluating second parameter in
Option'sSemigrouptwice (#352) - fix
Index[IndexedSeq]andIndex[List](8585cfc6e8) - fix composition of
ApplicativePluswhich violated the laws, new implementation identical to Haskell implementation (#364) -
scalaz-iteratee: generalizeenumArraytoenumIndexedSeq(#365) - change name of
ToIdOpstoToEffectIdOpsto avoid naming collisions (43bf9e839d) -
mutableMapMemoandimmutableMapMemobecome public methods (#379) - remove superfluous type parameter in
sequence_(b1bc25f604) - fix
Comonad[Function1]instance (#385) - performance optimization:
toListmethod onFoldable[List]is now identity, and similarly forIndexedSeq,SetandStream(#386) - actors: clearing of last processed message from tail node to avoid memory leaks (#396)
- fix infinite loop in
EphemeralStream#traverse(#398) - put
Semigroupinstances forDualinto implicit scope (#399) - relax
Applicativeconstraint toApplyforliftSemigroup(#400) - performance: less object allocations (#402)
- remove unneeded evidence parameters on some
ListTinstances (#403) - fix
+=method onNumericPLens(#404) - remove unneeded evidence parameters on some
Cofreeinstances, putCofreeinstances into implicit scope (#409) - remove
Endo#fix(only produced ⊥), introduce a properfixfunction with by-name parameters (#410) - more trampolining in
IO(bb4ebd6501) - fixed issue where task would incorrectly
run(fork)(#423) - optimize
foldRight1onNonEmptyList, avoids stack overflow (#425) - relax constraints of
HeapFunctions#sortandHeapFunctions#sortWith(#426)
- for consistency, renamed
groupByMtogroupWhenM,groupByMis now a deprecated alias forgroupWhenM(#361, 775d0f37c4, cdd41097c2) - syntax enrichments which create instances of
\/andNonEmptyListare now in their own objects, and the old ones inscalaz.syntax.id._are deprecated. Useimport scalaz.syntax.nel._andimport scalaz.syntax.either._now. To avoid ambiguities, the new ones are not included in the all-syntax object. (#370) - remove superfluous type parameter in
foldMapIdentityand deprecate in favour offold(#377, 3b68ab66fb) - deprecate
Length,EachandIndex, introduce default implementations inFoldable(#392)
-
Unapply: instead of just a conversion, require aLeibnizinstance (#325)Migration strategy: If you define your own
Unapplyinstances, it is probably as simple removingapplyand adding the linedef leibniz = refl. See the commit in the pull request for examples. -
remove
^method fromFunctorOps(#326)Migration strategy: use
mapor one of the other countless aliases instead -
changed behaviour of nand and nor (#339, warning: source compatible)
Migration strategy: review your code for occurrences of
nor,nand,!||and!&&. -
remove some variance annotations (#328, #383)
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.
-
remove deprecated
itervcompatibility module (#340)Replacement:
iterateemodule -
remove some deprecated syntax on
Apply(#340)Migration strategy: use the suggested alternatives from the deprecation messages
-
remove(#347) (postponed to 7.2, deprecated in 7.1)MetricSpaceandBKTreeMigration strategy: For
MetricSpace, consider using spire.BKTreehas no replacement as of now. If needed, it can be resurrected in scalaz-contrib. This is an ongoing effort to reduce redundancy between spire and scalaz. -
remove
Monoid[Float]andMonoid[Double](#346)Migration strategy: For numerical programming, consider using spire. This is an ongoing effort to reduce redundancy between spire and scalaz.
-
Slight alterations in the type class inheritance hierarchy for categories.
Splitis not aCategoryanymore, just aCompose.Arrowis still aCategory.Migration strategy: For functions which require a type argument to be a
Split, you might need to add an additionalCategoryconstraint. You can also changeSplittoArrow, depending on the use case. -
Some tunings in
StreamT. RemovedStreamTMonadin favour ofStreamTMonadPlus, which has weaker requirements. (#406)Migration strategy: Replace occurrences of
StreamTMonadbyStreamTMonadPlus. -
Drop 2.9.2 build. (b4404bf8d1)
Migration strategy: Move to 2.9.3. Artifacts built against 2.9.2 can still be used with 2.9.3.
- Developer notes
- Release notes for Scalaz 6.0.x
- Release notes for Scalaz 7.0.0
- Release notes for Scalaz 7.0.x
- Release notes for Scalaz 7.1.0
- Release note for Scalaz 7.1.x
- Release notes for Scalaz 7.2.0
- Release note for Scalaz 7.2.x
-
Release notes for Scalaz 7.3.0
- 7.3.0-M1
- 7.3.0-M2
- 7.3.0-M3
- 7.3.0-M4
- 7.3.0-M5
- 7.3.0-M6
- 7.3.0-M7
- 7.3.0-M8
- 7.3.0-M9
- 7.3.0-M10
- 7.3.0-M11
- 7.3.0-M12
- 7.3.0-M13
- 7.3.0-M14
- 7.3.0-M15
- 7.3.0-M16
- 7.3.0-M17
- 7.3.0-M18
- 7.3.0-M19
- 7.3.0-M20
- 7.3.0-M21
- 7.3.0-M22
- 7.3.0-M23
- 7.3.0-M24
- 7.3.0-M25
- 7.3.0-M26
- 7.3.0-M27
- 7.3.0-M28
- 7.3.0-M29
- 7.3.0-M30
- 7.3.0-M31
- 7.3.0-M32