ZIO v1.0.0-RC21 Release Notes

Release Date: 2020-06-19 // almost 4 years ago
  • ๐Ÿš€ We are excited to announce the release of ZIO 1.0.0-RC21, what we hope will be the final release candidate before version 1.0.

    ๐Ÿš€ From here we do not expect significant API changes and will be focused on fixing any bugs that are identified and polishing the API in anticipation of the 1.0 release. Please report any issues you experience with this release candidate so we can address them immediately. Thank you for your support!

    Notable changes

    ZIO Core

    ๐Ÿš€ The most significant change in this release candidate is refinements to the fiber supervision model. There is now a concept of explicit scopes, modeled by ZScope. Each fiber has a scope and when fibers are forked they are forked within a scope. Fibers forked with fork are forked in the scope of the parent fiber and fibers forked with forkDaemon are forked in the global scope. Fibers can now also be forked in another scope using the forkIn operator. A variety of combinators are provided for composing scopes, offering powerful tools for library authors to achieve fine grained control of fiber lifetimes.

    ๐Ÿ‘€ In general we do not expect significant user facing impact as a result of these improvements. The main changes that users should see are that fibers can now be safely forked in zipPar (for example left.fork zipPar right) and parallel construction of layers in ZLayer has been reenabled.

    ๐Ÿš€ In addition, this release candidate features significant improvements to Chunk, including implementing fast single element prepend, addressing a stack safety issue, and improving the efficiency of operations on chunks created through concatenation.

    ๐Ÿ“ฆ Finally, a new TPriorityQueue data structure has been included in the stm package.

    ZIO Streams

    This release candidate features a variety of improvements and bug fixes thanks to feedback from users. In particular, sinks now maintain leftovers. This aspect of sink was dropped in the RC19 release, and has now been brought back due to popular demand. In addition, ZStream#runHead will now only consume the first element of the stream before exiting.

    โœ… ZIO Test