Your weekly dose of Kotlin

Register for the newsletter to get your weekly Kotlin dose. It is free, we are lovely and do not send spam


Subscribe

* indicates required

Latest Issue

Kotlin Weekly #-537!

[SPONSORED] Improved runCatching: Handle Coroutine Cancellation and Errors Correctly (kt.academy) The standard runCatching catches every Throwable, including coroutine cancellation and unrecoverable errors. Learn how to build a safer runCatchingCancellable that preserves cancellation, catches only exceptions, and uses Kotlin contracts for better compiler reasoning.

[SPONSORED] Kotlin Coroutines Cheat Sheet: Master Cancellation, Scopes, Dispatchers, and More (cheat-sheet.kt.academy) Working with Kotlin Coroutines? Keep the essential concepts close at hand. Explore coroutine builders, Job states, cancellation, dispatchers, scopes, and structured concurrency. Learn how to manage asynchronous tasks more effectively and avoid common mistakes in your coroutine-based code.

Turn a callback WebSocket feed into a Kotlin Flow with callbackFlow (with a live feed to try it on) (dev.to) Malek wraps a callback based WebSocket client in callbackFlow, looking at where the cleanup should go and why the resulting Flow should be cold. The code runs as written against a public feed that needs no API key.

Combine multiple backend API calls in Kotlin with Mosaic (buildmosaic.org) A guide to combining several backend services into one Kotlin endpoint with Mosaic.

Jetpack Compose Mechanisms: A Guide to the Series, the Talk, and the Book (doveletter.dev) Jaewoong Eum puts the article series, the talk, the slides and the book on Jetpack Compose Mechanisms in one place, with suggestions on where to start.

Ritune takes 2.8× longer to start on a mid-range phone. Here is how I found where the time goes (medium.com) Tanvi Goyal measures the cold start of Ritune on a Pixel 9 Pro and on a mid-range Redmi, using release builds and Perfetto traces. This is the first part of a series

How to get 12 testers for Google Play closed testing (and actually pass) (getfourteen.app) David Kirsch shares where to find testers for the closed test Google Play requires before you can publish, and how to keep them engaged for the whole 14 days.

Introducing Pose library 📸 (akshaychordiya.dev) Akshay Chordiya introduces Pose, which generates your Compose previews at build time.

How Morph Text dissolves one word into the next (dev.to) Juan Silva explains how he ported the Morph Text effect to Compose Multiplatform for Glaze, with a live demo you can play while reading.

Your KMP iOS Build Is Slow. Is It Kotlin, Gradle, or the Linker? (ravirawal13.medium.com) Ravi Rawal breaks down the stages of a Kotlin/Native iOS build and how to measure which one is actually eating your build time.

Plugins (hammer.ink) Adam Brown explains how Hammer 4.0 gets a plugin system by embedding a WASI runtime written in Kotlin Multiplatform, so plugins can be written in any language that compiles to WASM.

droidmap (github.com) Hussain Shirazi’s droidmap builds a graph of your Android wiring (Room, Navigation, Hilt, Koin, Gradle modules and the manifest) and checks it for problems such as missing migrations or unbound dependencies. You can run it as a CLI, GitHub Action, Gradle plugin or MCP server.

ComposeLintAI (github.com) A linter and MCP server by Galal Aldeen Abas to keep AI generated Jetpack Compose code in line with your design system.

Compose SwiftUI (nucleusframework.github.io) Elie Gambache’s Compose SwiftUI lets you write SwiftUI screens in Kotlin with the Compose runtime, keeping your view models as they are.

Compose Script (github.com) Mahmoud Aly’s Compose Script renders live Jetpack Compose inside a static HTML page, you add one script tag and write Compose right in the page.

intellij-inspections-detekt-rules (github.com) Pavel Shurmilov ports the Kotlin inspections of IntelliJ IDEA to detekt rules, so CI and AI agents get the same hints as the IDE.

Contribute

We rely on sponsors to offer quality content every Sunday. If you would like to submit a sponsored link contact us!.

If you want to submit an article for the next issue, please do also drop us an email.

Thanks to JetBrains for their support!

Submit

Suggest a link for an upcoming Kotlin Weekly

Past Issues

RSS

What people think about us

“Kotlin Weekly has established itself as one of the main references of what's going on in the Kotlin world.”

Hadi Hariri Head of Developer Advocacy, JetBrains

“If you have time for only a single source of information about Kotlin, Kotlin Weekly is a great choice. It is reliable, informative and fair”

Marcin Moskala Founder of Kt.Academy

“Kotlin Weekly is a comprehensive newsletter that helps me stay up to date with the most notable and recent developments in Kotlin libraries and new community initiatives.”

Raul Raja CTO 47degrees