Skip to content

v3.5.4

Latest
Compare
Choose a tag to compare
@djspiewak djspiewak released this 05 Mar 21:45
· 34 commits to series/3.5.x since this release
4fc5628

This is the forty-ninth release in the Cats Effect 3.x lineage. It is fully binary compatible with every 3.x release and fully source-compatible with every 3.5.x release.

Warning

The 3.5.x series contains some changes that may be semantically breaking with respect to earlier 3.x releases. If you're using fs2, http4s, or other libraries from the ecosystem, make sure you've upgraded to versions of these libraries that are compatible with this release (for fs2, that's 3.7.0+, for http4s it's 0.23.19+)!

Additionally, if you're using methods like fromFuture, make sure you're aware of the major changes to async, described in these release notes.

What's Changed

The most significant change in this release involves the complete greenfield rewrite of Dispatcher. While Dispatcher is, in practice, one of the most-used components of Cats Effect apart from IO itself, it is also one of the oldest and most "accreted" parts of the codebase. The original variant of Dispatcher had far fewer features and was thrown together relatively quickly during the 3.0 milestone process, and every change and enhancement to its functionality has been layered on top of that foundation.

In this release, we started with an empty editor buffer and rebuilt the whole thing, taking the opportunity to correct a number of corner cases in semantics while significantly beefing up the test suite. We're very confident that the results are much more stable and reliable than the previous iteration, and we're excited to get it into everyone's hands!

Enhancements

  • IORuntimeConfig: reject invalid auto-yield and cancelation check thresholds by @durban in #3987
  • Rewrote Dispatcher by @djspiewak in #3923

Bug Fixes

Documentation

  • Fix typos in Async scaladoc by @durban in #3995
  • Removes language:postfixOps from tutorial as it is not used. by @froth in #4025

Behind the Scenes

New Contributors

Full Changelog: v3.5.3...v3.5.4