github zio/zio v2.0.0-RC4
2.0.0-RC4

latest releases: v2.1.1, v2.1.0, v2.1.0-RC5...
2 years ago

We are excited to bring you what we hope will be the final release candidate of ZIO 2.0!

The theme of this release candidate is simplification. Throughout the development process we have striven to add features and performance while simplifying everything we possibly could, including the deletion of Has and ZManaged. This release builds on that in two ways.

First, the default ZIO services of Clock, Console, Random, and System have been removed from the environment and built into the ZIO runtime. These interfaces are very low level. Unlike other services, they describe functionality that users may want to use in any service or in their main application. And users rarely provide alternative implementations other than the test implementations provided by ZIO Test.

This change eliminates the boilerplate that was previously associated with manually providing these services in the implementation of higher level services. You can still modify the implementation of these services using ZEnv.services but we expect users will rarely need to do this themselves. All the operators you are used to like Console.printLine still work, they just won't add a requirement to the environment. And you can also use a new set of operators like ZIO.clock to access one of the default services directly.

As a user you should be able to just delete all references to these services from the environment.

Second, ZIO concurrent data structures such as Ref, Queue, and Hub have been simplified to delete their more polymorphic variants. While elegant, this functionality was rarely used and could be confusing for new users.

This release candidate also includes new support for streaming test results from ZIO Test based on work by @swoogles! Please let us know your feedback and we hope you enjoy the new more real time test output.

We continue to be on track to release the final version of ZIO 2.0 by the end of April. Between now and then will be continuing to optimize, fix bugs, and make minor API changes but we do not expect to make any further major changes at this point.

Thank you again for your support! Things just keep getting better and better!

Don't miss a new zio release

NewReleases is sending notifications on new releases.