Monix 3.2.0

The release is binary and source compatible with 3.x.x line. It is released for the following Scala and ScalaJS versions:

  • Scala 2.11: ScalaJS 0.6.x
  • Scala 2.12: ScalaJS 0.6.x and 1.0.x
  • Scala 2.13: ScalaJS 0.6.x and 1.0.x

Upgrading #

To use the new version, include this in your build.sbt:

libraryDependencies += "io.monix" %% "monix" % "3.2.0"

Or in case you just want any of the sub-projects:

// Local, Scheduler, Cancelable, CancelableFuture, Atomic, etc
libraryDependencies += "io.monix" %% "monix-execution" % "3.2.0"

// Utilities built for Cats-Effect, e.g. ConcurrentChannel, FutureLift
libraryDependencies += "io.monix" %% "monix-catnap" % "3.2.0"

// Task, Coeval
libraryDependencies += "io.monix" %% "monix-eval" % "3.2.0"

// Observable
libraryDependencies += "io.monix" %% "monix-reactive" % "3.2.0"

// Iterant
libraryDependencies += "io.monix" %% "monix-tail" % "3.2.0"

Changes #

Relevant updates:

  • #1087: Bracket should not evaluate “use” if Task was canceled during “acquire”
  • #1098: Allow to pass Long in Observable.drop(n)
  • #1101: Canceled tasks in Half-Open state should return to Open state in CircuitBreaker
  • #1107: Add CommutativeApplicative[Task.Par] instance
  • #1106 and #1125: Add Observable.concatMapIterable
  • #1117: SyncEffect instance for Coeval
  • #1120: Cancel should always wait for the finalizer
  • #1126: bufferIntrospective should signal Stop upstream when it is back-pressured
  • #1135: Observable.intervalAtFixedRate under-millisecond interval fix
  • #1132: Add Iterant.withFilter
  • #1129: Add Observable.withFilter
  • #1145: Deprecate gather, gatherN, gatherUnordered in favor of parSequence, parSequenceN, parSequenceUnordered
  • #1152: Add Consumer.toList

Thanks #

People that made this release possible:

  • Allan Timothy Leong (@allantl)
  • Eugene Platonov (@jozic)
  • Fabien Chaillou (@fchaillou)
  • Gabriel Claramunt (@gclaramunt)
  • Mantas Indrašius (@mantasindrasius)
  • TapanVaishnav (@TapanVaishnav)
  • najder-k (@najder-k)
  • Oleg Pyzhcov (@oleg-py)
  • Pau Alarcón (@paualarco)
  • Piotr Gawryś (@Avasil)
  • Ross A. Baker (@rossabaker)
  • Viet Yen Nguyen (@nguyenvietyen)
  • Viktor Dychko (@dychko)