> ## Content Index
> Fetch the complete content index at: https://commonmain.dev/llms.txt
> Use this file to discover other available public pages before exploring further.

# Kotlin Multiplatform Newsletter #2
- URL: https://commonmain.dev/kotlin-multiplatform-newsletter-2/
- Published: 2026-01-27T14:00:06.000Z
- Updated: 2026-06-03T15:12:03.000Z
- Author: Bogdan Codes
- Tags: Issues

### **The Log**

The only Kotlin Multiplatform and Compose Multiplatform news you actually need to know.

🚀

[Ktor 3.4.0 Is Now Available!](https://blog.jetbrains.com/kotlin/2026/01/ktor-3-4-0-is-now-available/?ref=commonmain.dev)  
  
[Ktor 3.4.0](https://ktor.io/?ref=commonmain.dev) improves stability and addresses outstanding issues. Highlights include OpenAPI generation, [Ztsd](https://github.com/facebook/zstd?ref=commonmain.dev) 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*](https://ktor.io/docs/whats-new-340.html?ref=commonmain.dev) page.

🚀

[Exposed 1.0 Is Now Available](https://blog.jetbrains.com/kotlin/2026/01/exposed-1-0-is-now-available/?ref=commonmain.dev)  
  
This is the first major release of [Exposed](https://www.jetbrains.com/exposed/?ref=commonmain.dev) – 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.

⚠️

Gradle 9 Will Break Your KMP Project - [Here's the Full Migration Strategy](https://www.youtube.com/watch?v=Jp3Yg1VSRkY&ref=commonmain.dev)  
  
In this video [Philipp Lackner](https://pl-coding.com/?ref=commonmain.dev) shows us the core changes of Gradle 9 for KMP projects and how to successfully migrate our projects.

🍉

[KMP Wizard Template](https://github.com/watermelonKode/kmp-wizard-template?ref=commonmain.dev) — AGP 9.0.0 Ready  
  
A clean [****Kotlin Multiplatform (KMP)**](https://kotlinlang.org/multiplatform/?ref=commonmain.dev) starter generated with the Kotlin Multiplatform Wizard and then updated to work smoothly with [****Android Gradle Plugin (AGP) 9.0.0**](https://developer.android.com/build/releases/agp-9-0-0-release-notes?ref=commonmain.dev).

### Expect Actual

Technical deep dives, or solving the "how-the-hell-do-I-test-this" problems.

SPONSORED 

[![CTA Image](https://storage.ghost.io/c/57/59/57597180-415a-44ab-aa77-38b4467c31d5/content/images/2026/01/practical-kotlin-deep-dive-2.png)](https://leanpub.com/kotlin-deep-dive/c/3CDEFDB0C03B?ref=commonmain.dev) 

****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.**

[Get the Book ](https://leanpub.com/kotlin-deep-dive/c/3CDEFDB0C03B?ref=commonmain.dev) 

🦮

in, out, reified: [A Practical Guide to Kotlin Generics](https://proandroiddev.com/in-out-reified-a-practical-guide-to-kotlin-generics-2beb6b9eb67a?ref=commonmain.dev)  
  
Kotlin’s [standard library](https://kotlinlang.org/api/core/kotlin-stdlib/?ref=commonmain.dev) 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?

🎯

[Tracing the User Journey with Coroutines](https://proandroiddev.com/tracing-the-user-journey-with-coroutines-in-kotlin-multiplatform-fb5e21072d80?ref=commonmain.dev) in Kotlin Multiplatform  
  
How do you understand what a user actually experienced when everything is asynchronous, cross-platform, and happening “somewhere” inside coroutines?

💻

Complete Guide for [Publishing Your Kotlin Multiplatform Compose Desktop App](https://hudnitsky.com/complete-guide-for-publishing-your-kotlin-multiplatform-compose-desktop-app-to-the-mac-app-store-8ce23ba36d5a?ref=commonmain.dev) to the Mac App Store  
  
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.

👀

[Building a Text Sentiment Classifier in Kotlin Multiplatform](https://proandroiddev.com/building-a-text-sentiment-classifier-in-kotlin-multiplatform-987ee2da1717?ref=commonmain.dev)  
  
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**](https://github.com/Tweener/alarmee?ref=commonmain.dev)  
Alarmee is a Kotlin/Compose Multiplatform library designed to simplify scheduling alarms and notifications on both Android and iOS platforms.
- [**moko-permissions**](https://github.com/icerockdev/moko-permissions?ref=commonmain.dev)  
Runtime permissions controls for mobile (android & ios) Kotlin Multiplatform development.
- [**Turbine**](https://github.com/cashapp/turbine?ref=commonmain.dev)  
A testing library for [kotlinx.coroutines](https://github.com/Kotlin/kotlinx.coroutines?ref=commonmain.dev) Flow.
- [**assertk**](https://github.com/assertk-org/assertk?ref=commonmain.dev)  
Fluent assertions library for [Kotlin](https://kotlinlang.org/?ref=commonmain.dev) with full Multiplatform support.

### LazyColumn

Compose Multiplatform tips, tricks, and code snippets.

🌟

[AwesomeUI](https://github.com/ArcaDone/AwesomeUI?ref=commonmain.dev)  
  
A collection of ****"copy, paste, use"** snippets and useful elements for those who intend to or are already developing an app in [****Compose Multiplatform**](https://kotlinlang.org/compose-multiplatform/?ref=commonmain.dev) or simply an Android app and already use [****Jetpack Compose**](https://developer.android.com/compose?ref=commonmain.dev) and [****Material3**](https://m3.material.io/?ref=commonmain.dev).

🕸️

[Building a WebView control for Compose Desktop](https://teamdev.com/jxbrowser/blog/building-web-view-for-compose/?ref=commonmain.dev)  
  
In 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.

SPONSORED 

Ship your next iOS & Android app in days with Kotlin Multiplatform  
  
Skip the boring setup. [****KMPShip**](https://kmpship.app/?ref=commonmain) 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.

[Get Started ](https://kmpship.app/?ref=commonmain) 

[GitHub - rainxchzed/Github-Store: A free, open-source app store for GitHub releases — browse, discover, and install apps with one click. Powered by Kotlin and Compose Multiplatform for Android & Desktop (Linux, MacOS, Windows).A free, open-source app store for GitHub releases — browse, discover, and install apps with one click. Powered by Kotlin and Compose Multiplatform for Android &amp; Desktop (Linux, MacOS, Windows).…![](https://storage.ghost.io/c/57/59/57597180-415a-44ab-aa77-38b4467c31d5/content/images/icon/pinned-octocat-093da3e6fa40-12.svg)GitHubrainxchzed![](https://storage.ghost.io/c/57/59/57597180-415a-44ab-aa77-38b4467c31d5/content/images/thumbnail/f714ce52-632a-43ff-8b6c-2314def765e9-1)](https://github.com/rainxchzed/Github-Store/?ref=commonmain.dev)

[Bsky Tracker - The must-have Bluesky Followers Analytics & Network ManagerTrack followers, analyze engagement, and manage your Bluesky network with real-time insights. Free app with advanced filtering and bulk actions for iOS & Android.![](https://storage.ghost.io/c/57/59/57597180-415a-44ab-aa77-38b4467c31d5/content/images/icon/apple-touch-icon-2.png)Bluesky TrackerBsky Tracker![](https://storage.ghost.io/c/57/59/57597180-415a-44ab-aa77-38b4467c31d5/content/images/thumbnail/banner.png)](https://blueskytracker.app/?ref=commonmain.dev)

[GitHub - be1ski/vibits: Habit tracker powered by MemosHabit tracker powered by Memos. Contribute to be1ski/vibits development by creating an account on GitHub.![](https://storage.ghost.io/c/57/59/57597180-415a-44ab-aa77-38b4467c31d5/content/images/icon/pinned-octocat-093da3e6fa40-10.svg)GitHubbe1ski![](https://storage.ghost.io/c/57/59/57597180-415a-44ab-aa77-38b4467c31d5/content/images/thumbnail/vibits)](https://github.com/be1ski/vibits?ref=commonmain.dev)

### Careers

Kotlin Multiplatform job postings and opportunities.

SPONSORED 

[![CTA Image](https://storage.ghost.io/c/57/59/57597180-415a-44ab-aa77-38b4467c31d5/content/images/2026/03/wellfound-symbol-black.webp)](https://wellfound.com/l/2ABERG?ref=commonmain.dev) 

****wellfound** • Where startups and job seekers connect.  
  
🤝 Connect directly with founders at top startups - no third party recruiters allowed.  
💸 Everything you need to know, all upfront. View salary, stock options, and more before applying.  
✌️ Say goodbye to cover letters - your profile is all you need. One click to apply and you're done.  
✨ Unique jobs at startups and tech companies you can’t find anywhere else.

[Find Your Next Remote Job ](https://wellfound.com/l/2ABERG?ref=commonmain.dev) 

🍽️

[Kotlin Multiplatform Product Engineer](https://jobs.superbexperience.com/jobs/5642015-kotlin-multiplatform-product-engineer?ref=commonmain.dev) at [Superb](https://www.superbexperience.com/?ref=commonmain.dev)  
  
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.

🛠️

Senior/Staff Software Developer - [Kotlin Multiplatform Tooling](https://job-boards.eu.greenhouse.io/jetbrains/jobs/4703937101?ref=commonmain.dev) at [JetBrains](https://www.jetbrains.com/?ref=commonmain.dev)  
  
With [Kotlin Multiplatform](https://kotlinlang.org/multiplatform/?ref=commonmain.dev) and [Compose Multiplatform](https://kotlinlang.org/compose-multiplatform/?ref=commonmain.dev), 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](https://www.jetbrains.com/idea/?ref=commonmain.dev) and [Android Studio](https://developer.android.com/studio?ref=commonmain.dev), 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](https://commonmain.dev/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](https://commonmain.dev/sponsor/).

#### ✍ 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

## Sign up for commonMain.dev

The weekly newsletter for Kotlin Multiplatform (KMP). News, jobs, technical deep-dives, and more. Delivered every Tuesday.

Subscribe 

Email sent! Check your inbox to complete your signup. 

No spam. Unsubscribe anytime.