This is the thirty-first 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.4.x release. The primary purpose of this release is to address a minor link-time regression which manifested when extending IOApp
with a class
(not a trait
) which was in turn extended by another class. In this scenario, the resulting main class would hang on exit if the intervening extension class had not been recompiled against Cats Effect 3.4.0. Note that this issue with separate compilation and IOApp
does remain in a limited form: the MainThread
executor is inaccessible when linked in this fashion. The solution is to ensure that all compilation units which extend IOApp
(directly or indirectly) are compiled against Cats Effect 3.4.0 or later.
User-Facing Pull Requests
- #3254 – Workaround for
IOApp
deadlock (@armanbilge) - #3255, #3253 – Documentation fixes and improvements (@iRevive)
Thank you, everyone!