Kyo 0.15.0 released!

This is yet another packed #Kyo release! :sparkles:

  • Monix Integration: The new kyo-monix module implements integration with Monix’s Task, similar to kyo-zio and kyo-cats.

  • Multithreaded Scala Native: Support for Scala Native has been expanded to kyo-scheduler, kyo-core, kyo-direct, kyo-sttp, and kyo-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 the STM 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 with zio-test, enabling users to mix zio/kyo effects in the same test suite. This unlocks the use of Gen and check.

  • Chunk Builder: Chunk now provides a collection builder API for better integration with Scala Collections.

Full Changelog: v0.14.1…v0.15.0

2 Likes