This is the eighth major 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.2.x release.
Notable Changes
This release brings Cats Effect 3 tracing exception enhancement to match the exception augmentation behavior of Cats Effect 2. Essentially, any raised or caught Exception
inside the Cats Effect 3 runtime is augmented. This allows higher level error recovery combinators to still have access to an Exception
enhanced with IO
tracing information, instead of the initial CE3 behavior where only unhandled exceptions were augmented.
This release also brings important bug fixes and library improvements. The cats.effect.unsafe.implicits.global
IORuntime
instance initialization behavior has been relaxed from a fatal error to a System.err
warning message. The Scala.js runtime polyfill discovery process has been improved to handle tricky cases in environments such as jsdom
. This environment has also been added to the Cats Effect test matrix and tested continuously in the CI.
Last but not least, this release increases the ScalJS version to 1.7.0.
User-Facing Pull Requests
- #2192 – Update Scala.js to version 1.7.0 (@scala-steward)
- #2191 – Test Cats Effect on
jsdom
and fixes to polyfill discovery (@armanbilge) - #2202 – Relax
global
IORuntime
initialization fatal error to a warning (@djspiewak) - #2203 – Always augment raised exceptions in the Cats Effect runtime (@vasilmkd)
- #2180, #2182, #2183, #2186, #2199 – Updates to documentation for new releases, various build and tests changes (@djspiewak, @vasilmkd)
Special thanks to each and every one of you! You are all awesome!