<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Kotlin Weekly (Articles)</title>
    <link>https://kotlinweekly.net/</link>
    <description>This is an RSS Feed for the newsletter "Kotlin Weekly (Articles)"</description>
    <item>
      <title>Discontinuing Swift Language IDE Support in the Kotlin Multiplatform Plugin</title>
      <link>https://us.list-manage.com/3hC4bg41Ipt?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</link>
      <description>&lt;p&gt;JetBrains is dropping Swift editing, highlighting and navigation from the Kotlin Multiplatform plugin starting with IntelliJ IDEA 2026.3, while iOS running and debugging stays fully supported, citing low and declining usage of the features.&lt;/p&gt;</description>
      <pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate>
      <guid>https://us.list-manage.com/3hC4bg41Ipt?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</guid>
      <dc:date>2026-10-11T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Start Your Next KMP App With Kotlin Toolchain 0.13</title>
      <link>https://us.list-manage.com/4XIPU_qRiR8?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</link>
      <description>&lt;p&gt;Kotlin Toolchain 0.13 is now JetBrains’ recommended starting point for new KMP projects, adding kotlin new, SwiftPM imports, smoother iOS setup and Kotlin/Native compiler caches for faster rebuilds.&lt;/p&gt;</description>
      <pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate>
      <guid>https://us.list-manage.com/4XIPU_qRiR8?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</guid>
      <dc:date>2026-10-11T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Run one Maestro flow in every language: iOS launch arguments, Android per-app locales, and the traps</title>
      <link>https://us.list-manage.com/Ui8HQ2eNSkv?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</link>
      <description>&lt;p&gt;Manuel Lorenzo Parejo shows how to run one Maestro flow in every language and walk through the traps that quietly leave your screenshots in English.&lt;/p&gt;</description>
      <pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate>
      <guid>https://us.list-manage.com/Ui8HQ2eNSkv?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</guid>
      <dc:date>2026-10-11T00:00:00Z</dc:date>
    </item>
    <item>
      <title>A weather app in one JSON file</title>
      <link>https://us.list-manage.com/enYvQQHYwiv?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</link>
      <description>&lt;p&gt;Yuriy Zhelannov builds a weather app from a single JSON file running on BDUI Go, a Compose Multiplatform runner, and explain honestly where the demo still falls short.&lt;/p&gt;</description>
      <pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate>
      <guid>https://us.list-manage.com/enYvQQHYwiv?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</guid>
      <dc:date>2026-10-11T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Coroutines Need Your Cooperation</title>
      <link>https://us.list-manage.com/ADoRnYwqWjm?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</link>
      <description>&lt;p&gt;Ricardo Costeira walks through the coroutine cancellation mistakes he sees most in interviews, from swallowed CancellationExceptions and runCatching to stray launches that break structured concurrency, and shows how to fix each one.&lt;/p&gt;</description>
      <pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate>
      <guid>https://us.list-manage.com/ADoRnYwqWjm?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</guid>
      <dc:date>2026-10-11T00:00:00Z</dc:date>
    </item>
    <item>
      <title>How I Built Free and Full Build Flavors for Android in My KMP Codebase</title>
      <link>https://us.list-manage.com/sLq0E2Yv3Hf?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</link>
      <description>&lt;p&gt;Avik Sharma Chowdhury uses Android product flavors in his KMP app so the free build leaves sign-in, sync and payment code out entirely, with shared interfaces, flavor-specific Koin modules and a CI check to keep it that way.&lt;/p&gt;</description>
      <pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate>
      <guid>https://us.list-manage.com/sLq0E2Yv3Hf?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</guid>
      <dc:date>2026-10-11T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Wrapping a Swift Package in a Gradle Module: How RevenueCat's KMP SDK Builds purchases-ios Without CocoaPods</title>
      <link>https://us.list-manage.com/2OxNPLRbwDu?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</link>
      <description>&lt;p&gt;Jaewoong Eum explains how RevenueCat’s KMP SDK dropped CocoaPods and now compiles purchases-ios from source inside Gradle modules, covering the Swift build tasks, the source hash that keeps cinterop honest, and the shims around what cinterop can’t see.&lt;/p&gt;</description>
      <pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate>
      <guid>https://us.list-manage.com/2OxNPLRbwDu?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</guid>
      <dc:date>2026-10-11T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Designing Safer API Failover in an Android App</title>
      <link>https://us.list-manage.com/hrf4dnzzrXn?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</link>
      <description>&lt;p&gt;Erfan Moghaddam designs API failover for an Android app with an OkHttp interceptor, centralized origin selection and a cooldown, and explains why replaying writes on another host needs far more care than switching the URL.&lt;/p&gt;</description>
      <pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate>
      <guid>https://us.list-manage.com/hrf4dnzzrXn?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</guid>
      <dc:date>2026-10-11T00:00:00Z</dc:date>
    </item>
    <item>
      <title>One Kotlin codebase, five platforms, 60 fps: building a 3D game with KMP and CMP</title>
      <link>https://us.list-manage.com/191v3UnsnKr?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</link>
      <description>&lt;p&gt;The BoatBrawl team share how they got their KMP and CMP 3D game to a smooth 60 fps on five platforms, from moving audio off the game loop to fixing hidden Android frame drops and online jitter, and have open-sourced the fixes as Joyframe.&lt;/p&gt;</description>
      <pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate>
      <guid>https://us.list-manage.com/191v3UnsnKr?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</guid>
      <dc:date>2026-10-11T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Anime-style action FX in Compose Multiplatform, no shaders, one codebase</title>
      <link>https://us.list-manage.com/9TqmePKkY8n?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</link>
      <description>&lt;p&gt;Özge Güner builds anime-style slashes, lightning, speed lines and particles in plain Compose Multiplatform with no shaders, using the open-source KMPMedia library to keep the effects deterministic at 60 fps on Android and iOS.&lt;/p&gt;</description>
      <pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate>
      <guid>https://us.list-manage.com/9TqmePKkY8n?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</guid>
      <dc:date>2026-10-11T00:00:00Z</dc:date>
    </item>
    <item>
      <title>SPONSORED - I used coroutines every day, but the course still uncovered details I had missed</title>
      <link>https://us.list-manage.com/Oi5u6Rn2tIG?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</link>
      <description>&lt;p&gt;The course turned out to be surprisingly valuable, even though I work with coroutines every day. It uncovered many details I hadn’t been aware of, especially around Flow - an area that leaves no room for guesswork.” - Milan, Software Architect.&lt;/p&gt;</description>
      <pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate>
      <guid>https://us.list-manage.com/Oi5u6Rn2tIG?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</guid>
      <dc:date>2026-10-11T00:00:00Z</dc:date>
    </item>
    <item>
      <title>SPONSORED - Master Kotlin Coroutines faster with a practical cheat sheet built for everyday development tasks</title>
      <link>https://us.list-manage.com/aKBq8E23aVf?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</link>
      <description>&lt;p&gt;Keep the most important Kotlin Coroutines concepts in one place. This free cheat sheet covers coroutine builders, dispatchers, scopes, jobs, cancellation, async programming, and structured concurrency to help you write reliable concurrent code.&lt;/p&gt;</description>
      <pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate>
      <guid>https://us.list-manage.com/aKBq8E23aVf?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</guid>
      <dc:date>2026-10-11T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Kotlin Developer Survey 2026</title>
      <link>https://us.list-manage.com/19_Cz8eo_j1?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</link>
      <description>&lt;p&gt;JetBrains has opened its yearly Kotlin survey, covering the language, IDEs, build tools, libraries, Kotlin Multiplatform, documentation and AI powered workflows. It takes around fifteen minutes, and answers go into a draw for a KotlinConf 2027 pass, an All Products Pack subscription or a charity donation.&lt;/p&gt;</description>
      <pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate>
      <guid>https://us.list-manage.com/19_Cz8eo_j1?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</guid>
      <dc:date>2026-09-27T00:00:00Z</dc:date>
    </item>
    <item>
      <title>AI and Community</title>
      <link>https://us.list-manage.com/1EpyFqVkZNK?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</link>
      <description>&lt;p&gt;Nicole Terc Vega and Matthias Geisler are running a research survey on how people experience belonging to communities in tech, online and offline, and how that has been changing. There are 57 questions, so it takes 10 to 15 minutes, and it closes the 31st of October. The results are headed for next.app DevCon.&lt;/p&gt;</description>
      <pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate>
      <guid>https://us.list-manage.com/1EpyFqVkZNK?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</guid>
      <dc:date>2026-09-27T00:00:00Z</dc:date>
    </item>
    <item>
      <title>The Kotlin Effect: Join the Celebration Near You</title>
      <link>https://us.list-manage.com/bDcwIeJJdJ6?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</link>
      <description>&lt;p&gt;The Kotlin Effect page keeps a list of the community meetups running for Kotlin's 15th anniversary, by date and city, from Berlin to Kaduna to Kraków. If nothing is happening near you, the section at the bottom invites you to organize one and the Kotlin user group team offers to help out.&lt;/p&gt;</description>
      <pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate>
      <guid>https://us.list-manage.com/bDcwIeJJdJ6?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</guid>
      <dc:date>2026-09-27T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Compose Multiplatform vs CORS</title>
      <link>https://us.list-manage.com/o5Z0wsXe9HC?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</link>
      <description>&lt;p&gt;Konstantin Tskhovrebov ran into the browser refusing to let his Compose Multiplatform web app call a third party API, which is the point where most people discover CORS. His first attempt was a proxy of his own, with the TLS certificates to go with it, and that was to much for a small project. The article covers where he ended up instead.&lt;/p&gt;</description>
      <pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate>
      <guid>https://us.list-manage.com/o5Z0wsXe9HC?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</guid>
      <dc:date>2026-09-27T00:00:00Z</dc:date>
    </item>
    <item>
      <title>AI Coding Agents: Adoption Trends</title>
      <link>https://us.list-manage.com/YNhLbK952Q4?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</link>
      <description>&lt;p&gt;Mikhail Bogdanov presents what the Developer Ecosystem Survey 2026 has to say about coding agents, drawn from more than 15,000 professional developers. How many reach for one daily rather than weekly, which tools have gained ground over the year and which have lost it, and how awareness compares to actual use.&lt;/p&gt;</description>
      <pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate>
      <guid>https://us.list-manage.com/YNhLbK952Q4?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</guid>
      <dc:date>2026-09-27T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Kotlin grouped summaries: mutable seeds and weighted means</title>
      <link>https://us.list-manage.com/s__zWKzkp34?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</link>
      <description>&lt;p&gt;JR looks at two mistakes that quietly corrupt grouped aggregation in Kotlin, one in the seed you hand to the fold and one in the way partial averages get combined. A service latency example shows what the wrong numbers look like, with working code for both fixes and a set of checks that catch them.&lt;/p&gt;</description>
      <pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate>
      <guid>https://us.list-manage.com/s__zWKzkp34?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</guid>
      <dc:date>2026-09-27T00:00:00Z</dc:date>
    </item>
    <item>
      <title>SPONSORED - Coroutines Mastery price update is scheduled for October 1, enroll before the next +€150</title>
      <link>https://us.list-manage.com/IUpcTGb7Ge7?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</link>
      <description>&lt;p&gt;The next Coroutines Mastery price update is already scheduled: enrollment goes from €449 to €599 on October 1. If the November cohort is on your radar, the best available price is the one you can get now.&lt;/p&gt;</description>
      <pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate>
      <guid>https://us.list-manage.com/IUpcTGb7Ge7?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</guid>
      <dc:date>2026-09-27T00:00:00Z</dc:date>
    </item>
    <item>
      <title>SPONSORED - Common Kotlin Coroutine mistakes that lead to production bugs, a free webinar on October 6</title>
      <link>https://us.list-manage.com/abMsIYDIgAW?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</link>
      <description>&lt;p&gt;Unexpected cancellation, lost exceptions, and incorrect coroutine lifecycles can lead to difficult production bugs. Join Marcin Moskala's free October 6 webinar on common mistakes involving dispatchers, cancellation, and structured concurrency.&lt;/p&gt;</description>
      <pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate>
      <guid>https://us.list-manage.com/abMsIYDIgAW?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</guid>
      <dc:date>2026-09-27T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Agent-to-UI Renderer for Jetpack Compose (A2UI)</title>
      <link>https://us.list-manage.com/LK_8IyOFTpA?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</link>
      <description>&lt;p&gt;Google has documented the Compose renderer for the A2UI protocol, which lets an agent put a native Android interface on screen by sending a JSON payload rather than by running arbitrary code. The page goes through how updates are applied, how you map a schema onto your own components, and what the renderer does when the agent sends something that does not validate.&lt;/p&gt;</description>
      <pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate>
      <guid>https://us.list-manage.com/LK_8IyOFTpA?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</guid>
      <dc:date>2026-09-27T00:00:00Z</dc:date>
    </item>
    <item>
      <title>Jetpack Compose Performance at Scale: Diagnosing and Fixing Cross-Module Stability Leaks</title>
      <link>https://us.list-manage.com/2K_MyTlZxZy?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</link>
      <description>&lt;p&gt;Why a data class carrying an ordinary Kotlin collection can come out unstable once it crosses a Gradle module boundary, leaving Compose to recompose on every frame when nothing has changed. The article weighs the usual remedies, annotations and wrapper types among them, against what they cost to maintain in a large codebase, and lands on one that keeps Compose out of the domain models. It also points out the case where that approach will quietly break your UI.&lt;/p&gt;</description>
      <pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate>
      <guid>https://us.list-manage.com/2K_MyTlZxZy?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</guid>
      <dc:date>2026-09-27T00:00:00Z</dc:date>
    </item>
    <item>
      <title>SPONSORED - Every app issue, from every source, in one inbox</title>
      <link>https://us.list-manage.com/596NQe9f9YR?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</link>
      <description>&lt;p&gt;Your team fields QA regressions, Play Store reviews, and crashes in different places. AI means more code per release, and more issues. Triage by Runway consolidates every issue in one inbox, assigns an owner, auto-creates the ticket, and tracks the fix. Less chasing, more fixing. See how it works.&lt;/p&gt;</description>
      <pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate>
      <guid>https://us.list-manage.com/596NQe9f9YR?e=96d6a43dd8&amp;c2id=5286dfb7974717c936a7e128ea1c4c07</guid>
      <dc:date>2026-09-27T00:00:00Z</dc:date>
    </item>
  </channel>
</rss>
