This is yet another packed #Kyo release!
-
Monix Integration: The new kyo-monix module implements integration with Monix’s
Task
, similar tokyo-zio
andkyo-cats
. -
Multithreaded Scala Native: Support for Scala Native has been expanded to
kyo-scheduler
,kyo-core
,kyo-direct
,kyo-sttp
, andkyo-combinators
. Kyo’s adaptive scheduler and high-performance async primitives can now be used in Native! -
STM Effect: A new STM effect is available in the
kyo-stm
module, including a TMap data structure. The implementation uses a fine-grained read/write commit-time lock mechanism designed to reduce retry likelihood and allow transactions to commit concurrently in more scenarios. -
Stream Improvements: Improving streams is a key effort toward Kyo 1.0. This release makes streams lazier and introduces a new Stream.rechunk API.
-
Async.gather: New async operators to execute multiple computations in parallel and gather successful results. The APIs allow specifying a maximum number of computations to wait for. Once gathering is complete, all remaining pending fibers are automatically interrupted.
-
Effect Isolates: A new mechanism providing MTL-like state isolation with rollback capabilities. Integrates with
Async
APIs and powers theSTM
effect’s retry handling. -
Scheduler Improvements: The scheduler module now includes scaladocs clarifying its implementation and design decisions. Additionally, the scheduler’s Admission Control mechanism is now exposed as a user-facing API in
kyo-core
. -
Batch Effect Simplification: The Batch effect has been enhanced to provide the same functionality without requiring the type parameter previously used to track effects from sources.
-
Gen and Check Support in kyo-test:
kyo-test
now provides a stronger integration withzio-test
, enabling users to mix zio/kyo effects in the same test suite. This unlocks the use ofGen
andcheck
. -
Chunk Builder: Chunk now provides a collection builder API for better integration with Scala Collections.
Full Changelog: v0.14.1…v0.15.0