Lifecycle (original) (raw)

Skip to main content

Lifecycle-aware components perform actions in response to a change in the lifecycle status of another component, such as activities and fragments. These components help you produce better-organized, and often lighter-weight code, that is easier to maintain.

This table lists all the artifacts in the androidx.lifecycle group.

Artifact Stable Release Release Candidate Beta Release Alpha Release
lifecycle-* 2.10.0 - - 2.11.0-alpha03
lifecycle-viewmodel-navigation3 2.10.0 - - 2.11.0-alpha03

This library was last updated on: March 25, 2026

Declaring dependencies

To add a dependency on Lifecycle, you must add the Google Maven repository to your project. Read Google's Maven repositoryfor more information.

Add the dependencies for the artifacts you need in the build.gradle file for your app or module:

Kotlin

Groovy

dependencies {
    def lifecycle_version = "2.10.0"
    def arch_version = "2.2.0"

    // ViewModel
    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
    // ViewModel utilities for Compose
    implementation "androidx.lifecycle:lifecycle-viewmodel-compose:$lifecycle_version"
    // LiveData
    implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
    // Lifecycles only (without ViewModel or LiveData)
    implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version"
    // Lifecycle utilities for Compose
    implementation "androidx.lifecycle:lifecycle-runtime-compose:$lifecycle_version"

    // Saved state module for ViewModel
    implementation "androidx.lifecycle:lifecycle-viewmodel-savedstate:$lifecycle_version"

    // ViewModel integration with Navigation3
    implementation "androidx.lifecycle:lifecycle-viewmodel-navigation3:2.11.0-alpha03"

    // Annotation processor
    kapt "androidx.lifecycle:lifecycle-compiler:$lifecycle_version"
    // alternately - if using Java8, use the following instead of lifecycle-compiler
    implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version"

    // optional - helpers for implementing LifecycleOwner in a Service
    implementation "androidx.lifecycle:lifecycle-service:$lifecycle_version"

    // optional - ProcessLifecycleOwner provides a lifecycle for the whole application process
    implementation "androidx.lifecycle:lifecycle-process:$lifecycle_version"

    // optional - ReactiveStreams support for LiveData
    implementation "androidx.lifecycle:lifecycle-reactivestreams-ktx:$lifecycle_version"

    // optional - Test helpers for LiveData
    testImplementation "androidx.arch.core:core-testing:$arch_version"

    // optional - Test helpers for Lifecycle runtime
    testImplementation "androidx.lifecycle:lifecycle-runtime-testing:$lifecycle_version"
}

Kotlin

dependencies {
    val lifecycle_version = "2.10.0"
    val arch_version = "2.2.0"

    // ViewModel
    implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version")
    // ViewModel utilities for Compose
    implementation("androidx.lifecycle:lifecycle-viewmodel-compose:$lifecycle_version")
    // LiveData
    implementation("androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version")
    // Lifecycles only (without ViewModel or LiveData)
    implementation("androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version")
    // Lifecycle utilities for Compose
    implementation("androidx.lifecycle:lifecycle-runtime-compose:$lifecycle_version")

    // Saved state module for ViewModel
    implementation("androidx.lifecycle:lifecycle-viewmodel-savedstate:$lifecycle_version")

    // ViewModel integration with Navigation3
    implementation("androidx.lifecycle:lifecycle-viewmodel-navigation3:2.11.0-alpha03")

    // Annotation processor
    kapt("androidx.lifecycle:lifecycle-compiler:$lifecycle_version")
    // alternately - if using Java8, use the following instead of lifecycle-compiler
    implementation("androidx.lifecycle:lifecycle-common-java8:$lifecycle_version")

    // optional - helpers for implementing LifecycleOwner in a Service
    implementation("androidx.lifecycle:lifecycle-service:$lifecycle_version")

    // optional - ProcessLifecycleOwner provides a lifecycle for the whole application process
    implementation("androidx.lifecycle:lifecycle-process:$lifecycle_version")

    // optional - ReactiveStreams support for LiveData
    implementation("androidx.lifecycle:lifecycle-reactivestreams-ktx:$lifecycle_version")

    // optional - Test helpers for LiveData
    testImplementation("androidx.arch.core:core-testing:$arch_version")

    // optional - Test helpers for Lifecycle runtime
    testImplementation ("androidx.lifecycle:lifecycle-runtime-testing:$lifecycle_version")
}

Java

Groovy

dependencies {
    def lifecycle_version = "2.10.0"
    def arch_version = "2.2.0"

    // ViewModel
    implementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycle_version"
    // LiveData
    implementation "androidx.lifecycle:lifecycle-livedata:$lifecycle_version"
    // Lifecycles only (without ViewModel or LiveData)
    implementation "androidx.lifecycle:lifecycle-runtime:$lifecycle_version"

    // Saved state module for ViewModel
    implementation "androidx.lifecycle:lifecycle-viewmodel-savedstate:$lifecycle_version"

    // Annotation processor
    annotationProcessor "androidx.lifecycle:lifecycle-compiler:$lifecycle_version"
    // alternately - if using Java8, use the following instead of lifecycle-compiler
    implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version"

    // optional - helpers for implementing LifecycleOwner in a Service
    implementation "androidx.lifecycle:lifecycle-service:$lifecycle_version"

    // optional - ProcessLifecycleOwner provides a lifecycle for the whole application process
    implementation "androidx.lifecycle:lifecycle-process:$lifecycle_version"

    // optional - ReactiveStreams support for LiveData
    implementation "androidx.lifecycle:lifecycle-reactivestreams:$lifecycle_version"

    // optional - Test helpers for LiveData
    testImplementation "androidx.arch.core:core-testing:$arch_version"

    // optional - Test helpers for Lifecycle runtime
    testImplementation "androidx.lifecycle:lifecycle-runtime-testing:$lifecycle_version"
}

Kotlin

dependencies {
    val lifecycle_version = "2.10.0"
    val arch_version = "2.2.0"

    // ViewModel
    implementation("androidx.lifecycle:lifecycle-viewmodel:$lifecycle_version")
    // LiveData
    implementation("androidx.lifecycle:lifecycle-livedata:$lifecycle_version")
    // Lifecycles only (without ViewModel or LiveData)
    implementation("androidx.lifecycle:lifecycle-runtime:$lifecycle_version")

    // Saved state module for ViewModel
    implementation("androidx.lifecycle:lifecycle-viewmodel-savedstate:$lifecycle_version")

    // Annotation processor
    annotationProcessor("androidx.lifecycle:lifecycle-compiler:$lifecycle_version")
    // alternately - if using Java8, use the following instead of lifecycle-compiler
    implementation("androidx.lifecycle:lifecycle-common-java8:$lifecycle_version")

    // optional - helpers for implementing LifecycleOwner in a Service
    implementation("androidx.lifecycle:lifecycle-service:$lifecycle_version")

    // optional - ProcessLifecycleOwner provides a lifecycle for the whole application process
    implementation("androidx.lifecycle:lifecycle-process:$lifecycle_version")

    // optional - ReactiveStreams support for LiveData
    implementation("androidx.lifecycle:lifecycle-reactivestreams:$lifecycle_version")

    // optional - Test helpers for LiveData
    testImplementation("androidx.arch.core:core-testing:$arch_version")

    // optional - Test helpers for Lifecycle runtime
    testImplementation("androidx.lifecycle:lifecycle-runtime-testing:$lifecycle_version")
}

For more information about dependencies, see Add Build Dependencies.

Feedback

Your feedback helps make Jetpack better. Let us know if you discover new issues or have ideas for improving this library. Please take a look at theexisting issuesin this library before you create a new one. You can add your vote to an existing issue by clicking the star button.

Create a new issue

See the Issue Tracker documentationfor more information.

Version 2.11

Version 2.11.0-alpha03

March 25, 2026

androidx.lifecycle:lifecycle-*:2.11.0-alpha03 is released. Version 2.11.0-alpha03 contains these commits.

API Changes

Bug Fixes

Version 2.11.0-alpha02

March 11, 2026

androidx.lifecycle:lifecycle-*:2.11.0-alpha02 is released. Version 2.11.0-alpha02 contains these commits.

Scoped ViewModels

// Hoist the parent provider outside the Pager.  
val provider = rememberViewModelStoreProvider()  
val pagerState = rememberPagerState(pageCount = { 5 })  
HorizontalPager(state = pagerState) { page ->  
    // Create an owner scoped to the current page.  
    val storeOwner = rememberViewModelStoreOwner(provider, key = page)  
    // Provide the scoped owner to this composition.  
    CompositionLocalProvider(LocalViewModelStoreOwner provides storeOwner) {  
        // ViewModel is now scoped specifically to this page.  
        val viewModel: PageViewModel = viewModel()  
    }  
}  

Note that ViewModelStoreProvider is available outside of Compose and can be used with Activities, Fragments and/or Views.

New Features

API Changes

Version 2.11.0-alpha01

February 25, 2026

androidx.lifecycle:lifecycle-*:2.11.0-alpha01 is released. Version 2.11.0-alpha01 contains these commits.

New Features

API Changes

Version 2.10

Version 2.10.0

November 19, 2025

androidx.lifecycle:lifecycle-*:2.10.0 is released. Version 2.10.0 contains these commits.

Important changes since 2.9.0:

@Composable  
fun MyComposable() {  
    // This LifecycleOwner is automatically moved to DESTROYED when  
    // it leaves composition and its maxLifecycle is the maximum of either  
    // the maxLifecycle you set or the Lifecycle.State of the parentLifecycleOwner  
    val lifecycleOwner = rememberLifecycleOwner(  
        maxLifecycle = RESUMED,  
        parentLifecycleOwner = LocalLifecycleOwner.current,  
    )  
    CompositionLocalProvider(LocalLifecycleOwner provides lifecycleOwner) {  
        val childLifecycleOwner = LocalLifecycleOwner.current  
    }  
}  
@Composable  
fun MyComposable() {  
    NavDisplay(  
        backStack = backStack,  
        entryDecorators =  
            listOf(  
                rememberSaveableStateHolderNavEntryDecorator(),  
                // Add this line to automatically scope ViewModels to each entry  
                rememberViewModelStoreNavEntryDecorator(),  
            ),  
        entryProvider = entryProvider {  
            // Add your entries here  
        }  
    }  
}  
override val defaultViewModelCreationExtras: CreationExtras  
    // Use the CreationExtras builder to add in a custom value to the default  
    // CreationExtras in your Activity or Fragment  
    get() = super.defaultViewModelCreationExtras + CreationExtras {  
        this[CustomKey] = "customValue"  
   }  

Version 2.10.0-rc01

November 05, 2025

androidx.lifecycle:lifecycle-*:2.10.0-rc01 is released. Version 2.10.0-rc01 contains these commits.

Version 2.10.0-beta01

October 22, 2025

androidx.lifecycle:lifecycle-*:2.10.0-beta01 is released. Version 2.10.0-beta01 contains these commits.

API Changes

Bug Fixes

Version 2.10.0-alpha05

October 08, 2025

androidx.lifecycle:lifecycle-*:2.10.0-alpha05 is released. Version 2.10.0-alpha05 contains these commits.

API Changes

Version 2.10.0-alpha04

September 24, 2025

androidx.lifecycle:lifecycle-*:2.10.0-alpha04 is released. Version 2.10.0-alpha04 contains these commits.

API Changes

Version 2.10.0-alpha03

August 27, 2025

androidx.lifecycle:lifecycle-*:2.10.0-alpha03 is released. Version 2.10.0-alpha03 contains these commits.

API Changes

Version 2.10.0-alpha02

August 13, 2025

androidx.lifecycle:lifecycle-*:2.10.0-alpha02 is released. Version 2.10.0-alpha02 contains these commits.

New Features

@Composable  
fun IndependentComponent() {  
    // Create a standalone lifecycle, not tied to the parent Activity/Fragment.  
    LifecycleOwner(parent = null) {  
        val rootLifecycle = LocalLifecycleOwner.current.lifecycle  
    }  
}  

API Changes

Bug Fixes

External Contribution

Version 2.10.0-alpha01

July 30, 2025

androidx.lifecycle:lifecycle-*:2.10.0-alpha01 is released. Version 2.10.0-alpha01 contains these commits.

New Features

@Composable  
fun MyComposable() {  
    LifecycleOwner(  
        maxLifecycle = RESUMED,  
        parentLifecycleOwner = LocalLifecycleOwner.current,  
    ) {  
        val childLifecycleOwner = LocalLifecycleOwner.current  
    }  
}  

API Changes

Version 2.9

Version 2.9.4

September 17, 2025

androidx.lifecycle:lifecycle-*:2.9.4 is released. Version 2.9.4 contains these commits.

Bug Fixes

Version 2.9.3

August 27, 2025

androidx.lifecycle:lifecycle-*:2.9.3 is released. Version 2.9.3 contains these commits.

New Features

Bug Fixes

Version 2.9.2

July 16, 2025

androidx.lifecycle:lifecycle-*:2.9.2 is released. Version 2.9.2 contains these commits.

Bug Fixes

Dependency updates

Version 2.9.1

June 4, 2025

androidx.lifecycle:lifecycle-*:2.9.1 is released. Version 2.9.1 contains these commits.

Bug Fixes

Version 2.9.0

May 7, 2025

androidx.lifecycle:lifecycle-*:2.9.0 is released. Version 2.9.0 contains these commits.

Important changes since 2.8.0

KotlinX Serialization Support

@Serializable  
data class Person(val firstName: String, val lastName: String)  
class MyViewModel(handle: SavedStateHandle) : ViewModel() {  
    var person by handle.saved { Person("John", "Doe") }  
    fun onPersonChanged(person: Person) {  
        this.person = person  
    }  
}  

Kotlin Multiplatform

Behavior Changes

Version 2.9.0-rc01

April 23, 2025

androidx.lifecycle:lifecycle-*:2.9.0-rc01 is released. Version 2.9.0-rc01 contains these commits.

Lint API Compatibility Warning

Version 2.9.0-beta01

April 9, 2025

androidx.lifecycle:lifecycle-*:2.9.0-beta01 is released. Version 2.9.0-beta01 contains these commits.

API Changes

Dependency Updates

Version 2.9.0-alpha13

March 26, 2025

androidx.lifecycle:lifecycle-*:2.9.0-alpha13 is released with no notable public changes. Version 2.9.0-alpha13 contains these commits.

Version 2.9.0-alpha12

March 12, 2025

androidx.lifecycle:lifecycle-*:2.9.0-alpha12 is released. Version 2.9.0-alpha12 contains these commits.

API Changes

Version 2.9.0-alpha11

February 26, 2025

androidx.lifecycle:lifecycle-*:2.9.0-alpha11 is released. Version 2.9.0-alpha11 contains these commits.

API Changes

Version 2.9.0-alpha10

February 12, 2025

androidx.lifecycle:lifecycle-*:2.9.0-alpha10 is released. Version 2.9.0-alpha10 contains these commits.

API Changes

External Contribution

Version 2.9.0-alpha09

January 29, 2025

androidx.lifecycle:lifecycle-*:2.9.0-alpha09 is released. Version 2.9.0-alpha09 contains these commits.

New Features

API Changes

Version 2.9.0-alpha08

December 11, 2024

androidx.lifecycle:lifecycle-*:2.9.0-alpha08 is released. Version 2.9.0-alpha08 contains these commits.

New Features

API Changes

Bug Fixes

Version 2.9.0-alpha07

November 13, 2024

androidx.lifecycle:lifecycle-*:2.9.0-alpha07 is released. Version 2.9.0-alpha07 contains these commits.

Kotlin Multiplatform Compatibility

KotlinX Serialization Support

@Serializable  
data class Person(val firstName: String, val lastName: String)  
class MyViewModel(handle: SavedStateHandle) : ViewModel() {  
    var person by handle.saved { Person("John", "Doe") }  
    fun onPersonChanged(person: Person) {  
        this.person = person  
    }  
}  

API Changes

Version 2.9.0-alpha06

October 30, 2024

androidx.lifecycle:lifecycle-*:2.9.0-alpha06 is released. Version 2.9.0-alpha06 contains these commits.

Behavior Changes

Bug Fixes

Version 2.9.0-alpha05

October 16, 2024

androidx.lifecycle:lifecycle-*:2.9.0-alpha05 is released with no notable changes. Version 2.9.0-alpha05 contains these commits.

Version 2.9.0-alpha04

October 2, 2024

androidx.lifecycle:lifecycle-*:2.9.0-alpha04 is released. Version 2.9.0-alpha04 contains these commits.

Kotlin Multiplatform

Version 2.9.0-alpha03

September 18, 2024

androidx.lifecycle:lifecycle-*:2.9.0-alpha03 is released. Version 2.9.0-alpha03 contains these commits.

Bug Fixes

Dependency Updates

Version 2.9.0-alpha02

September 4, 2024

androidx.lifecycle:lifecycle-*:2.9.0-alpha02 is released. Version 2.9.0-alpha02 contains these commits.

Bug Fixes

External Contribution

Version 2.9.0-alpha01

August 7, 2024

androidx.lifecycle:lifecycle-*:2.9.0-alpha01 is released. Version 2.9.0-alpha01 contains these commits.

Kotlin Multiplatform

New Features

API Changes

Bug Fixes

Version 2.8

Version 2.8.7

October 30, 2024

androidx.lifecycle:lifecycle-*:2.8.7 is released. Version 2.8.7 contains these commits.

API Changes

Version 2.8.6

September 18, 2024

androidx.lifecycle:lifecycle-*:2.8.6 is released. Version 2.8.6 contains these commits.

Bug Fixes

Dependency Updates

Version 2.8.5

September 4, 2024

androidx.lifecycle:lifecycle-*:2.8.5 is released. Version 2.8.5 contains these commits.

Bug Fixes

External Contribution

Version 2.8.4

July 24, 2024

androidx.lifecycle:lifecycle-*:2.8.4 is released. Version 2.8.4 contains these commits.

Bug Fixes

Version 2.8.3

July 1, 2024

androidx.lifecycle:lifecycle-*:2.8.3 is released. Version 2.8.3 contains these commits.

Bug Fixes

Version 2.8.2

June 12, 2024

androidx.lifecycle:lifecycle-*:2.8.2 is released. Version 2.8.2 contains these commits.

Bug Fixes

Version 2.8.1

May 29, 2024

androidx.lifecycle:lifecycle-*:2.8.1 is released. Version 2.8.1 contains these commits.

Bug Fixes

Version 2.8.0

May 14, 2024

androidx.lifecycle:lifecycle-*:2.8.0 is released. Version 2.8.0 contains these commits.

Important changes since 2.7.0

class MyViewModel(  
  // Make Dispatchers.Main the default, rather than Dispatchers.Main.immediate  
  viewModelScope: CoroutineScope = Dispatchers.Main + SupervisorJob()  
) : ViewModel(viewModelScope) {  
  // Use viewModelScope as before, without any code changes  
}  
// Allows overriding the viewModelScope in a test  
fun Test() = runTest {  
  val viewModel = MyViewModel(backgroundScope)  
}  

Lifecycle Kotlin Multiplatform Compatibility

The core Lifecycle APIs in Lifecycle, LifecycleOwner, LifecycleObserver, Lifecycle.State, Lifecycle.Event, and LifecycleRegistry are now shipped in artifacts compatible with Kotlin Multiplatform.

Artifacts impacted:

ViewModel Kotlin Multiplatform Compatibility

The lifecycle-viewmodel artifact and APIs like ViewModel, ViewModelStore, ViewModelStoreOwner, and ViewModelProvider are now shipped in artifacts compatible with Kotlin Multiplatform.

To accommodate this change, methods such as those on ViewModelProvider that took a java.lang.Class<T> now have an equivalent method that takes a kotlin.reflect.KClass<T>.

Binary compatibility on Android has been maintained, but there are a few notable changes when comparing the Android API surface to the common API surface:

Artifacts impacted:

Behavior Changes

Known Issues

Version 2.8.0-rc01

May 1, 2024

androidx.lifecycle:lifecycle-*:2.8.0-rc01 is released. Version 2.8.0-rc01 contains these commits.

Bug Fixes

External Contribution

Version 2.8.0-beta01

April 17, 2024

androidx.lifecycle:lifecycle-*:2.8.0-beta01 is released. Version 2.8.0-beta01 contains these commits.

New Features

Version 2.8.0-alpha04

April 3, 2024

androidx.lifecycle:lifecycle-*:2.8.0-alpha04 is released. Version 2.8.0-alpha04 contains these commits.

New Features

Bug Fixes

Dependency update

Version 2.8.0-alpha03

March 20, 2024

androidx.lifecycle:lifecycle-*:2.8.0-alpha03 is released. Version 2.8.0-alpha03 contains these commits.

New Features

class MyViewModel(  
  // Make Dispatchers.Main the default, rather than Dispatchers.Main.immediate  
  viewModelScope: CoroutineScope = Dispatchers.Main + SupervisorJob()  
) : ViewModel(viewModelScope) {  
  // Use viewModelScope as before, without any code changes  
}  
// Allows overriding the viewModelScope in a test  
fun Test() = runTest {  
  val viewModel = MyViewModel(backgroundScope)  
}  

Kotlin Multiplatform Compatibility

The lifecycle-viewmodel artifact and APIs like ViewModel, ViewModelStore, ViewModelStoreOwner, and ViewModelProvider are now shipped in artifacts compatible with Kotlin Multiplatform. (b/214568825)

To accommodate this change, methods such as those on ViewModelProvider that took a java.lang.Class<T> now have an equivalent method that takes a kotlin.reflect.KClass<T>.

Binary compatibility on Android has been maintained, but there are a few notable changes when comparing the Android API surface to the common API surface:

Behavior Changes

Bug Fixes

External Contribution

Version 2.8.0-alpha02

February 21, 2024

androidx.lifecycle:lifecycle-*:2.8.0-alpha02 is released. Version 2.8.0-alpha02 contains these commits.

New Features

Kotlin Conversions

Kotlin Multiplatform Compatibility

API Changes

External Contribution

Version 2.8.0-alpha01

January 24, 2024

androidx.lifecycle:lifecycle-*:2.8.0-alpha01 is released. Version 2.8.0-alpha01 contains these commits.

New Features

Version 2.7

Version 2.7.0

January 10, 2024

androidx.lifecycle:lifecycle-*:2.7.0 is released. Version 2.7.0 contains these commits.

Important changes since 2.6.0

Lifecycle Event Observability

@Composable
fun HomeScreen(viewModel: HomeViewModel = viewModel()) {
  LifecycleEventEffect(Lifecycle.Event.ON_RESUME) {
    viewModel.refreshData()
  }
  // …
}
fun HomeScreen(viewModel: HomeViewModel = viewModel()) {
  LifecycleStartEffect(viewModel) {
    val timeTracking = viewModel.startTrackingTimeOnScreen()
    onStopOrDispose {
      timeTracking.stopTrackingTimeOnScreen()
    }
  }
  // …
}

See Run code on lifecycle events for more information.

Lifecycle State Observability

See Collect lifecycle state with flows for more information.

Version 2.7.0-rc02

December 13, 2023

androidx.lifecycle:lifecycle-*:2.7.0-rc02 is released. Version 2.7.0-rc02 contains these commits.

Bug Fixes

Version 2.7.0-rc01

November 15, 2023

androidx.lifecycle:lifecycle-*:2.7.0-rc01 is released. Version 2.7.0-rc01 contains these commits.

Bug Fixes

Version 2.7.0-beta01

November 1, 2023

androidx.lifecycle:lifecycle-*:2.7.0-beta01 is released with no changes. Version 2.7.0-beta01 contains these commits.

Version 2.7.0-alpha03

October 18, 2023

androidx.lifecycle:lifecycle-*:2.7.0-alpha03 is released. Version 2.7.0-alpha03 contains these commits.

New Features

Bug Fixes

Version 2.7.0-alpha02

September 6, 2023

androidx.lifecycle:lifecycle-*:2.7.0-alpha02 is released. Version 2.7.0-alpha02 contains these commits.

New Features

API Changes

Behavior Changes

Bug Fixes

Version 2.7.0-alpha01

July 26, 2023

androidx.lifecycle:lifecycle-*:2.7.0-alpha01 is released. Version 2.7.0-alpha01 contains these commits.

API Changes

Bug Fixes

Version 2.6

Version 2.6.2

September 6, 2023

androidx.lifecycle:lifecycle-*:2.6.2 is released. Version 2.6.2 contains these commits.

Bug Fixes

Version 2.6.1

March 22, 2023

androidx.lifecycle:lifecycle-*:2.6.1 is released. Version 2.6.1 contains these commits.

Dependency Updates

Version 2.6.0

March 8, 2023

androidx.lifecycle:lifecycle-*:2.6.0 is released. Version 2.6.0 contains these commits.

Important changes since 2.5.0

The table below provides the source conversions for the new version of lifecycle.

Lifecycle 2.5 Lifecycle 2.5 (KTX) Lifecycle 2.6
Transformations.switchMap(liveData) {...} liveData.switchMap {...} liveData.switchMap {...}
Transformations.map(liveData) {...} liveData.map {...} liveData.map {...}
Transformations.distinctUntilChanged(liveData) {...} liveData.distinctUntilChanged{...} liveData.distinctUntilChanged{...}
LiveDataReactiveStreams.fromPublisher(publisher) publisher.toLiveData() publisher.toLiveData()
LiveDataReactiveStreams.toPublisher(lifecycleOwner, liveData) liveData.toPublisher(lifecycleOwner) liveData.toPublisher(lifecycleOwner)
override fun getDefaultViewModelProviderFactory(): ViewModelProvider.Factory = factory override fun getDefaultViewModelProviderFactory(): ViewModelProvider.Factory = factory override val defaultViewModelProviderFactory = factory
override fun getDefaultViewModelCreationExtras(): CreationExtras = extras override fun getDefaultViewModelCreationExtras(): CreationExtras = extras override val defaultViewModelProviderCreationExtras = extras
ViewTreeLifecycleOwner.set(view, owner) ViewTreeLifecycleOwner.set(view, owner) view.setViewTreeLifecycleOwner(owner)
ViewTreeLifecycleOwner.get(view) view.findViewTreeLifecycleOwner() view.findViewTreeLifecycleOwner()
override fun getViewModelStore(): ViewModelStore = store override fun getViewModelStore(): ViewModelStore = store override val viewModelStore: ViewModelStore = store
override fun getLifecycle(): Lifecycle = registry override fun getLifecycle(): Lifecycle = registry override val lifecycle: Lifecycle get() = registry

Version 2.6.0-rc01

February 22, 2023

androidx.lifecycle:lifecycle-*:2.6.0-rc01 is released. Version 2.6.0-rc01 contains these commits.

Bug Fixes

Version 2.6.0-beta01

February 8, 2023

androidx.lifecycle:lifecycle-*:2.6.0-beta01 is released. Version 2.6.0-beta01 contains these commits.

Kotlin Conversions

Version 2.6.0-alpha05

January 25, 2023

androidx.lifecycle:lifecycle-*:2.6.0-alpha05 is released. Version 2.6.0-alpha05 contains these commits.

Kotlin Conversions

Version 2.6.0-alpha04

January 11, 2023

androidx.lifecycle:lifecycle-*:2.6.0-alpha04 is released. Version 2.6.0-alpha04 contains these commits.

New Features

API Changes

Kotlin Conversions

Bug Fixes

Version 2.6.0-alpha03

October 24, 2022

androidx.lifecycle:lifecycle-*:2.6.0-alpha03 is released. Version 2.6.0-alpha03 contains these commits.

Bug Fixes

Version 2.6.0-alpha02

September 7, 2022

androidx.lifecycle:lifecycle-*:2.6.0-alpha02 is released. Version 2.6.0-alpha02 contains these commits.

API Changes

Bug Fixes

Version 2.6.0-alpha01

June 29, 2022

androidx.lifecycle:lifecycle-*:2.6.0-alpha01 is released. Version 2.6.0-alpha01 contains these commits.

New Features

Version 2.5

Version 2.5.1

July 27, 2022

androidx.lifecycle:lifecycle-*:2.5.1 is released. Version 2.5.1 contains these commits.

Bug Fixes

Version 2.5.0

June 29, 2022

androidx.lifecycle:lifecycle-*:2.5.0 is released. Version 2.5.0 contains these commits.

Important changes since 2.4.0

class CustomFactory : ViewModelProvider.Factory {  
    override fun <T : ViewModel> create(modelClass: Class<T>, extras: CreationExtras): T {  
        return when (modelClass) {  
            HomeViewModel::class -> {  
                // Get the Application object from extras  
                val application = checkNotNull(extras[ViewModelProvider.AndroidViewModelFactory.APPLICATION_KEY])  
                // Pass it directly to HomeViewModel  
                HomeViewModel(application)  
            }  
            DetailViewModel::class -> {  
                // Create a SavedStateHandle for this ViewModel from extras  
                val savedStateHandle = extras.createSavedStateHandle()  
                DetailViewModel(savedStateHandle)  
            }  
            else -> throw IllegalArgumentException("Unknown class $modelClass")  
        } as T  
    }  
}  
val customFactory = viewModelFactory {  
    // The return type of the lambda automatically sets what class this lambda handles  
    initializer {  
        // Get the Application object from extras provided to the lambda  
        val application = checkNotNull(get(ViewModelProvider.AndroidViewModelFactory.APPLICATION_KEY))  
        HomeViewModel(application)  
    }  
    initializer {  
        val savedStateHandle = createSavedStateHandle()  
        DetailViewModel(savedStateHandle)  
    }  
}  
// Within a @Composable, you can now skip writing a custom Factory  
// and instead write a lambda to do the initialization of your ViewModel  
val detailViewModel = viewModel {  
  // This lambda is only called the first time the ViewModel is created  
  // and all CreationExtras are available inside the lambda  
  val savedStateHandle = createSavedStateHandle()  
  DetailViewModel(savedStateHandle)  
}  
class ListScreenViewModel(handle: SavedStateHandle): ViewModel() {  
    // This value survives both configuration changes and process death and recreation  
    val editMode by handle.saveable { mutableStateOf(false) }  
}  
class CloseableCoroutineScope(  
    context: CoroutineContext = SupervisorJob() + Dispatchers.Main.immediate  
) : Closeable, CoroutineScope {  
    override val coroutineContext: CoroutineContext = context  
    override fun close() {  
        coroutineContext.cancel()  
   }  
}  

Which can then be used in your ViewModel constructor while maintaining the same lifetime as viewModelScope:

class TestScopeViewModel(  
    val customScope: CloseableCoroutineScope = CloseableCoroutineScope()  
) : ViewModel(customScope) {  
    // You can now use customScope in the same way as viewModelScope  
}  

Behavior changes

Version 2.5.0-rc02

June 15, 2022

androidx.lifecycle:lifecycle-*:2.5.0-rc02 is released. Version 2.5.0-rc02 contains these commits.

Bug Fixes

Version 2.5.0-rc01

May 11, 2022

androidx.lifecycle:lifecycle-*:2.5.0-rc01 is released. Version 2.5.0-rc01 contains these commits.

Bug Fixes

Version 2.5.0-beta01

April 20, 2022

androidx.lifecycle:lifecycle-*:2.5.0-beta01 is released. Version 2.5.0-beta01 contains these commits.

API Changes

Bug Fixes

Version 2.5.0-alpha06

April 6, 2022

androidx.lifecycle:lifecycle-*:2.5.0-alpha06 is released. Version 2.5.0-alpha06 contains these commits.

New Features

API Changes

Bug Fixes

Version 2.5.0-alpha05

March 23, 2022

androidx.lifecycle:lifecycle-*:2.5.0-alpha05 is released. Version 2.5.0-alpha05 contains these commits.

New Features

API Changes

Bug Fixes

Version 2.5.0-alpha04

March 9, 2022

androidx.lifecycle:lifecycle-*:2.5.0-alpha04 is released. Version 2.5.0-alpha04 contains these commits.

API Changes

Version 2.5.0-alpha03

February 23, 2022

androidx.lifecycle:lifecycle-*:2.5.0-alpha03 is released. Version 2.5.0-alpha03 contains these commits.

New Features

API Changes

Behavior changes

Version 2.5.0-alpha02

February 9, 2022

androidx.lifecycle:lifecycle-*:2.5.0-alpha02 is released. Version 2.5.0-alpha02 contains these commits.

API Changes

Behavior changes

Bug Fixes

Version 2.5.0-alpha01

January 26, 2022

androidx.lifecycle:lifecycle-*:2.5.0-alpha01 is released. Version 2.5.0-alpha01 contains these commits.

ViewModel CreationExtras

With this release, we are laying the groundwork for restructuring how a ViewModel is constructed. Instead of a rigid set of subclasses of ViewModelProvider.Factory that each add additional functionality (allowing an Application constructor parameter via AndroidViewModelFactory, allowing a SavedStateHandle constructor parameter via SavedStateViewModelFactory and AbstractSavedStateViewModelFactory, etc.), we are moving to a world of stateless factories that rely on a new concept, CreationExtras. (Ia7343, b/188691010, b/188541057)

With this change, ViewModelProvider no longer makes direct calls into the previous create(Class<T>) method of ViewModelProvider.Factory. Instead, it calls into a new overload of create: create(Class<T>, CreationExtras). This means that any direct implementation of the ViewModelProvider.Factory instance now has access to each of these new CreationExtras:

These extras are provided by default when using Activity 1.5.0-alpha01, Fragment 1.5.0-alpha01, and Navigation 2.5.0-alpha01. If you use an earlier version of those libraries, your CreationExtras will be empty - all of the existing subclasses of ViewModelProvider.Factory have been rewritten to support both the legacy creation path used by earlier versions of those libraries and the CreationExtras path which will be used going forward.

These CreationExtras allow you to construct a ViewModelProvider.Factory that passes just the information you need to each ViewModel without relying on a strict hierarchy of Factory subclasses:

class CustomFactory : ViewModelProvider.Factory {
    override fun <T : ViewModel> create(modelClass: Class<T>, extras: CreationExtras): T {
        return when (modelClass) {
            HomeViewModel::class -> {
                // Get the Application object from extras
                val application = checkNotNull(extras[ViewModelProvider.AndroidViewModelFactory.APPLICATION_KEY])
                // Pass it directly to HomeViewModel
                HomeViewModel(application)
            }
            DetailViewModel::class -> {
                // Create a SavedStateHandle for this ViewModel from extras
                val savedStateHandle = extras.createSavedStateHandle()
                DetailViewModel(savedStateHandle)
            }
            else -> throw IllegalArgumentException("Unknown class $modelClass")
        } as T
    }
}

We use the createSavedStateHandle() Kotlin extension function on CreationExtras from SavedStateHandleSupport to construct a SavedStateHandle only for the one ViewModel that needs it. (Ia6654, b/188541057)

Custom CreationExtras can be provided by overriding getDefaultViewModelCreationExtras() in your ComponentActivity or Fragment, thus making them available to your custom ViewModelProvider.Factory as a built in form of assisted injection. These extras will automatically be made available to your custom Factory when used directly with ViewModelProvider or when using the by viewModels() and by activityViewModels() Kotlin property extensions. (I79f2b, b/207012584, b/207012585, b/207012490)

Bug Fixes

Version 2.4

Version 2.4.1

February 9, 2022

androidx.lifecycle:lifecycle-*:2.4.1 is released. Version 2.4.1 contains these commits.

Bug Fixes

Version 2.4.0

October 27, 2021

androidx.lifecycle:lifecycle-*:2.4.0 is released. Version 2.4.0 contains these commits.

Important changes since 2.3.0

 <provider  
    android:name="androidx.startup.InitializationProvider"  
    android:authorities=\"${applicationId}.androidx-startup"  
    android:exported="false"  
    tools:node=\"merge">  
    <!-- If you are using androidx.startup to initialize other components -->  
    <meta-data  
        android:name="androidx.lifecycle.ProcessLifecycleInitializer"  
        android:value="androidx.startup"  
        tools:node="remove" />  
 </provider>  

(or)

 <!-- If you want to disable androidx.startup completely. -->  
 <provider  
    android:name="androidx.startup.InitializationProvider"  
    android:authorities="${applicationId}.androidx-startup"  
    tools:node="remove">  
 </provider>  

Version 2.4.0-rc01

September 29, 2021

androidx.lifecycle:lifecycle-*:2.4.0-rc01 is released with no changes from Lifecycle 2.4.0-beta01. Version 2.4.0-rc01 contains these commits.

Version 2.4.0-beta01

September 15, 2021

androidx.lifecycle:lifecycle-*:2.4.0-beta01 is released. Version 2.4.0-beta01 contains these commits.

API Changes

External Contribution

Version 2.4.0-alpha03

August 4, 2021

androidx.lifecycle:lifecycle-*:2.4.0-alpha03 is released. Version 2.4.0-alpha03 contains these commits.

API Changes

Behavior Changes

External Contribution

Version 2.4.0-alpha02

June 16, 2021

androidx.lifecycle:lifecycle-*:2.4.0-alpha02 is released. Version 2.4.0-alpha02 contains these commits.

New Features

API Changes

Bug Fixes

External Contribution

Version 2.4.0-alpha01

March 24, 2021

androidx.lifecycle:lifecycle-*:2.4.0-alpha01 is released. Version 2.4.0-alpha01 contains these commits.

Behavior Changes

 <provider  
    android:name="androidx.startup.InitializationProvider"  
    android:authorities=\"${applicationId}.androidx-startup"  
    android:exported="false"  
    tools:node=\"merge">  
    <!-- If you are using androidx.startup to initialize other components -->  
    <meta-data  
        android:name="androidx.lifecycle.ProcessLifecycleInitializer"  
        android:value="androidx.startup"  
        tools:node="remove" />  
 </provider>  

(or)

 <!-- If you want to disable androidx.startup completely. -->  
 <provider  
    android:name="androidx.startup.InitializationProvider"  
    android:authorities="${applicationId}.androidx-startup"  
    tools:node="remove">  
 </provider>  

API Changes

Bug Fixes

Lifecycle Viewmodel Compose Version 1.0.0

Version 1.0.0-alpha07

June 16, 2021

androidx.lifecycle:lifecycle-viewmodel-compose:1.0.0-alpha07 is released. Version 1.0.0-alpha07 contains these commits.

Breaking API Changes

Version 1.0.0-alpha06

June 2, 2021

androidx.lifecycle:lifecycle-viewmodel-compose:1.0.0-alpha06 is released. Version 1.0.0-alpha06 contains these commits.

Updated to be compatible with Compose version 1.0.0-beta08.

Version 1.0.0-alpha05

May 18, 2021

androidx.lifecycle:lifecycle-viewmodel-compose:1.0.0-alpha05 is released. Version 1.0.0-alpha05 contains these commits.

New Features

Bug Fixes

Version 1.0.0-alpha04

April 7, 2021

androidx.lifecycle:lifecycle-viewmodel-compose:1.0.0-alpha04 is released. Version 1.0.0-alpha04 contains these commits.

Dependency Changes

Version 1.0.0-alpha03

March 10, 2021

androidx.lifecycle:lifecycle-viewmodel-compose:1.0.0-alpha03 is released. Version 1.0.0-alpha03 contains these commits.

API Changes

Lifecycle-Viewmodel-Compose Version 1.0.0-alpha02

February 24, 2021

androidx.lifecycle:lifecycle-viewmodel-compose:1.0.0-alpha02 is released. Version 1.0.0-alpha02 contains these commits.

API Changes

Lifecycle-Viewmodel-Compose Version 1.0.0-alpha01

February 10, 2021

androidx.lifecycle:lifecycle-viewmodel-compose:1.0.0-alpha01 is released. Version 1.0.0-alpha01 contains these commits.

New Features

Version 2.3.1

Lifecycle Version 2.3.1

March 24, 2021

androidx.lifecycle:lifecycle-*:2.3.1 is released. Version 2.3.1 contains these commits.

Bug Fixes

Version 2.3.0

Version 2.3.0

February 10, 2021

androidx.lifecycle:lifecycle-*:2.3.0 is released. Version 2.3.0 contains these commits.

Major changes since 2.2.0

Version 2.3.0-rc01

December 16, 2020

androidx.lifecycle:lifecycle-*:2.3.0-rc01 is released. Version 2.3.0-rc01 contains these commits.

Bug Fixes

External Contribution

Version 2.3.0-beta01

October 1, 2020

androidx.lifecycle:lifecycle-*:2.3.0-beta01 is released. Version 2.3.0-beta01 contains these commits.

API Changes

Bug Fixes

Documentation Changes

Version 2.3.0-alpha07

August 19, 2020

androidx.lifecycle:lifecycle-*:2.3.0-alpha07 is released. Version 2.3.0-alpha07 contains these commits.

Bug Fixes

Version 2.3.0-alpha06

July 22, 2020

androidx.lifecycle:lifecycle-*:2.3.0-alpha06 is released. Version 2.3.0-alpha06 contains these commits.

New Features

Behavior Changes

Bug Fixes

Version 2.3.0-alpha05

June 24, 2020

androidx.lifecycle:lifecycle-*:2.3.0-alpha05 is released. Version 2.3.0-alpha05 contains these commits.

Bug Fixes

Version 2.3.0-alpha04

June 10, 2020

androidx.lifecycle:lifecycle-*:2.3.0-alpha04 is released. Version 2.3.0-alpha04 contains these commits.

Bug Fixes

Version 2.3.0-alpha03

May 20, 2020

androidx.lifecycle:lifecycle-*:2.3.0-alpha03 are released. Version 2.3.0-alpha03 contains these commits.

New Features

Bug Fixes

Version 2.3.0-alpha02

April 29, 2020

androidx.lifecycle:lifecycle-*:2.3.0-alpha02 is released. Version 2.3.0-alpha02 contains these commits.

API Changes

Bug Fixes

Version 2.3.0-alpha01

March 4, 2020

androidx.lifecycle:lifecycle-*:2.3.0-alpha01 is released. Version 2.3.0-alpha01 contains these commits.

New Features

Bug fixes

Version 2.2.0

ViewModel-Savedstate Version 2.2.0

February 5, 2020

androidx.lifecycle:lifecycle-viewmodel-savedstate:2.2.0 is released. Version 2.2.0 contains these commits.

Lifecycle ViewModel SavedState now shares the same version as other Lifecycle artifacts. The behavior of 2.2.0 is identical to the behavior of 1.0.0.

Version 2.2.0

January 22, 2020

androidx.lifecycle:lifecycle-*:2.2.0 is released. Version 2.2.0 contains these commits.

Important changes since 2.1.0

Version 2.2.0-rc03

December 4, 2019

androidx.lifecycle:lifecycle-*:2.2.0-rc03 is released. Version 2.2.0-rc03 contains these commits.

Bug fixes

External contributions

Dependency changes

Version 2.2.0-rc02

November 7, 2019

androidx.lifecycle:lifecycle-*:2.2.0-rc02 is released. Version 2.2.0-rc02 contains these commits.

Bug fixes

Version 2.2.0-rc01

October 23, 2019

androidx.lifecycle:lifecycle-*:2.2.0-rc01 is released. Version 2.2.0-rc01 contains these commits.

Bug fixes

External contributions

Version 2.2.0-beta01

October 9, 2019

androidx.lifecycle:lifecycle-*:2.2.0-beta01 is released. Version 2.2.0-beta01 contains these commits.

Bug fixes

Version 2.2.0-alpha05

September 18, 2019

androidx.lifecycle:lifecycle-*:2.2.0-alpha05 is released. Version 2.2.0-alpha05 contains these commits.

Bug fixes

Version 2.2.0-alpha04

September 5, 2019

androidx.lifecycle:lifecycle-*:2.2.0-alpha04 is released. The commits included in this version can be found here.

New features

External contributions

Version 2.2.0-alpha03

August 7, 2019

androidx.lifecycle:lifecycle-*:2.2.0-alpha03 is released. The commits included in this version can be found here.

New features

API changes

Version 2.2.0-alpha02

July 2, 2019

androidx.lifecycle:*:2.2.0-alpha02 is released. The commits included in this version can be found here.

API changes

Version 2.2.0-alpha01

May 7, 2019

androidx.lifecycle:*:2.2.0-alpha01 is released. The commits included in this version can be found here.

New features

ViewModel-SavedState Version 1.0.0

Version 1.0.0

January 22, 2020

androidx.lifecycle:lifecycle-viewmodel-savedstate:1.0.0 is released. Version 1.0.0 contains these commits.

Important features in 1.0.0

ViewModel-Savedstate Version 1.0.0-rc03

December 4, 2019

androidx.lifecycle:lifecycle-viewmodel-savedstate:1.0.0-rc03 is released. Version 1.0.0-rc03 contains these commits.

Dependency changes

Viewmodel-Savedstate Version 1.0.0-rc02

November 7, 2019

androidx.lifecycle:lifecycle-viewmodel-savedstate:1.0.0-rc02 is released. Version 1.0.0-rc02 contains these commits.

Dependency changes

ViewModel-SavedState Version 1.0.0-rc01

October 23, 2019

androidx.lifecycle:lifecycle-viewmodel-savedstate:1.0.0-rc01 is released with no changes from 1.0.0-beta01. Version 1.0.0-rc01 contains these commits.

ViewModel-Savedstate Version 1.0.0-beta01

October 9, 2019

androidx.lifecycle:lifecycle-viewmodel-savedstate:1.0.0-beta01 is released. Version 1.0.0-beta01 contains these commits.

Bug fixes

ViewModel-SavedState Version 1.0.0-alpha05

September 18, 2019

androidx.lifecycle:lifecycle-viewmodel-savedstate:1.0.0-alpha05 is released. Version 1.0.0-alpha05 contains these commits.

API changes

ViewModel-SavedState Version 1.0.0-alpha03

August 7, 2019

androidx.lifecycle:lifecycle-viewmodel-savedstate:1.0.0-alpha03 is released. The commits included in this version can be found here.

Breaking Changes

ViewModel-SavedState Version 1.0.0-alpha02

July 2, 2019

androidx.lifecycle:lifecycle-viewmodel-savedstate:1.0.0-alpha02 is released. The commits included in this version can be found here.

New features

API Changes

ViewModel-Savedstate Version 1.0.0-alpha01

March 13, 2019

androidx.lifecycle:lifecycle-viewmodel-savedstate:1.0.0-alpha01 is released. The full commit log for this initial release can be found here.

New features

Version 2.1.0

Important changes since 2.0.0

Version 2.1.0

September 5, 2019

androidx.lifecycle:lifecycle-*:2.1.0 is released. The commits included in this version can be found here.

Version 2.1.0-rc01

July 2, 2019

androidx.lifecycle:*:2.1.0-rc01 is released with no changes from androidx.lifecycle:*:2.1.0-beta01. The commits included in this version can be found here.

Version 2.1.0-beta01

May 7, 2019

androidx.lifecycle:*:2.1.0-beta01 is released. The commits included in this version can be found here.

New features

Version 2.1.0-alpha04

April 3, 2019

androidx.lifecycle:*:2.1.0-alpha04 is released. The commits included in this version can be found here.

API changes

Version 2.1.0-alpha03

March 13, 2019

androidx.lifecycle:*:2.1.0-alpha03 is released. The full list of commits included in this version can be found here.

API changes

Version 2.1.0-alpha02

January 30, 2019

androidx.lifecycle 2.1.0-alpha02 is released.

API changes

Bug fixes

Version 2.1.0-alpha01

December 17, 2018

androidx.lifecycle 2.1.0-alpha01 is released.

New features

Version 2.0.0

Version 2.0.0

September 21, 2018

Lifecycle 2.0.0 is released with one bugfix from 2.0.0-rc01 in ViewModel.

Bug Fixes

Version 2.0.0-beta01

July 2, 2018

Bug Fixes

Pre-AndroidX Versions

For the pre-AndroidX versions of Lifecycle that follow, include these dependencies:

dependencies {
    def lifecycle_version = "1.1.1"

    // ViewModel and LiveData
    implementation "android.arch.lifecycle:extensions:$lifecycle_version"
    // alternatively - just ViewModel
    implementation "android.arch.lifecycle:viewmodel:$lifecycle_version" // For Kotlin use viewmodel-ktx
    // alternatively - just LiveData
    implementation "android.arch.lifecycle:livedata:$lifecycle_version"
    // alternatively - Lifecycles only (no ViewModel or LiveData).
    //     Support library depends on this lightweight import
    implementation "android.arch.lifecycle:runtime:$lifecycle_version"

    annotationProcessor "android.arch.lifecycle:compiler:$lifecycle_version" // For Kotlin use kapt instead of annotationProcessor
    // alternately - if using Java8, use the following instead of compiler
    implementation "android.arch.lifecycle:common-java8:$lifecycle_version"

    // optional - ReactiveStreams support for LiveData
    implementation "android.arch.lifecycle:reactivestreams:$lifecycle_version"

    // optional - Test helpers for LiveData
    testImplementation "android.arch.core:core-testing:$lifecycle_version"
}

Version 1.1.1

March 21, 2018

Only one small change: android.arch.core.util.Function is moved from arch:runtime to arch:common. This allows it to be used without the runtime dependency, e.g. in paging:common below.

lifecycle:common is a dependency of lifecycle:runtime, so this change doesn’t affect lifecycle:runtime directly, only modules that depend directly on lifecycle:common, as Paging does.

Version 1.1.0

January 22, 2018

Packaging Changes

New, much smaller dependencies are now available:

API Changes

Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Last updated 2026-03-25 UTC.