This is the forty-eighth 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
- Optimize
Dispatcher#unsafeRunAndForget
by @kamilkloch in #3878 - Execute
IO.blocking
on WSTP withoutBlockContext
indirection by @armanbilge in #3903 - Reset auto-cede counter after
blocking
by @armanbilge in #3938 - Remove unneeded
notifyParked
when worker transitions to blocking by @armanbilge in #3937 - Implement
Fiber#join
viaasyncCheckAttempt
by @armanbilge, @samspills in #3942
Bug Fixes
- Fix cancelation leak in
fromFuture
,fromFutureCancelable
by @TimWSpence in #3892 - Fix #3898 for
Dispatcher.parallel
by @durban in #3900 - Immediately surface fatal errors in
IO.raiseError
by @scott-thomson239 in #3811 - Fix off-by-1 in
CallbackStack#pack
by @armanbilge in #3936 - Prevent
Hotswap#get
from acquiring a lock when there is noResource
present by @josgarmar28 in #3922 - Refactor
CallbackStack
based on new "pack locking" strategy by @armanbilge, @samspills, @mernst-github in #3943
Documentation
- Fix starvation demo app in tuning guide by @armanbilge in #3881
- Try to fix race condition in
Hotswap
example by @armanbilge in #3885 - Add note to starvation docs re: cpus in k8s by @Daenyth in #3750
- Add The Case For Effect Systems talk by @lenguyenthanh in #3905
Behind the Scenes
- Update versions for 3.5.2 by @armanbilge in #3857
- Release script improvements by @armanbilge in #3859
- Post release to Discord in CI by @armanbilge in #3855
- Tweak release notes config by @armanbilge, @samspills in #3951
- Decrease concurrency/replicas in
CallbackStackSpec
by @armanbilge, @samspills in #3952 - Update release.yml by @samspills in #3953
- Document release process by @armanbilge, @samspills in #3954
New Contributors
- @scott-thomson239 made their first contribution in #3811
- @josgarmar28 made their first contribution in #3922
Full Changelog: v3.5.2...v3.5.3