Monix: Version 2.2.2 Released

Version 2.2.2 is out now.

It is a minor release that’s binary and source compatible with 2.2.x.

In summary:

  • Implemented a circuit breaker for Task, for providing stability and preventing cascading failures in distributed systems
  • Added Task!.memoizeOnSuccess and Coeval!.memoizeOnSuccess operators that only caches the result (with idempotency guarantees) for successful results, while re-evaluating the source on failures
  • Added Task.deferFutureAction that helps with wrapping Future-enabled APIs without requiring ExecutionContext in the function signature, since Task can inject it for you
  • Added SingleAssignmentCancelable.plusOne for helping with building Consumer objects
  • Moved and redesigned exceptions in monix.execution
  • Task.sequence now has lazy behavior in evaluating the given sequence (previously we were doing a foldLeft on that sequence, which could have strict behavior, depending on the collection type)
  • Critical bugs fixed!

Details below!

Read more →

Monix: Version 2.2.1 Final Release

Version 2.2.1 is out now.

It is a major release that shouldn’t be considered binary compatible with 2.1.x, even though it is source compatible. This is due to several operators being changed in Observable and Task, but extension methods are provided for the older versions, therefore source compatibility is maintained.

As a summary: the new MVar synchronization primitive, performance improvements in Observable.concatMap and in the Task run-loop, new SchedulerService interface for shutting down schedulers, bug fixes and upgrade to Cats 0.9.0. See details below.

Read more →

Monix: Version 2.1.2


Version 2.1.2 is out now.

It is a minor release, binary compatible with 2.1.x, upgrading Scala to 2.12.1 and fixing a bug in Observable.bufferSliding. See Bug #275.

Read more →

Monix: Version 2.1.x


Version 2.1.1 is out now, while version 2.1.0 was out on Nov 9. The official announcement was then postponed because we waited to see if bug reports are going to happen. Today version 2.1.1 was released, fixing such a problem.

To use the new version, include this in your build.sbt (and use %%% for Scala.js):

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

The new version supports:

  • Scala 2.10, 2.11 and 2.12
  • Scala.js 0.6.x
  • Cats 0.8.x
  • Scalaz 7.2.x
  • Java 6, 7, 8 and 9
  • Android, at least since 2.x

The theme of the 2.1 release has been performance optimizations, in some cases quite massive, improving Task and parallelizing work by means of the new Observable.mapAsync or by TaskSemaphore.

Read more →

Monix: Version 2.0.6 Maintenance Release

This release is binary compatible with 2.0.x, being a maintenance. In order to upgrade, just increment the version number in build.sbt:

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

This version is published for Scala 2.12.0 final release, incrementing the dependency on Minitest to 0.27 and on Scalaz to 7.2.7.

Read more →