- Initial Scala Native support: The modules
kyo-data
,kyo-tag
, andkyo-prelude
are now cross-compiled to Scala Native 0.5.5. - Batch: A new effect that provides functionality similar to solutions like Haxl/Stitch/ZIO Query to batch operations. The effect can be safely composed with others without a separate monad!
- kyo-prelude: The kyo-prelude module contains the new kernel of the library and a collection of
IO
-free effects. It’s a quite complete effect system with mutability only to handle stack safety, tracing, and preemption. Other than that, the entire module is pure without any side effects orIO
suspensions, including the effect handling mechanism. - System: Provides access to system properties, environment variables, and OS-related information. A convenience
Parse
type class is provided to parse configurations. - Check: A new effect that provides a mechanism similar to assertions but with customizable behavior, allowing the collection of all failures (
Check.runChunk
), translation to theAbort
effect (Check.runAbort
), and discarding of any failures (Check.runDiscard
). - Effect-TS-inspired pipe: The pending type now offers pipe methods that allow chaining multiple transformations into a single
pipe
call. - ScalaDocs: The majority of Kyo’s public APIs now offer ScalaDocs.
- cats-effect integration: The new Cats effect provides integration with cats-effect’s
IO
, allowing conversion of computations between the libraries in both directions. - New Clock APIs: New convenience APIs to track deadlines and measure elapsed time.
- Barrier: An asynchronous primitive similar to
Latch
to coordinate the rendezvous of multiple fibers. - Integration with directories-jvm: The
Path
companion object now provides methods to obtain common paths based on the directories-jvm library:Path.basePaths
,Path.userPaths
,Path.projectPaths
.
3 Likes