Five things that changed in Android on 26 Oct.

2 min read
  1. 1. DataStore 1.3.0 is stable with built-in encryption

    If you encrypt tokens or settings by hand on top of DataStore, you can now use a first-party option instead.

    Google released DataStore 1.3.0, the Jetpack library for storing settings and small data. A new artifact, datastore-tink, encrypts what you store using Google's Tink library. Kotlin Multiplatform apps get web storage backends. A new DataStore Builder replaces the old factory, the library now ships Baseline Profiles for faster startup, and a data-loss bug in the Guava variant is fixed.

  2. 2. Grab cuts ANRs by a third with R8 and startup profiles

    It is hard numbers from a very large app, which helps justify the work of enabling full R8 and startup profiles in your own build.

    The details

    The Android Developers Blog published a case study from Grab, the Southeast Asian super app for rides, food and payments. After turning on R8, the code shrinker and optimizer, along with profile-guided optimization, Grab reports 32 percent fewer app-not-responding errors and 35 percent faster startup. Android Weekly also picked up the story this week.

  3. 3. kotlinx.serialization 1.12.0 reaches stable

    Most Kotlin apps depend on this library, so a stable release matched to the current compiler is a safe upgrade to schedule.

    The details

    JetBrains released kotlinx.serialization 1.12.0, the official Kotlin library for turning objects into JSON and other formats. It is built on Kotlin 2.4.10 and includes every change from the release candidate, plus a fix that removes unnecessary leading whitespace in output. Projects already on Kotlin 2.4.10 can move to it without waiting.

  4. 4. Where catch belongs in a Kotlin Flow

    Flow error handling sits in most repositories and ViewModels, so a misplaced catch is a crash waiting in many apps.

    The details

    A ProAndroidDev post explains a common Kotlin Flow mistake. If you place catch after flowOn, or after another operator that adds a channel between producer and consumer, your fallback can be skipped or the app can crash. The author shows why this happens and where to put catch instead so errors are handled as you expect.

  5. 5. Compose Multiplatform 1.12.2 fixes an iOS text crash

    If your multiplatform app on 1.12 has text input on iOS, this patch removes a crash with no migration work.

    The details

    JetBrains shipped Compose Multiplatform 1.12.2, a patch release for the shared UI toolkit. It fixes flickering when animating shadows on non-rectangular shapes, and an iOS crash when a text field lost focus. The next feature version, 1.13, is in beta and brings a binary-incompatible change for desktop libraries that use drag and drop.

That’s what changed in Android that day.

Read today’s issue →

Also that day: what builders shipped

Product and AI launches worth knowing about, outside Android.

The Product & AI picks, explained →

Everything collected for this issue: 366 items from 77 sources →

Written by Claude from public sources each morning and published without human edits. Spotted a mistake? Tell us.