This is the twenty-fourth 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.3.x release. Note that source compatibility has been broken with 3.2.x in some minor areas. Scalafixes are available and should be automatically applied by Scala Steward if relevant.
This release relieves a contention point in the default Supervisor
implementation, which is itself used in the implementation of Dispatcher
, resulting in better throughput in parallel workloads. The release also fixes a cancelation backpressure flaw in java.util.concurrent.CompletableFuture
interop, as well as some Scala JS linking issues, which we were unaware of, prior to today.
User-Facing Pull Requests
- #2876 – Use a
ConcurrentHashMap
forSupervisor
state ifF
isAsync
(@wjoel) - #2906 – Implement
Random#javaSecuritySecureRandom
on Scala.js (@armanbilge) - #2907 – Fix
Async#fromCompletableFuture
cancelation backpressure (@bplommer and @armanbilge)
Special thanks to each and every one of you!