Kotlin Multiplatform Newsletter #2
The Log
The only Kotlin Multiplatform and Compose Multiplatform news you actually need to know.
Ktor 3.4.0 improves stability and addresses outstanding issues. Highlights include OpenAPI generation, Ztsd support for the compression plugin, duplex streaming for OkHttp, Structured concurrency integrations for the HTTP request lifecycle, and much more. For a detailed list of all the changes, check out the What’s new page.
This is the first major release of Exposed – a huge milestone for both the project and the Exposed team! This release brings many new exciting features, the most requested being R2DBC support, as well as performance enhancements and bug fixes. Exposed 1.0 also introduces a stable API that guarantees no breaking changes until the next major release.
The Main Thread
Community's most insightful threads, curated from social media platforms and websites.
In this video Philipp Lackner shows us the core changes of Gradle 9 for KMP projects and how to successfully migrate our projects.
A clean Kotlin Multiplatform (KMP) starter generated with the Kotlin Multiplatform Wizard and then updated to work smoothly with Android Gradle Plugin (AGP) 9.0.0.
Expect Actual
Technical deep dives, or solving the "how-the-hell-do-I-test-this" problems.
Practical Kotlin Deep Dive (Jaewoong Eum) takes you beneath the surface of Kotlin, exploring not just what the language does, but how it works and why it was built that way.
From foundational concepts through coroutines, compiler architecture, and Kotlin Multiplatform, this book connects everyday coding patterns to their underlying mechanisms.
35% discount for the first 5 purchases using the link below.
Kotlin’s standard library is full of generic signatures —
List<out E>, Comparable<in T>, Sequence<out T>. The in and out keywords appear constantly, but what do they actually mean? And when does a regular type parameter need one of these modifiers?How do you understand what a user actually experienced when everything is asynchronous, cross-platform, and happening “somewhere” inside coroutines?
So you’ve built a Kotlin Multiplatform app with Compose Desktop and now you want to ship it to the Mac App Store. Good luck — you’re going to need it. This guide is everything I wish I knew before I started.
Sentiment classification is the process of identifying the sentiment/tone/polarity of a given text. The text could either be ‘POSITIVE’, ‘NEGATIVE’ or ‘NEUTRAL’. The techniques used to perform sentiment classification may assign numbers to these classes (like -1 for ‘NEGATIVE’ and 1 for ‘POSITIVE’) or predict a real number in the range [-1, 1] to quantify the extent of the sentiment.
The Dependency Graph
Curated libraries, tools and plugins that won't break your Gradle build.
- Alarmee
Alarmee is a Kotlin/Compose Multiplatform library designed to simplify scheduling alarms and notifications on both Android and iOS platforms. - moko-permissions
Runtime permissions controls for mobile (android & ios) Kotlin Multiplatform development. - Turbine
A testing library for kotlinx.coroutines Flow. - assertk
Fluent assertions library for Kotlin with full Multiplatform support.
LazyColumn
Compose Multiplatform tips, tricks, and code snippets.
A collection of "copy, paste, use" snippets and useful elements for those who intend to or are already developing an app in Compose Multiplatform or simply an Android app and already use Jetpack Compose and Material3.
WebView control for Compose DesktopIn this article, I’ll walk you through how we built a
BrowserView control for Compose Desktop and the technical challenges we solved during this process — from rendering and input handling to lifecycle and native window management.Target: Production
Showcase of real-world apps proving KMP is ready for prime time.
Ship your next iOS & Android app in days with Kotlin Multiplatform
Skip the boring setup. KMPShip is a KMP boilerplate with Firebase auth, RevenueCat, push notifications, CI/CD, and more already wired up. Go from idea to App Store & Google Play in days, not weeks.

Careers
Kotlin Multiplatform job postings and opportunities.
Superb gathers all the tools to open, run and grow your hospitality business — in one platform. We are looking for one more remote Kotlin Multiplatform Product Engineer to join our team and play a key role in shaping our mobile products for restaurateurs. In this role, you will work on delivering seamless experiences across multiple platforms using KMP, ensuring high performance and maintainability.
With Kotlin Multiplatform and Compose Multiplatform, our goal is to empower Android developers to build the best multiplatform apps. The Kotlin Multiplatform Tooling team is responsible for building tools that make this easier than ever. We’re developing KMP plugins for both IntelliJ IDEA and Android Studio, while also working on IntelliJ IDEA’s Android support, KDoctor, and the Kotlin Multiplatform wizard.
🚀 Get Featured!
Got something interesting to share with the Kotlin Multiplatform community? Submit your link for a chance to get featured in the next issue of commonMain.dev.
🤝 Support the Build
commonMain.dev is made possible by our partners. If you have a tool or service that helps KMP developers ship to production faster, we’d love to help you reach our community. Collaborate with us.
✍ Code Review
This newsletter is curated and written by a real human being. I’m always looking for ways to optimize the build. Was there something you liked or disliked in particular? Or did you find a bug in this issue? Simply reply to this email - I read every comment from the community and take your feedback into account for the next release.
Until next time,
Stay platform-independent!
Bogdan • Founder of commonMain.dev

