ZIO v1.0.0-RC17 Release Notes

Release Date: 2019-11-18 // over 4 years ago
  • Notable changes

    ๐Ÿš€ This release contains major changes related to how fiber supervision is working.
    The new behavior is that a fiber will automatically be interrupted when its parent fiber is interrupted. To make forked fibers independent of their parents, use .daemon.
    ๐Ÿšš Previously existing interruptChildren, supervised, unsupervised, checkSupervised, superviseStatus have been removed in favor of daemon, nonDaemon, checkDaemon and daemonStatus.

    ZIO

    • Complete overhaul of supervision (#2169) by @jdegoes
    • โž• Add fiber dumps with pretty printing for easier diagnostics (#2228) by @jdegoes
    • โž• Add a new implicit instance CanFail[E] which provides implicit evidence that an effect with an error type E can fail, that is that E is not equal to Nothing. Requires such evidence to exist for ZIO combinators such as orElse that only make sense if an effect can fail (#2049) by @adamgfraser
    • Similarly, implements NeedsEnv so that useless combinators involving effects that don't require an environment don't compile (#2065) by @adamgfraser
    • โž• Add ZIO.fromFunctionFuture (#1961) by @jczuchnowski
    • effectAsync should not resume fiber twice after interruption (#1939) by @darl
    • โž• Add withFilter (#2114) by @wi101
    • ๐Ÿ‘‰ Use URIO in type signatures where possible (#2092) by @joroKr21
    • โž• Add ZIO#doUntil and ZIO#doWhile (#2147) by @adamgfraser
    • Ignore should not recover from unchecked exceptions (#2148) by @alexvanolst
    • ๐ŸŽ Reimplement RaceWith in the ZIO runloop for better performance (#2091) by @YuvalItzchakov
    • Adapt ZIO.someOrFailException to improve interop with error types (#2087) by @mlangc
    • ๐Ÿ›  Fix Cause Definition of Equals and HashCode (#2220) by @adamgfraser
    • ๐Ÿ‘Œ Improve implementation of InterruptStatus#isInterruptible (#2188) by @sirthias

    ZIO Stream

    โœ… ZIO Test

    STM

    โฑ Schedule

    ZManaged

    Chunk

    Semaphore

    • ๐Ÿš€ Deprecate acquire, acquireN, release, releaseN in favor of withPermits (#1523) by @adamgfraser

    Duration