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!