This is the fiftieth 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
Enhancements
Dispatcher
: avoid spinning by @durban in #4052- Relax
access
semantics inMapRef
implementations by @armanbilge in #4116 - optimize
IO.whenA
by @Jasper-M in #4135
Bug Fixes
- Fix #4066: shut down executors when
IORuntime.global
shuts down by @durban in #4067 - Use
IOApp#reportFailure
instead ofprintStackTrace()
for blocking EC by @fredfp in #4044 - Fix
cancelable
toguarantee
cancelation by @armanbilge in #4118
Documentation
- Update versions for 3.5.4 by @djspiewak in #4032
- Improve contributor documentation by @durban in #4038
- Expand the example of using
Random[F]
in the doc for 3.5.x by @sshark in #4041 - Document usage of
-Wnonunit-statement
by @froth in #4054 - link to
MapRef
docs in site sidebar by @samspills in #4122 - Add lifecycle diagrams to
Supervisor
web docs by @samspills in #4127
Behind the Scenes
- Fix CI step to post release to Discord by @armanbilge in #4031
- Create 8-core Cirrus CI job by @armanbilge in #4036
- Try to address
DispatcherSpec
timeout in CI by @durban in #4057 - Pin CI to macOS 12 by @armanbilge in #4078
- Remove GraalVM from CI matrix by @mzuehlke in #4153
New Contributors
Full Changelog: v3.5.4...v3.5.5