Skip to content

Instantly share code, notes, and snippets.

@neko-kai
Last active May 31, 2019 20:39
Show Gist options
  • Save neko-kai/53f753be7ae439b9bd5e3b11d16417d5 to your computer and use it in GitHub Desktop.
Save neko-kai/53f753be7ae439b9bd5e3b11d16417d5 to your computer and use it in GitHub Desktop.
ZIO RC5 Release Notes

ZIO Core

  • Added FiberRef, a version of FiberLocal that's inherited by child fibers on forks and joins (#665) (#618)

    • Added inheritFiberRefs
  • ZStream now tracks finalization scopes as part of the stream computations. This means that resources are acquired and released more precisely as part of the stream, including across concurrency combinators such as buffer, zipWith and merge. (#906)

    • ZStream uses ZManaged as the return type for stream folds
    • Several concurrency combinators were added: ZStream#flatMapPar, ZStream.flattenPar and ZStream.mergeAll.
  • Added ZIO Tracing for the JVM - Cause now includes a ZTrace with the fiber's monadic stack trace, execution trace and traces of parent fibers at time of failure. (#849)

    • added a new branch to Exit.Cause - Cause.Traced
    • Added trace, traced, untraced, refailWithTrace, tracingStatus and checkTraced
    • Added haltWith
    • Platform now has a tracing field for tracing configuration
  • ZManaged API has been significantly extended, most of the ZIO methods are supported now (#839) (#903)

  • RefM updates now permit errors (#774)

  • Supervision, interruptibility & other regional effects are now inherited by child fibers on fork (#811) (#897)

  • Supervision API:

    • renamed supervise to interruptChildren
    • renamed superviseWith to handleChildrenWith
    • Added unsupervised
  • Other API changes:

    • effectTotalWith has been superseded by suspendWith (#863)
    • Added tapError (#864)
    • Added ZIO.foreach_, ZIO.foreachPar_, ZIO.foreachParN_ (#781)
    • ensuringR is replaced by ensuring (#769)
    • Blocking, Scheduler & Clock Live traits no longer allocate new thread pools on inheritance (#845) (#876)

ZIO Interop

  • Added cats-effect interop layer for ZManaged, conversions to/from cats Resource and instances for Monad, MonadError, Monoid&SemigroupK` (#827)

  • Added cats-effect compatible STM wrappers: STM, TRef, TSemaphore, TPromise, TQueue (#814) (#796)

  • Added interop module for Twitter futures (#833)

  • Added unsafeRunToTwitterFuture (#882)

@iravid
Copy link

iravid commented May 31, 2019

For #906, also note that we've added the following concurrency combinators for ZStream: ZStream#flatMapPar, ZStream.mergeAll, ZStream.flattenPar

@iravid
Copy link

iravid commented May 31, 2019

@Kaishh

* `ZStream` now tracks finalization scopes as part of the stream computations. This means that resources are acquired and released more precisely as part of the stream, including across concurrency combinators such as `buffer`, `zipWith` and `merge`. (#906)
  - `ZStream` uses `ZManaged` as the return type for stream folds
  - Several concurrency combinators were added: `ZStream#flatMapPar`, `ZStream.flattenPar` and `ZStream.mergeAll`.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment