Monix v3.0.0 Release Notes

Release Date: 2019-06-16 // almost 5 years ago
  • ๐Ÿ”– Version 3.0.0-RC3 (June 16, 2019)

    ๐Ÿš€ This release depends on Cats-Effect 1.3.1 and Cats 1.6.1.

    ๐Ÿš€ The next planned release will target Cats-Effect 2.0.0 with Scala 2.13 support.

    ๐Ÿš€ NOTE: this release IS NOT binary compatible with 3.0.0-RC2, as it contains some API changes, but it should be source compatible (with @deprecated symbols where the case).

    Sub-project: monix-execution

    This sub-project no longer depends on cats-effect and there are various
    ๐Ÿ‘Œ improvement to Local aimed at fixing interop with Future. Note that
    you might have to call Local.isolate to disable any sharing between tasks.

    PR #775:
    Simplified FutureUtils materialize & dematerialize

    PR #790:
    ๐Ÿ‘Œ improve fixed rate scheduling on JS

    PR #803:
    Eagerly null out dequeued elements in ChunkedArrayQueue

    PR #822:
    โœ‚ remove dependency on cats-effect from monix-execution

    PR #773:
    ๐Ÿ”„ change Cancelable.empty type to Cancelable

    PR #887:
    Shared locals with binds

    PR #888:
    ๐Ÿ›  Fix uncaught exception reporting for Scheduler

    Sub-project: monix-catnap

    PR #778:
    โž• Adds ConcurrentChannel

    PR #784:
    โœ… More concurrent tests for MVar/Semaphore

    PR #865:
    โž• Adding FunctionK values for Task, Coeval

    Sub-project: monix-eval

    PR #802:
    encapsulate local ctx on task execution

    PR #807:
    ๐Ÿ‘Œ Improve encapsulation test, encapsulate locals on ContextShift

    PR #838:
    โž• Add taskified variants of timeout combinators

    PR #839:
    TaskLocal should propagate when used with Bracket Methods

    PR #849:
    ๐Ÿ‘ป Specify exception on timeout

    PR #887:
    Shared locals with binds

    PR #865:
    โž• Adding FunctionK values for Task, Coeval

    Sub-project: monix-reactive

    PR #759:
    โž• Add Contravariant Observer and Subscriber

    PR #760:
    โž• add Observable.filterEval

    PR #774:
    โž• Add FunctorFilter instances for Iterant&Observable

    PR #779:
    fork blocking i/o observable ops

    PR #794:
    ๐Ÿ”’ Acquire lock per subscription instead of observable-wide lock

    PR #801:
    ๐Ÿ”จ Observable buffers refactoring

    PR #819:
    Extend ObservableLike with filterNot method

    PR #831:
    โœ… SerializableSuite to no longer test Future for serializability

    PR #834:
    Observable.reduce should emit for single item source

    PR #846:
    Ensure mapParallelOrdered runs in parallel

    PR #872:
    โž• Add observable take while inclusive

    PR #895:
    ๐Ÿ›  Fix memory leak in MapParallelOrderedObservable

    Sub-project: monix-tail

    PR #778:
    โž• Adds Iterant.channel, Iterant#consume

    PR #826:
    โž• add Iterant.uncons operation

    Chores

    PR #766:
    โšก๏ธ Update sbt-unidoc to 0.4.2

    PR #766:
    โšก๏ธ Update sbt-pgp to 1.1.2

    PR #768:
    โšก๏ธ Update sbt-mima-plugin to 0.3.0

    PR #769:
    โšก๏ธ Update sbt-git to 1.0.0

    PR #770:
    โšก๏ธ Update jctools-core to 2.1.2

    PR #771:
    โšก๏ธ Update kind-projector to 0.9.8

    PR #772:
    โšก๏ธ Update sbt-jmh to 0.3.4

    PR #771:
    โšก๏ธ Update kind-projector to 0.9.9

    PR #783:
    ๐Ÿ‘‰ Use globally accessible (rather than local) source paths in JS source maps (#781)

    PR #785:
    โšก๏ธ Update sbt-scalajs, scalajs-compiler, scalajs-library... to 0.6.26

    PR #788:
    โšก๏ธ Update cats-effect, cats-effect-laws to 1.1.0

    PR #796:
    ๐Ÿ›  fix scalacOptions

    PR #797:
    Scala 2.12.8

    PR #798:
    โšก๏ธ Update intervalWithFixedDelay scaladoc

    PR #805:
    ๐Ÿ“‡ Rename keysBuffer to os in groupBy's parameters

    PR #808:
    โšก๏ธ Update Copyright to 2019

    PR #810:
    sbt 1.2.8 (was 1.1.0)

    PR #812:
    โšก๏ธ Update Minitest to 2.3.2

    PR #813:
    Disable code coverage

    PR #818:
    โšก๏ธ Update Cats-Effect to 1.2.0

    PR #820:
    โšก๏ธ Update cats-laws to 1.5.0

    PR #821:
    โšก๏ธ Update cats-laws to 1.6.0

    PR #823:
    ๐Ÿ‘ Scala 2.13 support

    PR #821:
    โšก๏ธ Update sbt-header to 5.1.0

    PR #827:
    โœ‚ Remove comments from .jvmopts

    PR #833:
    ๐Ÿ›  Fix build for 2.13.0-M5 by deactivating Mima for it

    PR #840:
    โž• Add adopters list seed

    PR #842:
    ๐Ÿ›  Fixed deprecation docs for Task#coeval

    PR #843:
    โœ‚ Remove dead code from tests

    PR #844:
    โšก๏ธ Update sbt-header to 5.2.0

    PR #847:
    โšก๏ธ Update ExecutionModel.scala

    PR #850:
    โฑ Increase rate in AsyncSchedulerSuite

    PR #854:
    ๐Ÿ›  fix apparently erronous code involving Unit companion

    PR #855:
    โšก๏ธ Update sbt-jmh to 0.3.5

    PR #857:
    ๐Ÿ‘‰ Make benchmarks compile

    PR #859:
    โšก๏ธ Update sbt-scalajs, scalajs-compiler to 0.6.27

    PR #867:
    โšก๏ธ Update kind-projector to 0.10.0

    PR #869:
    ๐Ÿ›  fix compile errors with latest Scala 2.13

    PR #874:
    โšก๏ธ Update cats-effect, cats-effect-laws to 1.3.0

    PR #878:
    Compile Benchmarks in CI

    PR #879:
    Do on subscription cancel scaladoc fix

    PR #889:
    โšก๏ธ Update cats-effect, cats-effect-laws to 1.3.1

    PR #894:
    โž• Add UnsafeBecauseImpure Annotation to foreach.

    PR #896:
    โšก๏ธ Update cats-laws to 1.6.1

    PR #898:
    Reformating via Scalafmt

    PR #899:
    ๐Ÿ›  Fix autoCancelableRunLoops comment.

    PR #901:
    ๐Ÿ—„ avoid deprecated unicode arrow chars

    PR #902:
    ๐Ÿ— reformat build files

    Thanks

    ๐Ÿš€ People that made this release possible, in alphabetical order:

    ๐Ÿš€ And special thanks to our top contributor in this release:
    https://github.com/fthomas/scala-steward :)