Ian Lake
banner
ianlake.bsky.social
Ian Lake
@ianlake.bsky.social
Android Toolkit Developer and Runner

Also at:
- https://androiddev.social/@ianlake
- https://twitter.com/ianhlake
The Nav1 team meeting the Nav2 team meeting the Nav3 team
a cartoon of two spidermans standing in front of a nypd van
Alt: a cartoon of two spidermans standing in front of a nypd van
media.tenor.com
December 6, 2025 at 5:08 AM
There were a lot of other releases this week including Ink 1.0.0-rc01, Compose 1.11.0-alpha01 (new `visible` modifier!), Navigation3 1.1.0-alpha01 (entries as shared elements!) and a bunch of XR library updates.

Read the release notes for all the details!
developer.android.com/jetpack/andr...
Recent Release Notes  |  Android Developers
developer.android.com
December 4, 2025 at 5:41 AM
SwipeRefreshLayout 1.2.0 is out as part of a concerted effort to get long running alphas to a stable state.

Thanks @liutikas.net for pushing these libraries through to stable!
developer.android.com/jetpack/andr...
Swiperefreshlayout  |  Jetpack  |  Android Developers
developer.android.com
December 4, 2025 at 5:41 AM
Compose 1.10.0, the "December '25 release", is stable today with performance improvements, retain APIs, plus some neat new animation features.
android-developers.googleblog.com/2025/12/what...
What's new in the Jetpack Compose December '25 release
News and insights on the Android platform, developer tools, and events.
android-developers.googleblog.com
December 4, 2025 at 5:41 AM
In Nav2, the NavController held a reference to your Activity.

In Nav3, the back stack is totally decoupled from the other layers, so you don't have any of the same constraints.
November 30, 2025 at 4:46 PM
Usually that kind of error means you didn't have an 'else' statement in your when statement - something the entryProvider takes care of for you (see the fallback parameter if you want to customize the default behavior for unknown keys).
November 27, 2025 at 9:59 PM
FYI, Navigation3 1.0.0 depends on Compose Runtime 1.9.5 which has an important fix to a "Missed recording an endGroup" crash that Navigation3 ends up hitting more often due to its internal usage of movableContentOf() - make sure to update!
developer.android.com/jetpack/andr...
Compose Runtime  |  Jetpack  |  Android Developers
developer.android.com
November 21, 2025 at 3:49 AM
Let us know if the AI agent instructions linked in the blog post work for Claude! We've had good success with Gemini 3 😅
November 20, 2025 at 2:15 PM
Navigation3 is really a turning point for the whole Architecture Components team as we look to work closely with the Compose team and think more holistically about what it takes to build an Android app.

So if you're an ~L4 engineer who wants to help, I'm hiring!
www.google.com/about/career...
Software Engineer, Mobile (Android), Platforms and Devices — Google Careers
www.google.com
November 19, 2025 at 8:53 PM
There's still a lot of things we have planned for Navigation3 in our 1.1 release and beyond, where each release will be an opportunity for patterns you see in our recipes repository to "graduate" and become (optional) helpers in the library itself.
github.com/android/nav3...
GitHub - android/nav3-recipes: Implement common use cases with Jetpack Navigation 3
Implement common use cases with Jetpack Navigation 3 - android/nav3-recipes
github.com
November 19, 2025 at 8:53 PM
Good catch! That means it has been even longer since the last stable release, wow.

I guess you get 2 releases worth of fixes in one 😅
November 7, 2025 at 10:50 PM
There were a lot of other releases this week including Compose 1.10.0-beta02 (with a lot of retain API changes), DataStore 1.2.0-rc01, and Wear Compose 1.5.5 so definitely check out all of release notes for the details!
developer.android.com/jetpack/andr...
Recent Release Notes  |  Android Developers
developer.android.com
November 7, 2025 at 5:42 PM
In other Navigation news, Navigation3 hits its 1.0.0-rc01 this week, which means we're almost to the first stable release!

This is the perfect time to test it out one more time and make sure everything is working for what you need!
developer.android.com/jetpack/andr...
navigation3  |  Jetpack  |  Android Developers
developer.android.com
November 7, 2025 at 5:42 PM
Navigation 2.9.6 expands some of the work done in the last bug fix release in modernizing our AGP support. That includes no longer needing to set useAndroidX to true on AGP 9.0.0-alpha04 and higher.
developer.android.com/jetpack/andr...
Navigation  |  Jetpack  |  Android Developers
developer.android.com
November 7, 2025 at 5:42 PM
The Core SplashScreen 1.2.0 release improves the support for day/night themes and includes better support for cutouts and navigation bar constrast, which should help it mesh better with your regular theme.
developer.android.com/jetpack/andr...
Core  |  Jetpack  |  Android Developers
developer.android.com
November 7, 2025 at 5:42 PM
But I would suggest filing an issue against Navigation3: issuetracker.google.com/issues/new?c...

Maybe this would be a lot easier if there was a more structured API between an OverlayScene and NavDisplay to support overlay windows that don't know how to animate themselves out.
October 26, 2025 at 10:27 PM
So the 'correct' solution is to have Popup support exit animations (which, unlike Dialog, could actually be driven by Compose animations).

As a workaround though? You do have another location to hoist composables that need to live longer than the Scene - at your rememberPopupSceneStrategy() level.
October 26, 2025 at 10:27 PM
If you look at what Compose's Dialog does, it respects the window animations and animates the Dialog out when it is removed from composition. So the Scene leaves composition, but the Dialog still animates.

Compose's Popup though? Just removes the window immediately: cs.android.com/androidx/pla...
Search and explore code
cs.android.com
October 26, 2025 at 10:27 PM
There were a lot of other releases this week including Camera 1.6.0-alpha01 (new infrastructure, CameraPresenceListener), Media3 1.9.0-alpha01 (CompositionPlayer, media3-inspector), and PDF 1.0.0-alpha11 (custom selection menu items) and more.

Get the details:
developer.android.com/jetpack/andr...
Recent Release Notes  |  Android Developers
developer.android.com
October 24, 2025 at 9:11 PM
Activity 1.12.0-beta01 is out with a behavior change on how system back is handled - the Lifecycle aware OnBackPressed APIs now enable/disable callbacks rather than register/unregister them, ensuring a more consistent ordering.

Let us know if you are impacted!
developer.android.com/jetpack/andr...
Activity  |  Jetpack  |  Android Developers
developer.android.com
October 24, 2025 at 9:11 PM
DataStore 1.2.0-beta01 is out, bringing API stability to DataStore's support for Direct Boot mode and GuavaDataStore.

Note that this release also includes an important fix to DataStore's proguard rules if you aren't using the android-proguard-optimize.txt file!
developer.android.com/jetpack/andr...
DataStore  |  Jetpack  |  Android Developers
developer.android.com
October 24, 2025 at 9:11 PM