github zio/zio v2.1.0
2.1.0

latest release: v2.1.1
11 days ago

This version brings a lot of performance improvements in the fiber runtime as well as the scheduler. It is fully binary compatible with the 2.0.x branch with the exception of some internal classes that shouldn't be used anywhere else (we tested a wide range of the library ecosystem without issues).

An important change is that we disabled auto-blocking detection by default because it could cause some performance degradation in some cases. Better heuristics might be introduced in the future, but in the meantime you can enable it by using the Runtime.enableAutoBlockingExecutor aspect. We also added an optional executor based on Loom that you can use if your Java version is 21 or higher with the Runtime.enableLoomBasedExecutor aspect. Which one is better may vary based on your use case so we encourage you to test and measure it.

If you use sttp v3 and Scala 3, you might run into a compile error when trying to provide or access SttpClient from/to your environment. This is because since #8612 we don't allow materializing tags for intersection types in covariant position and sttp does exactly that: type SttpClient = SttpBackend[Task, ZioStreams with WebSockets]. Using SttpBackend[Task, Any] or only one of ZioStreams/WebSockets solves the issue.

What's Changed (since 2.1.0-RC5)

What's Changed (since 2.0.22)

Other changes (CI, dependencies and documentation)

New Contributors

Full Changelog: v2.0.22...v2.1.0

Don't miss a new zio release

NewReleases is sending notifications on new releases.