Monix v3.0.0-RC1 Release Notes
Release Date: 2018-05-18 // almost 6 years ago-
[https://typelevel.org/cats-effect/ Cats Effect] integration:
- PR #598:
Integrates
cats.effect.Timer
andIO.cancelable
- PR #600:
Add
Sync
&Async
instances forIterant
- PR #607:
implement
ConcurrentEffect[Task]
(upgrade to cats-effect 0.10) - PR #609: update Cats to 1.1.0 & Cats Effect to 0.10
๐ Features for
monix-execution
:- PR #527
(#517,
#525 and
#526):
removes macros, replacing them with plain extension methods,
removes
SerialCancelable#orderedUpdate
- PR #556:
SchedulerService.awaitTermination
and fix concurrency tests - PR #584
(#221):
add conversions module for the Java 8
CompletableFuture
๐ Features for
monix-eval
:- PR #507: add
onErrorRestartLoop
forTask
andCoeval
- PR #533
(#523):
add
Task.fork
operator, deprecate oldTask.fork
andexecuteWithFork
, renamed toexecuteAsync
- PR #530
(#520):
add
Task.forkAndForget
- PR #537
(#535):
Make
MVar
constructors returnTask
- PR #540
(#539):
make all
Task
abstractions referentially transparent - PR #545
(#538):
add
newtype
forTask.Par
, using same encoding used incats-effect
- PR #547
(#542):
add
Task.runSyncUnsafe
- PR #550:
add
Task.sleep
, refactor the implementation ofdelayExecution
anddelayResult
and deprecatedelayExecutionWith
anddelayResultBySelector
- PR #482
(#477):
add the
.cancelable
operator onTask
- PR #561:
Bracket for
Task
/Coeval
,Task.cancelable
andTask.onCancelRaiseError
- PR #596:
add
Fiber
interface, refactormemoize
forTask
andCoeval
- PR #602:
TaskLocal
should exposeLocal
- PR #603:
Changed implementation
TaskLocal#bind
in terms ofTask#bracket
๐ Features for
monix-reactive
:- PR #511
(#269):
add
monix.reactive.subjects.Var
type - PR #528:
add
Observable.scanMap
operator - PR #536
(#459):
add a
NonEmptyParallel
forObservable
usingcombineLatest
๐ Features for
monix-tail
:- PR #503
(#487):
add
Iterant.liftF
builder for lifting monadic values - PR #510
(#500):
add
Iterant.takeEveryNth
operator - PR #504
(#499):
add
Iterant.switchIfEmpty
operator - PR #509
(#495):
add
Iterant.dropLast
operator - PR #508
(#501):
add
Iterant.intersperse
operator - PR #512
(#496):
add
Iterant.dropWhileWithIndex
operator - PR #514
(#497):
add
Iterant.takeWhileWithIndex
operator - PR #523
(#519):
add
Iterant.scanMap
operator - PR #518
(#516):
add
Iterant[Task].intervalAtFixedRate
- PR #524
(#498):
add
Iterant.interleave
- PR #549
(#548):
add
Iterant.fromStateAction
andfromStateActionL
- PR #567
(related to #563):
completedL
should handleF[_]
errors,mapEval
should not - PR #569
(related to #563):
Iterant
fold left operators (yieldingF[_]
) need to handle errors thrown inF[_]
- PR #566
(#562):
improve safety of
attempt
&onErrorHandleWith
onIterant
- PR #578
(#570):
add
Iterant#sumL
method - PR #579
(#577):
make
Iterant#reduceL
andheadOptionL
left folds handle errors fromF[_]
context - PR #575
(##571 and
#572):
add
Iterant.repeat
(method and builder) - PR #583
(#549):
add
Iterant.fromStateAction
builder - PR #582
(#573 and
#574):
add
repeatEval
/repeatEvalF
forIterant
&repeatEvalF
forObservable
- PR #554
(#479):
add
Iterant#bracket
operator - PR #581
(#559):
handle broken nodes in
Iterant.skipSuspendL
- PR #589:
improve handling of broken batches/cursors in
Iterant.attempt
- PR #591
(#580):
improve strictness of
Eq
ofIterant
, fixdoOnFinish
onLast
๐ Bug fixes:
- PR #552
(#483):
MVar
is stack unsafe, triggering stack overflow onput
- PR #543
(#541):
Observable.take(0)
shouldn't subscribe to the source at all - PR #496
(#468):
race condition for
Observable
in concatenation operators - PR #568:
in
Iterant.toReactivePublisher
thecancel
should be made byrequest()
- PR #592
(#590):
potential nontermination in
Observable.zip[Map]
Chores:
- โก๏ธ PR #502: update SBT to 1.1
- PR #488:
add note about execution model for
Observable.fromInputStream
- PR #531 (related to #513): add automatic header creation on compilation
- PR #557: disable automatic publishing, too dangerous
- PR #546
(related to #513):
add
scalafmt.conf
configuration - PR #565:
correct small typo in doc of
Task#executeOn
- PR #576: fix comment mentioning Akka instead of Monix
- PR #588: update copyright headers for Scala 2.11 source files
- PR #605: Make concurrent Atomic tests more resilient to timeouts
- PR #598:
Integrates