Multik 0.2: Multiplatform, With Support for Android and Apple Silicon
Introducing Multik 0.2.0! Now a multiplatform library, it allows you to use multidimensional arrays in your favorite multiplatform projects. Let's take a closer look at what’s new in v0.2.0. Multik on GitHub (more…)
Introducing kotlinx.coroutines 1.6.0
Following the release of Kotlin 1.6.0, the 1.6.0 version of the kotlinx.coroutines library is out. Here are the main features it brings: A new API and multiplatform support for kotlinx-coroutines-test introduce a common solution for writing portable tests with suspending functions.Support for the new Kotlin/Native memory manager makes multithreaded coroutines for Kotlin/Native available out of the box.The new dispatcher views API lets you limit parallelism without creating additional thread pools and provides a unified way to create dispatchers for unbound parallelism.The introduction of Co
Multik 0.1 Is Out
Introducing Multik 0.1 - a new, enhanced version of our multidimensional array library! You can check out the previous post to learn about the basic features and architecture of the library. In the new release, we added new methods from linear algebra, supported complex numbers and reading/writing .csv files, improved the performance and stability of existing functions, and added many more features that will make it easier for you to work with multidimensional arrays. Multik on GitHub Let’s take a look at the new features this release brings to the API: Reading and writing CSV file
kotlinx.serialization 1.3 Released: Experimental IO Stream-Based JSON Serialization, Fine-Grained Defaults Control, and More
A new version of the Kotlin serialization library – 1.3.0 – is now available following the release of Kotlin 1.5.30. It mainly focuses on broadening the JSON serialization capabilities. Here are the most noticeable changes: Serializing and deserializing Java IO stream. You can now read and write JSON directly to network streams or files.More control over the encoding of default values. A new annotation defines the encoding of default values for each property separately.Exclusion of null values lets you minimize the resulting JSON by removing null property values and restoring them upon dese
Kotlin Coroutines 1.5: GlobalScope Marked as Delicate, Refined Channels API, and More
Kotlin Coroutines 1.5.0 delivers GlobalScope that is now marked as a delicate API, extensions for JUnit, the refined Channel API, and stabilized reactive integrations.
kotlinx-datetime 0.2.0 Is Out
Today we’re exploring kotlinx-datetime 0.2.0 — a new version of the Kotlin library for working with dates and times.
kotlinx.serialization 1.2 Released: High-Speed JSON Handling, Value Class Support, Overhauled Docs, and more
kotlinx.serialization 1.2 is out! The latest version of our multiplatform serialization library brings a number of improvements – here are the highlights: JSON serialization is faster than ever before. Version 1.2 is up to twice as fast as previous versions when parsing JSON into type-safe Kotlin objects and turning Kotlin objects into their text representations. Kotlin 1.5 type system additions are now supported. Value classes and unsigned numbers can be turned into JSON and back just like any other Kotlin class. New API documentation makes it easy to discover all the functionality kot
viktor: Efficient Vectorized Computations in Kotlin
Introducing viktor viktor is an open-source Kotlin library developed by JetBrains Research that aims to make array calculations more efficient. We achieve this by avoiding nested arrays, delegating expensive operations to JNI + SIMD, and providing built-in support for arithmetics on logarithmically-stored numbers. This post is in celebration of the 1.1.0 release. We will discuss what the library does (and what it doesn't), how it came to be, and what lessons we've learned while developing it. Please try the library out! It's as simple as looking at some examples and adding a line to your Gradl
How We Test Concurrent Primitives in Kotlin Coroutines
Today we would like to share how we test concurrency primitives in Kotlin Coroutines. Many of our users are delighted with the experience of using coroutines to write asynchronous code. This does not come as a surprise, since with coroutines we are able to write straightforward and readable code, with almost all the asynchronicity happening under the hood. For simplicity, we can think of coroutines in Kotlin as super-lightweight threads with some additional power, such as cancellability and structured concurrency. However, coroutines also make the code much safer. Traditional concurrent progra
Multik: Multidimensional Arrays in Kotlin
A lot of data-heavy tasks, as well as optimization problems, boil down to performing computations over multidimensional arrays. Today we’d like to share with you the first preview of a library that aims to serve as a foundation for such computations – Multik. Multik offers both multidimensional array data structures and implementations of mathematical operations over them. The library has a simple and straightforward API and offers optimized performance. Using Multik Without further ado, here are some of the things you can do with Multik. Create multidimensional arrays Create a vector:
kotlinx.coroutines 1.4.0: Introducing StateFlow and SharedFlow
We’re pleased to announce the release of version 1.4.0 of the Kotlin Coroutines library. The highlights of the release are StateFlow and SharedFlow, which are being promoted to stable API. StateFlow and SharedFlow are designed to be used in cases where state management is required in an asynchronous execution context with Kotlin Coroutines.
kotlinx.serialization 1.0 released
We are happy to share with you the release of version 1.0 of our multiplatform serialization library, kotlinx.serialization. As the first stable version of the library, we can finally consider it production-ready! Whether you are writing Android apps, using Kotlin Multiplatform Mobile, creating server-side services, or building web frontends with Kotlin/JS – kotlinx.serialization comes with a simple but powerful pure-Kotlin API, which makes it effortless to parse JSON into type-safe Kotlin objects, and vice versa. To celebrate this release, we want to provide a brief overview of some of the p