Update signatures and baselines for metalava update

Changes in metalava ab/7104465:7163804

Important ones:
- Fixed use of annotations from classpath
- Tracking default value for constructors
- New check for nullable collections

Relnote: N/A
Test: ./gradlew updateApi
Change-Id: Ia65aa2e56bdc0d743d8f445c6e8aa10811bed90e
Merged-In: Ia65aa2e56bdc0d743d8f445c6e8aa10811bed90e
diff --git a/activity/activity/api/api_lint.ignore b/activity/activity/api/api_lint.ignore
index 8b4fe9e..bdc1a31 100644
--- a/activity/activity/api/api_lint.ignore
+++ b/activity/activity/api/api_lint.ignore
@@ -19,16 +19,6 @@
     androidx.activity.result.IntentSenderRequest does not declare a `getFlags()` method matching method androidx.activity.result.IntentSenderRequest.Builder.setFlags(int,int)
 
 
-MissingNullability: androidx.activity.ComponentActivity#startActivityForResult(android.content.Intent, int) parameter #0:
-    Missing nullability on parameter `intent` in method `startActivityForResult`
-MissingNullability: androidx.activity.ComponentActivity#startActivityForResult(android.content.Intent, int, android.os.Bundle) parameter #0:
-    Missing nullability on parameter `intent` in method `startActivityForResult`
-MissingNullability: androidx.activity.ComponentActivity#startIntentSenderForResult(android.content.IntentSender, int, android.content.Intent, int, int, int) parameter #0:
-    Missing nullability on parameter `intent` in method `startIntentSenderForResult`
-MissingNullability: androidx.activity.ComponentActivity#startIntentSenderForResult(android.content.IntentSender, int, android.content.Intent, int, int, int, android.os.Bundle) parameter #0:
-    Missing nullability on parameter `intent` in method `startIntentSenderForResult`
-
-
 RegistrationName: androidx.activity.OnBackPressedDispatcher#addCallback(androidx.activity.OnBackPressedCallback):
     Callback methods should be named register/unregister; was addCallback
 RegistrationName: androidx.activity.OnBackPressedDispatcher#addCallback(androidx.lifecycle.LifecycleOwner, androidx.activity.OnBackPressedCallback):
diff --git a/annotation/annotation-experimental/api/current.ignore b/annotation/annotation-experimental/api/current.ignore
deleted file mode 100644
index 4413cc6..0000000
--- a/annotation/annotation-experimental/api/current.ignore
+++ /dev/null
@@ -1,3 +0,0 @@
-// Baseline format: 1.0
-ChangedType: androidx.annotation.experimental.UseExperimental#markerClass():
-    Method androidx.annotation.experimental.UseExperimental.markerClass has changed return type from Class<?> to Class<? extends java.lang.annotation.Annotation>[]
diff --git a/annotation/annotation-experimental/api/restricted_current.ignore b/annotation/annotation-experimental/api/restricted_current.ignore
deleted file mode 100644
index 4413cc6..0000000
--- a/annotation/annotation-experimental/api/restricted_current.ignore
+++ /dev/null
@@ -1,3 +0,0 @@
-// Baseline format: 1.0
-ChangedType: androidx.annotation.experimental.UseExperimental#markerClass():
-    Method androidx.annotation.experimental.UseExperimental.markerClass has changed return type from Class<?> to Class<? extends java.lang.annotation.Annotation>[]
diff --git a/appcompat/appcompat/api/api_lint.ignore b/appcompat/appcompat/api/api_lint.ignore
index e8903ced9..1ceffe5 100644
--- a/appcompat/appcompat/api/api_lint.ignore
+++ b/appcompat/appcompat/api/api_lint.ignore
@@ -59,24 +59,12 @@
 
 MissingNullability: androidx.appcompat.app.ActionBar#addOnMenuVisibilityListener(androidx.appcompat.app.ActionBar.OnMenuVisibilityListener) parameter #0:
     Missing nullability on parameter `listener` in method `addOnMenuVisibilityListener`
-MissingNullability: androidx.appcompat.app.ActionBar#addTab(androidx.appcompat.app.ActionBar.Tab) parameter #0:
-    Missing nullability on parameter `tab` in method `addTab`
-MissingNullability: androidx.appcompat.app.ActionBar#addTab(androidx.appcompat.app.ActionBar.Tab, boolean) parameter #0:
-    Missing nullability on parameter `tab` in method `addTab`
-MissingNullability: androidx.appcompat.app.ActionBar#addTab(androidx.appcompat.app.ActionBar.Tab, int) parameter #0:
-    Missing nullability on parameter `tab` in method `addTab`
-MissingNullability: androidx.appcompat.app.ActionBar#addTab(androidx.appcompat.app.ActionBar.Tab, int, boolean) parameter #0:
-    Missing nullability on parameter `tab` in method `addTab`
 MissingNullability: androidx.appcompat.app.ActionBar#getCustomView():
     Missing nullability on method `getCustomView` return
 MissingNullability: androidx.appcompat.app.ActionBar#getThemedContext():
     Missing nullability on method `getThemedContext` return
 MissingNullability: androidx.appcompat.app.ActionBar#removeOnMenuVisibilityListener(androidx.appcompat.app.ActionBar.OnMenuVisibilityListener) parameter #0:
     Missing nullability on parameter `listener` in method `removeOnMenuVisibilityListener`
-MissingNullability: androidx.appcompat.app.ActionBar#removeTab(androidx.appcompat.app.ActionBar.Tab) parameter #0:
-    Missing nullability on parameter `tab` in method `removeTab`
-MissingNullability: androidx.appcompat.app.ActionBar#selectTab(androidx.appcompat.app.ActionBar.Tab) parameter #0:
-    Missing nullability on parameter `tab` in method `selectTab`
 MissingNullability: androidx.appcompat.app.ActionBar#setCustomView(android.view.View) parameter #0:
     Missing nullability on parameter `view` in method `setCustomView`
 MissingNullability: androidx.appcompat.app.ActionBar#setCustomView(android.view.View, androidx.appcompat.app.ActionBar.LayoutParams) parameter #0:
@@ -85,10 +73,6 @@
     Missing nullability on parameter `layoutParams` in method `setCustomView`
 MissingNullability: androidx.appcompat.app.ActionBar#setIcon(android.graphics.drawable.Drawable) parameter #0:
     Missing nullability on parameter `icon` in method `setIcon`
-MissingNullability: androidx.appcompat.app.ActionBar#setListNavigationCallbacks(android.widget.SpinnerAdapter, androidx.appcompat.app.ActionBar.OnNavigationListener) parameter #0:
-    Missing nullability on parameter `adapter` in method `setListNavigationCallbacks`
-MissingNullability: androidx.appcompat.app.ActionBar#setListNavigationCallbacks(android.widget.SpinnerAdapter, androidx.appcompat.app.ActionBar.OnNavigationListener) parameter #1:
-    Missing nullability on parameter `callback` in method `setListNavigationCallbacks`
 MissingNullability: androidx.appcompat.app.ActionBar#setLogo(android.graphics.drawable.Drawable) parameter #0:
     Missing nullability on parameter `logo` in method `setLogo`
 MissingNullability: androidx.appcompat.app.ActionBar#setSplitBackgroundDrawable(android.graphics.drawable.Drawable) parameter #0:
@@ -415,8 +399,6 @@
     Missing nullability on parameter `v` in method `addContentView`
 MissingNullability: androidx.appcompat.app.AppCompatDelegate#addContentView(android.view.View, android.view.ViewGroup.LayoutParams) parameter #1:
     Missing nullability on parameter `lp` in method `addContentView`
-MissingNullability: androidx.appcompat.app.AppCompatDelegate#attachBaseContext(android.content.Context) parameter #0:
-    Missing nullability on parameter `context` in method `attachBaseContext`
 MissingNullability: androidx.appcompat.app.AppCompatDelegate#createView(android.view.View, String, android.content.Context, android.util.AttributeSet):
     Missing nullability on method `createView` return
 MissingNullability: androidx.appcompat.app.AppCompatDelegate#createView(android.view.View, String, android.content.Context, android.util.AttributeSet) parameter #1:
diff --git a/appcompat/appcompat/api/current.ignore b/appcompat/appcompat/api/current.ignore
deleted file mode 100644
index 057533c..0000000
--- a/appcompat/appcompat/api/current.ignore
+++ /dev/null
@@ -1,13 +0,0 @@
-// Baseline format: 1.0
-ChangedSuperclass: androidx.appcompat.widget.LinearLayoutCompat.LayoutParams:
-    Class androidx.appcompat.widget.LinearLayoutCompat.LayoutParams superclass changed from android.view.ViewGroup.MarginLayoutParams to android.widget.LinearLayout.LayoutParams
-
-
-RemovedField: androidx.appcompat.widget.LinearLayoutCompat.LayoutParams#gravity:
-    Removed field androidx.appcompat.widget.LinearLayoutCompat.LayoutParams.gravity
-RemovedField: androidx.appcompat.widget.LinearLayoutCompat.LayoutParams#weight:
-    Removed field androidx.appcompat.widget.LinearLayoutCompat.LayoutParams.weight
-
-
-RemovedMethod: androidx.appcompat.widget.LinearLayoutCompat.LayoutParams#LayoutParams(androidx.appcompat.widget.LinearLayoutCompat.LayoutParams):
-    Removed constructor androidx.appcompat.widget.LinearLayoutCompat.LayoutParams(androidx.appcompat.widget.LinearLayoutCompat.LayoutParams)
diff --git a/appcompat/appcompat/api/restricted_current.ignore b/appcompat/appcompat/api/restricted_current.ignore
deleted file mode 100644
index 61f6f2d..0000000
--- a/appcompat/appcompat/api/restricted_current.ignore
+++ /dev/null
@@ -1,23 +0,0 @@
-// Baseline format: 1.0
-ChangedSuperclass: androidx.appcompat.widget.LinearLayoutCompat.LayoutParams:
-    Class androidx.appcompat.widget.LinearLayoutCompat.LayoutParams superclass changed from android.view.ViewGroup.MarginLayoutParams to android.widget.LinearLayout.LayoutParams
-
-
-RemovedField: androidx.appcompat.widget.LinearLayoutCompat.LayoutParams#gravity:
-    Removed field androidx.appcompat.widget.LinearLayoutCompat.LayoutParams.gravity
-RemovedField: androidx.appcompat.widget.LinearLayoutCompat.LayoutParams#weight:
-    Removed field androidx.appcompat.widget.LinearLayoutCompat.LayoutParams.weight
-
-
-RemovedMethod: androidx.appcompat.view.menu.MenuPopupHelper#getPopup():
-    Removed method androidx.appcompat.view.menu.MenuPopupHelper.getPopup()
-RemovedMethod: androidx.appcompat.widget.ActionMenuView#setPresenter(androidx.appcompat.widget.ActionMenuPresenter):
-    Removed method androidx.appcompat.widget.ActionMenuView.setPresenter(androidx.appcompat.widget.ActionMenuPresenter)
-RemovedMethod: androidx.appcompat.widget.ActivityChooserView#getDataModel():
-    Removed method androidx.appcompat.widget.ActivityChooserView.getDataModel()
-RemovedMethod: androidx.appcompat.widget.ActivityChooserView#setActivityChooserModel(androidx.appcompat.widget.ActivityChooserModel):
-    Removed method androidx.appcompat.widget.ActivityChooserView.setActivityChooserModel(androidx.appcompat.widget.ActivityChooserModel)
-RemovedMethod: androidx.appcompat.widget.LinearLayoutCompat.LayoutParams#LayoutParams(androidx.appcompat.widget.LinearLayoutCompat.LayoutParams):
-    Removed constructor androidx.appcompat.widget.LinearLayoutCompat.LayoutParams(androidx.appcompat.widget.LinearLayoutCompat.LayoutParams)
-RemovedMethod: androidx.appcompat.widget.Toolbar#setMenu(androidx.appcompat.view.menu.MenuBuilder, androidx.appcompat.widget.ActionMenuPresenter):
-    Removed method androidx.appcompat.widget.Toolbar.setMenu(androidx.appcompat.view.menu.MenuBuilder,androidx.appcompat.widget.ActionMenuPresenter)
diff --git a/appsearch/appsearch/api/api_lint.ignore b/appsearch/appsearch/api/api_lint.ignore
new file mode 100644
index 0000000..2f4353e
--- /dev/null
+++ b/appsearch/appsearch/api/api_lint.ignore
@@ -0,0 +1,5 @@
+// Baseline format: 1.0
+NullableCollection: androidx.appsearch.app.GenericDocument#getPropertyDocumentArray(String):
+    Return type of method androidx.appsearch.app.GenericDocument.getPropertyDocumentArray(String) is a nullable collection (`androidx.appsearch.app.GenericDocument[]`); must be non-null
+NullableCollection: androidx.appsearch.app.GenericDocument#getPropertyStringArray(String):
+    Return type of method androidx.appsearch.app.GenericDocument.getPropertyStringArray(String) is a nullable collection (`java.lang.String[]`); must be non-null
diff --git a/benchmark/common/api/public_plus_experimental_current.txt b/benchmark/common/api/public_plus_experimental_current.txt
index b7d3be7..315fd22 100644
--- a/benchmark/common/api/public_plus_experimental_current.txt
+++ b/benchmark/common/api/public_plus_experimental_current.txt
@@ -57,8 +57,7 @@
   }
 
   @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public final class InstrumentationResultScope {
-    ctor public InstrumentationResultScope(android.os.Bundle bundle);
-    ctor public InstrumentationResultScope();
+    ctor public InstrumentationResultScope(optional android.os.Bundle bundle);
     method public void fileRecord(String key, String path);
     method public android.os.Bundle getBundle();
     method public void ideSummaryRecord(String value);
diff --git a/browser/browser/api/api_lint.ignore b/browser/browser/api/api_lint.ignore
index 7a97755..3b0edf0 100644
--- a/browser/browser/api/api_lint.ignore
+++ b/browser/browser/api/api_lint.ignore
@@ -157,6 +157,38 @@
     androidx.browser.trusted.TrustedWebActivityIntent does not declare a `getSplashScreenParams()` method matching method androidx.browser.trusted.TrustedWebActivityIntentBuilder.setSplashScreenParams(android.os.Bundle)
 
 
+NullableCollection: androidx.browser.customtabs.CustomTabsCallback#extraCallback(String, android.os.Bundle) parameter #1:
+    Type of parameter args in androidx.browser.customtabs.CustomTabsCallback.extraCallback(String callbackName, android.os.Bundle args) is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.browser.customtabs.CustomTabsCallback#extraCallbackWithResult(String, android.os.Bundle):
+    Return type of method androidx.browser.customtabs.CustomTabsCallback.extraCallbackWithResult(String,android.os.Bundle) is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.browser.customtabs.CustomTabsCallback#extraCallbackWithResult(String, android.os.Bundle) parameter #1:
+    Type of parameter args in androidx.browser.customtabs.CustomTabsCallback.extraCallbackWithResult(String callbackName, android.os.Bundle args) is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.browser.customtabs.CustomTabsCallback#onMessageChannelReady(android.os.Bundle) parameter #0:
+    Type of parameter extras in androidx.browser.customtabs.CustomTabsCallback.onMessageChannelReady(android.os.Bundle extras) is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.browser.customtabs.CustomTabsCallback#onNavigationEvent(int, android.os.Bundle) parameter #1:
+    Type of parameter extras in androidx.browser.customtabs.CustomTabsCallback.onNavigationEvent(int navigationEvent, android.os.Bundle extras) is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.browser.customtabs.CustomTabsCallback#onPostMessage(String, android.os.Bundle) parameter #1:
+    Type of parameter extras in androidx.browser.customtabs.CustomTabsCallback.onPostMessage(String message, android.os.Bundle extras) is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.browser.customtabs.CustomTabsCallback#onRelationshipValidationResult(int, android.net.Uri, boolean, android.os.Bundle) parameter #3:
+    Type of parameter extras in androidx.browser.customtabs.CustomTabsCallback.onRelationshipValidationResult(int relation, android.net.Uri requestedOrigin, boolean result, android.os.Bundle extras) is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.browser.customtabs.CustomTabsClient#extraCommand(String, android.os.Bundle):
+    Return type of method androidx.browser.customtabs.CustomTabsClient.extraCommand(String,android.os.Bundle) is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.browser.customtabs.CustomTabsIntent#startAnimationBundle:
+    Type of field androidx.browser.customtabs.CustomTabsIntent.startAnimationBundle is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.browser.customtabs.CustomTabsService#extraCommand(String, android.os.Bundle):
+    Return type of method androidx.browser.customtabs.CustomTabsService.extraCommand(String,android.os.Bundle) is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.browser.trusted.TrustedWebActivityCallback#onExtraCallback(String, android.os.Bundle) parameter #1:
+    Type of parameter args in androidx.browser.trusted.TrustedWebActivityCallback.onExtraCallback(String callbackName, android.os.Bundle args) is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.browser.trusted.TrustedWebActivityService#onExtraCommand(String, android.os.Bundle, androidx.browser.trusted.TrustedWebActivityCallbackRemote):
+    Return type of method androidx.browser.trusted.TrustedWebActivityService.onExtraCommand(String,android.os.Bundle,androidx.browser.trusted.TrustedWebActivityCallbackRemote) is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.browser.trusted.TrustedWebActivityServiceConnection#sendExtraCommand(String, android.os.Bundle, androidx.browser.trusted.TrustedWebActivityCallback):
+    Return type of method androidx.browser.trusted.TrustedWebActivityServiceConnection.sendExtraCommand(String,android.os.Bundle,androidx.browser.trusted.TrustedWebActivityCallback) is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.browser.trusted.sharing.ShareData#uris:
+    Type of field androidx.browser.trusted.sharing.ShareData.uris is a nullable collection (`java.util.List`); must be non-null
+NullableCollection: androidx.browser.trusted.sharing.ShareTarget.Params#files:
+    Type of field androidx.browser.trusted.sharing.ShareTarget.Params.files is a nullable collection (`java.util.List`); must be non-null
+
+
 OptionalBuilderConstructorArgument: androidx.browser.customtabs.CustomTabsIntent.Builder#Builder(androidx.browser.customtabs.CustomTabsSession) parameter #0:
     Builder constructor arguments must be mandatory (i.e. not @Nullable): parameter session in androidx.browser.customtabs.CustomTabsIntent.Builder(androidx.browser.customtabs.CustomTabsSession session)
 
diff --git a/camera/camera-core/api/current.ignore b/camera/camera-core/api/current.ignore
deleted file mode 100644
index 7207c70..0000000
--- a/camera/camera-core/api/current.ignore
+++ /dev/null
@@ -1,3 +0,0 @@
-// Baseline format: 1.0
-RemovedMethod: androidx.camera.core.DisplayOrientedMeteringPointFactory#DisplayOrientedMeteringPointFactory(android.view.Display, androidx.camera.core.CameraSelector, float, float):
-    Removed constructor androidx.camera.core.DisplayOrientedMeteringPointFactory(android.view.Display,androidx.camera.core.CameraSelector,float,float)
diff --git a/camera/camera-core/api/restricted_current.ignore b/camera/camera-core/api/restricted_current.ignore
deleted file mode 100644
index 7207c70..0000000
--- a/camera/camera-core/api/restricted_current.ignore
+++ /dev/null
@@ -1,3 +0,0 @@
-// Baseline format: 1.0
-RemovedMethod: androidx.camera.core.DisplayOrientedMeteringPointFactory#DisplayOrientedMeteringPointFactory(android.view.Display, androidx.camera.core.CameraSelector, float, float):
-    Removed constructor androidx.camera.core.DisplayOrientedMeteringPointFactory(android.view.Display,androidx.camera.core.CameraSelector,float,float)
diff --git a/camera/camera-view/api/current.txt b/camera/camera-view/api/current.txt
index c75e9f97..80048d7 100644
--- a/camera/camera-view/api/current.txt
+++ b/camera/camera-view/api/current.txt
@@ -85,8 +85,6 @@
     method public androidx.lifecycle.LiveData<androidx.camera.view.PreviewView.StreamState!> getPreviewStreamState();
     method @UiThread public androidx.camera.view.PreviewView.ScaleType getScaleType();
     method @UiThread public androidx.camera.core.Preview.SurfaceProvider getSurfaceProvider();
-    method @UiThread public androidx.camera.core.ViewPort? getViewPort();
-    method @UiThread public androidx.camera.core.ViewPort? getViewPort(int);
     method @UiThread public void setController(androidx.camera.view.CameraController?);
     method @UiThread public void setImplementationMode(androidx.camera.view.PreviewView.ImplementationMode);
     method @UiThread public void setScaleType(androidx.camera.view.PreviewView.ScaleType);
diff --git a/camera/camera-view/api/restricted_current.txt b/camera/camera-view/api/restricted_current.txt
index fb99b22..ed3ba9b 100644
--- a/camera/camera-view/api/restricted_current.txt
+++ b/camera/camera-view/api/restricted_current.txt
@@ -85,8 +85,6 @@
     method public androidx.lifecycle.LiveData<androidx.camera.view.PreviewView.StreamState!> getPreviewStreamState();
     method @UiThread public androidx.camera.view.PreviewView.ScaleType getScaleType();
     method @UiThread public androidx.camera.core.Preview.SurfaceProvider getSurfaceProvider();
-    method @UiThread public androidx.camera.core.ViewPort? getViewPort();
-    method @UiThread public androidx.camera.core.ViewPort? getViewPort(@androidx.camera.core.impl.ImageOutputConfig.RotationValue int);
     method @UiThread public void setController(androidx.camera.view.CameraController?);
     method @UiThread public void setImplementationMode(androidx.camera.view.PreviewView.ImplementationMode);
     method @UiThread public void setScaleType(androidx.camera.view.PreviewView.ScaleType);
diff --git a/compose/animation/animation-core/api/1.0.0-beta02.txt b/compose/animation/animation-core/api/1.0.0-beta02.txt
index 2016497..67580ac 100644
--- a/compose/animation/animation-core/api/1.0.0-beta02.txt
+++ b/compose/animation/animation-core/api/1.0.0-beta02.txt
@@ -5,7 +5,7 @@
   }
 
   public final class Animatable<T, V extends androidx.compose.animation.core.AnimationVector> {
-    ctor public Animatable(T? initialValue, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? visibilityThreshold);
+    ctor public Animatable(T? initialValue, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, optional T? visibilityThreshold);
     method public suspend Object? animateDecay(T? initialVelocity, androidx.compose.animation.core.DecayAnimationSpec<T> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Animatable<T,V>,kotlin.Unit>? block, optional kotlin.coroutines.Continuation<? super androidx.compose.animation.core.AnimationResult<T,V>> p);
     method public suspend Object? animateTo(T? targetValue, optional androidx.compose.animation.core.AnimationSpec<T> animationSpec, optional T? initialVelocity, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Animatable<T,V>,kotlin.Unit>? block, optional kotlin.coroutines.Continuation<? super androidx.compose.animation.core.AnimationResult<T,V>> p);
     method public androidx.compose.runtime.State<T> asState();
@@ -122,7 +122,7 @@
   }
 
   public final class AnimationState<T, V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.runtime.State<T> {
-    ctor public AnimationState(androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, V? initialVelocityVector, long lastFrameTimeNanos, long finishedTimeNanos, boolean isRunning);
+    ctor public AnimationState(androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, optional V? initialVelocityVector, optional long lastFrameTimeNanos, optional long finishedTimeNanos, optional boolean isRunning);
     method public long getFinishedTimeNanos();
     method public long getLastFrameTimeNanos();
     method public androidx.compose.animation.core.TwoWayConverter<T,V> getTypeConverter();
@@ -297,8 +297,7 @@
   }
 
   public final class FloatExponentialDecaySpec implements androidx.compose.animation.core.FloatDecayAnimationSpec {
-    ctor public FloatExponentialDecaySpec(float frictionMultiplier, float absVelocityThreshold);
-    ctor public FloatExponentialDecaySpec();
+    ctor public FloatExponentialDecaySpec(optional float frictionMultiplier, optional float absVelocityThreshold);
     method public float getAbsVelocityThreshold();
     method public long getDurationNanos(float initialValue, float initialVelocity);
     method public float getTargetValue(float initialValue, float initialVelocity);
@@ -308,8 +307,7 @@
   }
 
   public final class FloatSpringSpec implements androidx.compose.animation.core.FloatAnimationSpec {
-    ctor public FloatSpringSpec(float dampingRatio, float stiffness, float visibilityThreshold);
-    ctor public FloatSpringSpec();
+    ctor public FloatSpringSpec(optional float dampingRatio, optional float stiffness, optional float visibilityThreshold);
     method public float getDampingRatio();
     method public long getDurationNanos(float initialValue, float targetValue, float initialVelocity);
     method public float getStiffness();
@@ -320,8 +318,7 @@
   }
 
   public final class FloatTweenSpec implements androidx.compose.animation.core.FloatAnimationSpec {
-    ctor public FloatTweenSpec(int duration, int delay, androidx.compose.animation.core.Easing easing);
-    ctor public FloatTweenSpec();
+    ctor public FloatTweenSpec(optional int duration, optional int delay, optional androidx.compose.animation.core.Easing easing);
     method public int getDelay();
     method public int getDuration();
     method public long getDurationNanos(float initialValue, float targetValue, float initialVelocity);
@@ -347,7 +344,7 @@
   }
 
   public final class InfiniteRepeatableSpec<T> implements androidx.compose.animation.core.AnimationSpec<T> {
-    ctor public InfiniteRepeatableSpec(androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, androidx.compose.animation.core.RepeatMode repeatMode);
+    ctor public InfiniteRepeatableSpec(androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
     method public androidx.compose.animation.core.DurationBasedAnimationSpec<T> getAnimation();
     method public androidx.compose.animation.core.RepeatMode getRepeatMode();
     method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
@@ -390,8 +387,7 @@
   }
 
   public final class ManualFrameClock implements androidx.compose.runtime.MonotonicFrameClock {
-    ctor public ManualFrameClock(long initialTime);
-    ctor public ManualFrameClock();
+    ctor public ManualFrameClock(optional long initialTime);
     method public void advanceClock(long nanos);
     method public long getCurrentTime();
     method public boolean getHasAwaiters();
@@ -419,7 +415,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class RepeatableSpec<T> implements androidx.compose.animation.core.FiniteAnimationSpec<T> {
-    ctor public RepeatableSpec(int iterations, androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, androidx.compose.animation.core.RepeatMode repeatMode);
+    ctor public RepeatableSpec(int iterations, androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
     method public androidx.compose.animation.core.DurationBasedAnimationSpec<T> getAnimation();
     method public int getIterations();
     method public androidx.compose.animation.core.RepeatMode getRepeatMode();
@@ -430,8 +426,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class SnapSpec<T> implements androidx.compose.animation.core.DurationBasedAnimationSpec<T> {
-    ctor public SnapSpec(int delay);
-    ctor public SnapSpec();
+    ctor public SnapSpec(optional int delay);
     method public int getDelay();
     method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
     property public final int delay;
@@ -457,8 +452,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class SpringSpec<T> implements androidx.compose.animation.core.FiniteAnimationSpec<T> {
-    ctor public SpringSpec(float dampingRatio, float stiffness, T? visibilityThreshold);
-    ctor public SpringSpec();
+    ctor public SpringSpec(optional float dampingRatio, optional float stiffness, optional T? visibilityThreshold);
     method public float getDampingRatio();
     method public float getStiffness();
     method public T? getVisibilityThreshold();
@@ -477,7 +471,7 @@
   }
 
   public final class TargetBasedAnimation<T, V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.Animation<T,V> {
-    ctor public TargetBasedAnimation(androidx.compose.animation.core.AnimationSpec<T> animationSpec, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, T? targetValue, V? initialVelocityVector);
+    ctor public TargetBasedAnimation(androidx.compose.animation.core.AnimationSpec<T> animationSpec, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, T? targetValue, optional V? initialVelocityVector);
     method public long getDurationNanos();
     method public T! getInitialValue();
     method public T! getTargetValue();
@@ -529,8 +523,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class TweenSpec<T> implements androidx.compose.animation.core.DurationBasedAnimationSpec<T> {
-    ctor public TweenSpec(int durationMillis, int delay, androidx.compose.animation.core.Easing easing);
-    ctor public TweenSpec();
+    ctor public TweenSpec(optional int durationMillis, optional int delay, optional androidx.compose.animation.core.Easing easing);
     method public int getDelay();
     method public int getDurationMillis();
     method public androidx.compose.animation.core.Easing getEasing();
@@ -602,7 +595,7 @@
   }
 
   public final class VectorizedInfiniteRepeatableSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedAnimationSpec<V> {
-    ctor public VectorizedInfiniteRepeatableSpec(androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> animation, androidx.compose.animation.core.RepeatMode repeatMode);
+    ctor public VectorizedInfiniteRepeatableSpec(androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
     method public long getDurationNanos(V initialValue, V targetValue, V initialVelocity);
     method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
     method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
@@ -611,7 +604,7 @@
   }
 
   public final class VectorizedKeyframesSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> {
-    ctor public VectorizedKeyframesSpec(java.util.Map<java.lang.Integer,? extends kotlin.Pair<? extends V,? extends androidx.compose.animation.core.Easing>> keyframes, int durationMillis, int delayMillis);
+    ctor public VectorizedKeyframesSpec(java.util.Map<java.lang.Integer,? extends kotlin.Pair<? extends V,? extends androidx.compose.animation.core.Easing>> keyframes, int durationMillis, optional int delayMillis);
     method public int getDelayMillis();
     method public int getDurationMillis();
     method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
@@ -621,15 +614,14 @@
   }
 
   public final class VectorizedRepeatableSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedFiniteAnimationSpec<V> {
-    ctor public VectorizedRepeatableSpec(int iterations, androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> animation, androidx.compose.animation.core.RepeatMode repeatMode);
+    ctor public VectorizedRepeatableSpec(int iterations, androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
     method public long getDurationNanos(V initialValue, V targetValue, V initialVelocity);
     method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
     method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
   }
 
   public final class VectorizedSnapSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> {
-    ctor public VectorizedSnapSpec(int delayMillis);
-    ctor public VectorizedSnapSpec();
+    ctor public VectorizedSnapSpec(optional int delayMillis);
     method public int getDelayMillis();
     method public int getDurationMillis();
     method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
@@ -639,7 +631,7 @@
   }
 
   public final class VectorizedSpringSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedFiniteAnimationSpec<V> {
-    ctor public VectorizedSpringSpec(float dampingRatio, float stiffness, V? visibilityThreshold);
+    ctor public VectorizedSpringSpec(optional float dampingRatio, optional float stiffness, optional V? visibilityThreshold);
     method public float getDampingRatio();
     method public float getStiffness();
     property public final float dampingRatio;
@@ -647,8 +639,7 @@
   }
 
   public final class VectorizedTweenSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> {
-    ctor public VectorizedTweenSpec(int durationMillis, int delayMillis, androidx.compose.animation.core.Easing easing);
-    ctor public VectorizedTweenSpec();
+    ctor public VectorizedTweenSpec(optional int durationMillis, optional int delayMillis, optional androidx.compose.animation.core.Easing easing);
     method public int getDelayMillis();
     method public int getDurationMillis();
     method public androidx.compose.animation.core.Easing getEasing();
diff --git a/compose/animation/animation-core/api/api_lint.ignore b/compose/animation/animation-core/api/api_lint.ignore
deleted file mode 100644
index 8684a3f..0000000
--- a/compose/animation/animation-core/api/api_lint.ignore
+++ /dev/null
@@ -1,3 +0,0 @@
-// Baseline format: 1.0
-CallbackName: androidx.compose.animation.core.AnimationClockObserver:
-    Class should be named AnimationClockCallback
diff --git a/compose/animation/animation-core/api/current.txt b/compose/animation/animation-core/api/current.txt
index 2016497..67580ac 100644
--- a/compose/animation/animation-core/api/current.txt
+++ b/compose/animation/animation-core/api/current.txt
@@ -5,7 +5,7 @@
   }
 
   public final class Animatable<T, V extends androidx.compose.animation.core.AnimationVector> {
-    ctor public Animatable(T? initialValue, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? visibilityThreshold);
+    ctor public Animatable(T? initialValue, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, optional T? visibilityThreshold);
     method public suspend Object? animateDecay(T? initialVelocity, androidx.compose.animation.core.DecayAnimationSpec<T> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Animatable<T,V>,kotlin.Unit>? block, optional kotlin.coroutines.Continuation<? super androidx.compose.animation.core.AnimationResult<T,V>> p);
     method public suspend Object? animateTo(T? targetValue, optional androidx.compose.animation.core.AnimationSpec<T> animationSpec, optional T? initialVelocity, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Animatable<T,V>,kotlin.Unit>? block, optional kotlin.coroutines.Continuation<? super androidx.compose.animation.core.AnimationResult<T,V>> p);
     method public androidx.compose.runtime.State<T> asState();
@@ -122,7 +122,7 @@
   }
 
   public final class AnimationState<T, V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.runtime.State<T> {
-    ctor public AnimationState(androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, V? initialVelocityVector, long lastFrameTimeNanos, long finishedTimeNanos, boolean isRunning);
+    ctor public AnimationState(androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, optional V? initialVelocityVector, optional long lastFrameTimeNanos, optional long finishedTimeNanos, optional boolean isRunning);
     method public long getFinishedTimeNanos();
     method public long getLastFrameTimeNanos();
     method public androidx.compose.animation.core.TwoWayConverter<T,V> getTypeConverter();
@@ -297,8 +297,7 @@
   }
 
   public final class FloatExponentialDecaySpec implements androidx.compose.animation.core.FloatDecayAnimationSpec {
-    ctor public FloatExponentialDecaySpec(float frictionMultiplier, float absVelocityThreshold);
-    ctor public FloatExponentialDecaySpec();
+    ctor public FloatExponentialDecaySpec(optional float frictionMultiplier, optional float absVelocityThreshold);
     method public float getAbsVelocityThreshold();
     method public long getDurationNanos(float initialValue, float initialVelocity);
     method public float getTargetValue(float initialValue, float initialVelocity);
@@ -308,8 +307,7 @@
   }
 
   public final class FloatSpringSpec implements androidx.compose.animation.core.FloatAnimationSpec {
-    ctor public FloatSpringSpec(float dampingRatio, float stiffness, float visibilityThreshold);
-    ctor public FloatSpringSpec();
+    ctor public FloatSpringSpec(optional float dampingRatio, optional float stiffness, optional float visibilityThreshold);
     method public float getDampingRatio();
     method public long getDurationNanos(float initialValue, float targetValue, float initialVelocity);
     method public float getStiffness();
@@ -320,8 +318,7 @@
   }
 
   public final class FloatTweenSpec implements androidx.compose.animation.core.FloatAnimationSpec {
-    ctor public FloatTweenSpec(int duration, int delay, androidx.compose.animation.core.Easing easing);
-    ctor public FloatTweenSpec();
+    ctor public FloatTweenSpec(optional int duration, optional int delay, optional androidx.compose.animation.core.Easing easing);
     method public int getDelay();
     method public int getDuration();
     method public long getDurationNanos(float initialValue, float targetValue, float initialVelocity);
@@ -347,7 +344,7 @@
   }
 
   public final class InfiniteRepeatableSpec<T> implements androidx.compose.animation.core.AnimationSpec<T> {
-    ctor public InfiniteRepeatableSpec(androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, androidx.compose.animation.core.RepeatMode repeatMode);
+    ctor public InfiniteRepeatableSpec(androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
     method public androidx.compose.animation.core.DurationBasedAnimationSpec<T> getAnimation();
     method public androidx.compose.animation.core.RepeatMode getRepeatMode();
     method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
@@ -390,8 +387,7 @@
   }
 
   public final class ManualFrameClock implements androidx.compose.runtime.MonotonicFrameClock {
-    ctor public ManualFrameClock(long initialTime);
-    ctor public ManualFrameClock();
+    ctor public ManualFrameClock(optional long initialTime);
     method public void advanceClock(long nanos);
     method public long getCurrentTime();
     method public boolean getHasAwaiters();
@@ -419,7 +415,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class RepeatableSpec<T> implements androidx.compose.animation.core.FiniteAnimationSpec<T> {
-    ctor public RepeatableSpec(int iterations, androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, androidx.compose.animation.core.RepeatMode repeatMode);
+    ctor public RepeatableSpec(int iterations, androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
     method public androidx.compose.animation.core.DurationBasedAnimationSpec<T> getAnimation();
     method public int getIterations();
     method public androidx.compose.animation.core.RepeatMode getRepeatMode();
@@ -430,8 +426,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class SnapSpec<T> implements androidx.compose.animation.core.DurationBasedAnimationSpec<T> {
-    ctor public SnapSpec(int delay);
-    ctor public SnapSpec();
+    ctor public SnapSpec(optional int delay);
     method public int getDelay();
     method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
     property public final int delay;
@@ -457,8 +452,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class SpringSpec<T> implements androidx.compose.animation.core.FiniteAnimationSpec<T> {
-    ctor public SpringSpec(float dampingRatio, float stiffness, T? visibilityThreshold);
-    ctor public SpringSpec();
+    ctor public SpringSpec(optional float dampingRatio, optional float stiffness, optional T? visibilityThreshold);
     method public float getDampingRatio();
     method public float getStiffness();
     method public T? getVisibilityThreshold();
@@ -477,7 +471,7 @@
   }
 
   public final class TargetBasedAnimation<T, V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.Animation<T,V> {
-    ctor public TargetBasedAnimation(androidx.compose.animation.core.AnimationSpec<T> animationSpec, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, T? targetValue, V? initialVelocityVector);
+    ctor public TargetBasedAnimation(androidx.compose.animation.core.AnimationSpec<T> animationSpec, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, T? targetValue, optional V? initialVelocityVector);
     method public long getDurationNanos();
     method public T! getInitialValue();
     method public T! getTargetValue();
@@ -529,8 +523,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class TweenSpec<T> implements androidx.compose.animation.core.DurationBasedAnimationSpec<T> {
-    ctor public TweenSpec(int durationMillis, int delay, androidx.compose.animation.core.Easing easing);
-    ctor public TweenSpec();
+    ctor public TweenSpec(optional int durationMillis, optional int delay, optional androidx.compose.animation.core.Easing easing);
     method public int getDelay();
     method public int getDurationMillis();
     method public androidx.compose.animation.core.Easing getEasing();
@@ -602,7 +595,7 @@
   }
 
   public final class VectorizedInfiniteRepeatableSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedAnimationSpec<V> {
-    ctor public VectorizedInfiniteRepeatableSpec(androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> animation, androidx.compose.animation.core.RepeatMode repeatMode);
+    ctor public VectorizedInfiniteRepeatableSpec(androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
     method public long getDurationNanos(V initialValue, V targetValue, V initialVelocity);
     method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
     method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
@@ -611,7 +604,7 @@
   }
 
   public final class VectorizedKeyframesSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> {
-    ctor public VectorizedKeyframesSpec(java.util.Map<java.lang.Integer,? extends kotlin.Pair<? extends V,? extends androidx.compose.animation.core.Easing>> keyframes, int durationMillis, int delayMillis);
+    ctor public VectorizedKeyframesSpec(java.util.Map<java.lang.Integer,? extends kotlin.Pair<? extends V,? extends androidx.compose.animation.core.Easing>> keyframes, int durationMillis, optional int delayMillis);
     method public int getDelayMillis();
     method public int getDurationMillis();
     method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
@@ -621,15 +614,14 @@
   }
 
   public final class VectorizedRepeatableSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedFiniteAnimationSpec<V> {
-    ctor public VectorizedRepeatableSpec(int iterations, androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> animation, androidx.compose.animation.core.RepeatMode repeatMode);
+    ctor public VectorizedRepeatableSpec(int iterations, androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
     method public long getDurationNanos(V initialValue, V targetValue, V initialVelocity);
     method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
     method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
   }
 
   public final class VectorizedSnapSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> {
-    ctor public VectorizedSnapSpec(int delayMillis);
-    ctor public VectorizedSnapSpec();
+    ctor public VectorizedSnapSpec(optional int delayMillis);
     method public int getDelayMillis();
     method public int getDurationMillis();
     method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
@@ -639,7 +631,7 @@
   }
 
   public final class VectorizedSpringSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedFiniteAnimationSpec<V> {
-    ctor public VectorizedSpringSpec(float dampingRatio, float stiffness, V? visibilityThreshold);
+    ctor public VectorizedSpringSpec(optional float dampingRatio, optional float stiffness, optional V? visibilityThreshold);
     method public float getDampingRatio();
     method public float getStiffness();
     property public final float dampingRatio;
@@ -647,8 +639,7 @@
   }
 
   public final class VectorizedTweenSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> {
-    ctor public VectorizedTweenSpec(int durationMillis, int delayMillis, androidx.compose.animation.core.Easing easing);
-    ctor public VectorizedTweenSpec();
+    ctor public VectorizedTweenSpec(optional int durationMillis, optional int delayMillis, optional androidx.compose.animation.core.Easing easing);
     method public int getDelayMillis();
     method public int getDurationMillis();
     method public androidx.compose.animation.core.Easing getEasing();
diff --git a/compose/animation/animation-core/api/public_plus_experimental_1.0.0-beta02.txt b/compose/animation/animation-core/api/public_plus_experimental_1.0.0-beta02.txt
index 2016497..67580ac 100644
--- a/compose/animation/animation-core/api/public_plus_experimental_1.0.0-beta02.txt
+++ b/compose/animation/animation-core/api/public_plus_experimental_1.0.0-beta02.txt
@@ -5,7 +5,7 @@
   }
 
   public final class Animatable<T, V extends androidx.compose.animation.core.AnimationVector> {
-    ctor public Animatable(T? initialValue, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? visibilityThreshold);
+    ctor public Animatable(T? initialValue, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, optional T? visibilityThreshold);
     method public suspend Object? animateDecay(T? initialVelocity, androidx.compose.animation.core.DecayAnimationSpec<T> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Animatable<T,V>,kotlin.Unit>? block, optional kotlin.coroutines.Continuation<? super androidx.compose.animation.core.AnimationResult<T,V>> p);
     method public suspend Object? animateTo(T? targetValue, optional androidx.compose.animation.core.AnimationSpec<T> animationSpec, optional T? initialVelocity, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Animatable<T,V>,kotlin.Unit>? block, optional kotlin.coroutines.Continuation<? super androidx.compose.animation.core.AnimationResult<T,V>> p);
     method public androidx.compose.runtime.State<T> asState();
@@ -122,7 +122,7 @@
   }
 
   public final class AnimationState<T, V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.runtime.State<T> {
-    ctor public AnimationState(androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, V? initialVelocityVector, long lastFrameTimeNanos, long finishedTimeNanos, boolean isRunning);
+    ctor public AnimationState(androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, optional V? initialVelocityVector, optional long lastFrameTimeNanos, optional long finishedTimeNanos, optional boolean isRunning);
     method public long getFinishedTimeNanos();
     method public long getLastFrameTimeNanos();
     method public androidx.compose.animation.core.TwoWayConverter<T,V> getTypeConverter();
@@ -297,8 +297,7 @@
   }
 
   public final class FloatExponentialDecaySpec implements androidx.compose.animation.core.FloatDecayAnimationSpec {
-    ctor public FloatExponentialDecaySpec(float frictionMultiplier, float absVelocityThreshold);
-    ctor public FloatExponentialDecaySpec();
+    ctor public FloatExponentialDecaySpec(optional float frictionMultiplier, optional float absVelocityThreshold);
     method public float getAbsVelocityThreshold();
     method public long getDurationNanos(float initialValue, float initialVelocity);
     method public float getTargetValue(float initialValue, float initialVelocity);
@@ -308,8 +307,7 @@
   }
 
   public final class FloatSpringSpec implements androidx.compose.animation.core.FloatAnimationSpec {
-    ctor public FloatSpringSpec(float dampingRatio, float stiffness, float visibilityThreshold);
-    ctor public FloatSpringSpec();
+    ctor public FloatSpringSpec(optional float dampingRatio, optional float stiffness, optional float visibilityThreshold);
     method public float getDampingRatio();
     method public long getDurationNanos(float initialValue, float targetValue, float initialVelocity);
     method public float getStiffness();
@@ -320,8 +318,7 @@
   }
 
   public final class FloatTweenSpec implements androidx.compose.animation.core.FloatAnimationSpec {
-    ctor public FloatTweenSpec(int duration, int delay, androidx.compose.animation.core.Easing easing);
-    ctor public FloatTweenSpec();
+    ctor public FloatTweenSpec(optional int duration, optional int delay, optional androidx.compose.animation.core.Easing easing);
     method public int getDelay();
     method public int getDuration();
     method public long getDurationNanos(float initialValue, float targetValue, float initialVelocity);
@@ -347,7 +344,7 @@
   }
 
   public final class InfiniteRepeatableSpec<T> implements androidx.compose.animation.core.AnimationSpec<T> {
-    ctor public InfiniteRepeatableSpec(androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, androidx.compose.animation.core.RepeatMode repeatMode);
+    ctor public InfiniteRepeatableSpec(androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
     method public androidx.compose.animation.core.DurationBasedAnimationSpec<T> getAnimation();
     method public androidx.compose.animation.core.RepeatMode getRepeatMode();
     method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
@@ -390,8 +387,7 @@
   }
 
   public final class ManualFrameClock implements androidx.compose.runtime.MonotonicFrameClock {
-    ctor public ManualFrameClock(long initialTime);
-    ctor public ManualFrameClock();
+    ctor public ManualFrameClock(optional long initialTime);
     method public void advanceClock(long nanos);
     method public long getCurrentTime();
     method public boolean getHasAwaiters();
@@ -419,7 +415,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class RepeatableSpec<T> implements androidx.compose.animation.core.FiniteAnimationSpec<T> {
-    ctor public RepeatableSpec(int iterations, androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, androidx.compose.animation.core.RepeatMode repeatMode);
+    ctor public RepeatableSpec(int iterations, androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
     method public androidx.compose.animation.core.DurationBasedAnimationSpec<T> getAnimation();
     method public int getIterations();
     method public androidx.compose.animation.core.RepeatMode getRepeatMode();
@@ -430,8 +426,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class SnapSpec<T> implements androidx.compose.animation.core.DurationBasedAnimationSpec<T> {
-    ctor public SnapSpec(int delay);
-    ctor public SnapSpec();
+    ctor public SnapSpec(optional int delay);
     method public int getDelay();
     method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
     property public final int delay;
@@ -457,8 +452,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class SpringSpec<T> implements androidx.compose.animation.core.FiniteAnimationSpec<T> {
-    ctor public SpringSpec(float dampingRatio, float stiffness, T? visibilityThreshold);
-    ctor public SpringSpec();
+    ctor public SpringSpec(optional float dampingRatio, optional float stiffness, optional T? visibilityThreshold);
     method public float getDampingRatio();
     method public float getStiffness();
     method public T? getVisibilityThreshold();
@@ -477,7 +471,7 @@
   }
 
   public final class TargetBasedAnimation<T, V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.Animation<T,V> {
-    ctor public TargetBasedAnimation(androidx.compose.animation.core.AnimationSpec<T> animationSpec, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, T? targetValue, V? initialVelocityVector);
+    ctor public TargetBasedAnimation(androidx.compose.animation.core.AnimationSpec<T> animationSpec, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, T? targetValue, optional V? initialVelocityVector);
     method public long getDurationNanos();
     method public T! getInitialValue();
     method public T! getTargetValue();
@@ -529,8 +523,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class TweenSpec<T> implements androidx.compose.animation.core.DurationBasedAnimationSpec<T> {
-    ctor public TweenSpec(int durationMillis, int delay, androidx.compose.animation.core.Easing easing);
-    ctor public TweenSpec();
+    ctor public TweenSpec(optional int durationMillis, optional int delay, optional androidx.compose.animation.core.Easing easing);
     method public int getDelay();
     method public int getDurationMillis();
     method public androidx.compose.animation.core.Easing getEasing();
@@ -602,7 +595,7 @@
   }
 
   public final class VectorizedInfiniteRepeatableSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedAnimationSpec<V> {
-    ctor public VectorizedInfiniteRepeatableSpec(androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> animation, androidx.compose.animation.core.RepeatMode repeatMode);
+    ctor public VectorizedInfiniteRepeatableSpec(androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
     method public long getDurationNanos(V initialValue, V targetValue, V initialVelocity);
     method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
     method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
@@ -611,7 +604,7 @@
   }
 
   public final class VectorizedKeyframesSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> {
-    ctor public VectorizedKeyframesSpec(java.util.Map<java.lang.Integer,? extends kotlin.Pair<? extends V,? extends androidx.compose.animation.core.Easing>> keyframes, int durationMillis, int delayMillis);
+    ctor public VectorizedKeyframesSpec(java.util.Map<java.lang.Integer,? extends kotlin.Pair<? extends V,? extends androidx.compose.animation.core.Easing>> keyframes, int durationMillis, optional int delayMillis);
     method public int getDelayMillis();
     method public int getDurationMillis();
     method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
@@ -621,15 +614,14 @@
   }
 
   public final class VectorizedRepeatableSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedFiniteAnimationSpec<V> {
-    ctor public VectorizedRepeatableSpec(int iterations, androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> animation, androidx.compose.animation.core.RepeatMode repeatMode);
+    ctor public VectorizedRepeatableSpec(int iterations, androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
     method public long getDurationNanos(V initialValue, V targetValue, V initialVelocity);
     method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
     method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
   }
 
   public final class VectorizedSnapSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> {
-    ctor public VectorizedSnapSpec(int delayMillis);
-    ctor public VectorizedSnapSpec();
+    ctor public VectorizedSnapSpec(optional int delayMillis);
     method public int getDelayMillis();
     method public int getDurationMillis();
     method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
@@ -639,7 +631,7 @@
   }
 
   public final class VectorizedSpringSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedFiniteAnimationSpec<V> {
-    ctor public VectorizedSpringSpec(float dampingRatio, float stiffness, V? visibilityThreshold);
+    ctor public VectorizedSpringSpec(optional float dampingRatio, optional float stiffness, optional V? visibilityThreshold);
     method public float getDampingRatio();
     method public float getStiffness();
     property public final float dampingRatio;
@@ -647,8 +639,7 @@
   }
 
   public final class VectorizedTweenSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> {
-    ctor public VectorizedTweenSpec(int durationMillis, int delayMillis, androidx.compose.animation.core.Easing easing);
-    ctor public VectorizedTweenSpec();
+    ctor public VectorizedTweenSpec(optional int durationMillis, optional int delayMillis, optional androidx.compose.animation.core.Easing easing);
     method public int getDelayMillis();
     method public int getDurationMillis();
     method public androidx.compose.animation.core.Easing getEasing();
diff --git a/compose/animation/animation-core/api/public_plus_experimental_current.txt b/compose/animation/animation-core/api/public_plus_experimental_current.txt
index 2016497..67580ac 100644
--- a/compose/animation/animation-core/api/public_plus_experimental_current.txt
+++ b/compose/animation/animation-core/api/public_plus_experimental_current.txt
@@ -5,7 +5,7 @@
   }
 
   public final class Animatable<T, V extends androidx.compose.animation.core.AnimationVector> {
-    ctor public Animatable(T? initialValue, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? visibilityThreshold);
+    ctor public Animatable(T? initialValue, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, optional T? visibilityThreshold);
     method public suspend Object? animateDecay(T? initialVelocity, androidx.compose.animation.core.DecayAnimationSpec<T> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Animatable<T,V>,kotlin.Unit>? block, optional kotlin.coroutines.Continuation<? super androidx.compose.animation.core.AnimationResult<T,V>> p);
     method public suspend Object? animateTo(T? targetValue, optional androidx.compose.animation.core.AnimationSpec<T> animationSpec, optional T? initialVelocity, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Animatable<T,V>,kotlin.Unit>? block, optional kotlin.coroutines.Continuation<? super androidx.compose.animation.core.AnimationResult<T,V>> p);
     method public androidx.compose.runtime.State<T> asState();
@@ -122,7 +122,7 @@
   }
 
   public final class AnimationState<T, V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.runtime.State<T> {
-    ctor public AnimationState(androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, V? initialVelocityVector, long lastFrameTimeNanos, long finishedTimeNanos, boolean isRunning);
+    ctor public AnimationState(androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, optional V? initialVelocityVector, optional long lastFrameTimeNanos, optional long finishedTimeNanos, optional boolean isRunning);
     method public long getFinishedTimeNanos();
     method public long getLastFrameTimeNanos();
     method public androidx.compose.animation.core.TwoWayConverter<T,V> getTypeConverter();
@@ -297,8 +297,7 @@
   }
 
   public final class FloatExponentialDecaySpec implements androidx.compose.animation.core.FloatDecayAnimationSpec {
-    ctor public FloatExponentialDecaySpec(float frictionMultiplier, float absVelocityThreshold);
-    ctor public FloatExponentialDecaySpec();
+    ctor public FloatExponentialDecaySpec(optional float frictionMultiplier, optional float absVelocityThreshold);
     method public float getAbsVelocityThreshold();
     method public long getDurationNanos(float initialValue, float initialVelocity);
     method public float getTargetValue(float initialValue, float initialVelocity);
@@ -308,8 +307,7 @@
   }
 
   public final class FloatSpringSpec implements androidx.compose.animation.core.FloatAnimationSpec {
-    ctor public FloatSpringSpec(float dampingRatio, float stiffness, float visibilityThreshold);
-    ctor public FloatSpringSpec();
+    ctor public FloatSpringSpec(optional float dampingRatio, optional float stiffness, optional float visibilityThreshold);
     method public float getDampingRatio();
     method public long getDurationNanos(float initialValue, float targetValue, float initialVelocity);
     method public float getStiffness();
@@ -320,8 +318,7 @@
   }
 
   public final class FloatTweenSpec implements androidx.compose.animation.core.FloatAnimationSpec {
-    ctor public FloatTweenSpec(int duration, int delay, androidx.compose.animation.core.Easing easing);
-    ctor public FloatTweenSpec();
+    ctor public FloatTweenSpec(optional int duration, optional int delay, optional androidx.compose.animation.core.Easing easing);
     method public int getDelay();
     method public int getDuration();
     method public long getDurationNanos(float initialValue, float targetValue, float initialVelocity);
@@ -347,7 +344,7 @@
   }
 
   public final class InfiniteRepeatableSpec<T> implements androidx.compose.animation.core.AnimationSpec<T> {
-    ctor public InfiniteRepeatableSpec(androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, androidx.compose.animation.core.RepeatMode repeatMode);
+    ctor public InfiniteRepeatableSpec(androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
     method public androidx.compose.animation.core.DurationBasedAnimationSpec<T> getAnimation();
     method public androidx.compose.animation.core.RepeatMode getRepeatMode();
     method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
@@ -390,8 +387,7 @@
   }
 
   public final class ManualFrameClock implements androidx.compose.runtime.MonotonicFrameClock {
-    ctor public ManualFrameClock(long initialTime);
-    ctor public ManualFrameClock();
+    ctor public ManualFrameClock(optional long initialTime);
     method public void advanceClock(long nanos);
     method public long getCurrentTime();
     method public boolean getHasAwaiters();
@@ -419,7 +415,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class RepeatableSpec<T> implements androidx.compose.animation.core.FiniteAnimationSpec<T> {
-    ctor public RepeatableSpec(int iterations, androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, androidx.compose.animation.core.RepeatMode repeatMode);
+    ctor public RepeatableSpec(int iterations, androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
     method public androidx.compose.animation.core.DurationBasedAnimationSpec<T> getAnimation();
     method public int getIterations();
     method public androidx.compose.animation.core.RepeatMode getRepeatMode();
@@ -430,8 +426,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class SnapSpec<T> implements androidx.compose.animation.core.DurationBasedAnimationSpec<T> {
-    ctor public SnapSpec(int delay);
-    ctor public SnapSpec();
+    ctor public SnapSpec(optional int delay);
     method public int getDelay();
     method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
     property public final int delay;
@@ -457,8 +452,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class SpringSpec<T> implements androidx.compose.animation.core.FiniteAnimationSpec<T> {
-    ctor public SpringSpec(float dampingRatio, float stiffness, T? visibilityThreshold);
-    ctor public SpringSpec();
+    ctor public SpringSpec(optional float dampingRatio, optional float stiffness, optional T? visibilityThreshold);
     method public float getDampingRatio();
     method public float getStiffness();
     method public T? getVisibilityThreshold();
@@ -477,7 +471,7 @@
   }
 
   public final class TargetBasedAnimation<T, V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.Animation<T,V> {
-    ctor public TargetBasedAnimation(androidx.compose.animation.core.AnimationSpec<T> animationSpec, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, T? targetValue, V? initialVelocityVector);
+    ctor public TargetBasedAnimation(androidx.compose.animation.core.AnimationSpec<T> animationSpec, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, T? targetValue, optional V? initialVelocityVector);
     method public long getDurationNanos();
     method public T! getInitialValue();
     method public T! getTargetValue();
@@ -529,8 +523,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class TweenSpec<T> implements androidx.compose.animation.core.DurationBasedAnimationSpec<T> {
-    ctor public TweenSpec(int durationMillis, int delay, androidx.compose.animation.core.Easing easing);
-    ctor public TweenSpec();
+    ctor public TweenSpec(optional int durationMillis, optional int delay, optional androidx.compose.animation.core.Easing easing);
     method public int getDelay();
     method public int getDurationMillis();
     method public androidx.compose.animation.core.Easing getEasing();
@@ -602,7 +595,7 @@
   }
 
   public final class VectorizedInfiniteRepeatableSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedAnimationSpec<V> {
-    ctor public VectorizedInfiniteRepeatableSpec(androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> animation, androidx.compose.animation.core.RepeatMode repeatMode);
+    ctor public VectorizedInfiniteRepeatableSpec(androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
     method public long getDurationNanos(V initialValue, V targetValue, V initialVelocity);
     method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
     method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
@@ -611,7 +604,7 @@
   }
 
   public final class VectorizedKeyframesSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> {
-    ctor public VectorizedKeyframesSpec(java.util.Map<java.lang.Integer,? extends kotlin.Pair<? extends V,? extends androidx.compose.animation.core.Easing>> keyframes, int durationMillis, int delayMillis);
+    ctor public VectorizedKeyframesSpec(java.util.Map<java.lang.Integer,? extends kotlin.Pair<? extends V,? extends androidx.compose.animation.core.Easing>> keyframes, int durationMillis, optional int delayMillis);
     method public int getDelayMillis();
     method public int getDurationMillis();
     method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
@@ -621,15 +614,14 @@
   }
 
   public final class VectorizedRepeatableSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedFiniteAnimationSpec<V> {
-    ctor public VectorizedRepeatableSpec(int iterations, androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> animation, androidx.compose.animation.core.RepeatMode repeatMode);
+    ctor public VectorizedRepeatableSpec(int iterations, androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
     method public long getDurationNanos(V initialValue, V targetValue, V initialVelocity);
     method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
     method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
   }
 
   public final class VectorizedSnapSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> {
-    ctor public VectorizedSnapSpec(int delayMillis);
-    ctor public VectorizedSnapSpec();
+    ctor public VectorizedSnapSpec(optional int delayMillis);
     method public int getDelayMillis();
     method public int getDurationMillis();
     method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
@@ -639,7 +631,7 @@
   }
 
   public final class VectorizedSpringSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedFiniteAnimationSpec<V> {
-    ctor public VectorizedSpringSpec(float dampingRatio, float stiffness, V? visibilityThreshold);
+    ctor public VectorizedSpringSpec(optional float dampingRatio, optional float stiffness, optional V? visibilityThreshold);
     method public float getDampingRatio();
     method public float getStiffness();
     property public final float dampingRatio;
@@ -647,8 +639,7 @@
   }
 
   public final class VectorizedTweenSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> {
-    ctor public VectorizedTweenSpec(int durationMillis, int delayMillis, androidx.compose.animation.core.Easing easing);
-    ctor public VectorizedTweenSpec();
+    ctor public VectorizedTweenSpec(optional int durationMillis, optional int delayMillis, optional androidx.compose.animation.core.Easing easing);
     method public int getDelayMillis();
     method public int getDurationMillis();
     method public androidx.compose.animation.core.Easing getEasing();
diff --git a/compose/animation/animation-core/api/restricted_1.0.0-beta02.txt b/compose/animation/animation-core/api/restricted_1.0.0-beta02.txt
index 7df77c6..421660d 100644
--- a/compose/animation/animation-core/api/restricted_1.0.0-beta02.txt
+++ b/compose/animation/animation-core/api/restricted_1.0.0-beta02.txt
@@ -5,7 +5,7 @@
   }
 
   public final class Animatable<T, V extends androidx.compose.animation.core.AnimationVector> {
-    ctor public Animatable(T? initialValue, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? visibilityThreshold);
+    ctor public Animatable(T? initialValue, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, optional T? visibilityThreshold);
     method public suspend Object? animateDecay(T? initialVelocity, androidx.compose.animation.core.DecayAnimationSpec<T> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Animatable<T,V>,kotlin.Unit>? block, optional kotlin.coroutines.Continuation<? super androidx.compose.animation.core.AnimationResult<T,V>> p);
     method public suspend Object? animateTo(T? targetValue, optional androidx.compose.animation.core.AnimationSpec<T> animationSpec, optional T? initialVelocity, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Animatable<T,V>,kotlin.Unit>? block, optional kotlin.coroutines.Continuation<? super androidx.compose.animation.core.AnimationResult<T,V>> p);
     method public androidx.compose.runtime.State<T> asState();
@@ -122,7 +122,7 @@
   }
 
   public final class AnimationState<T, V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.runtime.State<T> {
-    ctor public AnimationState(androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, V? initialVelocityVector, long lastFrameTimeNanos, long finishedTimeNanos, boolean isRunning);
+    ctor public AnimationState(androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, optional V? initialVelocityVector, optional long lastFrameTimeNanos, optional long finishedTimeNanos, optional boolean isRunning);
     method public long getFinishedTimeNanos();
     method public long getLastFrameTimeNanos();
     method public androidx.compose.animation.core.TwoWayConverter<T,V> getTypeConverter();
@@ -297,8 +297,7 @@
   }
 
   public final class FloatExponentialDecaySpec implements androidx.compose.animation.core.FloatDecayAnimationSpec {
-    ctor public FloatExponentialDecaySpec(float frictionMultiplier, float absVelocityThreshold);
-    ctor public FloatExponentialDecaySpec();
+    ctor public FloatExponentialDecaySpec(optional float frictionMultiplier, optional float absVelocityThreshold);
     method public float getAbsVelocityThreshold();
     method public long getDurationNanos(float initialValue, float initialVelocity);
     method public float getTargetValue(float initialValue, float initialVelocity);
@@ -308,8 +307,7 @@
   }
 
   public final class FloatSpringSpec implements androidx.compose.animation.core.FloatAnimationSpec {
-    ctor public FloatSpringSpec(float dampingRatio, float stiffness, float visibilityThreshold);
-    ctor public FloatSpringSpec();
+    ctor public FloatSpringSpec(optional float dampingRatio, optional float stiffness, optional float visibilityThreshold);
     method public float getDampingRatio();
     method public long getDurationNanos(float initialValue, float targetValue, float initialVelocity);
     method public float getStiffness();
@@ -320,8 +318,7 @@
   }
 
   public final class FloatTweenSpec implements androidx.compose.animation.core.FloatAnimationSpec {
-    ctor public FloatTweenSpec(int duration, int delay, androidx.compose.animation.core.Easing easing);
-    ctor public FloatTweenSpec();
+    ctor public FloatTweenSpec(optional int duration, optional int delay, optional androidx.compose.animation.core.Easing easing);
     method public int getDelay();
     method public int getDuration();
     method public long getDurationNanos(float initialValue, float targetValue, float initialVelocity);
@@ -347,7 +344,7 @@
   }
 
   public final class InfiniteRepeatableSpec<T> implements androidx.compose.animation.core.AnimationSpec<T> {
-    ctor public InfiniteRepeatableSpec(androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, androidx.compose.animation.core.RepeatMode repeatMode);
+    ctor public InfiniteRepeatableSpec(androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
     method public androidx.compose.animation.core.DurationBasedAnimationSpec<T> getAnimation();
     method public androidx.compose.animation.core.RepeatMode getRepeatMode();
     method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
@@ -390,8 +387,7 @@
   }
 
   public final class ManualFrameClock implements androidx.compose.runtime.MonotonicFrameClock {
-    ctor public ManualFrameClock(long initialTime);
-    ctor public ManualFrameClock();
+    ctor public ManualFrameClock(optional long initialTime);
     method public void advanceClock(long nanos);
     method public long getCurrentTime();
     method public boolean getHasAwaiters();
@@ -419,7 +415,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class RepeatableSpec<T> implements androidx.compose.animation.core.FiniteAnimationSpec<T> {
-    ctor public RepeatableSpec(int iterations, androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, androidx.compose.animation.core.RepeatMode repeatMode);
+    ctor public RepeatableSpec(int iterations, androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
     method public androidx.compose.animation.core.DurationBasedAnimationSpec<T> getAnimation();
     method public int getIterations();
     method public androidx.compose.animation.core.RepeatMode getRepeatMode();
@@ -430,8 +426,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class SnapSpec<T> implements androidx.compose.animation.core.DurationBasedAnimationSpec<T> {
-    ctor public SnapSpec(int delay);
-    ctor public SnapSpec();
+    ctor public SnapSpec(optional int delay);
     method public int getDelay();
     method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
     property public final int delay;
@@ -457,8 +452,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class SpringSpec<T> implements androidx.compose.animation.core.FiniteAnimationSpec<T> {
-    ctor public SpringSpec(float dampingRatio, float stiffness, T? visibilityThreshold);
-    ctor public SpringSpec();
+    ctor public SpringSpec(optional float dampingRatio, optional float stiffness, optional T? visibilityThreshold);
     method public float getDampingRatio();
     method public float getStiffness();
     method public T? getVisibilityThreshold();
@@ -477,7 +471,7 @@
   }
 
   public final class TargetBasedAnimation<T, V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.Animation<T,V> {
-    ctor public TargetBasedAnimation(androidx.compose.animation.core.AnimationSpec<T> animationSpec, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, T? targetValue, V? initialVelocityVector);
+    ctor public TargetBasedAnimation(androidx.compose.animation.core.AnimationSpec<T> animationSpec, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, T? targetValue, optional V? initialVelocityVector);
     method public long getDurationNanos();
     method public T! getInitialValue();
     method public T! getTargetValue();
@@ -532,8 +526,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class TweenSpec<T> implements androidx.compose.animation.core.DurationBasedAnimationSpec<T> {
-    ctor public TweenSpec(int durationMillis, int delay, androidx.compose.animation.core.Easing easing);
-    ctor public TweenSpec();
+    ctor public TweenSpec(optional int durationMillis, optional int delay, optional androidx.compose.animation.core.Easing easing);
     method public int getDelay();
     method public int getDurationMillis();
     method public androidx.compose.animation.core.Easing getEasing();
@@ -605,7 +598,7 @@
   }
 
   public final class VectorizedInfiniteRepeatableSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedAnimationSpec<V> {
-    ctor public VectorizedInfiniteRepeatableSpec(androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> animation, androidx.compose.animation.core.RepeatMode repeatMode);
+    ctor public VectorizedInfiniteRepeatableSpec(androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
     method public long getDurationNanos(V initialValue, V targetValue, V initialVelocity);
     method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
     method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
@@ -614,7 +607,7 @@
   }
 
   public final class VectorizedKeyframesSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> {
-    ctor public VectorizedKeyframesSpec(java.util.Map<java.lang.Integer,? extends kotlin.Pair<? extends V,? extends androidx.compose.animation.core.Easing>> keyframes, int durationMillis, int delayMillis);
+    ctor public VectorizedKeyframesSpec(java.util.Map<java.lang.Integer,? extends kotlin.Pair<? extends V,? extends androidx.compose.animation.core.Easing>> keyframes, int durationMillis, optional int delayMillis);
     method public int getDelayMillis();
     method public int getDurationMillis();
     method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
@@ -624,15 +617,14 @@
   }
 
   public final class VectorizedRepeatableSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedFiniteAnimationSpec<V> {
-    ctor public VectorizedRepeatableSpec(int iterations, androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> animation, androidx.compose.animation.core.RepeatMode repeatMode);
+    ctor public VectorizedRepeatableSpec(int iterations, androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
     method public long getDurationNanos(V initialValue, V targetValue, V initialVelocity);
     method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
     method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
   }
 
   public final class VectorizedSnapSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> {
-    ctor public VectorizedSnapSpec(int delayMillis);
-    ctor public VectorizedSnapSpec();
+    ctor public VectorizedSnapSpec(optional int delayMillis);
     method public int getDelayMillis();
     method public int getDurationMillis();
     method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
@@ -642,7 +634,7 @@
   }
 
   public final class VectorizedSpringSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedFiniteAnimationSpec<V> {
-    ctor public VectorizedSpringSpec(float dampingRatio, float stiffness, V? visibilityThreshold);
+    ctor public VectorizedSpringSpec(optional float dampingRatio, optional float stiffness, optional V? visibilityThreshold);
     method public float getDampingRatio();
     method public float getStiffness();
     property public final float dampingRatio;
@@ -650,8 +642,7 @@
   }
 
   public final class VectorizedTweenSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> {
-    ctor public VectorizedTweenSpec(int durationMillis, int delayMillis, androidx.compose.animation.core.Easing easing);
-    ctor public VectorizedTweenSpec();
+    ctor public VectorizedTweenSpec(optional int durationMillis, optional int delayMillis, optional androidx.compose.animation.core.Easing easing);
     method public int getDelayMillis();
     method public int getDurationMillis();
     method public androidx.compose.animation.core.Easing getEasing();
diff --git a/compose/animation/animation-core/api/restricted_current.txt b/compose/animation/animation-core/api/restricted_current.txt
index 7df77c6..421660d 100644
--- a/compose/animation/animation-core/api/restricted_current.txt
+++ b/compose/animation/animation-core/api/restricted_current.txt
@@ -5,7 +5,7 @@
   }
 
   public final class Animatable<T, V extends androidx.compose.animation.core.AnimationVector> {
-    ctor public Animatable(T? initialValue, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? visibilityThreshold);
+    ctor public Animatable(T? initialValue, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, optional T? visibilityThreshold);
     method public suspend Object? animateDecay(T? initialVelocity, androidx.compose.animation.core.DecayAnimationSpec<T> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Animatable<T,V>,kotlin.Unit>? block, optional kotlin.coroutines.Continuation<? super androidx.compose.animation.core.AnimationResult<T,V>> p);
     method public suspend Object? animateTo(T? targetValue, optional androidx.compose.animation.core.AnimationSpec<T> animationSpec, optional T? initialVelocity, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Animatable<T,V>,kotlin.Unit>? block, optional kotlin.coroutines.Continuation<? super androidx.compose.animation.core.AnimationResult<T,V>> p);
     method public androidx.compose.runtime.State<T> asState();
@@ -122,7 +122,7 @@
   }
 
   public final class AnimationState<T, V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.runtime.State<T> {
-    ctor public AnimationState(androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, V? initialVelocityVector, long lastFrameTimeNanos, long finishedTimeNanos, boolean isRunning);
+    ctor public AnimationState(androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, optional V? initialVelocityVector, optional long lastFrameTimeNanos, optional long finishedTimeNanos, optional boolean isRunning);
     method public long getFinishedTimeNanos();
     method public long getLastFrameTimeNanos();
     method public androidx.compose.animation.core.TwoWayConverter<T,V> getTypeConverter();
@@ -297,8 +297,7 @@
   }
 
   public final class FloatExponentialDecaySpec implements androidx.compose.animation.core.FloatDecayAnimationSpec {
-    ctor public FloatExponentialDecaySpec(float frictionMultiplier, float absVelocityThreshold);
-    ctor public FloatExponentialDecaySpec();
+    ctor public FloatExponentialDecaySpec(optional float frictionMultiplier, optional float absVelocityThreshold);
     method public float getAbsVelocityThreshold();
     method public long getDurationNanos(float initialValue, float initialVelocity);
     method public float getTargetValue(float initialValue, float initialVelocity);
@@ -308,8 +307,7 @@
   }
 
   public final class FloatSpringSpec implements androidx.compose.animation.core.FloatAnimationSpec {
-    ctor public FloatSpringSpec(float dampingRatio, float stiffness, float visibilityThreshold);
-    ctor public FloatSpringSpec();
+    ctor public FloatSpringSpec(optional float dampingRatio, optional float stiffness, optional float visibilityThreshold);
     method public float getDampingRatio();
     method public long getDurationNanos(float initialValue, float targetValue, float initialVelocity);
     method public float getStiffness();
@@ -320,8 +318,7 @@
   }
 
   public final class FloatTweenSpec implements androidx.compose.animation.core.FloatAnimationSpec {
-    ctor public FloatTweenSpec(int duration, int delay, androidx.compose.animation.core.Easing easing);
-    ctor public FloatTweenSpec();
+    ctor public FloatTweenSpec(optional int duration, optional int delay, optional androidx.compose.animation.core.Easing easing);
     method public int getDelay();
     method public int getDuration();
     method public long getDurationNanos(float initialValue, float targetValue, float initialVelocity);
@@ -347,7 +344,7 @@
   }
 
   public final class InfiniteRepeatableSpec<T> implements androidx.compose.animation.core.AnimationSpec<T> {
-    ctor public InfiniteRepeatableSpec(androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, androidx.compose.animation.core.RepeatMode repeatMode);
+    ctor public InfiniteRepeatableSpec(androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
     method public androidx.compose.animation.core.DurationBasedAnimationSpec<T> getAnimation();
     method public androidx.compose.animation.core.RepeatMode getRepeatMode();
     method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
@@ -390,8 +387,7 @@
   }
 
   public final class ManualFrameClock implements androidx.compose.runtime.MonotonicFrameClock {
-    ctor public ManualFrameClock(long initialTime);
-    ctor public ManualFrameClock();
+    ctor public ManualFrameClock(optional long initialTime);
     method public void advanceClock(long nanos);
     method public long getCurrentTime();
     method public boolean getHasAwaiters();
@@ -419,7 +415,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class RepeatableSpec<T> implements androidx.compose.animation.core.FiniteAnimationSpec<T> {
-    ctor public RepeatableSpec(int iterations, androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, androidx.compose.animation.core.RepeatMode repeatMode);
+    ctor public RepeatableSpec(int iterations, androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
     method public androidx.compose.animation.core.DurationBasedAnimationSpec<T> getAnimation();
     method public int getIterations();
     method public androidx.compose.animation.core.RepeatMode getRepeatMode();
@@ -430,8 +426,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class SnapSpec<T> implements androidx.compose.animation.core.DurationBasedAnimationSpec<T> {
-    ctor public SnapSpec(int delay);
-    ctor public SnapSpec();
+    ctor public SnapSpec(optional int delay);
     method public int getDelay();
     method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
     property public final int delay;
@@ -457,8 +452,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class SpringSpec<T> implements androidx.compose.animation.core.FiniteAnimationSpec<T> {
-    ctor public SpringSpec(float dampingRatio, float stiffness, T? visibilityThreshold);
-    ctor public SpringSpec();
+    ctor public SpringSpec(optional float dampingRatio, optional float stiffness, optional T? visibilityThreshold);
     method public float getDampingRatio();
     method public float getStiffness();
     method public T? getVisibilityThreshold();
@@ -477,7 +471,7 @@
   }
 
   public final class TargetBasedAnimation<T, V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.Animation<T,V> {
-    ctor public TargetBasedAnimation(androidx.compose.animation.core.AnimationSpec<T> animationSpec, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, T? targetValue, V? initialVelocityVector);
+    ctor public TargetBasedAnimation(androidx.compose.animation.core.AnimationSpec<T> animationSpec, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, T? targetValue, optional V? initialVelocityVector);
     method public long getDurationNanos();
     method public T! getInitialValue();
     method public T! getTargetValue();
@@ -532,8 +526,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class TweenSpec<T> implements androidx.compose.animation.core.DurationBasedAnimationSpec<T> {
-    ctor public TweenSpec(int durationMillis, int delay, androidx.compose.animation.core.Easing easing);
-    ctor public TweenSpec();
+    ctor public TweenSpec(optional int durationMillis, optional int delay, optional androidx.compose.animation.core.Easing easing);
     method public int getDelay();
     method public int getDurationMillis();
     method public androidx.compose.animation.core.Easing getEasing();
@@ -605,7 +598,7 @@
   }
 
   public final class VectorizedInfiniteRepeatableSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedAnimationSpec<V> {
-    ctor public VectorizedInfiniteRepeatableSpec(androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> animation, androidx.compose.animation.core.RepeatMode repeatMode);
+    ctor public VectorizedInfiniteRepeatableSpec(androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
     method public long getDurationNanos(V initialValue, V targetValue, V initialVelocity);
     method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
     method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
@@ -614,7 +607,7 @@
   }
 
   public final class VectorizedKeyframesSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> {
-    ctor public VectorizedKeyframesSpec(java.util.Map<java.lang.Integer,? extends kotlin.Pair<? extends V,? extends androidx.compose.animation.core.Easing>> keyframes, int durationMillis, int delayMillis);
+    ctor public VectorizedKeyframesSpec(java.util.Map<java.lang.Integer,? extends kotlin.Pair<? extends V,? extends androidx.compose.animation.core.Easing>> keyframes, int durationMillis, optional int delayMillis);
     method public int getDelayMillis();
     method public int getDurationMillis();
     method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
@@ -624,15 +617,14 @@
   }
 
   public final class VectorizedRepeatableSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedFiniteAnimationSpec<V> {
-    ctor public VectorizedRepeatableSpec(int iterations, androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> animation, androidx.compose.animation.core.RepeatMode repeatMode);
+    ctor public VectorizedRepeatableSpec(int iterations, androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
     method public long getDurationNanos(V initialValue, V targetValue, V initialVelocity);
     method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
     method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
   }
 
   public final class VectorizedSnapSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> {
-    ctor public VectorizedSnapSpec(int delayMillis);
-    ctor public VectorizedSnapSpec();
+    ctor public VectorizedSnapSpec(optional int delayMillis);
     method public int getDelayMillis();
     method public int getDurationMillis();
     method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
@@ -642,7 +634,7 @@
   }
 
   public final class VectorizedSpringSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedFiniteAnimationSpec<V> {
-    ctor public VectorizedSpringSpec(float dampingRatio, float stiffness, V? visibilityThreshold);
+    ctor public VectorizedSpringSpec(optional float dampingRatio, optional float stiffness, optional V? visibilityThreshold);
     method public float getDampingRatio();
     method public float getStiffness();
     property public final float dampingRatio;
@@ -650,8 +642,7 @@
   }
 
   public final class VectorizedTweenSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> {
-    ctor public VectorizedTweenSpec(int durationMillis, int delayMillis, androidx.compose.animation.core.Easing easing);
-    ctor public VectorizedTweenSpec();
+    ctor public VectorizedTweenSpec(optional int durationMillis, optional int delayMillis, optional androidx.compose.animation.core.Easing easing);
     method public int getDelayMillis();
     method public int getDurationMillis();
     method public androidx.compose.animation.core.Easing getEasing();
diff --git a/compose/animation/animation/api/api_lint.ignore b/compose/animation/animation/api/api_lint.ignore
deleted file mode 100644
index a57ef99..0000000
--- a/compose/animation/animation/api/api_lint.ignore
+++ /dev/null
@@ -1,7 +0,0 @@
-// Baseline format: 1.0
-AutoBoxing: androidx.compose.animation.AnimatedFloatModel#getValue():
-    Must avoid boxed primitives (`java.lang.Float`)
-
-
-MissingNullability: androidx.compose.animation.AnimatedFloatModel#getValue():
-    Missing nullability on method `getValue` return
diff --git a/compose/foundation/foundation-layout/api/api_lint.ignore b/compose/foundation/foundation-layout/api/api_lint.ignore
deleted file mode 100644
index 4f85c43..0000000
--- a/compose/foundation/foundation-layout/api/api_lint.ignore
+++ /dev/null
@@ -1,3 +0,0 @@
-// Baseline format: 1.0
-MutableBareField: androidx.compose.foundation.layout.State#layoutDirection:
-    Bare field layoutDirection must be marked final, or moved behind accessors if mutable
diff --git a/compose/foundation/foundation/api/1.0.0-beta02.txt b/compose/foundation/foundation/api/1.0.0-beta02.txt
index a41db302..f442eea 100644
--- a/compose/foundation/foundation/api/1.0.0-beta02.txt
+++ b/compose/foundation/foundation/api/1.0.0-beta02.txt
@@ -163,8 +163,7 @@
   }
 
   public final class GestureCancellationException extends java.util.concurrent.CancellationException {
-    ctor public GestureCancellationException(String? message);
-    ctor public GestureCancellationException();
+    ctor public GestureCancellationException(optional String? message);
   }
 
   public enum Orientation {
@@ -421,8 +420,7 @@
   }
 
   @androidx.compose.runtime.Stable public final class LazyListState implements androidx.compose.foundation.gestures.ScrollableState {
-    ctor public LazyListState(int firstVisibleItemIndex, int firstVisibleItemScrollOffset);
-    ctor public LazyListState();
+    ctor public LazyListState(optional int firstVisibleItemIndex, optional int firstVisibleItemScrollOffset);
     method public suspend Object? animateScrollToItem(int index, optional int scrollOffset, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public float dispatchRawDelta(float delta);
     method public int getFirstVisibleItemIndex();
@@ -633,8 +631,7 @@
   }
 
   public final class KeyboardActions {
-    ctor public KeyboardActions(kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onDone, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onGo, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onNext, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onPrevious, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSearch, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSend);
-    ctor public KeyboardActions();
+    ctor public KeyboardActions(optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onDone, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onGo, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onNext, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onPrevious, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSearch, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSend);
     method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnDone();
     method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnGo();
     method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnNext();
@@ -660,8 +657,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class KeyboardOptions {
-    ctor public KeyboardOptions(androidx.compose.ui.text.input.KeyboardCapitalization capitalization, boolean autoCorrect, androidx.compose.ui.text.input.KeyboardType keyboardType, androidx.compose.ui.text.input.ImeAction imeAction);
-    ctor public KeyboardOptions();
+    ctor public KeyboardOptions(optional androidx.compose.ui.text.input.KeyboardCapitalization capitalization, optional boolean autoCorrect, optional androidx.compose.ui.text.input.KeyboardType keyboardType, optional androidx.compose.ui.text.input.ImeAction imeAction);
     method public androidx.compose.foundation.text.KeyboardOptions copy(optional androidx.compose.ui.text.input.KeyboardCapitalization capitalization, optional boolean autoCorrect, optional androidx.compose.ui.text.input.KeyboardType keyboardType, optional androidx.compose.ui.text.input.ImeAction imeAction);
     method public boolean getAutoCorrect();
     method public androidx.compose.ui.text.input.KeyboardCapitalization getCapitalization();
diff --git a/compose/foundation/foundation/api/current.txt b/compose/foundation/foundation/api/current.txt
index a41db302..f442eea 100644
--- a/compose/foundation/foundation/api/current.txt
+++ b/compose/foundation/foundation/api/current.txt
@@ -163,8 +163,7 @@
   }
 
   public final class GestureCancellationException extends java.util.concurrent.CancellationException {
-    ctor public GestureCancellationException(String? message);
-    ctor public GestureCancellationException();
+    ctor public GestureCancellationException(optional String? message);
   }
 
   public enum Orientation {
@@ -421,8 +420,7 @@
   }
 
   @androidx.compose.runtime.Stable public final class LazyListState implements androidx.compose.foundation.gestures.ScrollableState {
-    ctor public LazyListState(int firstVisibleItemIndex, int firstVisibleItemScrollOffset);
-    ctor public LazyListState();
+    ctor public LazyListState(optional int firstVisibleItemIndex, optional int firstVisibleItemScrollOffset);
     method public suspend Object? animateScrollToItem(int index, optional int scrollOffset, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public float dispatchRawDelta(float delta);
     method public int getFirstVisibleItemIndex();
@@ -633,8 +631,7 @@
   }
 
   public final class KeyboardActions {
-    ctor public KeyboardActions(kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onDone, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onGo, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onNext, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onPrevious, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSearch, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSend);
-    ctor public KeyboardActions();
+    ctor public KeyboardActions(optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onDone, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onGo, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onNext, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onPrevious, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSearch, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSend);
     method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnDone();
     method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnGo();
     method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnNext();
@@ -660,8 +657,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class KeyboardOptions {
-    ctor public KeyboardOptions(androidx.compose.ui.text.input.KeyboardCapitalization capitalization, boolean autoCorrect, androidx.compose.ui.text.input.KeyboardType keyboardType, androidx.compose.ui.text.input.ImeAction imeAction);
-    ctor public KeyboardOptions();
+    ctor public KeyboardOptions(optional androidx.compose.ui.text.input.KeyboardCapitalization capitalization, optional boolean autoCorrect, optional androidx.compose.ui.text.input.KeyboardType keyboardType, optional androidx.compose.ui.text.input.ImeAction imeAction);
     method public androidx.compose.foundation.text.KeyboardOptions copy(optional androidx.compose.ui.text.input.KeyboardCapitalization capitalization, optional boolean autoCorrect, optional androidx.compose.ui.text.input.KeyboardType keyboardType, optional androidx.compose.ui.text.input.ImeAction imeAction);
     method public boolean getAutoCorrect();
     method public androidx.compose.ui.text.input.KeyboardCapitalization getCapitalization();
diff --git a/compose/foundation/foundation/api/public_plus_experimental_1.0.0-beta02.txt b/compose/foundation/foundation/api/public_plus_experimental_1.0.0-beta02.txt
index a41db302..f442eea 100644
--- a/compose/foundation/foundation/api/public_plus_experimental_1.0.0-beta02.txt
+++ b/compose/foundation/foundation/api/public_plus_experimental_1.0.0-beta02.txt
@@ -163,8 +163,7 @@
   }
 
   public final class GestureCancellationException extends java.util.concurrent.CancellationException {
-    ctor public GestureCancellationException(String? message);
-    ctor public GestureCancellationException();
+    ctor public GestureCancellationException(optional String? message);
   }
 
   public enum Orientation {
@@ -421,8 +420,7 @@
   }
 
   @androidx.compose.runtime.Stable public final class LazyListState implements androidx.compose.foundation.gestures.ScrollableState {
-    ctor public LazyListState(int firstVisibleItemIndex, int firstVisibleItemScrollOffset);
-    ctor public LazyListState();
+    ctor public LazyListState(optional int firstVisibleItemIndex, optional int firstVisibleItemScrollOffset);
     method public suspend Object? animateScrollToItem(int index, optional int scrollOffset, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public float dispatchRawDelta(float delta);
     method public int getFirstVisibleItemIndex();
@@ -633,8 +631,7 @@
   }
 
   public final class KeyboardActions {
-    ctor public KeyboardActions(kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onDone, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onGo, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onNext, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onPrevious, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSearch, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSend);
-    ctor public KeyboardActions();
+    ctor public KeyboardActions(optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onDone, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onGo, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onNext, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onPrevious, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSearch, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSend);
     method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnDone();
     method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnGo();
     method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnNext();
@@ -660,8 +657,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class KeyboardOptions {
-    ctor public KeyboardOptions(androidx.compose.ui.text.input.KeyboardCapitalization capitalization, boolean autoCorrect, androidx.compose.ui.text.input.KeyboardType keyboardType, androidx.compose.ui.text.input.ImeAction imeAction);
-    ctor public KeyboardOptions();
+    ctor public KeyboardOptions(optional androidx.compose.ui.text.input.KeyboardCapitalization capitalization, optional boolean autoCorrect, optional androidx.compose.ui.text.input.KeyboardType keyboardType, optional androidx.compose.ui.text.input.ImeAction imeAction);
     method public androidx.compose.foundation.text.KeyboardOptions copy(optional androidx.compose.ui.text.input.KeyboardCapitalization capitalization, optional boolean autoCorrect, optional androidx.compose.ui.text.input.KeyboardType keyboardType, optional androidx.compose.ui.text.input.ImeAction imeAction);
     method public boolean getAutoCorrect();
     method public androidx.compose.ui.text.input.KeyboardCapitalization getCapitalization();
diff --git a/compose/foundation/foundation/api/public_plus_experimental_current.txt b/compose/foundation/foundation/api/public_plus_experimental_current.txt
index a41db302..f442eea 100644
--- a/compose/foundation/foundation/api/public_plus_experimental_current.txt
+++ b/compose/foundation/foundation/api/public_plus_experimental_current.txt
@@ -163,8 +163,7 @@
   }
 
   public final class GestureCancellationException extends java.util.concurrent.CancellationException {
-    ctor public GestureCancellationException(String? message);
-    ctor public GestureCancellationException();
+    ctor public GestureCancellationException(optional String? message);
   }
 
   public enum Orientation {
@@ -421,8 +420,7 @@
   }
 
   @androidx.compose.runtime.Stable public final class LazyListState implements androidx.compose.foundation.gestures.ScrollableState {
-    ctor public LazyListState(int firstVisibleItemIndex, int firstVisibleItemScrollOffset);
-    ctor public LazyListState();
+    ctor public LazyListState(optional int firstVisibleItemIndex, optional int firstVisibleItemScrollOffset);
     method public suspend Object? animateScrollToItem(int index, optional int scrollOffset, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public float dispatchRawDelta(float delta);
     method public int getFirstVisibleItemIndex();
@@ -633,8 +631,7 @@
   }
 
   public final class KeyboardActions {
-    ctor public KeyboardActions(kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onDone, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onGo, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onNext, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onPrevious, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSearch, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSend);
-    ctor public KeyboardActions();
+    ctor public KeyboardActions(optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onDone, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onGo, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onNext, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onPrevious, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSearch, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSend);
     method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnDone();
     method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnGo();
     method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnNext();
@@ -660,8 +657,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class KeyboardOptions {
-    ctor public KeyboardOptions(androidx.compose.ui.text.input.KeyboardCapitalization capitalization, boolean autoCorrect, androidx.compose.ui.text.input.KeyboardType keyboardType, androidx.compose.ui.text.input.ImeAction imeAction);
-    ctor public KeyboardOptions();
+    ctor public KeyboardOptions(optional androidx.compose.ui.text.input.KeyboardCapitalization capitalization, optional boolean autoCorrect, optional androidx.compose.ui.text.input.KeyboardType keyboardType, optional androidx.compose.ui.text.input.ImeAction imeAction);
     method public androidx.compose.foundation.text.KeyboardOptions copy(optional androidx.compose.ui.text.input.KeyboardCapitalization capitalization, optional boolean autoCorrect, optional androidx.compose.ui.text.input.KeyboardType keyboardType, optional androidx.compose.ui.text.input.ImeAction imeAction);
     method public boolean getAutoCorrect();
     method public androidx.compose.ui.text.input.KeyboardCapitalization getCapitalization();
diff --git a/compose/foundation/foundation/api/restricted_1.0.0-beta02.txt b/compose/foundation/foundation/api/restricted_1.0.0-beta02.txt
index a41db302..f442eea 100644
--- a/compose/foundation/foundation/api/restricted_1.0.0-beta02.txt
+++ b/compose/foundation/foundation/api/restricted_1.0.0-beta02.txt
@@ -163,8 +163,7 @@
   }
 
   public final class GestureCancellationException extends java.util.concurrent.CancellationException {
-    ctor public GestureCancellationException(String? message);
-    ctor public GestureCancellationException();
+    ctor public GestureCancellationException(optional String? message);
   }
 
   public enum Orientation {
@@ -421,8 +420,7 @@
   }
 
   @androidx.compose.runtime.Stable public final class LazyListState implements androidx.compose.foundation.gestures.ScrollableState {
-    ctor public LazyListState(int firstVisibleItemIndex, int firstVisibleItemScrollOffset);
-    ctor public LazyListState();
+    ctor public LazyListState(optional int firstVisibleItemIndex, optional int firstVisibleItemScrollOffset);
     method public suspend Object? animateScrollToItem(int index, optional int scrollOffset, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public float dispatchRawDelta(float delta);
     method public int getFirstVisibleItemIndex();
@@ -633,8 +631,7 @@
   }
 
   public final class KeyboardActions {
-    ctor public KeyboardActions(kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onDone, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onGo, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onNext, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onPrevious, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSearch, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSend);
-    ctor public KeyboardActions();
+    ctor public KeyboardActions(optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onDone, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onGo, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onNext, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onPrevious, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSearch, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSend);
     method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnDone();
     method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnGo();
     method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnNext();
@@ -660,8 +657,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class KeyboardOptions {
-    ctor public KeyboardOptions(androidx.compose.ui.text.input.KeyboardCapitalization capitalization, boolean autoCorrect, androidx.compose.ui.text.input.KeyboardType keyboardType, androidx.compose.ui.text.input.ImeAction imeAction);
-    ctor public KeyboardOptions();
+    ctor public KeyboardOptions(optional androidx.compose.ui.text.input.KeyboardCapitalization capitalization, optional boolean autoCorrect, optional androidx.compose.ui.text.input.KeyboardType keyboardType, optional androidx.compose.ui.text.input.ImeAction imeAction);
     method public androidx.compose.foundation.text.KeyboardOptions copy(optional androidx.compose.ui.text.input.KeyboardCapitalization capitalization, optional boolean autoCorrect, optional androidx.compose.ui.text.input.KeyboardType keyboardType, optional androidx.compose.ui.text.input.ImeAction imeAction);
     method public boolean getAutoCorrect();
     method public androidx.compose.ui.text.input.KeyboardCapitalization getCapitalization();
diff --git a/compose/foundation/foundation/api/restricted_current.txt b/compose/foundation/foundation/api/restricted_current.txt
index a41db302..f442eea 100644
--- a/compose/foundation/foundation/api/restricted_current.txt
+++ b/compose/foundation/foundation/api/restricted_current.txt
@@ -163,8 +163,7 @@
   }
 
   public final class GestureCancellationException extends java.util.concurrent.CancellationException {
-    ctor public GestureCancellationException(String? message);
-    ctor public GestureCancellationException();
+    ctor public GestureCancellationException(optional String? message);
   }
 
   public enum Orientation {
@@ -421,8 +420,7 @@
   }
 
   @androidx.compose.runtime.Stable public final class LazyListState implements androidx.compose.foundation.gestures.ScrollableState {
-    ctor public LazyListState(int firstVisibleItemIndex, int firstVisibleItemScrollOffset);
-    ctor public LazyListState();
+    ctor public LazyListState(optional int firstVisibleItemIndex, optional int firstVisibleItemScrollOffset);
     method public suspend Object? animateScrollToItem(int index, optional int scrollOffset, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public float dispatchRawDelta(float delta);
     method public int getFirstVisibleItemIndex();
@@ -633,8 +631,7 @@
   }
 
   public final class KeyboardActions {
-    ctor public KeyboardActions(kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onDone, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onGo, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onNext, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onPrevious, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSearch, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSend);
-    ctor public KeyboardActions();
+    ctor public KeyboardActions(optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onDone, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onGo, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onNext, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onPrevious, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSearch, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSend);
     method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnDone();
     method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnGo();
     method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnNext();
@@ -660,8 +657,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class KeyboardOptions {
-    ctor public KeyboardOptions(androidx.compose.ui.text.input.KeyboardCapitalization capitalization, boolean autoCorrect, androidx.compose.ui.text.input.KeyboardType keyboardType, androidx.compose.ui.text.input.ImeAction imeAction);
-    ctor public KeyboardOptions();
+    ctor public KeyboardOptions(optional androidx.compose.ui.text.input.KeyboardCapitalization capitalization, optional boolean autoCorrect, optional androidx.compose.ui.text.input.KeyboardType keyboardType, optional androidx.compose.ui.text.input.ImeAction imeAction);
     method public androidx.compose.foundation.text.KeyboardOptions copy(optional androidx.compose.ui.text.input.KeyboardCapitalization capitalization, optional boolean autoCorrect, optional androidx.compose.ui.text.input.KeyboardType keyboardType, optional androidx.compose.ui.text.input.ImeAction imeAction);
     method public boolean getAutoCorrect();
     method public androidx.compose.ui.text.input.KeyboardCapitalization getCapitalization();
diff --git a/compose/material/material/api/1.0.0-beta02.txt b/compose/material/material/api/1.0.0-beta02.txt
index 041d5bf10..72bd10a 100644
--- a/compose/material/material/api/1.0.0-beta02.txt
+++ b/compose/material/material/api/1.0.0-beta02.txt
@@ -50,7 +50,7 @@
   }
 
   @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Stable public final class BackdropScaffoldState extends androidx.compose.material.SwipeableState<androidx.compose.material.BackdropValue> {
-    ctor public BackdropScaffoldState(androidx.compose.material.BackdropValue initialValue, androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function1<? super androidx.compose.material.BackdropValue,java.lang.Boolean> confirmStateChange, androidx.compose.material.SnackbarHostState snackbarHostState);
+    ctor public BackdropScaffoldState(androidx.compose.material.BackdropValue initialValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.BackdropValue,java.lang.Boolean> confirmStateChange, optional androidx.compose.material.SnackbarHostState snackbarHostState);
     method public suspend Object? conceal(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public androidx.compose.material.SnackbarHostState getSnackbarHostState();
     method public boolean isConcealed();
@@ -72,7 +72,7 @@
   }
 
   public final class BottomDrawerState extends androidx.compose.material.SwipeableState<androidx.compose.material.BottomDrawerValue> {
-    ctor public BottomDrawerState(androidx.compose.material.BottomDrawerValue initialValue, kotlin.jvm.functions.Function1<? super androidx.compose.material.BottomDrawerValue,java.lang.Boolean> confirmStateChange);
+    ctor public BottomDrawerState(androidx.compose.material.BottomDrawerValue initialValue, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.BottomDrawerValue,java.lang.Boolean> confirmStateChange);
     method public suspend Object? close(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public suspend Object? expand(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public boolean isClosed();
@@ -131,7 +131,7 @@
   }
 
   @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Stable public final class BottomSheetState extends androidx.compose.material.SwipeableState<androidx.compose.material.BottomSheetValue> {
-    ctor public BottomSheetState(androidx.compose.material.BottomSheetValue initialValue, androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function1<? super androidx.compose.material.BottomSheetValue,java.lang.Boolean> confirmStateChange);
+    ctor public BottomSheetState(androidx.compose.material.BottomSheetValue initialValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.BottomSheetValue,java.lang.Boolean> confirmStateChange);
     method public suspend Object? collapse(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public suspend Object? expand(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public boolean isCollapsed();
@@ -272,7 +272,7 @@
   }
 
   @androidx.compose.material.ExperimentalMaterialApi public final class DismissState extends androidx.compose.material.SwipeableState<androidx.compose.material.DismissValue> {
-    ctor public DismissState(androidx.compose.material.DismissValue initialValue, kotlin.jvm.functions.Function1<? super androidx.compose.material.DismissValue,java.lang.Boolean> confirmStateChange);
+    ctor public DismissState(androidx.compose.material.DismissValue initialValue, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.DismissValue,java.lang.Boolean> confirmStateChange);
     method public suspend Object? dismiss(androidx.compose.material.DismissDirection direction, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public androidx.compose.material.DismissDirection? getDismissDirection();
     method public boolean isDismissed(androidx.compose.material.DismissDirection direction);
@@ -312,7 +312,7 @@
   }
 
   @androidx.compose.runtime.Stable public final class DrawerState extends androidx.compose.material.SwipeableState<androidx.compose.material.DrawerValue> {
-    ctor public DrawerState(androidx.compose.material.DrawerValue initialValue, kotlin.jvm.functions.Function1<? super androidx.compose.material.DrawerValue,java.lang.Boolean> confirmStateChange);
+    ctor public DrawerState(androidx.compose.material.DrawerValue initialValue, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.DrawerValue,java.lang.Boolean> confirmStateChange);
     method public suspend Object? close(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public boolean isClosed();
     method public boolean isOpen();
@@ -431,7 +431,7 @@
   }
 
   @androidx.compose.material.ExperimentalMaterialApi public final class ModalBottomSheetState extends androidx.compose.material.SwipeableState<androidx.compose.material.ModalBottomSheetValue> {
-    ctor public ModalBottomSheetState(androidx.compose.material.ModalBottomSheetValue initialValue, androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function1<? super androidx.compose.material.ModalBottomSheetValue,java.lang.Boolean> confirmStateChange);
+    ctor public ModalBottomSheetState(androidx.compose.material.ModalBottomSheetValue initialValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.ModalBottomSheetValue,java.lang.Boolean> confirmStateChange);
     method public suspend Object? hide(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public boolean isVisible();
     method public suspend Object? show(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
@@ -484,7 +484,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class ResistanceConfig {
-    ctor public ResistanceConfig(float basis, float factorAtMin, float factorAtMax);
+    ctor public ResistanceConfig(float basis, optional float factorAtMin, optional float factorAtMax);
     method public float computeResistance(float overflow);
     method public float getBasis();
     method public float getFactorAtMax();
@@ -508,8 +508,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class Shapes {
-    ctor public Shapes(androidx.compose.foundation.shape.CornerBasedShape small, androidx.compose.foundation.shape.CornerBasedShape medium, androidx.compose.foundation.shape.CornerBasedShape large);
-    ctor public Shapes();
+    ctor public Shapes(optional androidx.compose.foundation.shape.CornerBasedShape small, optional androidx.compose.foundation.shape.CornerBasedShape medium, optional androidx.compose.foundation.shape.CornerBasedShape large);
     method public androidx.compose.material.Shapes copy(optional androidx.compose.foundation.shape.CornerBasedShape small, optional androidx.compose.foundation.shape.CornerBasedShape medium, optional androidx.compose.foundation.shape.CornerBasedShape large);
     method public androidx.compose.foundation.shape.CornerBasedShape getLarge();
     method public androidx.compose.foundation.shape.CornerBasedShape getMedium();
@@ -624,7 +623,7 @@
   }
 
   @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Stable public class SwipeableState<T> {
-    ctor public SwipeableState(T? initialValue, androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> confirmStateChange);
+    ctor public SwipeableState(T? initialValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> confirmStateChange);
     method @androidx.compose.material.ExperimentalMaterialApi public final suspend Object? animateTo(T? targetValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> anim, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public final T! getCurrentValue();
     method public final float getDirection();
@@ -741,7 +740,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class Typography {
-    ctor public Typography(androidx.compose.ui.text.font.FontFamily defaultFontFamily, androidx.compose.ui.text.TextStyle h1, androidx.compose.ui.text.TextStyle h2, androidx.compose.ui.text.TextStyle h3, androidx.compose.ui.text.TextStyle h4, androidx.compose.ui.text.TextStyle h5, androidx.compose.ui.text.TextStyle h6, androidx.compose.ui.text.TextStyle subtitle1, androidx.compose.ui.text.TextStyle subtitle2, androidx.compose.ui.text.TextStyle body1, androidx.compose.ui.text.TextStyle body2, androidx.compose.ui.text.TextStyle button, androidx.compose.ui.text.TextStyle caption, androidx.compose.ui.text.TextStyle overline);
+    ctor public Typography(optional androidx.compose.ui.text.font.FontFamily defaultFontFamily, optional androidx.compose.ui.text.TextStyle h1, optional androidx.compose.ui.text.TextStyle h2, optional androidx.compose.ui.text.TextStyle h3, optional androidx.compose.ui.text.TextStyle h4, optional androidx.compose.ui.text.TextStyle h5, optional androidx.compose.ui.text.TextStyle h6, optional androidx.compose.ui.text.TextStyle subtitle1, optional androidx.compose.ui.text.TextStyle subtitle2, optional androidx.compose.ui.text.TextStyle body1, optional androidx.compose.ui.text.TextStyle body2, optional androidx.compose.ui.text.TextStyle button, optional androidx.compose.ui.text.TextStyle caption, optional androidx.compose.ui.text.TextStyle overline);
     method public androidx.compose.material.Typography copy(optional androidx.compose.ui.text.TextStyle h1, optional androidx.compose.ui.text.TextStyle h2, optional androidx.compose.ui.text.TextStyle h3, optional androidx.compose.ui.text.TextStyle h4, optional androidx.compose.ui.text.TextStyle h5, optional androidx.compose.ui.text.TextStyle h6, optional androidx.compose.ui.text.TextStyle subtitle1, optional androidx.compose.ui.text.TextStyle subtitle2, optional androidx.compose.ui.text.TextStyle body1, optional androidx.compose.ui.text.TextStyle body2, optional androidx.compose.ui.text.TextStyle button, optional androidx.compose.ui.text.TextStyle caption, optional androidx.compose.ui.text.TextStyle overline);
     method public androidx.compose.ui.text.TextStyle getBody1();
     method public androidx.compose.ui.text.TextStyle getBody2();
diff --git a/compose/material/material/api/current.txt b/compose/material/material/api/current.txt
index 041d5bf10..72bd10a 100644
--- a/compose/material/material/api/current.txt
+++ b/compose/material/material/api/current.txt
@@ -50,7 +50,7 @@
   }
 
   @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Stable public final class BackdropScaffoldState extends androidx.compose.material.SwipeableState<androidx.compose.material.BackdropValue> {
-    ctor public BackdropScaffoldState(androidx.compose.material.BackdropValue initialValue, androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function1<? super androidx.compose.material.BackdropValue,java.lang.Boolean> confirmStateChange, androidx.compose.material.SnackbarHostState snackbarHostState);
+    ctor public BackdropScaffoldState(androidx.compose.material.BackdropValue initialValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.BackdropValue,java.lang.Boolean> confirmStateChange, optional androidx.compose.material.SnackbarHostState snackbarHostState);
     method public suspend Object? conceal(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public androidx.compose.material.SnackbarHostState getSnackbarHostState();
     method public boolean isConcealed();
@@ -72,7 +72,7 @@
   }
 
   public final class BottomDrawerState extends androidx.compose.material.SwipeableState<androidx.compose.material.BottomDrawerValue> {
-    ctor public BottomDrawerState(androidx.compose.material.BottomDrawerValue initialValue, kotlin.jvm.functions.Function1<? super androidx.compose.material.BottomDrawerValue,java.lang.Boolean> confirmStateChange);
+    ctor public BottomDrawerState(androidx.compose.material.BottomDrawerValue initialValue, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.BottomDrawerValue,java.lang.Boolean> confirmStateChange);
     method public suspend Object? close(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public suspend Object? expand(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public boolean isClosed();
@@ -131,7 +131,7 @@
   }
 
   @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Stable public final class BottomSheetState extends androidx.compose.material.SwipeableState<androidx.compose.material.BottomSheetValue> {
-    ctor public BottomSheetState(androidx.compose.material.BottomSheetValue initialValue, androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function1<? super androidx.compose.material.BottomSheetValue,java.lang.Boolean> confirmStateChange);
+    ctor public BottomSheetState(androidx.compose.material.BottomSheetValue initialValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.BottomSheetValue,java.lang.Boolean> confirmStateChange);
     method public suspend Object? collapse(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public suspend Object? expand(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public boolean isCollapsed();
@@ -272,7 +272,7 @@
   }
 
   @androidx.compose.material.ExperimentalMaterialApi public final class DismissState extends androidx.compose.material.SwipeableState<androidx.compose.material.DismissValue> {
-    ctor public DismissState(androidx.compose.material.DismissValue initialValue, kotlin.jvm.functions.Function1<? super androidx.compose.material.DismissValue,java.lang.Boolean> confirmStateChange);
+    ctor public DismissState(androidx.compose.material.DismissValue initialValue, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.DismissValue,java.lang.Boolean> confirmStateChange);
     method public suspend Object? dismiss(androidx.compose.material.DismissDirection direction, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public androidx.compose.material.DismissDirection? getDismissDirection();
     method public boolean isDismissed(androidx.compose.material.DismissDirection direction);
@@ -312,7 +312,7 @@
   }
 
   @androidx.compose.runtime.Stable public final class DrawerState extends androidx.compose.material.SwipeableState<androidx.compose.material.DrawerValue> {
-    ctor public DrawerState(androidx.compose.material.DrawerValue initialValue, kotlin.jvm.functions.Function1<? super androidx.compose.material.DrawerValue,java.lang.Boolean> confirmStateChange);
+    ctor public DrawerState(androidx.compose.material.DrawerValue initialValue, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.DrawerValue,java.lang.Boolean> confirmStateChange);
     method public suspend Object? close(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public boolean isClosed();
     method public boolean isOpen();
@@ -431,7 +431,7 @@
   }
 
   @androidx.compose.material.ExperimentalMaterialApi public final class ModalBottomSheetState extends androidx.compose.material.SwipeableState<androidx.compose.material.ModalBottomSheetValue> {
-    ctor public ModalBottomSheetState(androidx.compose.material.ModalBottomSheetValue initialValue, androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function1<? super androidx.compose.material.ModalBottomSheetValue,java.lang.Boolean> confirmStateChange);
+    ctor public ModalBottomSheetState(androidx.compose.material.ModalBottomSheetValue initialValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.ModalBottomSheetValue,java.lang.Boolean> confirmStateChange);
     method public suspend Object? hide(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public boolean isVisible();
     method public suspend Object? show(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
@@ -484,7 +484,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class ResistanceConfig {
-    ctor public ResistanceConfig(float basis, float factorAtMin, float factorAtMax);
+    ctor public ResistanceConfig(float basis, optional float factorAtMin, optional float factorAtMax);
     method public float computeResistance(float overflow);
     method public float getBasis();
     method public float getFactorAtMax();
@@ -508,8 +508,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class Shapes {
-    ctor public Shapes(androidx.compose.foundation.shape.CornerBasedShape small, androidx.compose.foundation.shape.CornerBasedShape medium, androidx.compose.foundation.shape.CornerBasedShape large);
-    ctor public Shapes();
+    ctor public Shapes(optional androidx.compose.foundation.shape.CornerBasedShape small, optional androidx.compose.foundation.shape.CornerBasedShape medium, optional androidx.compose.foundation.shape.CornerBasedShape large);
     method public androidx.compose.material.Shapes copy(optional androidx.compose.foundation.shape.CornerBasedShape small, optional androidx.compose.foundation.shape.CornerBasedShape medium, optional androidx.compose.foundation.shape.CornerBasedShape large);
     method public androidx.compose.foundation.shape.CornerBasedShape getLarge();
     method public androidx.compose.foundation.shape.CornerBasedShape getMedium();
@@ -624,7 +623,7 @@
   }
 
   @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Stable public class SwipeableState<T> {
-    ctor public SwipeableState(T? initialValue, androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> confirmStateChange);
+    ctor public SwipeableState(T? initialValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> confirmStateChange);
     method @androidx.compose.material.ExperimentalMaterialApi public final suspend Object? animateTo(T? targetValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> anim, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public final T! getCurrentValue();
     method public final float getDirection();
@@ -741,7 +740,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class Typography {
-    ctor public Typography(androidx.compose.ui.text.font.FontFamily defaultFontFamily, androidx.compose.ui.text.TextStyle h1, androidx.compose.ui.text.TextStyle h2, androidx.compose.ui.text.TextStyle h3, androidx.compose.ui.text.TextStyle h4, androidx.compose.ui.text.TextStyle h5, androidx.compose.ui.text.TextStyle h6, androidx.compose.ui.text.TextStyle subtitle1, androidx.compose.ui.text.TextStyle subtitle2, androidx.compose.ui.text.TextStyle body1, androidx.compose.ui.text.TextStyle body2, androidx.compose.ui.text.TextStyle button, androidx.compose.ui.text.TextStyle caption, androidx.compose.ui.text.TextStyle overline);
+    ctor public Typography(optional androidx.compose.ui.text.font.FontFamily defaultFontFamily, optional androidx.compose.ui.text.TextStyle h1, optional androidx.compose.ui.text.TextStyle h2, optional androidx.compose.ui.text.TextStyle h3, optional androidx.compose.ui.text.TextStyle h4, optional androidx.compose.ui.text.TextStyle h5, optional androidx.compose.ui.text.TextStyle h6, optional androidx.compose.ui.text.TextStyle subtitle1, optional androidx.compose.ui.text.TextStyle subtitle2, optional androidx.compose.ui.text.TextStyle body1, optional androidx.compose.ui.text.TextStyle body2, optional androidx.compose.ui.text.TextStyle button, optional androidx.compose.ui.text.TextStyle caption, optional androidx.compose.ui.text.TextStyle overline);
     method public androidx.compose.material.Typography copy(optional androidx.compose.ui.text.TextStyle h1, optional androidx.compose.ui.text.TextStyle h2, optional androidx.compose.ui.text.TextStyle h3, optional androidx.compose.ui.text.TextStyle h4, optional androidx.compose.ui.text.TextStyle h5, optional androidx.compose.ui.text.TextStyle h6, optional androidx.compose.ui.text.TextStyle subtitle1, optional androidx.compose.ui.text.TextStyle subtitle2, optional androidx.compose.ui.text.TextStyle body1, optional androidx.compose.ui.text.TextStyle body2, optional androidx.compose.ui.text.TextStyle button, optional androidx.compose.ui.text.TextStyle caption, optional androidx.compose.ui.text.TextStyle overline);
     method public androidx.compose.ui.text.TextStyle getBody1();
     method public androidx.compose.ui.text.TextStyle getBody2();
diff --git a/compose/material/material/api/public_plus_experimental_1.0.0-beta02.txt b/compose/material/material/api/public_plus_experimental_1.0.0-beta02.txt
index 041d5bf10..72bd10a 100644
--- a/compose/material/material/api/public_plus_experimental_1.0.0-beta02.txt
+++ b/compose/material/material/api/public_plus_experimental_1.0.0-beta02.txt
@@ -50,7 +50,7 @@
   }
 
   @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Stable public final class BackdropScaffoldState extends androidx.compose.material.SwipeableState<androidx.compose.material.BackdropValue> {
-    ctor public BackdropScaffoldState(androidx.compose.material.BackdropValue initialValue, androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function1<? super androidx.compose.material.BackdropValue,java.lang.Boolean> confirmStateChange, androidx.compose.material.SnackbarHostState snackbarHostState);
+    ctor public BackdropScaffoldState(androidx.compose.material.BackdropValue initialValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.BackdropValue,java.lang.Boolean> confirmStateChange, optional androidx.compose.material.SnackbarHostState snackbarHostState);
     method public suspend Object? conceal(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public androidx.compose.material.SnackbarHostState getSnackbarHostState();
     method public boolean isConcealed();
@@ -72,7 +72,7 @@
   }
 
   public final class BottomDrawerState extends androidx.compose.material.SwipeableState<androidx.compose.material.BottomDrawerValue> {
-    ctor public BottomDrawerState(androidx.compose.material.BottomDrawerValue initialValue, kotlin.jvm.functions.Function1<? super androidx.compose.material.BottomDrawerValue,java.lang.Boolean> confirmStateChange);
+    ctor public BottomDrawerState(androidx.compose.material.BottomDrawerValue initialValue, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.BottomDrawerValue,java.lang.Boolean> confirmStateChange);
     method public suspend Object? close(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public suspend Object? expand(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public boolean isClosed();
@@ -131,7 +131,7 @@
   }
 
   @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Stable public final class BottomSheetState extends androidx.compose.material.SwipeableState<androidx.compose.material.BottomSheetValue> {
-    ctor public BottomSheetState(androidx.compose.material.BottomSheetValue initialValue, androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function1<? super androidx.compose.material.BottomSheetValue,java.lang.Boolean> confirmStateChange);
+    ctor public BottomSheetState(androidx.compose.material.BottomSheetValue initialValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.BottomSheetValue,java.lang.Boolean> confirmStateChange);
     method public suspend Object? collapse(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public suspend Object? expand(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public boolean isCollapsed();
@@ -272,7 +272,7 @@
   }
 
   @androidx.compose.material.ExperimentalMaterialApi public final class DismissState extends androidx.compose.material.SwipeableState<androidx.compose.material.DismissValue> {
-    ctor public DismissState(androidx.compose.material.DismissValue initialValue, kotlin.jvm.functions.Function1<? super androidx.compose.material.DismissValue,java.lang.Boolean> confirmStateChange);
+    ctor public DismissState(androidx.compose.material.DismissValue initialValue, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.DismissValue,java.lang.Boolean> confirmStateChange);
     method public suspend Object? dismiss(androidx.compose.material.DismissDirection direction, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public androidx.compose.material.DismissDirection? getDismissDirection();
     method public boolean isDismissed(androidx.compose.material.DismissDirection direction);
@@ -312,7 +312,7 @@
   }
 
   @androidx.compose.runtime.Stable public final class DrawerState extends androidx.compose.material.SwipeableState<androidx.compose.material.DrawerValue> {
-    ctor public DrawerState(androidx.compose.material.DrawerValue initialValue, kotlin.jvm.functions.Function1<? super androidx.compose.material.DrawerValue,java.lang.Boolean> confirmStateChange);
+    ctor public DrawerState(androidx.compose.material.DrawerValue initialValue, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.DrawerValue,java.lang.Boolean> confirmStateChange);
     method public suspend Object? close(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public boolean isClosed();
     method public boolean isOpen();
@@ -431,7 +431,7 @@
   }
 
   @androidx.compose.material.ExperimentalMaterialApi public final class ModalBottomSheetState extends androidx.compose.material.SwipeableState<androidx.compose.material.ModalBottomSheetValue> {
-    ctor public ModalBottomSheetState(androidx.compose.material.ModalBottomSheetValue initialValue, androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function1<? super androidx.compose.material.ModalBottomSheetValue,java.lang.Boolean> confirmStateChange);
+    ctor public ModalBottomSheetState(androidx.compose.material.ModalBottomSheetValue initialValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.ModalBottomSheetValue,java.lang.Boolean> confirmStateChange);
     method public suspend Object? hide(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public boolean isVisible();
     method public suspend Object? show(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
@@ -484,7 +484,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class ResistanceConfig {
-    ctor public ResistanceConfig(float basis, float factorAtMin, float factorAtMax);
+    ctor public ResistanceConfig(float basis, optional float factorAtMin, optional float factorAtMax);
     method public float computeResistance(float overflow);
     method public float getBasis();
     method public float getFactorAtMax();
@@ -508,8 +508,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class Shapes {
-    ctor public Shapes(androidx.compose.foundation.shape.CornerBasedShape small, androidx.compose.foundation.shape.CornerBasedShape medium, androidx.compose.foundation.shape.CornerBasedShape large);
-    ctor public Shapes();
+    ctor public Shapes(optional androidx.compose.foundation.shape.CornerBasedShape small, optional androidx.compose.foundation.shape.CornerBasedShape medium, optional androidx.compose.foundation.shape.CornerBasedShape large);
     method public androidx.compose.material.Shapes copy(optional androidx.compose.foundation.shape.CornerBasedShape small, optional androidx.compose.foundation.shape.CornerBasedShape medium, optional androidx.compose.foundation.shape.CornerBasedShape large);
     method public androidx.compose.foundation.shape.CornerBasedShape getLarge();
     method public androidx.compose.foundation.shape.CornerBasedShape getMedium();
@@ -624,7 +623,7 @@
   }
 
   @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Stable public class SwipeableState<T> {
-    ctor public SwipeableState(T? initialValue, androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> confirmStateChange);
+    ctor public SwipeableState(T? initialValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> confirmStateChange);
     method @androidx.compose.material.ExperimentalMaterialApi public final suspend Object? animateTo(T? targetValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> anim, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public final T! getCurrentValue();
     method public final float getDirection();
@@ -741,7 +740,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class Typography {
-    ctor public Typography(androidx.compose.ui.text.font.FontFamily defaultFontFamily, androidx.compose.ui.text.TextStyle h1, androidx.compose.ui.text.TextStyle h2, androidx.compose.ui.text.TextStyle h3, androidx.compose.ui.text.TextStyle h4, androidx.compose.ui.text.TextStyle h5, androidx.compose.ui.text.TextStyle h6, androidx.compose.ui.text.TextStyle subtitle1, androidx.compose.ui.text.TextStyle subtitle2, androidx.compose.ui.text.TextStyle body1, androidx.compose.ui.text.TextStyle body2, androidx.compose.ui.text.TextStyle button, androidx.compose.ui.text.TextStyle caption, androidx.compose.ui.text.TextStyle overline);
+    ctor public Typography(optional androidx.compose.ui.text.font.FontFamily defaultFontFamily, optional androidx.compose.ui.text.TextStyle h1, optional androidx.compose.ui.text.TextStyle h2, optional androidx.compose.ui.text.TextStyle h3, optional androidx.compose.ui.text.TextStyle h4, optional androidx.compose.ui.text.TextStyle h5, optional androidx.compose.ui.text.TextStyle h6, optional androidx.compose.ui.text.TextStyle subtitle1, optional androidx.compose.ui.text.TextStyle subtitle2, optional androidx.compose.ui.text.TextStyle body1, optional androidx.compose.ui.text.TextStyle body2, optional androidx.compose.ui.text.TextStyle button, optional androidx.compose.ui.text.TextStyle caption, optional androidx.compose.ui.text.TextStyle overline);
     method public androidx.compose.material.Typography copy(optional androidx.compose.ui.text.TextStyle h1, optional androidx.compose.ui.text.TextStyle h2, optional androidx.compose.ui.text.TextStyle h3, optional androidx.compose.ui.text.TextStyle h4, optional androidx.compose.ui.text.TextStyle h5, optional androidx.compose.ui.text.TextStyle h6, optional androidx.compose.ui.text.TextStyle subtitle1, optional androidx.compose.ui.text.TextStyle subtitle2, optional androidx.compose.ui.text.TextStyle body1, optional androidx.compose.ui.text.TextStyle body2, optional androidx.compose.ui.text.TextStyle button, optional androidx.compose.ui.text.TextStyle caption, optional androidx.compose.ui.text.TextStyle overline);
     method public androidx.compose.ui.text.TextStyle getBody1();
     method public androidx.compose.ui.text.TextStyle getBody2();
diff --git a/compose/material/material/api/public_plus_experimental_current.txt b/compose/material/material/api/public_plus_experimental_current.txt
index 041d5bf10..72bd10a 100644
--- a/compose/material/material/api/public_plus_experimental_current.txt
+++ b/compose/material/material/api/public_plus_experimental_current.txt
@@ -50,7 +50,7 @@
   }
 
   @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Stable public final class BackdropScaffoldState extends androidx.compose.material.SwipeableState<androidx.compose.material.BackdropValue> {
-    ctor public BackdropScaffoldState(androidx.compose.material.BackdropValue initialValue, androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function1<? super androidx.compose.material.BackdropValue,java.lang.Boolean> confirmStateChange, androidx.compose.material.SnackbarHostState snackbarHostState);
+    ctor public BackdropScaffoldState(androidx.compose.material.BackdropValue initialValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.BackdropValue,java.lang.Boolean> confirmStateChange, optional androidx.compose.material.SnackbarHostState snackbarHostState);
     method public suspend Object? conceal(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public androidx.compose.material.SnackbarHostState getSnackbarHostState();
     method public boolean isConcealed();
@@ -72,7 +72,7 @@
   }
 
   public final class BottomDrawerState extends androidx.compose.material.SwipeableState<androidx.compose.material.BottomDrawerValue> {
-    ctor public BottomDrawerState(androidx.compose.material.BottomDrawerValue initialValue, kotlin.jvm.functions.Function1<? super androidx.compose.material.BottomDrawerValue,java.lang.Boolean> confirmStateChange);
+    ctor public BottomDrawerState(androidx.compose.material.BottomDrawerValue initialValue, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.BottomDrawerValue,java.lang.Boolean> confirmStateChange);
     method public suspend Object? close(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public suspend Object? expand(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public boolean isClosed();
@@ -131,7 +131,7 @@
   }
 
   @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Stable public final class BottomSheetState extends androidx.compose.material.SwipeableState<androidx.compose.material.BottomSheetValue> {
-    ctor public BottomSheetState(androidx.compose.material.BottomSheetValue initialValue, androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function1<? super androidx.compose.material.BottomSheetValue,java.lang.Boolean> confirmStateChange);
+    ctor public BottomSheetState(androidx.compose.material.BottomSheetValue initialValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.BottomSheetValue,java.lang.Boolean> confirmStateChange);
     method public suspend Object? collapse(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public suspend Object? expand(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public boolean isCollapsed();
@@ -272,7 +272,7 @@
   }
 
   @androidx.compose.material.ExperimentalMaterialApi public final class DismissState extends androidx.compose.material.SwipeableState<androidx.compose.material.DismissValue> {
-    ctor public DismissState(androidx.compose.material.DismissValue initialValue, kotlin.jvm.functions.Function1<? super androidx.compose.material.DismissValue,java.lang.Boolean> confirmStateChange);
+    ctor public DismissState(androidx.compose.material.DismissValue initialValue, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.DismissValue,java.lang.Boolean> confirmStateChange);
     method public suspend Object? dismiss(androidx.compose.material.DismissDirection direction, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public androidx.compose.material.DismissDirection? getDismissDirection();
     method public boolean isDismissed(androidx.compose.material.DismissDirection direction);
@@ -312,7 +312,7 @@
   }
 
   @androidx.compose.runtime.Stable public final class DrawerState extends androidx.compose.material.SwipeableState<androidx.compose.material.DrawerValue> {
-    ctor public DrawerState(androidx.compose.material.DrawerValue initialValue, kotlin.jvm.functions.Function1<? super androidx.compose.material.DrawerValue,java.lang.Boolean> confirmStateChange);
+    ctor public DrawerState(androidx.compose.material.DrawerValue initialValue, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.DrawerValue,java.lang.Boolean> confirmStateChange);
     method public suspend Object? close(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public boolean isClosed();
     method public boolean isOpen();
@@ -431,7 +431,7 @@
   }
 
   @androidx.compose.material.ExperimentalMaterialApi public final class ModalBottomSheetState extends androidx.compose.material.SwipeableState<androidx.compose.material.ModalBottomSheetValue> {
-    ctor public ModalBottomSheetState(androidx.compose.material.ModalBottomSheetValue initialValue, androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function1<? super androidx.compose.material.ModalBottomSheetValue,java.lang.Boolean> confirmStateChange);
+    ctor public ModalBottomSheetState(androidx.compose.material.ModalBottomSheetValue initialValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.ModalBottomSheetValue,java.lang.Boolean> confirmStateChange);
     method public suspend Object? hide(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public boolean isVisible();
     method public suspend Object? show(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
@@ -484,7 +484,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class ResistanceConfig {
-    ctor public ResistanceConfig(float basis, float factorAtMin, float factorAtMax);
+    ctor public ResistanceConfig(float basis, optional float factorAtMin, optional float factorAtMax);
     method public float computeResistance(float overflow);
     method public float getBasis();
     method public float getFactorAtMax();
@@ -508,8 +508,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class Shapes {
-    ctor public Shapes(androidx.compose.foundation.shape.CornerBasedShape small, androidx.compose.foundation.shape.CornerBasedShape medium, androidx.compose.foundation.shape.CornerBasedShape large);
-    ctor public Shapes();
+    ctor public Shapes(optional androidx.compose.foundation.shape.CornerBasedShape small, optional androidx.compose.foundation.shape.CornerBasedShape medium, optional androidx.compose.foundation.shape.CornerBasedShape large);
     method public androidx.compose.material.Shapes copy(optional androidx.compose.foundation.shape.CornerBasedShape small, optional androidx.compose.foundation.shape.CornerBasedShape medium, optional androidx.compose.foundation.shape.CornerBasedShape large);
     method public androidx.compose.foundation.shape.CornerBasedShape getLarge();
     method public androidx.compose.foundation.shape.CornerBasedShape getMedium();
@@ -624,7 +623,7 @@
   }
 
   @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Stable public class SwipeableState<T> {
-    ctor public SwipeableState(T? initialValue, androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> confirmStateChange);
+    ctor public SwipeableState(T? initialValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> confirmStateChange);
     method @androidx.compose.material.ExperimentalMaterialApi public final suspend Object? animateTo(T? targetValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> anim, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public final T! getCurrentValue();
     method public final float getDirection();
@@ -741,7 +740,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class Typography {
-    ctor public Typography(androidx.compose.ui.text.font.FontFamily defaultFontFamily, androidx.compose.ui.text.TextStyle h1, androidx.compose.ui.text.TextStyle h2, androidx.compose.ui.text.TextStyle h3, androidx.compose.ui.text.TextStyle h4, androidx.compose.ui.text.TextStyle h5, androidx.compose.ui.text.TextStyle h6, androidx.compose.ui.text.TextStyle subtitle1, androidx.compose.ui.text.TextStyle subtitle2, androidx.compose.ui.text.TextStyle body1, androidx.compose.ui.text.TextStyle body2, androidx.compose.ui.text.TextStyle button, androidx.compose.ui.text.TextStyle caption, androidx.compose.ui.text.TextStyle overline);
+    ctor public Typography(optional androidx.compose.ui.text.font.FontFamily defaultFontFamily, optional androidx.compose.ui.text.TextStyle h1, optional androidx.compose.ui.text.TextStyle h2, optional androidx.compose.ui.text.TextStyle h3, optional androidx.compose.ui.text.TextStyle h4, optional androidx.compose.ui.text.TextStyle h5, optional androidx.compose.ui.text.TextStyle h6, optional androidx.compose.ui.text.TextStyle subtitle1, optional androidx.compose.ui.text.TextStyle subtitle2, optional androidx.compose.ui.text.TextStyle body1, optional androidx.compose.ui.text.TextStyle body2, optional androidx.compose.ui.text.TextStyle button, optional androidx.compose.ui.text.TextStyle caption, optional androidx.compose.ui.text.TextStyle overline);
     method public androidx.compose.material.Typography copy(optional androidx.compose.ui.text.TextStyle h1, optional androidx.compose.ui.text.TextStyle h2, optional androidx.compose.ui.text.TextStyle h3, optional androidx.compose.ui.text.TextStyle h4, optional androidx.compose.ui.text.TextStyle h5, optional androidx.compose.ui.text.TextStyle h6, optional androidx.compose.ui.text.TextStyle subtitle1, optional androidx.compose.ui.text.TextStyle subtitle2, optional androidx.compose.ui.text.TextStyle body1, optional androidx.compose.ui.text.TextStyle body2, optional androidx.compose.ui.text.TextStyle button, optional androidx.compose.ui.text.TextStyle caption, optional androidx.compose.ui.text.TextStyle overline);
     method public androidx.compose.ui.text.TextStyle getBody1();
     method public androidx.compose.ui.text.TextStyle getBody2();
diff --git a/compose/material/material/api/restricted_1.0.0-beta02.txt b/compose/material/material/api/restricted_1.0.0-beta02.txt
index 041d5bf10..72bd10a 100644
--- a/compose/material/material/api/restricted_1.0.0-beta02.txt
+++ b/compose/material/material/api/restricted_1.0.0-beta02.txt
@@ -50,7 +50,7 @@
   }
 
   @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Stable public final class BackdropScaffoldState extends androidx.compose.material.SwipeableState<androidx.compose.material.BackdropValue> {
-    ctor public BackdropScaffoldState(androidx.compose.material.BackdropValue initialValue, androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function1<? super androidx.compose.material.BackdropValue,java.lang.Boolean> confirmStateChange, androidx.compose.material.SnackbarHostState snackbarHostState);
+    ctor public BackdropScaffoldState(androidx.compose.material.BackdropValue initialValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.BackdropValue,java.lang.Boolean> confirmStateChange, optional androidx.compose.material.SnackbarHostState snackbarHostState);
     method public suspend Object? conceal(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public androidx.compose.material.SnackbarHostState getSnackbarHostState();
     method public boolean isConcealed();
@@ -72,7 +72,7 @@
   }
 
   public final class BottomDrawerState extends androidx.compose.material.SwipeableState<androidx.compose.material.BottomDrawerValue> {
-    ctor public BottomDrawerState(androidx.compose.material.BottomDrawerValue initialValue, kotlin.jvm.functions.Function1<? super androidx.compose.material.BottomDrawerValue,java.lang.Boolean> confirmStateChange);
+    ctor public BottomDrawerState(androidx.compose.material.BottomDrawerValue initialValue, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.BottomDrawerValue,java.lang.Boolean> confirmStateChange);
     method public suspend Object? close(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public suspend Object? expand(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public boolean isClosed();
@@ -131,7 +131,7 @@
   }
 
   @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Stable public final class BottomSheetState extends androidx.compose.material.SwipeableState<androidx.compose.material.BottomSheetValue> {
-    ctor public BottomSheetState(androidx.compose.material.BottomSheetValue initialValue, androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function1<? super androidx.compose.material.BottomSheetValue,java.lang.Boolean> confirmStateChange);
+    ctor public BottomSheetState(androidx.compose.material.BottomSheetValue initialValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.BottomSheetValue,java.lang.Boolean> confirmStateChange);
     method public suspend Object? collapse(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public suspend Object? expand(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public boolean isCollapsed();
@@ -272,7 +272,7 @@
   }
 
   @androidx.compose.material.ExperimentalMaterialApi public final class DismissState extends androidx.compose.material.SwipeableState<androidx.compose.material.DismissValue> {
-    ctor public DismissState(androidx.compose.material.DismissValue initialValue, kotlin.jvm.functions.Function1<? super androidx.compose.material.DismissValue,java.lang.Boolean> confirmStateChange);
+    ctor public DismissState(androidx.compose.material.DismissValue initialValue, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.DismissValue,java.lang.Boolean> confirmStateChange);
     method public suspend Object? dismiss(androidx.compose.material.DismissDirection direction, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public androidx.compose.material.DismissDirection? getDismissDirection();
     method public boolean isDismissed(androidx.compose.material.DismissDirection direction);
@@ -312,7 +312,7 @@
   }
 
   @androidx.compose.runtime.Stable public final class DrawerState extends androidx.compose.material.SwipeableState<androidx.compose.material.DrawerValue> {
-    ctor public DrawerState(androidx.compose.material.DrawerValue initialValue, kotlin.jvm.functions.Function1<? super androidx.compose.material.DrawerValue,java.lang.Boolean> confirmStateChange);
+    ctor public DrawerState(androidx.compose.material.DrawerValue initialValue, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.DrawerValue,java.lang.Boolean> confirmStateChange);
     method public suspend Object? close(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public boolean isClosed();
     method public boolean isOpen();
@@ -431,7 +431,7 @@
   }
 
   @androidx.compose.material.ExperimentalMaterialApi public final class ModalBottomSheetState extends androidx.compose.material.SwipeableState<androidx.compose.material.ModalBottomSheetValue> {
-    ctor public ModalBottomSheetState(androidx.compose.material.ModalBottomSheetValue initialValue, androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function1<? super androidx.compose.material.ModalBottomSheetValue,java.lang.Boolean> confirmStateChange);
+    ctor public ModalBottomSheetState(androidx.compose.material.ModalBottomSheetValue initialValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.ModalBottomSheetValue,java.lang.Boolean> confirmStateChange);
     method public suspend Object? hide(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public boolean isVisible();
     method public suspend Object? show(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
@@ -484,7 +484,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class ResistanceConfig {
-    ctor public ResistanceConfig(float basis, float factorAtMin, float factorAtMax);
+    ctor public ResistanceConfig(float basis, optional float factorAtMin, optional float factorAtMax);
     method public float computeResistance(float overflow);
     method public float getBasis();
     method public float getFactorAtMax();
@@ -508,8 +508,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class Shapes {
-    ctor public Shapes(androidx.compose.foundation.shape.CornerBasedShape small, androidx.compose.foundation.shape.CornerBasedShape medium, androidx.compose.foundation.shape.CornerBasedShape large);
-    ctor public Shapes();
+    ctor public Shapes(optional androidx.compose.foundation.shape.CornerBasedShape small, optional androidx.compose.foundation.shape.CornerBasedShape medium, optional androidx.compose.foundation.shape.CornerBasedShape large);
     method public androidx.compose.material.Shapes copy(optional androidx.compose.foundation.shape.CornerBasedShape small, optional androidx.compose.foundation.shape.CornerBasedShape medium, optional androidx.compose.foundation.shape.CornerBasedShape large);
     method public androidx.compose.foundation.shape.CornerBasedShape getLarge();
     method public androidx.compose.foundation.shape.CornerBasedShape getMedium();
@@ -624,7 +623,7 @@
   }
 
   @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Stable public class SwipeableState<T> {
-    ctor public SwipeableState(T? initialValue, androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> confirmStateChange);
+    ctor public SwipeableState(T? initialValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> confirmStateChange);
     method @androidx.compose.material.ExperimentalMaterialApi public final suspend Object? animateTo(T? targetValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> anim, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public final T! getCurrentValue();
     method public final float getDirection();
@@ -741,7 +740,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class Typography {
-    ctor public Typography(androidx.compose.ui.text.font.FontFamily defaultFontFamily, androidx.compose.ui.text.TextStyle h1, androidx.compose.ui.text.TextStyle h2, androidx.compose.ui.text.TextStyle h3, androidx.compose.ui.text.TextStyle h4, androidx.compose.ui.text.TextStyle h5, androidx.compose.ui.text.TextStyle h6, androidx.compose.ui.text.TextStyle subtitle1, androidx.compose.ui.text.TextStyle subtitle2, androidx.compose.ui.text.TextStyle body1, androidx.compose.ui.text.TextStyle body2, androidx.compose.ui.text.TextStyle button, androidx.compose.ui.text.TextStyle caption, androidx.compose.ui.text.TextStyle overline);
+    ctor public Typography(optional androidx.compose.ui.text.font.FontFamily defaultFontFamily, optional androidx.compose.ui.text.TextStyle h1, optional androidx.compose.ui.text.TextStyle h2, optional androidx.compose.ui.text.TextStyle h3, optional androidx.compose.ui.text.TextStyle h4, optional androidx.compose.ui.text.TextStyle h5, optional androidx.compose.ui.text.TextStyle h6, optional androidx.compose.ui.text.TextStyle subtitle1, optional androidx.compose.ui.text.TextStyle subtitle2, optional androidx.compose.ui.text.TextStyle body1, optional androidx.compose.ui.text.TextStyle body2, optional androidx.compose.ui.text.TextStyle button, optional androidx.compose.ui.text.TextStyle caption, optional androidx.compose.ui.text.TextStyle overline);
     method public androidx.compose.material.Typography copy(optional androidx.compose.ui.text.TextStyle h1, optional androidx.compose.ui.text.TextStyle h2, optional androidx.compose.ui.text.TextStyle h3, optional androidx.compose.ui.text.TextStyle h4, optional androidx.compose.ui.text.TextStyle h5, optional androidx.compose.ui.text.TextStyle h6, optional androidx.compose.ui.text.TextStyle subtitle1, optional androidx.compose.ui.text.TextStyle subtitle2, optional androidx.compose.ui.text.TextStyle body1, optional androidx.compose.ui.text.TextStyle body2, optional androidx.compose.ui.text.TextStyle button, optional androidx.compose.ui.text.TextStyle caption, optional androidx.compose.ui.text.TextStyle overline);
     method public androidx.compose.ui.text.TextStyle getBody1();
     method public androidx.compose.ui.text.TextStyle getBody2();
diff --git a/compose/material/material/api/restricted_current.txt b/compose/material/material/api/restricted_current.txt
index 041d5bf10..72bd10a 100644
--- a/compose/material/material/api/restricted_current.txt
+++ b/compose/material/material/api/restricted_current.txt
@@ -50,7 +50,7 @@
   }
 
   @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Stable public final class BackdropScaffoldState extends androidx.compose.material.SwipeableState<androidx.compose.material.BackdropValue> {
-    ctor public BackdropScaffoldState(androidx.compose.material.BackdropValue initialValue, androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function1<? super androidx.compose.material.BackdropValue,java.lang.Boolean> confirmStateChange, androidx.compose.material.SnackbarHostState snackbarHostState);
+    ctor public BackdropScaffoldState(androidx.compose.material.BackdropValue initialValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.BackdropValue,java.lang.Boolean> confirmStateChange, optional androidx.compose.material.SnackbarHostState snackbarHostState);
     method public suspend Object? conceal(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public androidx.compose.material.SnackbarHostState getSnackbarHostState();
     method public boolean isConcealed();
@@ -72,7 +72,7 @@
   }
 
   public final class BottomDrawerState extends androidx.compose.material.SwipeableState<androidx.compose.material.BottomDrawerValue> {
-    ctor public BottomDrawerState(androidx.compose.material.BottomDrawerValue initialValue, kotlin.jvm.functions.Function1<? super androidx.compose.material.BottomDrawerValue,java.lang.Boolean> confirmStateChange);
+    ctor public BottomDrawerState(androidx.compose.material.BottomDrawerValue initialValue, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.BottomDrawerValue,java.lang.Boolean> confirmStateChange);
     method public suspend Object? close(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public suspend Object? expand(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public boolean isClosed();
@@ -131,7 +131,7 @@
   }
 
   @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Stable public final class BottomSheetState extends androidx.compose.material.SwipeableState<androidx.compose.material.BottomSheetValue> {
-    ctor public BottomSheetState(androidx.compose.material.BottomSheetValue initialValue, androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function1<? super androidx.compose.material.BottomSheetValue,java.lang.Boolean> confirmStateChange);
+    ctor public BottomSheetState(androidx.compose.material.BottomSheetValue initialValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.BottomSheetValue,java.lang.Boolean> confirmStateChange);
     method public suspend Object? collapse(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public suspend Object? expand(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public boolean isCollapsed();
@@ -272,7 +272,7 @@
   }
 
   @androidx.compose.material.ExperimentalMaterialApi public final class DismissState extends androidx.compose.material.SwipeableState<androidx.compose.material.DismissValue> {
-    ctor public DismissState(androidx.compose.material.DismissValue initialValue, kotlin.jvm.functions.Function1<? super androidx.compose.material.DismissValue,java.lang.Boolean> confirmStateChange);
+    ctor public DismissState(androidx.compose.material.DismissValue initialValue, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.DismissValue,java.lang.Boolean> confirmStateChange);
     method public suspend Object? dismiss(androidx.compose.material.DismissDirection direction, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public androidx.compose.material.DismissDirection? getDismissDirection();
     method public boolean isDismissed(androidx.compose.material.DismissDirection direction);
@@ -312,7 +312,7 @@
   }
 
   @androidx.compose.runtime.Stable public final class DrawerState extends androidx.compose.material.SwipeableState<androidx.compose.material.DrawerValue> {
-    ctor public DrawerState(androidx.compose.material.DrawerValue initialValue, kotlin.jvm.functions.Function1<? super androidx.compose.material.DrawerValue,java.lang.Boolean> confirmStateChange);
+    ctor public DrawerState(androidx.compose.material.DrawerValue initialValue, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.DrawerValue,java.lang.Boolean> confirmStateChange);
     method public suspend Object? close(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public boolean isClosed();
     method public boolean isOpen();
@@ -431,7 +431,7 @@
   }
 
   @androidx.compose.material.ExperimentalMaterialApi public final class ModalBottomSheetState extends androidx.compose.material.SwipeableState<androidx.compose.material.ModalBottomSheetValue> {
-    ctor public ModalBottomSheetState(androidx.compose.material.ModalBottomSheetValue initialValue, androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function1<? super androidx.compose.material.ModalBottomSheetValue,java.lang.Boolean> confirmStateChange);
+    ctor public ModalBottomSheetState(androidx.compose.material.ModalBottomSheetValue initialValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.ModalBottomSheetValue,java.lang.Boolean> confirmStateChange);
     method public suspend Object? hide(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public boolean isVisible();
     method public suspend Object? show(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
@@ -484,7 +484,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class ResistanceConfig {
-    ctor public ResistanceConfig(float basis, float factorAtMin, float factorAtMax);
+    ctor public ResistanceConfig(float basis, optional float factorAtMin, optional float factorAtMax);
     method public float computeResistance(float overflow);
     method public float getBasis();
     method public float getFactorAtMax();
@@ -508,8 +508,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class Shapes {
-    ctor public Shapes(androidx.compose.foundation.shape.CornerBasedShape small, androidx.compose.foundation.shape.CornerBasedShape medium, androidx.compose.foundation.shape.CornerBasedShape large);
-    ctor public Shapes();
+    ctor public Shapes(optional androidx.compose.foundation.shape.CornerBasedShape small, optional androidx.compose.foundation.shape.CornerBasedShape medium, optional androidx.compose.foundation.shape.CornerBasedShape large);
     method public androidx.compose.material.Shapes copy(optional androidx.compose.foundation.shape.CornerBasedShape small, optional androidx.compose.foundation.shape.CornerBasedShape medium, optional androidx.compose.foundation.shape.CornerBasedShape large);
     method public androidx.compose.foundation.shape.CornerBasedShape getLarge();
     method public androidx.compose.foundation.shape.CornerBasedShape getMedium();
@@ -624,7 +623,7 @@
   }
 
   @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Stable public class SwipeableState<T> {
-    ctor public SwipeableState(T? initialValue, androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> confirmStateChange);
+    ctor public SwipeableState(T? initialValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> confirmStateChange);
     method @androidx.compose.material.ExperimentalMaterialApi public final suspend Object? animateTo(T? targetValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> anim, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public final T! getCurrentValue();
     method public final float getDirection();
@@ -741,7 +740,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class Typography {
-    ctor public Typography(androidx.compose.ui.text.font.FontFamily defaultFontFamily, androidx.compose.ui.text.TextStyle h1, androidx.compose.ui.text.TextStyle h2, androidx.compose.ui.text.TextStyle h3, androidx.compose.ui.text.TextStyle h4, androidx.compose.ui.text.TextStyle h5, androidx.compose.ui.text.TextStyle h6, androidx.compose.ui.text.TextStyle subtitle1, androidx.compose.ui.text.TextStyle subtitle2, androidx.compose.ui.text.TextStyle body1, androidx.compose.ui.text.TextStyle body2, androidx.compose.ui.text.TextStyle button, androidx.compose.ui.text.TextStyle caption, androidx.compose.ui.text.TextStyle overline);
+    ctor public Typography(optional androidx.compose.ui.text.font.FontFamily defaultFontFamily, optional androidx.compose.ui.text.TextStyle h1, optional androidx.compose.ui.text.TextStyle h2, optional androidx.compose.ui.text.TextStyle h3, optional androidx.compose.ui.text.TextStyle h4, optional androidx.compose.ui.text.TextStyle h5, optional androidx.compose.ui.text.TextStyle h6, optional androidx.compose.ui.text.TextStyle subtitle1, optional androidx.compose.ui.text.TextStyle subtitle2, optional androidx.compose.ui.text.TextStyle body1, optional androidx.compose.ui.text.TextStyle body2, optional androidx.compose.ui.text.TextStyle button, optional androidx.compose.ui.text.TextStyle caption, optional androidx.compose.ui.text.TextStyle overline);
     method public androidx.compose.material.Typography copy(optional androidx.compose.ui.text.TextStyle h1, optional androidx.compose.ui.text.TextStyle h2, optional androidx.compose.ui.text.TextStyle h3, optional androidx.compose.ui.text.TextStyle h4, optional androidx.compose.ui.text.TextStyle h5, optional androidx.compose.ui.text.TextStyle h6, optional androidx.compose.ui.text.TextStyle subtitle1, optional androidx.compose.ui.text.TextStyle subtitle2, optional androidx.compose.ui.text.TextStyle body1, optional androidx.compose.ui.text.TextStyle body2, optional androidx.compose.ui.text.TextStyle button, optional androidx.compose.ui.text.TextStyle caption, optional androidx.compose.ui.text.TextStyle overline);
     method public androidx.compose.ui.text.TextStyle getBody1();
     method public androidx.compose.ui.text.TextStyle getBody2();
diff --git a/compose/runtime/runtime/api/1.0.0-beta02.txt b/compose/runtime/runtime/api/1.0.0-beta02.txt
index e94fadb..b91f011 100644
--- a/compose/runtime/runtime/api/1.0.0-beta02.txt
+++ b/compose/runtime/runtime/api/1.0.0-beta02.txt
@@ -41,8 +41,7 @@
   }
 
   public final class BroadcastFrameClock implements androidx.compose.runtime.MonotonicFrameClock {
-    ctor public BroadcastFrameClock(kotlin.jvm.functions.Function0<kotlin.Unit>? onNewAwaiters);
-    ctor public BroadcastFrameClock();
+    ctor public BroadcastFrameClock(optional kotlin.jvm.functions.Function0<kotlin.Unit>? onNewAwaiters);
     method public void cancel(optional java.util.concurrent.CancellationException cancellationException);
     method public boolean getHasAwaiters();
     method public void sendFrame(long timeNanos);
@@ -380,11 +379,11 @@
     method public static <K, V> androidx.compose.runtime.snapshots.SnapshotStateMap<K,V> mutableStateMapOf(kotlin.Pair<? extends K,? extends V>... pairs);
     method public static <T> androidx.compose.runtime.MutableState<T> mutableStateOf(T? value, optional androidx.compose.runtime.SnapshotMutationPolicy<T> policy);
     method public static <T> androidx.compose.runtime.SnapshotMutationPolicy<T> neverEqualPolicy();
-    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, @kotlin.BuilderInference kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
-    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object? key1, @kotlin.BuilderInference kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
-    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object? key1, Object? key2, @kotlin.BuilderInference kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
-    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object? key1, Object? key2, Object? key3, @kotlin.BuilderInference kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
-    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object![]? keys, @kotlin.BuilderInference kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object? key1, kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object? key1, Object? key2, kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object? key1, Object? key2, Object? key3, kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object![]? keys, kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
     method public static <T> androidx.compose.runtime.SnapshotMutationPolicy<T> referentialEqualityPolicy();
     method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> rememberUpdatedState(T? newValue);
     method public static inline operator <T> void setValue(androidx.compose.runtime.MutableState<T>, Object? thisObj, kotlin.reflect.KProperty<?> property, T? value);
diff --git a/compose/runtime/runtime/api/api_lint.ignore b/compose/runtime/runtime/api/api_lint.ignore
index 1f1e491..91c5bc3 100644
--- a/compose/runtime/runtime/api/api_lint.ignore
+++ b/compose/runtime/runtime/api/api_lint.ignore
@@ -49,3 +49,7 @@
     Should avoid odd sized primitives; use `int` instead of `byte` in parameter value in androidx.compose.runtime.Composer.changed(byte value)
 NoByteOrShort: androidx.compose.runtime.Composer#changed(short) parameter #0:
     Should avoid odd sized primitives; use `int` instead of `short` in parameter value in androidx.compose.runtime.Composer.changed(short value)
+
+
+NullableCollection: androidx.compose.runtime.snapshots.MutableSnapshot#getModified$metalava_module():
+    Return type of method androidx.compose.runtime.snapshots.MutableSnapshot.getModified$metalava_module() is a nullable collection (`java.util.Set`); must be non-null
diff --git a/compose/runtime/runtime/api/current.txt b/compose/runtime/runtime/api/current.txt
index e94fadb..b91f011 100644
--- a/compose/runtime/runtime/api/current.txt
+++ b/compose/runtime/runtime/api/current.txt
@@ -41,8 +41,7 @@
   }
 
   public final class BroadcastFrameClock implements androidx.compose.runtime.MonotonicFrameClock {
-    ctor public BroadcastFrameClock(kotlin.jvm.functions.Function0<kotlin.Unit>? onNewAwaiters);
-    ctor public BroadcastFrameClock();
+    ctor public BroadcastFrameClock(optional kotlin.jvm.functions.Function0<kotlin.Unit>? onNewAwaiters);
     method public void cancel(optional java.util.concurrent.CancellationException cancellationException);
     method public boolean getHasAwaiters();
     method public void sendFrame(long timeNanos);
@@ -380,11 +379,11 @@
     method public static <K, V> androidx.compose.runtime.snapshots.SnapshotStateMap<K,V> mutableStateMapOf(kotlin.Pair<? extends K,? extends V>... pairs);
     method public static <T> androidx.compose.runtime.MutableState<T> mutableStateOf(T? value, optional androidx.compose.runtime.SnapshotMutationPolicy<T> policy);
     method public static <T> androidx.compose.runtime.SnapshotMutationPolicy<T> neverEqualPolicy();
-    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, @kotlin.BuilderInference kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
-    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object? key1, @kotlin.BuilderInference kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
-    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object? key1, Object? key2, @kotlin.BuilderInference kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
-    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object? key1, Object? key2, Object? key3, @kotlin.BuilderInference kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
-    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object![]? keys, @kotlin.BuilderInference kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object? key1, kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object? key1, Object? key2, kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object? key1, Object? key2, Object? key3, kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object![]? keys, kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
     method public static <T> androidx.compose.runtime.SnapshotMutationPolicy<T> referentialEqualityPolicy();
     method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> rememberUpdatedState(T? newValue);
     method public static inline operator <T> void setValue(androidx.compose.runtime.MutableState<T>, Object? thisObj, kotlin.reflect.KProperty<?> property, T? value);
diff --git a/compose/runtime/runtime/api/public_plus_experimental_1.0.0-beta02.txt b/compose/runtime/runtime/api/public_plus_experimental_1.0.0-beta02.txt
index e94fadb..f900999d 100644
--- a/compose/runtime/runtime/api/public_plus_experimental_1.0.0-beta02.txt
+++ b/compose/runtime/runtime/api/public_plus_experimental_1.0.0-beta02.txt
@@ -41,8 +41,7 @@
   }
 
   public final class BroadcastFrameClock implements androidx.compose.runtime.MonotonicFrameClock {
-    ctor public BroadcastFrameClock(kotlin.jvm.functions.Function0<kotlin.Unit>? onNewAwaiters);
-    ctor public BroadcastFrameClock();
+    ctor public BroadcastFrameClock(optional kotlin.jvm.functions.Function0<kotlin.Unit>? onNewAwaiters);
     method public void cancel(optional java.util.concurrent.CancellationException cancellationException);
     method public boolean getHasAwaiters();
     method public void sendFrame(long timeNanos);
diff --git a/compose/runtime/runtime/api/public_plus_experimental_current.txt b/compose/runtime/runtime/api/public_plus_experimental_current.txt
index e94fadb..f900999d 100644
--- a/compose/runtime/runtime/api/public_plus_experimental_current.txt
+++ b/compose/runtime/runtime/api/public_plus_experimental_current.txt
@@ -41,8 +41,7 @@
   }
 
   public final class BroadcastFrameClock implements androidx.compose.runtime.MonotonicFrameClock {
-    ctor public BroadcastFrameClock(kotlin.jvm.functions.Function0<kotlin.Unit>? onNewAwaiters);
-    ctor public BroadcastFrameClock();
+    ctor public BroadcastFrameClock(optional kotlin.jvm.functions.Function0<kotlin.Unit>? onNewAwaiters);
     method public void cancel(optional java.util.concurrent.CancellationException cancellationException);
     method public boolean getHasAwaiters();
     method public void sendFrame(long timeNanos);
diff --git a/compose/runtime/runtime/api/restricted_1.0.0-beta02.txt b/compose/runtime/runtime/api/restricted_1.0.0-beta02.txt
index fd0e03e..b2b4419 100644
--- a/compose/runtime/runtime/api/restricted_1.0.0-beta02.txt
+++ b/compose/runtime/runtime/api/restricted_1.0.0-beta02.txt
@@ -42,8 +42,7 @@
   }
 
   public final class BroadcastFrameClock implements androidx.compose.runtime.MonotonicFrameClock {
-    ctor public BroadcastFrameClock(kotlin.jvm.functions.Function0<kotlin.Unit>? onNewAwaiters);
-    ctor public BroadcastFrameClock();
+    ctor public BroadcastFrameClock(optional kotlin.jvm.functions.Function0<kotlin.Unit>? onNewAwaiters);
     method public void cancel(optional java.util.concurrent.CancellationException cancellationException);
     method public boolean getHasAwaiters();
     method public void sendFrame(long timeNanos);
@@ -405,11 +404,11 @@
     method public static <K, V> androidx.compose.runtime.snapshots.SnapshotStateMap<K,V> mutableStateMapOf(kotlin.Pair<? extends K,? extends V>... pairs);
     method public static <T> androidx.compose.runtime.MutableState<T> mutableStateOf(T? value, optional androidx.compose.runtime.SnapshotMutationPolicy<T> policy);
     method public static <T> androidx.compose.runtime.SnapshotMutationPolicy<T> neverEqualPolicy();
-    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, @kotlin.BuilderInference kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
-    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object? key1, @kotlin.BuilderInference kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
-    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object? key1, Object? key2, @kotlin.BuilderInference kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
-    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object? key1, Object? key2, Object? key3, @kotlin.BuilderInference kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
-    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object![]? keys, @kotlin.BuilderInference kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object? key1, kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object? key1, Object? key2, kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object? key1, Object? key2, Object? key3, kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object![]? keys, kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
     method public static <T> androidx.compose.runtime.SnapshotMutationPolicy<T> referentialEqualityPolicy();
     method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> rememberUpdatedState(T? newValue);
     method public static inline operator <T> void setValue(androidx.compose.runtime.MutableState<T>, Object? thisObj, kotlin.reflect.KProperty<?> property, T? value);
diff --git a/compose/runtime/runtime/api/restricted_current.txt b/compose/runtime/runtime/api/restricted_current.txt
index fd0e03e..b2b4419 100644
--- a/compose/runtime/runtime/api/restricted_current.txt
+++ b/compose/runtime/runtime/api/restricted_current.txt
@@ -42,8 +42,7 @@
   }
 
   public final class BroadcastFrameClock implements androidx.compose.runtime.MonotonicFrameClock {
-    ctor public BroadcastFrameClock(kotlin.jvm.functions.Function0<kotlin.Unit>? onNewAwaiters);
-    ctor public BroadcastFrameClock();
+    ctor public BroadcastFrameClock(optional kotlin.jvm.functions.Function0<kotlin.Unit>? onNewAwaiters);
     method public void cancel(optional java.util.concurrent.CancellationException cancellationException);
     method public boolean getHasAwaiters();
     method public void sendFrame(long timeNanos);
@@ -405,11 +404,11 @@
     method public static <K, V> androidx.compose.runtime.snapshots.SnapshotStateMap<K,V> mutableStateMapOf(kotlin.Pair<? extends K,? extends V>... pairs);
     method public static <T> androidx.compose.runtime.MutableState<T> mutableStateOf(T? value, optional androidx.compose.runtime.SnapshotMutationPolicy<T> policy);
     method public static <T> androidx.compose.runtime.SnapshotMutationPolicy<T> neverEqualPolicy();
-    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, @kotlin.BuilderInference kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
-    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object? key1, @kotlin.BuilderInference kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
-    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object? key1, Object? key2, @kotlin.BuilderInference kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
-    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object? key1, Object? key2, Object? key3, @kotlin.BuilderInference kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
-    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object![]? keys, @kotlin.BuilderInference kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object? key1, kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object? key1, Object? key2, kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object? key1, Object? key2, Object? key3, kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+    method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object![]? keys, kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
     method public static <T> androidx.compose.runtime.SnapshotMutationPolicy<T> referentialEqualityPolicy();
     method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> rememberUpdatedState(T? newValue);
     method public static inline operator <T> void setValue(androidx.compose.runtime.MutableState<T>, Object? thisObj, kotlin.reflect.KProperty<?> property, T? value);
diff --git a/compose/ui/ui-graphics/api/1.0.0-beta02.txt b/compose/ui/ui-graphics/api/1.0.0-beta02.txt
index 49af2a6..4ac2634 100644
--- a/compose/ui/ui-graphics/api/1.0.0-beta02.txt
+++ b/compose/ui/ui-graphics/api/1.0.0-beta02.txt
@@ -74,8 +74,7 @@
   }
 
   public final class AndroidPath implements androidx.compose.ui.graphics.Path {
-    ctor public AndroidPath(android.graphics.Path internalPath);
-    ctor public AndroidPath();
+    ctor public AndroidPath(optional android.graphics.Path internalPath);
     method public void addArc(androidx.compose.ui.geometry.Rect oval, float startAngleDegrees, float sweepAngleDegrees);
     method public void addArcRad(androidx.compose.ui.geometry.Rect oval, float startAngleRadians, float sweepAngleRadians);
     method public void addOval(androidx.compose.ui.geometry.Rect oval);
@@ -325,7 +324,7 @@
 
   public final inline class ColorMatrix {
     ctor public ColorMatrix();
-    method public static float[]! constructor-impl(float[] values);
+    method public static float[]! constructor-impl(optional float[] values);
     method public static void convertRgbToYuv-impl(float[]! $this);
     method public static void convertYuvToRgb-impl(float[]! $this);
     method public static inline boolean equals-impl(float[]! p, Object? p1);
@@ -397,7 +396,7 @@
 
   public final inline class Matrix {
     ctor public Matrix();
-    method public static float[]! constructor-impl(float[] values);
+    method public static float[]! constructor-impl(optional float[] values);
     method public static inline boolean equals-impl(float[]! p, Object? p1);
     method public static boolean equals-impl0(float[] p1, float[] p2);
     method public static inline operator float get-impl(float[] $this, int row, int column);
@@ -877,7 +876,7 @@
   }
 
   public final class TransferParameters {
-    ctor public TransferParameters(double gamma, double a, double b, double c, double d, double e, double f);
+    ctor public TransferParameters(double gamma, double a, double b, double c, double d, optional double e, optional double f);
     method public double component1();
     method public double component2();
     method public double component3();
@@ -1049,8 +1048,7 @@
   }
 
   public final class Stroke extends androidx.compose.ui.graphics.drawscope.DrawStyle {
-    ctor public Stroke(float width, float miter, androidx.compose.ui.graphics.StrokeCap cap, androidx.compose.ui.graphics.StrokeJoin join, androidx.compose.ui.graphics.PathEffect? pathEffect);
-    ctor public Stroke();
+    ctor public Stroke(optional float width, optional float miter, optional androidx.compose.ui.graphics.StrokeCap cap, optional androidx.compose.ui.graphics.StrokeJoin join, optional androidx.compose.ui.graphics.PathEffect? pathEffect);
     method public androidx.compose.ui.graphics.StrokeCap getCap();
     method public androidx.compose.ui.graphics.StrokeJoin getJoin();
     method public float getMiter();
diff --git a/compose/ui/ui-graphics/api/current.txt b/compose/ui/ui-graphics/api/current.txt
index 49af2a6..4ac2634 100644
--- a/compose/ui/ui-graphics/api/current.txt
+++ b/compose/ui/ui-graphics/api/current.txt
@@ -74,8 +74,7 @@
   }
 
   public final class AndroidPath implements androidx.compose.ui.graphics.Path {
-    ctor public AndroidPath(android.graphics.Path internalPath);
-    ctor public AndroidPath();
+    ctor public AndroidPath(optional android.graphics.Path internalPath);
     method public void addArc(androidx.compose.ui.geometry.Rect oval, float startAngleDegrees, float sweepAngleDegrees);
     method public void addArcRad(androidx.compose.ui.geometry.Rect oval, float startAngleRadians, float sweepAngleRadians);
     method public void addOval(androidx.compose.ui.geometry.Rect oval);
@@ -325,7 +324,7 @@
 
   public final inline class ColorMatrix {
     ctor public ColorMatrix();
-    method public static float[]! constructor-impl(float[] values);
+    method public static float[]! constructor-impl(optional float[] values);
     method public static void convertRgbToYuv-impl(float[]! $this);
     method public static void convertYuvToRgb-impl(float[]! $this);
     method public static inline boolean equals-impl(float[]! p, Object? p1);
@@ -397,7 +396,7 @@
 
   public final inline class Matrix {
     ctor public Matrix();
-    method public static float[]! constructor-impl(float[] values);
+    method public static float[]! constructor-impl(optional float[] values);
     method public static inline boolean equals-impl(float[]! p, Object? p1);
     method public static boolean equals-impl0(float[] p1, float[] p2);
     method public static inline operator float get-impl(float[] $this, int row, int column);
@@ -877,7 +876,7 @@
   }
 
   public final class TransferParameters {
-    ctor public TransferParameters(double gamma, double a, double b, double c, double d, double e, double f);
+    ctor public TransferParameters(double gamma, double a, double b, double c, double d, optional double e, optional double f);
     method public double component1();
     method public double component2();
     method public double component3();
@@ -1049,8 +1048,7 @@
   }
 
   public final class Stroke extends androidx.compose.ui.graphics.drawscope.DrawStyle {
-    ctor public Stroke(float width, float miter, androidx.compose.ui.graphics.StrokeCap cap, androidx.compose.ui.graphics.StrokeJoin join, androidx.compose.ui.graphics.PathEffect? pathEffect);
-    ctor public Stroke();
+    ctor public Stroke(optional float width, optional float miter, optional androidx.compose.ui.graphics.StrokeCap cap, optional androidx.compose.ui.graphics.StrokeJoin join, optional androidx.compose.ui.graphics.PathEffect? pathEffect);
     method public androidx.compose.ui.graphics.StrokeCap getCap();
     method public androidx.compose.ui.graphics.StrokeJoin getJoin();
     method public float getMiter();
diff --git a/compose/ui/ui-graphics/api/public_plus_experimental_1.0.0-beta02.txt b/compose/ui/ui-graphics/api/public_plus_experimental_1.0.0-beta02.txt
index 49af2a6..4ac2634 100644
--- a/compose/ui/ui-graphics/api/public_plus_experimental_1.0.0-beta02.txt
+++ b/compose/ui/ui-graphics/api/public_plus_experimental_1.0.0-beta02.txt
@@ -74,8 +74,7 @@
   }
 
   public final class AndroidPath implements androidx.compose.ui.graphics.Path {
-    ctor public AndroidPath(android.graphics.Path internalPath);
-    ctor public AndroidPath();
+    ctor public AndroidPath(optional android.graphics.Path internalPath);
     method public void addArc(androidx.compose.ui.geometry.Rect oval, float startAngleDegrees, float sweepAngleDegrees);
     method public void addArcRad(androidx.compose.ui.geometry.Rect oval, float startAngleRadians, float sweepAngleRadians);
     method public void addOval(androidx.compose.ui.geometry.Rect oval);
@@ -325,7 +324,7 @@
 
   public final inline class ColorMatrix {
     ctor public ColorMatrix();
-    method public static float[]! constructor-impl(float[] values);
+    method public static float[]! constructor-impl(optional float[] values);
     method public static void convertRgbToYuv-impl(float[]! $this);
     method public static void convertYuvToRgb-impl(float[]! $this);
     method public static inline boolean equals-impl(float[]! p, Object? p1);
@@ -397,7 +396,7 @@
 
   public final inline class Matrix {
     ctor public Matrix();
-    method public static float[]! constructor-impl(float[] values);
+    method public static float[]! constructor-impl(optional float[] values);
     method public static inline boolean equals-impl(float[]! p, Object? p1);
     method public static boolean equals-impl0(float[] p1, float[] p2);
     method public static inline operator float get-impl(float[] $this, int row, int column);
@@ -877,7 +876,7 @@
   }
 
   public final class TransferParameters {
-    ctor public TransferParameters(double gamma, double a, double b, double c, double d, double e, double f);
+    ctor public TransferParameters(double gamma, double a, double b, double c, double d, optional double e, optional double f);
     method public double component1();
     method public double component2();
     method public double component3();
@@ -1049,8 +1048,7 @@
   }
 
   public final class Stroke extends androidx.compose.ui.graphics.drawscope.DrawStyle {
-    ctor public Stroke(float width, float miter, androidx.compose.ui.graphics.StrokeCap cap, androidx.compose.ui.graphics.StrokeJoin join, androidx.compose.ui.graphics.PathEffect? pathEffect);
-    ctor public Stroke();
+    ctor public Stroke(optional float width, optional float miter, optional androidx.compose.ui.graphics.StrokeCap cap, optional androidx.compose.ui.graphics.StrokeJoin join, optional androidx.compose.ui.graphics.PathEffect? pathEffect);
     method public androidx.compose.ui.graphics.StrokeCap getCap();
     method public androidx.compose.ui.graphics.StrokeJoin getJoin();
     method public float getMiter();
diff --git a/compose/ui/ui-graphics/api/public_plus_experimental_current.txt b/compose/ui/ui-graphics/api/public_plus_experimental_current.txt
index 49af2a6..4ac2634 100644
--- a/compose/ui/ui-graphics/api/public_plus_experimental_current.txt
+++ b/compose/ui/ui-graphics/api/public_plus_experimental_current.txt
@@ -74,8 +74,7 @@
   }
 
   public final class AndroidPath implements androidx.compose.ui.graphics.Path {
-    ctor public AndroidPath(android.graphics.Path internalPath);
-    ctor public AndroidPath();
+    ctor public AndroidPath(optional android.graphics.Path internalPath);
     method public void addArc(androidx.compose.ui.geometry.Rect oval, float startAngleDegrees, float sweepAngleDegrees);
     method public void addArcRad(androidx.compose.ui.geometry.Rect oval, float startAngleRadians, float sweepAngleRadians);
     method public void addOval(androidx.compose.ui.geometry.Rect oval);
@@ -325,7 +324,7 @@
 
   public final inline class ColorMatrix {
     ctor public ColorMatrix();
-    method public static float[]! constructor-impl(float[] values);
+    method public static float[]! constructor-impl(optional float[] values);
     method public static void convertRgbToYuv-impl(float[]! $this);
     method public static void convertYuvToRgb-impl(float[]! $this);
     method public static inline boolean equals-impl(float[]! p, Object? p1);
@@ -397,7 +396,7 @@
 
   public final inline class Matrix {
     ctor public Matrix();
-    method public static float[]! constructor-impl(float[] values);
+    method public static float[]! constructor-impl(optional float[] values);
     method public static inline boolean equals-impl(float[]! p, Object? p1);
     method public static boolean equals-impl0(float[] p1, float[] p2);
     method public static inline operator float get-impl(float[] $this, int row, int column);
@@ -877,7 +876,7 @@
   }
 
   public final class TransferParameters {
-    ctor public TransferParameters(double gamma, double a, double b, double c, double d, double e, double f);
+    ctor public TransferParameters(double gamma, double a, double b, double c, double d, optional double e, optional double f);
     method public double component1();
     method public double component2();
     method public double component3();
@@ -1049,8 +1048,7 @@
   }
 
   public final class Stroke extends androidx.compose.ui.graphics.drawscope.DrawStyle {
-    ctor public Stroke(float width, float miter, androidx.compose.ui.graphics.StrokeCap cap, androidx.compose.ui.graphics.StrokeJoin join, androidx.compose.ui.graphics.PathEffect? pathEffect);
-    ctor public Stroke();
+    ctor public Stroke(optional float width, optional float miter, optional androidx.compose.ui.graphics.StrokeCap cap, optional androidx.compose.ui.graphics.StrokeJoin join, optional androidx.compose.ui.graphics.PathEffect? pathEffect);
     method public androidx.compose.ui.graphics.StrokeCap getCap();
     method public androidx.compose.ui.graphics.StrokeJoin getJoin();
     method public float getMiter();
diff --git a/compose/ui/ui-graphics/api/restricted_1.0.0-beta02.txt b/compose/ui/ui-graphics/api/restricted_1.0.0-beta02.txt
index ec4a395..398edf5 100644
--- a/compose/ui/ui-graphics/api/restricted_1.0.0-beta02.txt
+++ b/compose/ui/ui-graphics/api/restricted_1.0.0-beta02.txt
@@ -104,8 +104,7 @@
   }
 
   public final class AndroidPath implements androidx.compose.ui.graphics.Path {
-    ctor public AndroidPath(android.graphics.Path internalPath);
-    ctor public AndroidPath();
+    ctor public AndroidPath(optional android.graphics.Path internalPath);
     method public void addArc(androidx.compose.ui.geometry.Rect oval, float startAngleDegrees, float sweepAngleDegrees);
     method public void addArcRad(androidx.compose.ui.geometry.Rect oval, float startAngleRadians, float sweepAngleRadians);
     method public void addOval(androidx.compose.ui.geometry.Rect oval);
@@ -356,7 +355,7 @@
 
   public final inline class ColorMatrix {
     ctor public ColorMatrix();
-    method public static float[]! constructor-impl(float[] values);
+    method public static float[]! constructor-impl(optional float[] values);
     method public static void convertRgbToYuv-impl(float[]! $this);
     method public static void convertYuvToRgb-impl(float[]! $this);
     method public static inline boolean equals-impl(float[]! p, Object? p1);
@@ -429,7 +428,7 @@
 
   public final inline class Matrix {
     ctor public Matrix();
-    method public static float[]! constructor-impl(float[] values);
+    method public static float[]! constructor-impl(optional float[] values);
     method public static inline boolean equals-impl(float[]! p, Object? p1);
     method public static boolean equals-impl0(float[] p1, float[] p2);
     method public static inline operator float get-impl(float[] $this, int row, int column);
@@ -909,7 +908,7 @@
   }
 
   public final class TransferParameters {
-    ctor public TransferParameters(double gamma, double a, double b, double c, double d, double e, double f);
+    ctor public TransferParameters(double gamma, double a, double b, double c, double d, optional double e, optional double f);
     method public double component1();
     method public double component2();
     method public double component3();
@@ -1105,8 +1104,7 @@
   }
 
   public final class Stroke extends androidx.compose.ui.graphics.drawscope.DrawStyle {
-    ctor public Stroke(float width, float miter, androidx.compose.ui.graphics.StrokeCap cap, androidx.compose.ui.graphics.StrokeJoin join, androidx.compose.ui.graphics.PathEffect? pathEffect);
-    ctor public Stroke();
+    ctor public Stroke(optional float width, optional float miter, optional androidx.compose.ui.graphics.StrokeCap cap, optional androidx.compose.ui.graphics.StrokeJoin join, optional androidx.compose.ui.graphics.PathEffect? pathEffect);
     method public androidx.compose.ui.graphics.StrokeCap getCap();
     method public androidx.compose.ui.graphics.StrokeJoin getJoin();
     method public float getMiter();
diff --git a/compose/ui/ui-graphics/api/restricted_current.txt b/compose/ui/ui-graphics/api/restricted_current.txt
index ec4a395..398edf5 100644
--- a/compose/ui/ui-graphics/api/restricted_current.txt
+++ b/compose/ui/ui-graphics/api/restricted_current.txt
@@ -104,8 +104,7 @@
   }
 
   public final class AndroidPath implements androidx.compose.ui.graphics.Path {
-    ctor public AndroidPath(android.graphics.Path internalPath);
-    ctor public AndroidPath();
+    ctor public AndroidPath(optional android.graphics.Path internalPath);
     method public void addArc(androidx.compose.ui.geometry.Rect oval, float startAngleDegrees, float sweepAngleDegrees);
     method public void addArcRad(androidx.compose.ui.geometry.Rect oval, float startAngleRadians, float sweepAngleRadians);
     method public void addOval(androidx.compose.ui.geometry.Rect oval);
@@ -356,7 +355,7 @@
 
   public final inline class ColorMatrix {
     ctor public ColorMatrix();
-    method public static float[]! constructor-impl(float[] values);
+    method public static float[]! constructor-impl(optional float[] values);
     method public static void convertRgbToYuv-impl(float[]! $this);
     method public static void convertYuvToRgb-impl(float[]! $this);
     method public static inline boolean equals-impl(float[]! p, Object? p1);
@@ -429,7 +428,7 @@
 
   public final inline class Matrix {
     ctor public Matrix();
-    method public static float[]! constructor-impl(float[] values);
+    method public static float[]! constructor-impl(optional float[] values);
     method public static inline boolean equals-impl(float[]! p, Object? p1);
     method public static boolean equals-impl0(float[] p1, float[] p2);
     method public static inline operator float get-impl(float[] $this, int row, int column);
@@ -909,7 +908,7 @@
   }
 
   public final class TransferParameters {
-    ctor public TransferParameters(double gamma, double a, double b, double c, double d, double e, double f);
+    ctor public TransferParameters(double gamma, double a, double b, double c, double d, optional double e, optional double f);
     method public double component1();
     method public double component2();
     method public double component3();
@@ -1105,8 +1104,7 @@
   }
 
   public final class Stroke extends androidx.compose.ui.graphics.drawscope.DrawStyle {
-    ctor public Stroke(float width, float miter, androidx.compose.ui.graphics.StrokeCap cap, androidx.compose.ui.graphics.StrokeJoin join, androidx.compose.ui.graphics.PathEffect? pathEffect);
-    ctor public Stroke();
+    ctor public Stroke(optional float width, optional float miter, optional androidx.compose.ui.graphics.StrokeCap cap, optional androidx.compose.ui.graphics.StrokeJoin join, optional androidx.compose.ui.graphics.PathEffect? pathEffect);
     method public androidx.compose.ui.graphics.StrokeCap getCap();
     method public androidx.compose.ui.graphics.StrokeJoin getJoin();
     method public float getMiter();
diff --git a/compose/ui/ui-test/api/1.0.0-beta02.txt b/compose/ui/ui-test/api/1.0.0-beta02.txt
index 963ed71..d1bbe8e 100644
--- a/compose/ui/ui-test/api/1.0.0-beta02.txt
+++ b/compose/ui/ui-test/api/1.0.0-beta02.txt
@@ -196,7 +196,7 @@
   }
 
   public final class SelectionResult {
-    ctor public SelectionResult(java.util.List<androidx.compose.ui.semantics.SemanticsNode> selectedNodes, String? customErrorOnNoMatch);
+    ctor public SelectionResult(java.util.List<androidx.compose.ui.semantics.SemanticsNode> selectedNodes, optional String? customErrorOnNoMatch);
     method public String? getCustomErrorOnNoMatch();
     method public java.util.List<androidx.compose.ui.semantics.SemanticsNode> getSelectedNodes();
     property public final String? customErrorOnNoMatch;
@@ -256,7 +256,7 @@
   }
 
   public final class SemanticsSelector {
-    ctor public SemanticsSelector(String description, boolean requiresExactlyOneNode, androidx.compose.ui.test.SemanticsSelector? chainedInputSelector, kotlin.jvm.functions.Function1<? super java.lang.Iterable<androidx.compose.ui.semantics.SemanticsNode>,androidx.compose.ui.test.SelectionResult> selector);
+    ctor public SemanticsSelector(String description, boolean requiresExactlyOneNode, optional androidx.compose.ui.test.SemanticsSelector? chainedInputSelector, kotlin.jvm.functions.Function1<? super java.lang.Iterable<androidx.compose.ui.semantics.SemanticsNode>,androidx.compose.ui.test.SelectionResult> selector);
     method public String getDescription();
     method public androidx.compose.ui.test.SelectionResult map(Iterable<androidx.compose.ui.semantics.SemanticsNode> nodes, String errorOnFail);
     property public final String description;
@@ -269,7 +269,7 @@
   }
 
   @kotlinx.coroutines.ExperimentalCoroutinesApi public final class TestMonotonicFrameClock implements androidx.compose.runtime.MonotonicFrameClock {
-    ctor public TestMonotonicFrameClock(kotlinx.coroutines.CoroutineScope coroutineScope, kotlinx.coroutines.test.DelayController delayController, long frameDelayNanos);
+    ctor public TestMonotonicFrameClock(kotlinx.coroutines.CoroutineScope coroutineScope, kotlinx.coroutines.test.DelayController delayController, optional long frameDelayNanos);
     method public long getFrameDelayNanos();
     method public boolean getHasAwaiters();
     method public suspend <R> Object? withFrameNanos(kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
diff --git a/compose/ui/ui-test/api/current.txt b/compose/ui/ui-test/api/current.txt
index 963ed71..d1bbe8e 100644
--- a/compose/ui/ui-test/api/current.txt
+++ b/compose/ui/ui-test/api/current.txt
@@ -196,7 +196,7 @@
   }
 
   public final class SelectionResult {
-    ctor public SelectionResult(java.util.List<androidx.compose.ui.semantics.SemanticsNode> selectedNodes, String? customErrorOnNoMatch);
+    ctor public SelectionResult(java.util.List<androidx.compose.ui.semantics.SemanticsNode> selectedNodes, optional String? customErrorOnNoMatch);
     method public String? getCustomErrorOnNoMatch();
     method public java.util.List<androidx.compose.ui.semantics.SemanticsNode> getSelectedNodes();
     property public final String? customErrorOnNoMatch;
@@ -256,7 +256,7 @@
   }
 
   public final class SemanticsSelector {
-    ctor public SemanticsSelector(String description, boolean requiresExactlyOneNode, androidx.compose.ui.test.SemanticsSelector? chainedInputSelector, kotlin.jvm.functions.Function1<? super java.lang.Iterable<androidx.compose.ui.semantics.SemanticsNode>,androidx.compose.ui.test.SelectionResult> selector);
+    ctor public SemanticsSelector(String description, boolean requiresExactlyOneNode, optional androidx.compose.ui.test.SemanticsSelector? chainedInputSelector, kotlin.jvm.functions.Function1<? super java.lang.Iterable<androidx.compose.ui.semantics.SemanticsNode>,androidx.compose.ui.test.SelectionResult> selector);
     method public String getDescription();
     method public androidx.compose.ui.test.SelectionResult map(Iterable<androidx.compose.ui.semantics.SemanticsNode> nodes, String errorOnFail);
     property public final String description;
@@ -269,7 +269,7 @@
   }
 
   @kotlinx.coroutines.ExperimentalCoroutinesApi public final class TestMonotonicFrameClock implements androidx.compose.runtime.MonotonicFrameClock {
-    ctor public TestMonotonicFrameClock(kotlinx.coroutines.CoroutineScope coroutineScope, kotlinx.coroutines.test.DelayController delayController, long frameDelayNanos);
+    ctor public TestMonotonicFrameClock(kotlinx.coroutines.CoroutineScope coroutineScope, kotlinx.coroutines.test.DelayController delayController, optional long frameDelayNanos);
     method public long getFrameDelayNanos();
     method public boolean getHasAwaiters();
     method public suspend <R> Object? withFrameNanos(kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
diff --git a/compose/ui/ui-test/api/public_plus_experimental_1.0.0-beta02.txt b/compose/ui/ui-test/api/public_plus_experimental_1.0.0-beta02.txt
index 963ed71..d1bbe8e 100644
--- a/compose/ui/ui-test/api/public_plus_experimental_1.0.0-beta02.txt
+++ b/compose/ui/ui-test/api/public_plus_experimental_1.0.0-beta02.txt
@@ -196,7 +196,7 @@
   }
 
   public final class SelectionResult {
-    ctor public SelectionResult(java.util.List<androidx.compose.ui.semantics.SemanticsNode> selectedNodes, String? customErrorOnNoMatch);
+    ctor public SelectionResult(java.util.List<androidx.compose.ui.semantics.SemanticsNode> selectedNodes, optional String? customErrorOnNoMatch);
     method public String? getCustomErrorOnNoMatch();
     method public java.util.List<androidx.compose.ui.semantics.SemanticsNode> getSelectedNodes();
     property public final String? customErrorOnNoMatch;
@@ -256,7 +256,7 @@
   }
 
   public final class SemanticsSelector {
-    ctor public SemanticsSelector(String description, boolean requiresExactlyOneNode, androidx.compose.ui.test.SemanticsSelector? chainedInputSelector, kotlin.jvm.functions.Function1<? super java.lang.Iterable<androidx.compose.ui.semantics.SemanticsNode>,androidx.compose.ui.test.SelectionResult> selector);
+    ctor public SemanticsSelector(String description, boolean requiresExactlyOneNode, optional androidx.compose.ui.test.SemanticsSelector? chainedInputSelector, kotlin.jvm.functions.Function1<? super java.lang.Iterable<androidx.compose.ui.semantics.SemanticsNode>,androidx.compose.ui.test.SelectionResult> selector);
     method public String getDescription();
     method public androidx.compose.ui.test.SelectionResult map(Iterable<androidx.compose.ui.semantics.SemanticsNode> nodes, String errorOnFail);
     property public final String description;
@@ -269,7 +269,7 @@
   }
 
   @kotlinx.coroutines.ExperimentalCoroutinesApi public final class TestMonotonicFrameClock implements androidx.compose.runtime.MonotonicFrameClock {
-    ctor public TestMonotonicFrameClock(kotlinx.coroutines.CoroutineScope coroutineScope, kotlinx.coroutines.test.DelayController delayController, long frameDelayNanos);
+    ctor public TestMonotonicFrameClock(kotlinx.coroutines.CoroutineScope coroutineScope, kotlinx.coroutines.test.DelayController delayController, optional long frameDelayNanos);
     method public long getFrameDelayNanos();
     method public boolean getHasAwaiters();
     method public suspend <R> Object? withFrameNanos(kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
diff --git a/compose/ui/ui-test/api/public_plus_experimental_current.txt b/compose/ui/ui-test/api/public_plus_experimental_current.txt
index 963ed71..d1bbe8e 100644
--- a/compose/ui/ui-test/api/public_plus_experimental_current.txt
+++ b/compose/ui/ui-test/api/public_plus_experimental_current.txt
@@ -196,7 +196,7 @@
   }
 
   public final class SelectionResult {
-    ctor public SelectionResult(java.util.List<androidx.compose.ui.semantics.SemanticsNode> selectedNodes, String? customErrorOnNoMatch);
+    ctor public SelectionResult(java.util.List<androidx.compose.ui.semantics.SemanticsNode> selectedNodes, optional String? customErrorOnNoMatch);
     method public String? getCustomErrorOnNoMatch();
     method public java.util.List<androidx.compose.ui.semantics.SemanticsNode> getSelectedNodes();
     property public final String? customErrorOnNoMatch;
@@ -256,7 +256,7 @@
   }
 
   public final class SemanticsSelector {
-    ctor public SemanticsSelector(String description, boolean requiresExactlyOneNode, androidx.compose.ui.test.SemanticsSelector? chainedInputSelector, kotlin.jvm.functions.Function1<? super java.lang.Iterable<androidx.compose.ui.semantics.SemanticsNode>,androidx.compose.ui.test.SelectionResult> selector);
+    ctor public SemanticsSelector(String description, boolean requiresExactlyOneNode, optional androidx.compose.ui.test.SemanticsSelector? chainedInputSelector, kotlin.jvm.functions.Function1<? super java.lang.Iterable<androidx.compose.ui.semantics.SemanticsNode>,androidx.compose.ui.test.SelectionResult> selector);
     method public String getDescription();
     method public androidx.compose.ui.test.SelectionResult map(Iterable<androidx.compose.ui.semantics.SemanticsNode> nodes, String errorOnFail);
     property public final String description;
@@ -269,7 +269,7 @@
   }
 
   @kotlinx.coroutines.ExperimentalCoroutinesApi public final class TestMonotonicFrameClock implements androidx.compose.runtime.MonotonicFrameClock {
-    ctor public TestMonotonicFrameClock(kotlinx.coroutines.CoroutineScope coroutineScope, kotlinx.coroutines.test.DelayController delayController, long frameDelayNanos);
+    ctor public TestMonotonicFrameClock(kotlinx.coroutines.CoroutineScope coroutineScope, kotlinx.coroutines.test.DelayController delayController, optional long frameDelayNanos);
     method public long getFrameDelayNanos();
     method public boolean getHasAwaiters();
     method public suspend <R> Object? withFrameNanos(kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
diff --git a/compose/ui/ui-test/api/restricted_1.0.0-beta02.txt b/compose/ui/ui-test/api/restricted_1.0.0-beta02.txt
index 963ed71..d1bbe8e 100644
--- a/compose/ui/ui-test/api/restricted_1.0.0-beta02.txt
+++ b/compose/ui/ui-test/api/restricted_1.0.0-beta02.txt
@@ -196,7 +196,7 @@
   }
 
   public final class SelectionResult {
-    ctor public SelectionResult(java.util.List<androidx.compose.ui.semantics.SemanticsNode> selectedNodes, String? customErrorOnNoMatch);
+    ctor public SelectionResult(java.util.List<androidx.compose.ui.semantics.SemanticsNode> selectedNodes, optional String? customErrorOnNoMatch);
     method public String? getCustomErrorOnNoMatch();
     method public java.util.List<androidx.compose.ui.semantics.SemanticsNode> getSelectedNodes();
     property public final String? customErrorOnNoMatch;
@@ -256,7 +256,7 @@
   }
 
   public final class SemanticsSelector {
-    ctor public SemanticsSelector(String description, boolean requiresExactlyOneNode, androidx.compose.ui.test.SemanticsSelector? chainedInputSelector, kotlin.jvm.functions.Function1<? super java.lang.Iterable<androidx.compose.ui.semantics.SemanticsNode>,androidx.compose.ui.test.SelectionResult> selector);
+    ctor public SemanticsSelector(String description, boolean requiresExactlyOneNode, optional androidx.compose.ui.test.SemanticsSelector? chainedInputSelector, kotlin.jvm.functions.Function1<? super java.lang.Iterable<androidx.compose.ui.semantics.SemanticsNode>,androidx.compose.ui.test.SelectionResult> selector);
     method public String getDescription();
     method public androidx.compose.ui.test.SelectionResult map(Iterable<androidx.compose.ui.semantics.SemanticsNode> nodes, String errorOnFail);
     property public final String description;
@@ -269,7 +269,7 @@
   }
 
   @kotlinx.coroutines.ExperimentalCoroutinesApi public final class TestMonotonicFrameClock implements androidx.compose.runtime.MonotonicFrameClock {
-    ctor public TestMonotonicFrameClock(kotlinx.coroutines.CoroutineScope coroutineScope, kotlinx.coroutines.test.DelayController delayController, long frameDelayNanos);
+    ctor public TestMonotonicFrameClock(kotlinx.coroutines.CoroutineScope coroutineScope, kotlinx.coroutines.test.DelayController delayController, optional long frameDelayNanos);
     method public long getFrameDelayNanos();
     method public boolean getHasAwaiters();
     method public suspend <R> Object? withFrameNanos(kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
diff --git a/compose/ui/ui-test/api/restricted_current.txt b/compose/ui/ui-test/api/restricted_current.txt
index 963ed71..d1bbe8e 100644
--- a/compose/ui/ui-test/api/restricted_current.txt
+++ b/compose/ui/ui-test/api/restricted_current.txt
@@ -196,7 +196,7 @@
   }
 
   public final class SelectionResult {
-    ctor public SelectionResult(java.util.List<androidx.compose.ui.semantics.SemanticsNode> selectedNodes, String? customErrorOnNoMatch);
+    ctor public SelectionResult(java.util.List<androidx.compose.ui.semantics.SemanticsNode> selectedNodes, optional String? customErrorOnNoMatch);
     method public String? getCustomErrorOnNoMatch();
     method public java.util.List<androidx.compose.ui.semantics.SemanticsNode> getSelectedNodes();
     property public final String? customErrorOnNoMatch;
@@ -256,7 +256,7 @@
   }
 
   public final class SemanticsSelector {
-    ctor public SemanticsSelector(String description, boolean requiresExactlyOneNode, androidx.compose.ui.test.SemanticsSelector? chainedInputSelector, kotlin.jvm.functions.Function1<? super java.lang.Iterable<androidx.compose.ui.semantics.SemanticsNode>,androidx.compose.ui.test.SelectionResult> selector);
+    ctor public SemanticsSelector(String description, boolean requiresExactlyOneNode, optional androidx.compose.ui.test.SemanticsSelector? chainedInputSelector, kotlin.jvm.functions.Function1<? super java.lang.Iterable<androidx.compose.ui.semantics.SemanticsNode>,androidx.compose.ui.test.SelectionResult> selector);
     method public String getDescription();
     method public androidx.compose.ui.test.SelectionResult map(Iterable<androidx.compose.ui.semantics.SemanticsNode> nodes, String errorOnFail);
     property public final String description;
@@ -269,7 +269,7 @@
   }
 
   @kotlinx.coroutines.ExperimentalCoroutinesApi public final class TestMonotonicFrameClock implements androidx.compose.runtime.MonotonicFrameClock {
-    ctor public TestMonotonicFrameClock(kotlinx.coroutines.CoroutineScope coroutineScope, kotlinx.coroutines.test.DelayController delayController, long frameDelayNanos);
+    ctor public TestMonotonicFrameClock(kotlinx.coroutines.CoroutineScope coroutineScope, kotlinx.coroutines.test.DelayController delayController, optional long frameDelayNanos);
     method public long getFrameDelayNanos();
     method public boolean getHasAwaiters();
     method public suspend <R> Object? withFrameNanos(kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
diff --git a/compose/ui/ui-text/api/1.0.0-beta02.txt b/compose/ui/ui-text/api/1.0.0-beta02.txt
index 03711bf..00cd8e6 100644
--- a/compose/ui/ui-text/api/1.0.0-beta02.txt
+++ b/compose/ui/ui-text/api/1.0.0-beta02.txt
@@ -5,7 +5,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class AnnotatedString implements java.lang.CharSequence {
-    ctor public AnnotatedString(String text, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> paragraphStyles);
+    ctor public AnnotatedString(String text, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> paragraphStyles);
     method public operator char get(int index);
     method public int getLength();
     method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> getParagraphStyles();
@@ -24,8 +24,7 @@
   }
 
   public static final class AnnotatedString.Builder {
-    ctor public AnnotatedString.Builder(int capacity);
-    ctor public AnnotatedString.Builder();
+    ctor public AnnotatedString.Builder(optional int capacity);
     ctor public AnnotatedString.Builder(String text);
     ctor public AnnotatedString.Builder(androidx.compose.ui.text.AnnotatedString text);
     method public void addStringAnnotation(String tag, String annotation, int start, int end);
@@ -85,8 +84,8 @@
   }
 
   public final class MultiParagraph {
-    ctor public MultiParagraph(androidx.compose.ui.text.MultiParagraphIntrinsics intrinsics, int maxLines, boolean ellipsis, float width);
-    ctor public MultiParagraph(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, int maxLines, boolean ellipsis, float width, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+    ctor public MultiParagraph(androidx.compose.ui.text.MultiParagraphIntrinsics intrinsics, optional int maxLines, optional boolean ellipsis, float width);
+    ctor public MultiParagraph(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, optional int maxLines, optional boolean ellipsis, float width, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
     method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
     method public androidx.compose.ui.geometry.Rect getBoundingBox(int offset);
     method public androidx.compose.ui.geometry.Rect getCursorRect(int offset);
@@ -738,8 +737,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class ImeOptions {
-    ctor public ImeOptions(boolean singleLine, androidx.compose.ui.text.input.KeyboardCapitalization capitalization, boolean autoCorrect, androidx.compose.ui.text.input.KeyboardType keyboardType, androidx.compose.ui.text.input.ImeAction imeAction);
-    ctor public ImeOptions();
+    ctor public ImeOptions(optional boolean singleLine, optional androidx.compose.ui.text.input.KeyboardCapitalization capitalization, optional boolean autoCorrect, optional androidx.compose.ui.text.input.KeyboardType keyboardType, optional androidx.compose.ui.text.input.ImeAction imeAction);
     method public androidx.compose.ui.text.input.ImeOptions copy(optional boolean singleLine, optional androidx.compose.ui.text.input.KeyboardCapitalization capitalization, optional boolean autoCorrect, optional androidx.compose.ui.text.input.KeyboardType keyboardType, optional androidx.compose.ui.text.input.ImeAction imeAction);
     method public boolean getAutoCorrect();
     method public androidx.compose.ui.text.input.KeyboardCapitalization getCapitalization();
@@ -801,8 +799,7 @@
   }
 
   public final class PasswordVisualTransformation implements androidx.compose.ui.text.input.VisualTransformation {
-    ctor public PasswordVisualTransformation(char mask);
-    ctor public PasswordVisualTransformation();
+    ctor public PasswordVisualTransformation(optional char mask);
     method public androidx.compose.ui.text.input.TransformedText filter(androidx.compose.ui.text.AnnotatedString text);
     method public char getMask();
     property public final char mask;
@@ -1068,8 +1065,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class TextGeometricTransform {
-    ctor public TextGeometricTransform(float scaleX, float skewX);
-    ctor public TextGeometricTransform();
+    ctor public TextGeometricTransform(optional float scaleX, optional float skewX);
     method public androidx.compose.ui.text.style.TextGeometricTransform copy(optional float scaleX, optional float skewX);
     method public operator boolean equals(Object? other);
     method public float getScaleX();
diff --git a/compose/ui/ui-text/api/api_lint.ignore b/compose/ui/ui-text/api/api_lint.ignore
index 04e1505..1202086 100644
--- a/compose/ui/ui-text/api/api_lint.ignore
+++ b/compose/ui/ui-text/api/api_lint.ignore
@@ -37,6 +37,12 @@
     Missing nullability on method `toString-impl` return
 
 
+NullableCollection: androidx.compose.ui.text.SpanStyle#getLocaleList():
+    Return type of method androidx.compose.ui.text.SpanStyle.getLocaleList() is a nullable collection (`androidx.compose.ui.text.intl.LocaleList`); must be non-null
+NullableCollection: androidx.compose.ui.text.TextStyle#getLocaleList():
+    Return type of method androidx.compose.ui.text.TextStyle.getLocaleList() is a nullable collection (`androidx.compose.ui.text.intl.LocaleList`); must be non-null
+
+
 SetterReturnsThis: androidx.compose.ui.text.AnnotatedString.Builder#addStringAnnotation(String, String, int, int):
     Methods must return the builder object (return type androidx.compose.ui.text.AnnotatedString.Builder instead of void): method androidx.compose.ui.text.AnnotatedString.Builder.addStringAnnotation(String,String,int,int)
 SetterReturnsThis: androidx.compose.ui.text.AnnotatedString.Builder#addStyle(androidx.compose.ui.text.ParagraphStyle, int, int):
diff --git a/compose/ui/ui-text/api/current.txt b/compose/ui/ui-text/api/current.txt
index 03711bf..00cd8e6 100644
--- a/compose/ui/ui-text/api/current.txt
+++ b/compose/ui/ui-text/api/current.txt
@@ -5,7 +5,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class AnnotatedString implements java.lang.CharSequence {
-    ctor public AnnotatedString(String text, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> paragraphStyles);
+    ctor public AnnotatedString(String text, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> paragraphStyles);
     method public operator char get(int index);
     method public int getLength();
     method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> getParagraphStyles();
@@ -24,8 +24,7 @@
   }
 
   public static final class AnnotatedString.Builder {
-    ctor public AnnotatedString.Builder(int capacity);
-    ctor public AnnotatedString.Builder();
+    ctor public AnnotatedString.Builder(optional int capacity);
     ctor public AnnotatedString.Builder(String text);
     ctor public AnnotatedString.Builder(androidx.compose.ui.text.AnnotatedString text);
     method public void addStringAnnotation(String tag, String annotation, int start, int end);
@@ -85,8 +84,8 @@
   }
 
   public final class MultiParagraph {
-    ctor public MultiParagraph(androidx.compose.ui.text.MultiParagraphIntrinsics intrinsics, int maxLines, boolean ellipsis, float width);
-    ctor public MultiParagraph(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, int maxLines, boolean ellipsis, float width, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+    ctor public MultiParagraph(androidx.compose.ui.text.MultiParagraphIntrinsics intrinsics, optional int maxLines, optional boolean ellipsis, float width);
+    ctor public MultiParagraph(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, optional int maxLines, optional boolean ellipsis, float width, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
     method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
     method public androidx.compose.ui.geometry.Rect getBoundingBox(int offset);
     method public androidx.compose.ui.geometry.Rect getCursorRect(int offset);
@@ -738,8 +737,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class ImeOptions {
-    ctor public ImeOptions(boolean singleLine, androidx.compose.ui.text.input.KeyboardCapitalization capitalization, boolean autoCorrect, androidx.compose.ui.text.input.KeyboardType keyboardType, androidx.compose.ui.text.input.ImeAction imeAction);
-    ctor public ImeOptions();
+    ctor public ImeOptions(optional boolean singleLine, optional androidx.compose.ui.text.input.KeyboardCapitalization capitalization, optional boolean autoCorrect, optional androidx.compose.ui.text.input.KeyboardType keyboardType, optional androidx.compose.ui.text.input.ImeAction imeAction);
     method public androidx.compose.ui.text.input.ImeOptions copy(optional boolean singleLine, optional androidx.compose.ui.text.input.KeyboardCapitalization capitalization, optional boolean autoCorrect, optional androidx.compose.ui.text.input.KeyboardType keyboardType, optional androidx.compose.ui.text.input.ImeAction imeAction);
     method public boolean getAutoCorrect();
     method public androidx.compose.ui.text.input.KeyboardCapitalization getCapitalization();
@@ -801,8 +799,7 @@
   }
 
   public final class PasswordVisualTransformation implements androidx.compose.ui.text.input.VisualTransformation {
-    ctor public PasswordVisualTransformation(char mask);
-    ctor public PasswordVisualTransformation();
+    ctor public PasswordVisualTransformation(optional char mask);
     method public androidx.compose.ui.text.input.TransformedText filter(androidx.compose.ui.text.AnnotatedString text);
     method public char getMask();
     property public final char mask;
@@ -1068,8 +1065,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class TextGeometricTransform {
-    ctor public TextGeometricTransform(float scaleX, float skewX);
-    ctor public TextGeometricTransform();
+    ctor public TextGeometricTransform(optional float scaleX, optional float skewX);
     method public androidx.compose.ui.text.style.TextGeometricTransform copy(optional float scaleX, optional float skewX);
     method public operator boolean equals(Object? other);
     method public float getScaleX();
diff --git a/compose/ui/ui-text/api/public_plus_experimental_1.0.0-beta02.txt b/compose/ui/ui-text/api/public_plus_experimental_1.0.0-beta02.txt
index 03711bf..00cd8e6 100644
--- a/compose/ui/ui-text/api/public_plus_experimental_1.0.0-beta02.txt
+++ b/compose/ui/ui-text/api/public_plus_experimental_1.0.0-beta02.txt
@@ -5,7 +5,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class AnnotatedString implements java.lang.CharSequence {
-    ctor public AnnotatedString(String text, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> paragraphStyles);
+    ctor public AnnotatedString(String text, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> paragraphStyles);
     method public operator char get(int index);
     method public int getLength();
     method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> getParagraphStyles();
@@ -24,8 +24,7 @@
   }
 
   public static final class AnnotatedString.Builder {
-    ctor public AnnotatedString.Builder(int capacity);
-    ctor public AnnotatedString.Builder();
+    ctor public AnnotatedString.Builder(optional int capacity);
     ctor public AnnotatedString.Builder(String text);
     ctor public AnnotatedString.Builder(androidx.compose.ui.text.AnnotatedString text);
     method public void addStringAnnotation(String tag, String annotation, int start, int end);
@@ -85,8 +84,8 @@
   }
 
   public final class MultiParagraph {
-    ctor public MultiParagraph(androidx.compose.ui.text.MultiParagraphIntrinsics intrinsics, int maxLines, boolean ellipsis, float width);
-    ctor public MultiParagraph(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, int maxLines, boolean ellipsis, float width, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+    ctor public MultiParagraph(androidx.compose.ui.text.MultiParagraphIntrinsics intrinsics, optional int maxLines, optional boolean ellipsis, float width);
+    ctor public MultiParagraph(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, optional int maxLines, optional boolean ellipsis, float width, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
     method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
     method public androidx.compose.ui.geometry.Rect getBoundingBox(int offset);
     method public androidx.compose.ui.geometry.Rect getCursorRect(int offset);
@@ -738,8 +737,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class ImeOptions {
-    ctor public ImeOptions(boolean singleLine, androidx.compose.ui.text.input.KeyboardCapitalization capitalization, boolean autoCorrect, androidx.compose.ui.text.input.KeyboardType keyboardType, androidx.compose.ui.text.input.ImeAction imeAction);
-    ctor public ImeOptions();
+    ctor public ImeOptions(optional boolean singleLine, optional androidx.compose.ui.text.input.KeyboardCapitalization capitalization, optional boolean autoCorrect, optional androidx.compose.ui.text.input.KeyboardType keyboardType, optional androidx.compose.ui.text.input.ImeAction imeAction);
     method public androidx.compose.ui.text.input.ImeOptions copy(optional boolean singleLine, optional androidx.compose.ui.text.input.KeyboardCapitalization capitalization, optional boolean autoCorrect, optional androidx.compose.ui.text.input.KeyboardType keyboardType, optional androidx.compose.ui.text.input.ImeAction imeAction);
     method public boolean getAutoCorrect();
     method public androidx.compose.ui.text.input.KeyboardCapitalization getCapitalization();
@@ -801,8 +799,7 @@
   }
 
   public final class PasswordVisualTransformation implements androidx.compose.ui.text.input.VisualTransformation {
-    ctor public PasswordVisualTransformation(char mask);
-    ctor public PasswordVisualTransformation();
+    ctor public PasswordVisualTransformation(optional char mask);
     method public androidx.compose.ui.text.input.TransformedText filter(androidx.compose.ui.text.AnnotatedString text);
     method public char getMask();
     property public final char mask;
@@ -1068,8 +1065,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class TextGeometricTransform {
-    ctor public TextGeometricTransform(float scaleX, float skewX);
-    ctor public TextGeometricTransform();
+    ctor public TextGeometricTransform(optional float scaleX, optional float skewX);
     method public androidx.compose.ui.text.style.TextGeometricTransform copy(optional float scaleX, optional float skewX);
     method public operator boolean equals(Object? other);
     method public float getScaleX();
diff --git a/compose/ui/ui-text/api/public_plus_experimental_current.txt b/compose/ui/ui-text/api/public_plus_experimental_current.txt
index 03711bf..00cd8e6 100644
--- a/compose/ui/ui-text/api/public_plus_experimental_current.txt
+++ b/compose/ui/ui-text/api/public_plus_experimental_current.txt
@@ -5,7 +5,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class AnnotatedString implements java.lang.CharSequence {
-    ctor public AnnotatedString(String text, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> paragraphStyles);
+    ctor public AnnotatedString(String text, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> paragraphStyles);
     method public operator char get(int index);
     method public int getLength();
     method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> getParagraphStyles();
@@ -24,8 +24,7 @@
   }
 
   public static final class AnnotatedString.Builder {
-    ctor public AnnotatedString.Builder(int capacity);
-    ctor public AnnotatedString.Builder();
+    ctor public AnnotatedString.Builder(optional int capacity);
     ctor public AnnotatedString.Builder(String text);
     ctor public AnnotatedString.Builder(androidx.compose.ui.text.AnnotatedString text);
     method public void addStringAnnotation(String tag, String annotation, int start, int end);
@@ -85,8 +84,8 @@
   }
 
   public final class MultiParagraph {
-    ctor public MultiParagraph(androidx.compose.ui.text.MultiParagraphIntrinsics intrinsics, int maxLines, boolean ellipsis, float width);
-    ctor public MultiParagraph(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, int maxLines, boolean ellipsis, float width, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+    ctor public MultiParagraph(androidx.compose.ui.text.MultiParagraphIntrinsics intrinsics, optional int maxLines, optional boolean ellipsis, float width);
+    ctor public MultiParagraph(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, optional int maxLines, optional boolean ellipsis, float width, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
     method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
     method public androidx.compose.ui.geometry.Rect getBoundingBox(int offset);
     method public androidx.compose.ui.geometry.Rect getCursorRect(int offset);
@@ -738,8 +737,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class ImeOptions {
-    ctor public ImeOptions(boolean singleLine, androidx.compose.ui.text.input.KeyboardCapitalization capitalization, boolean autoCorrect, androidx.compose.ui.text.input.KeyboardType keyboardType, androidx.compose.ui.text.input.ImeAction imeAction);
-    ctor public ImeOptions();
+    ctor public ImeOptions(optional boolean singleLine, optional androidx.compose.ui.text.input.KeyboardCapitalization capitalization, optional boolean autoCorrect, optional androidx.compose.ui.text.input.KeyboardType keyboardType, optional androidx.compose.ui.text.input.ImeAction imeAction);
     method public androidx.compose.ui.text.input.ImeOptions copy(optional boolean singleLine, optional androidx.compose.ui.text.input.KeyboardCapitalization capitalization, optional boolean autoCorrect, optional androidx.compose.ui.text.input.KeyboardType keyboardType, optional androidx.compose.ui.text.input.ImeAction imeAction);
     method public boolean getAutoCorrect();
     method public androidx.compose.ui.text.input.KeyboardCapitalization getCapitalization();
@@ -801,8 +799,7 @@
   }
 
   public final class PasswordVisualTransformation implements androidx.compose.ui.text.input.VisualTransformation {
-    ctor public PasswordVisualTransformation(char mask);
-    ctor public PasswordVisualTransformation();
+    ctor public PasswordVisualTransformation(optional char mask);
     method public androidx.compose.ui.text.input.TransformedText filter(androidx.compose.ui.text.AnnotatedString text);
     method public char getMask();
     property public final char mask;
@@ -1068,8 +1065,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class TextGeometricTransform {
-    ctor public TextGeometricTransform(float scaleX, float skewX);
-    ctor public TextGeometricTransform();
+    ctor public TextGeometricTransform(optional float scaleX, optional float skewX);
     method public androidx.compose.ui.text.style.TextGeometricTransform copy(optional float scaleX, optional float skewX);
     method public operator boolean equals(Object? other);
     method public float getScaleX();
diff --git a/compose/ui/ui-text/api/restricted_1.0.0-beta02.txt b/compose/ui/ui-text/api/restricted_1.0.0-beta02.txt
index 03711bf..00cd8e6 100644
--- a/compose/ui/ui-text/api/restricted_1.0.0-beta02.txt
+++ b/compose/ui/ui-text/api/restricted_1.0.0-beta02.txt
@@ -5,7 +5,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class AnnotatedString implements java.lang.CharSequence {
-    ctor public AnnotatedString(String text, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> paragraphStyles);
+    ctor public AnnotatedString(String text, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> paragraphStyles);
     method public operator char get(int index);
     method public int getLength();
     method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> getParagraphStyles();
@@ -24,8 +24,7 @@
   }
 
   public static final class AnnotatedString.Builder {
-    ctor public AnnotatedString.Builder(int capacity);
-    ctor public AnnotatedString.Builder();
+    ctor public AnnotatedString.Builder(optional int capacity);
     ctor public AnnotatedString.Builder(String text);
     ctor public AnnotatedString.Builder(androidx.compose.ui.text.AnnotatedString text);
     method public void addStringAnnotation(String tag, String annotation, int start, int end);
@@ -85,8 +84,8 @@
   }
 
   public final class MultiParagraph {
-    ctor public MultiParagraph(androidx.compose.ui.text.MultiParagraphIntrinsics intrinsics, int maxLines, boolean ellipsis, float width);
-    ctor public MultiParagraph(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, int maxLines, boolean ellipsis, float width, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+    ctor public MultiParagraph(androidx.compose.ui.text.MultiParagraphIntrinsics intrinsics, optional int maxLines, optional boolean ellipsis, float width);
+    ctor public MultiParagraph(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, optional int maxLines, optional boolean ellipsis, float width, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
     method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
     method public androidx.compose.ui.geometry.Rect getBoundingBox(int offset);
     method public androidx.compose.ui.geometry.Rect getCursorRect(int offset);
@@ -738,8 +737,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class ImeOptions {
-    ctor public ImeOptions(boolean singleLine, androidx.compose.ui.text.input.KeyboardCapitalization capitalization, boolean autoCorrect, androidx.compose.ui.text.input.KeyboardType keyboardType, androidx.compose.ui.text.input.ImeAction imeAction);
-    ctor public ImeOptions();
+    ctor public ImeOptions(optional boolean singleLine, optional androidx.compose.ui.text.input.KeyboardCapitalization capitalization, optional boolean autoCorrect, optional androidx.compose.ui.text.input.KeyboardType keyboardType, optional androidx.compose.ui.text.input.ImeAction imeAction);
     method public androidx.compose.ui.text.input.ImeOptions copy(optional boolean singleLine, optional androidx.compose.ui.text.input.KeyboardCapitalization capitalization, optional boolean autoCorrect, optional androidx.compose.ui.text.input.KeyboardType keyboardType, optional androidx.compose.ui.text.input.ImeAction imeAction);
     method public boolean getAutoCorrect();
     method public androidx.compose.ui.text.input.KeyboardCapitalization getCapitalization();
@@ -801,8 +799,7 @@
   }
 
   public final class PasswordVisualTransformation implements androidx.compose.ui.text.input.VisualTransformation {
-    ctor public PasswordVisualTransformation(char mask);
-    ctor public PasswordVisualTransformation();
+    ctor public PasswordVisualTransformation(optional char mask);
     method public androidx.compose.ui.text.input.TransformedText filter(androidx.compose.ui.text.AnnotatedString text);
     method public char getMask();
     property public final char mask;
@@ -1068,8 +1065,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class TextGeometricTransform {
-    ctor public TextGeometricTransform(float scaleX, float skewX);
-    ctor public TextGeometricTransform();
+    ctor public TextGeometricTransform(optional float scaleX, optional float skewX);
     method public androidx.compose.ui.text.style.TextGeometricTransform copy(optional float scaleX, optional float skewX);
     method public operator boolean equals(Object? other);
     method public float getScaleX();
diff --git a/compose/ui/ui-text/api/restricted_current.txt b/compose/ui/ui-text/api/restricted_current.txt
index 03711bf..00cd8e6 100644
--- a/compose/ui/ui-text/api/restricted_current.txt
+++ b/compose/ui/ui-text/api/restricted_current.txt
@@ -5,7 +5,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class AnnotatedString implements java.lang.CharSequence {
-    ctor public AnnotatedString(String text, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> paragraphStyles);
+    ctor public AnnotatedString(String text, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> paragraphStyles);
     method public operator char get(int index);
     method public int getLength();
     method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> getParagraphStyles();
@@ -24,8 +24,7 @@
   }
 
   public static final class AnnotatedString.Builder {
-    ctor public AnnotatedString.Builder(int capacity);
-    ctor public AnnotatedString.Builder();
+    ctor public AnnotatedString.Builder(optional int capacity);
     ctor public AnnotatedString.Builder(String text);
     ctor public AnnotatedString.Builder(androidx.compose.ui.text.AnnotatedString text);
     method public void addStringAnnotation(String tag, String annotation, int start, int end);
@@ -85,8 +84,8 @@
   }
 
   public final class MultiParagraph {
-    ctor public MultiParagraph(androidx.compose.ui.text.MultiParagraphIntrinsics intrinsics, int maxLines, boolean ellipsis, float width);
-    ctor public MultiParagraph(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, int maxLines, boolean ellipsis, float width, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+    ctor public MultiParagraph(androidx.compose.ui.text.MultiParagraphIntrinsics intrinsics, optional int maxLines, optional boolean ellipsis, float width);
+    ctor public MultiParagraph(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, optional int maxLines, optional boolean ellipsis, float width, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
     method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
     method public androidx.compose.ui.geometry.Rect getBoundingBox(int offset);
     method public androidx.compose.ui.geometry.Rect getCursorRect(int offset);
@@ -738,8 +737,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class ImeOptions {
-    ctor public ImeOptions(boolean singleLine, androidx.compose.ui.text.input.KeyboardCapitalization capitalization, boolean autoCorrect, androidx.compose.ui.text.input.KeyboardType keyboardType, androidx.compose.ui.text.input.ImeAction imeAction);
-    ctor public ImeOptions();
+    ctor public ImeOptions(optional boolean singleLine, optional androidx.compose.ui.text.input.KeyboardCapitalization capitalization, optional boolean autoCorrect, optional androidx.compose.ui.text.input.KeyboardType keyboardType, optional androidx.compose.ui.text.input.ImeAction imeAction);
     method public androidx.compose.ui.text.input.ImeOptions copy(optional boolean singleLine, optional androidx.compose.ui.text.input.KeyboardCapitalization capitalization, optional boolean autoCorrect, optional androidx.compose.ui.text.input.KeyboardType keyboardType, optional androidx.compose.ui.text.input.ImeAction imeAction);
     method public boolean getAutoCorrect();
     method public androidx.compose.ui.text.input.KeyboardCapitalization getCapitalization();
@@ -801,8 +799,7 @@
   }
 
   public final class PasswordVisualTransformation implements androidx.compose.ui.text.input.VisualTransformation {
-    ctor public PasswordVisualTransformation(char mask);
-    ctor public PasswordVisualTransformation();
+    ctor public PasswordVisualTransformation(optional char mask);
     method public androidx.compose.ui.text.input.TransformedText filter(androidx.compose.ui.text.AnnotatedString text);
     method public char getMask();
     property public final char mask;
@@ -1068,8 +1065,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class TextGeometricTransform {
-    ctor public TextGeometricTransform(float scaleX, float skewX);
-    ctor public TextGeometricTransform();
+    ctor public TextGeometricTransform(optional float scaleX, optional float skewX);
     method public androidx.compose.ui.text.style.TextGeometricTransform copy(optional float scaleX, optional float skewX);
     method public operator boolean equals(Object? other);
     method public float getScaleX();
diff --git a/compose/ui/ui/api/1.0.0-beta02.txt b/compose/ui/ui/api/1.0.0-beta02.txt
index 9725abc..c23776f 100644
--- a/compose/ui/ui/api/1.0.0-beta02.txt
+++ b/compose/ui/ui/api/1.0.0-beta02.txt
@@ -168,7 +168,7 @@
   }
 
   @androidx.compose.ui.ExperimentalComposeUiApi public final class AutofillNode {
-    ctor public AutofillNode(java.util.List<? extends androidx.compose.ui.autofill.AutofillType> autofillTypes, androidx.compose.ui.geometry.Rect? boundingBox, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit>? onFill);
+    ctor public AutofillNode(optional java.util.List<? extends androidx.compose.ui.autofill.AutofillType> autofillTypes, optional androidx.compose.ui.geometry.Rect? boundingBox, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit>? onFill);
     method public java.util.List<androidx.compose.ui.autofill.AutofillType> getAutofillTypes();
     method public androidx.compose.ui.geometry.Rect? getBoundingBox();
     method public int getId();
@@ -1387,8 +1387,7 @@
   }
 
   public final class ConsumedData {
-    ctor public ConsumedData(boolean positionChange, boolean downChange);
-    ctor public ConsumedData();
+    ctor public ConsumedData(optional boolean positionChange, optional boolean downChange);
     method public boolean getDownChange();
     method public boolean getPositionChange();
     method public void setDownChange(boolean p);
@@ -1721,7 +1720,7 @@
   }
 
   public final class ModifierInfo {
-    ctor public ModifierInfo(androidx.compose.ui.Modifier modifier, androidx.compose.ui.layout.LayoutCoordinates coordinates, Object? extra);
+    ctor public ModifierInfo(androidx.compose.ui.Modifier modifier, androidx.compose.ui.layout.LayoutCoordinates coordinates, optional Object? extra);
     method public androidx.compose.ui.layout.LayoutCoordinates getCoordinates();
     method public Object? getExtra();
     method public androidx.compose.ui.Modifier getModifier();
@@ -1880,8 +1879,8 @@
 package androidx.compose.ui.platform {
 
   public abstract class AbstractComposeView extends android.view.ViewGroup {
-    ctor public AbstractComposeView(android.content.Context context, android.util.AttributeSet? attrs, int defStyleAttr);
-    ctor public AbstractComposeView(android.content.Context context, android.util.AttributeSet? attrs);
+    ctor public AbstractComposeView(android.content.Context context, optional android.util.AttributeSet? attrs, optional int defStyleAttr);
+    ctor public AbstractComposeView(android.content.Context context, optional android.util.AttributeSet? attrs);
     ctor public AbstractComposeView(android.content.Context context);
     method @androidx.compose.runtime.Composable public abstract void Content();
     method public final void createComposition();
@@ -1969,8 +1968,8 @@
   }
 
   public final class ComposeView extends androidx.compose.ui.platform.AbstractComposeView {
-    ctor public ComposeView(android.content.Context context, android.util.AttributeSet? attrs, int defStyleAttr);
-    ctor public ComposeView(android.content.Context context, android.util.AttributeSet? attrs);
+    ctor public ComposeView(android.content.Context context, optional android.util.AttributeSet? attrs, optional int defStyleAttr);
+    ctor public ComposeView(android.content.Context context, optional android.util.AttributeSet? attrs);
     ctor public ComposeView(android.content.Context context);
     method @androidx.compose.runtime.Composable public void Content();
     method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> content);
@@ -2254,7 +2253,7 @@
   }
 
   public final class ProgressBarRangeInfo {
-    ctor public ProgressBarRangeInfo(float current, kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> range, int steps);
+    ctor public ProgressBarRangeInfo(float current, kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> range, optional int steps);
     method public float getCurrent();
     method public kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> getRange();
     method public int getSteps();
@@ -2279,7 +2278,7 @@
   }
 
   public final class ScrollAxisRange {
-    ctor public ScrollAxisRange(kotlin.jvm.functions.Function0<java.lang.Float> value, kotlin.jvm.functions.Function0<java.lang.Float> maxValue, boolean reverseScrolling);
+    ctor public ScrollAxisRange(kotlin.jvm.functions.Function0<java.lang.Float> value, kotlin.jvm.functions.Function0<java.lang.Float> maxValue, optional boolean reverseScrolling);
     method public kotlin.jvm.functions.Function0<java.lang.Float> getMaxValue();
     method public boolean getReverseScrolling();
     method public kotlin.jvm.functions.Function0<java.lang.Float> getValue();
@@ -2501,7 +2500,7 @@
   }
 
   public final class SemanticsPropertyKey<T> {
-    ctor public SemanticsPropertyKey(String name, kotlin.jvm.functions.Function2<? super T,? super T,? extends T> mergePolicy);
+    ctor public SemanticsPropertyKey(String name, optional kotlin.jvm.functions.Function2<? super T,? super T,? extends T> mergePolicy);
     method public String getName();
     method public operator T! getValue(androidx.compose.ui.semantics.SemanticsPropertyReceiver thisRef, kotlin.reflect.KProperty<?> property);
     method public T? merge(T? parentValue, T? childValue);
@@ -2564,8 +2563,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class DialogProperties {
-    ctor public DialogProperties(boolean dismissOnBackPress, boolean dismissOnClickOutside, androidx.compose.ui.window.SecureFlagPolicy securePolicy);
-    ctor public DialogProperties();
+    ctor public DialogProperties(optional boolean dismissOnBackPress, optional boolean dismissOnClickOutside, optional androidx.compose.ui.window.SecureFlagPolicy securePolicy);
     method public boolean getDismissOnBackPress();
     method public boolean getDismissOnClickOutside();
     method public androidx.compose.ui.window.SecureFlagPolicy getSecurePolicy();
@@ -2584,8 +2582,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class PopupProperties {
-    ctor public PopupProperties(boolean focusable, boolean dismissOnBackPress, boolean dismissOnClickOutside, androidx.compose.ui.window.SecureFlagPolicy securePolicy);
-    ctor public PopupProperties();
+    ctor public PopupProperties(optional boolean focusable, optional boolean dismissOnBackPress, optional boolean dismissOnClickOutside, optional androidx.compose.ui.window.SecureFlagPolicy securePolicy);
     method public boolean getDismissOnBackPress();
     method public boolean getDismissOnClickOutside();
     method public boolean getFocusable();
diff --git a/compose/ui/ui/api/api_lint.ignore b/compose/ui/ui/api/api_lint.ignore
index 0f09d85..5a5edf2 100644
--- a/compose/ui/ui/api/api_lint.ignore
+++ b/compose/ui/ui/api/api_lint.ignore
@@ -23,17 +23,3 @@
     Missing nullability on parameter `p` in method `toString-impl`
 MissingNullability: androidx.compose.ui.input.pointer.PointerId#toString-impl(long):
     Missing nullability on method `toString-impl` return
-MissingNullability: androidx.compose.ui.layout.Measured#constructor-impl(androidx.compose.ui.layout.Placeable):
-    Missing nullability on method `constructor-impl` return
-MissingNullability: androidx.compose.ui.layout.Measured#equals-impl(androidx.compose.ui.layout.Placeable, Object) parameter #0:
-    Missing nullability on parameter `p` in method `equals-impl`
-MissingNullability: androidx.compose.ui.layout.Measured#getHeight-impl(androidx.compose.ui.layout.Placeable) parameter #0:
-    Missing nullability on parameter `$this` in method `getHeight-impl`
-MissingNullability: androidx.compose.ui.layout.Measured#getWidth-impl(androidx.compose.ui.layout.Placeable) parameter #0:
-    Missing nullability on parameter `$this` in method `getWidth-impl`
-MissingNullability: androidx.compose.ui.layout.Measured#hashCode-impl(androidx.compose.ui.layout.Placeable) parameter #0:
-    Missing nullability on parameter `p` in method `hashCode-impl`
-MissingNullability: androidx.compose.ui.layout.Measured#toString-impl(androidx.compose.ui.layout.Placeable):
-    Missing nullability on method `toString-impl` return
-MissingNullability: androidx.compose.ui.layout.Measured#toString-impl(androidx.compose.ui.layout.Placeable) parameter #0:
-    Missing nullability on parameter `p` in method `toString-impl`
diff --git a/compose/ui/ui/api/current.txt b/compose/ui/ui/api/current.txt
index 9725abc..c23776f 100644
--- a/compose/ui/ui/api/current.txt
+++ b/compose/ui/ui/api/current.txt
@@ -168,7 +168,7 @@
   }
 
   @androidx.compose.ui.ExperimentalComposeUiApi public final class AutofillNode {
-    ctor public AutofillNode(java.util.List<? extends androidx.compose.ui.autofill.AutofillType> autofillTypes, androidx.compose.ui.geometry.Rect? boundingBox, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit>? onFill);
+    ctor public AutofillNode(optional java.util.List<? extends androidx.compose.ui.autofill.AutofillType> autofillTypes, optional androidx.compose.ui.geometry.Rect? boundingBox, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit>? onFill);
     method public java.util.List<androidx.compose.ui.autofill.AutofillType> getAutofillTypes();
     method public androidx.compose.ui.geometry.Rect? getBoundingBox();
     method public int getId();
@@ -1387,8 +1387,7 @@
   }
 
   public final class ConsumedData {
-    ctor public ConsumedData(boolean positionChange, boolean downChange);
-    ctor public ConsumedData();
+    ctor public ConsumedData(optional boolean positionChange, optional boolean downChange);
     method public boolean getDownChange();
     method public boolean getPositionChange();
     method public void setDownChange(boolean p);
@@ -1721,7 +1720,7 @@
   }
 
   public final class ModifierInfo {
-    ctor public ModifierInfo(androidx.compose.ui.Modifier modifier, androidx.compose.ui.layout.LayoutCoordinates coordinates, Object? extra);
+    ctor public ModifierInfo(androidx.compose.ui.Modifier modifier, androidx.compose.ui.layout.LayoutCoordinates coordinates, optional Object? extra);
     method public androidx.compose.ui.layout.LayoutCoordinates getCoordinates();
     method public Object? getExtra();
     method public androidx.compose.ui.Modifier getModifier();
@@ -1880,8 +1879,8 @@
 package androidx.compose.ui.platform {
 
   public abstract class AbstractComposeView extends android.view.ViewGroup {
-    ctor public AbstractComposeView(android.content.Context context, android.util.AttributeSet? attrs, int defStyleAttr);
-    ctor public AbstractComposeView(android.content.Context context, android.util.AttributeSet? attrs);
+    ctor public AbstractComposeView(android.content.Context context, optional android.util.AttributeSet? attrs, optional int defStyleAttr);
+    ctor public AbstractComposeView(android.content.Context context, optional android.util.AttributeSet? attrs);
     ctor public AbstractComposeView(android.content.Context context);
     method @androidx.compose.runtime.Composable public abstract void Content();
     method public final void createComposition();
@@ -1969,8 +1968,8 @@
   }
 
   public final class ComposeView extends androidx.compose.ui.platform.AbstractComposeView {
-    ctor public ComposeView(android.content.Context context, android.util.AttributeSet? attrs, int defStyleAttr);
-    ctor public ComposeView(android.content.Context context, android.util.AttributeSet? attrs);
+    ctor public ComposeView(android.content.Context context, optional android.util.AttributeSet? attrs, optional int defStyleAttr);
+    ctor public ComposeView(android.content.Context context, optional android.util.AttributeSet? attrs);
     ctor public ComposeView(android.content.Context context);
     method @androidx.compose.runtime.Composable public void Content();
     method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> content);
@@ -2254,7 +2253,7 @@
   }
 
   public final class ProgressBarRangeInfo {
-    ctor public ProgressBarRangeInfo(float current, kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> range, int steps);
+    ctor public ProgressBarRangeInfo(float current, kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> range, optional int steps);
     method public float getCurrent();
     method public kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> getRange();
     method public int getSteps();
@@ -2279,7 +2278,7 @@
   }
 
   public final class ScrollAxisRange {
-    ctor public ScrollAxisRange(kotlin.jvm.functions.Function0<java.lang.Float> value, kotlin.jvm.functions.Function0<java.lang.Float> maxValue, boolean reverseScrolling);
+    ctor public ScrollAxisRange(kotlin.jvm.functions.Function0<java.lang.Float> value, kotlin.jvm.functions.Function0<java.lang.Float> maxValue, optional boolean reverseScrolling);
     method public kotlin.jvm.functions.Function0<java.lang.Float> getMaxValue();
     method public boolean getReverseScrolling();
     method public kotlin.jvm.functions.Function0<java.lang.Float> getValue();
@@ -2501,7 +2500,7 @@
   }
 
   public final class SemanticsPropertyKey<T> {
-    ctor public SemanticsPropertyKey(String name, kotlin.jvm.functions.Function2<? super T,? super T,? extends T> mergePolicy);
+    ctor public SemanticsPropertyKey(String name, optional kotlin.jvm.functions.Function2<? super T,? super T,? extends T> mergePolicy);
     method public String getName();
     method public operator T! getValue(androidx.compose.ui.semantics.SemanticsPropertyReceiver thisRef, kotlin.reflect.KProperty<?> property);
     method public T? merge(T? parentValue, T? childValue);
@@ -2564,8 +2563,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class DialogProperties {
-    ctor public DialogProperties(boolean dismissOnBackPress, boolean dismissOnClickOutside, androidx.compose.ui.window.SecureFlagPolicy securePolicy);
-    ctor public DialogProperties();
+    ctor public DialogProperties(optional boolean dismissOnBackPress, optional boolean dismissOnClickOutside, optional androidx.compose.ui.window.SecureFlagPolicy securePolicy);
     method public boolean getDismissOnBackPress();
     method public boolean getDismissOnClickOutside();
     method public androidx.compose.ui.window.SecureFlagPolicy getSecurePolicy();
@@ -2584,8 +2582,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class PopupProperties {
-    ctor public PopupProperties(boolean focusable, boolean dismissOnBackPress, boolean dismissOnClickOutside, androidx.compose.ui.window.SecureFlagPolicy securePolicy);
-    ctor public PopupProperties();
+    ctor public PopupProperties(optional boolean focusable, optional boolean dismissOnBackPress, optional boolean dismissOnClickOutside, optional androidx.compose.ui.window.SecureFlagPolicy securePolicy);
     method public boolean getDismissOnBackPress();
     method public boolean getDismissOnClickOutside();
     method public boolean getFocusable();
diff --git a/compose/ui/ui/api/public_plus_experimental_1.0.0-beta02.txt b/compose/ui/ui/api/public_plus_experimental_1.0.0-beta02.txt
index 9725abc..c23776f 100644
--- a/compose/ui/ui/api/public_plus_experimental_1.0.0-beta02.txt
+++ b/compose/ui/ui/api/public_plus_experimental_1.0.0-beta02.txt
@@ -168,7 +168,7 @@
   }
 
   @androidx.compose.ui.ExperimentalComposeUiApi public final class AutofillNode {
-    ctor public AutofillNode(java.util.List<? extends androidx.compose.ui.autofill.AutofillType> autofillTypes, androidx.compose.ui.geometry.Rect? boundingBox, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit>? onFill);
+    ctor public AutofillNode(optional java.util.List<? extends androidx.compose.ui.autofill.AutofillType> autofillTypes, optional androidx.compose.ui.geometry.Rect? boundingBox, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit>? onFill);
     method public java.util.List<androidx.compose.ui.autofill.AutofillType> getAutofillTypes();
     method public androidx.compose.ui.geometry.Rect? getBoundingBox();
     method public int getId();
@@ -1387,8 +1387,7 @@
   }
 
   public final class ConsumedData {
-    ctor public ConsumedData(boolean positionChange, boolean downChange);
-    ctor public ConsumedData();
+    ctor public ConsumedData(optional boolean positionChange, optional boolean downChange);
     method public boolean getDownChange();
     method public boolean getPositionChange();
     method public void setDownChange(boolean p);
@@ -1721,7 +1720,7 @@
   }
 
   public final class ModifierInfo {
-    ctor public ModifierInfo(androidx.compose.ui.Modifier modifier, androidx.compose.ui.layout.LayoutCoordinates coordinates, Object? extra);
+    ctor public ModifierInfo(androidx.compose.ui.Modifier modifier, androidx.compose.ui.layout.LayoutCoordinates coordinates, optional Object? extra);
     method public androidx.compose.ui.layout.LayoutCoordinates getCoordinates();
     method public Object? getExtra();
     method public androidx.compose.ui.Modifier getModifier();
@@ -1880,8 +1879,8 @@
 package androidx.compose.ui.platform {
 
   public abstract class AbstractComposeView extends android.view.ViewGroup {
-    ctor public AbstractComposeView(android.content.Context context, android.util.AttributeSet? attrs, int defStyleAttr);
-    ctor public AbstractComposeView(android.content.Context context, android.util.AttributeSet? attrs);
+    ctor public AbstractComposeView(android.content.Context context, optional android.util.AttributeSet? attrs, optional int defStyleAttr);
+    ctor public AbstractComposeView(android.content.Context context, optional android.util.AttributeSet? attrs);
     ctor public AbstractComposeView(android.content.Context context);
     method @androidx.compose.runtime.Composable public abstract void Content();
     method public final void createComposition();
@@ -1969,8 +1968,8 @@
   }
 
   public final class ComposeView extends androidx.compose.ui.platform.AbstractComposeView {
-    ctor public ComposeView(android.content.Context context, android.util.AttributeSet? attrs, int defStyleAttr);
-    ctor public ComposeView(android.content.Context context, android.util.AttributeSet? attrs);
+    ctor public ComposeView(android.content.Context context, optional android.util.AttributeSet? attrs, optional int defStyleAttr);
+    ctor public ComposeView(android.content.Context context, optional android.util.AttributeSet? attrs);
     ctor public ComposeView(android.content.Context context);
     method @androidx.compose.runtime.Composable public void Content();
     method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> content);
@@ -2254,7 +2253,7 @@
   }
 
   public final class ProgressBarRangeInfo {
-    ctor public ProgressBarRangeInfo(float current, kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> range, int steps);
+    ctor public ProgressBarRangeInfo(float current, kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> range, optional int steps);
     method public float getCurrent();
     method public kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> getRange();
     method public int getSteps();
@@ -2279,7 +2278,7 @@
   }
 
   public final class ScrollAxisRange {
-    ctor public ScrollAxisRange(kotlin.jvm.functions.Function0<java.lang.Float> value, kotlin.jvm.functions.Function0<java.lang.Float> maxValue, boolean reverseScrolling);
+    ctor public ScrollAxisRange(kotlin.jvm.functions.Function0<java.lang.Float> value, kotlin.jvm.functions.Function0<java.lang.Float> maxValue, optional boolean reverseScrolling);
     method public kotlin.jvm.functions.Function0<java.lang.Float> getMaxValue();
     method public boolean getReverseScrolling();
     method public kotlin.jvm.functions.Function0<java.lang.Float> getValue();
@@ -2501,7 +2500,7 @@
   }
 
   public final class SemanticsPropertyKey<T> {
-    ctor public SemanticsPropertyKey(String name, kotlin.jvm.functions.Function2<? super T,? super T,? extends T> mergePolicy);
+    ctor public SemanticsPropertyKey(String name, optional kotlin.jvm.functions.Function2<? super T,? super T,? extends T> mergePolicy);
     method public String getName();
     method public operator T! getValue(androidx.compose.ui.semantics.SemanticsPropertyReceiver thisRef, kotlin.reflect.KProperty<?> property);
     method public T? merge(T? parentValue, T? childValue);
@@ -2564,8 +2563,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class DialogProperties {
-    ctor public DialogProperties(boolean dismissOnBackPress, boolean dismissOnClickOutside, androidx.compose.ui.window.SecureFlagPolicy securePolicy);
-    ctor public DialogProperties();
+    ctor public DialogProperties(optional boolean dismissOnBackPress, optional boolean dismissOnClickOutside, optional androidx.compose.ui.window.SecureFlagPolicy securePolicy);
     method public boolean getDismissOnBackPress();
     method public boolean getDismissOnClickOutside();
     method public androidx.compose.ui.window.SecureFlagPolicy getSecurePolicy();
@@ -2584,8 +2582,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class PopupProperties {
-    ctor public PopupProperties(boolean focusable, boolean dismissOnBackPress, boolean dismissOnClickOutside, androidx.compose.ui.window.SecureFlagPolicy securePolicy);
-    ctor public PopupProperties();
+    ctor public PopupProperties(optional boolean focusable, optional boolean dismissOnBackPress, optional boolean dismissOnClickOutside, optional androidx.compose.ui.window.SecureFlagPolicy securePolicy);
     method public boolean getDismissOnBackPress();
     method public boolean getDismissOnClickOutside();
     method public boolean getFocusable();
diff --git a/compose/ui/ui/api/public_plus_experimental_current.txt b/compose/ui/ui/api/public_plus_experimental_current.txt
index 9725abc..c23776f 100644
--- a/compose/ui/ui/api/public_plus_experimental_current.txt
+++ b/compose/ui/ui/api/public_plus_experimental_current.txt
@@ -168,7 +168,7 @@
   }
 
   @androidx.compose.ui.ExperimentalComposeUiApi public final class AutofillNode {
-    ctor public AutofillNode(java.util.List<? extends androidx.compose.ui.autofill.AutofillType> autofillTypes, androidx.compose.ui.geometry.Rect? boundingBox, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit>? onFill);
+    ctor public AutofillNode(optional java.util.List<? extends androidx.compose.ui.autofill.AutofillType> autofillTypes, optional androidx.compose.ui.geometry.Rect? boundingBox, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit>? onFill);
     method public java.util.List<androidx.compose.ui.autofill.AutofillType> getAutofillTypes();
     method public androidx.compose.ui.geometry.Rect? getBoundingBox();
     method public int getId();
@@ -1387,8 +1387,7 @@
   }
 
   public final class ConsumedData {
-    ctor public ConsumedData(boolean positionChange, boolean downChange);
-    ctor public ConsumedData();
+    ctor public ConsumedData(optional boolean positionChange, optional boolean downChange);
     method public boolean getDownChange();
     method public boolean getPositionChange();
     method public void setDownChange(boolean p);
@@ -1721,7 +1720,7 @@
   }
 
   public final class ModifierInfo {
-    ctor public ModifierInfo(androidx.compose.ui.Modifier modifier, androidx.compose.ui.layout.LayoutCoordinates coordinates, Object? extra);
+    ctor public ModifierInfo(androidx.compose.ui.Modifier modifier, androidx.compose.ui.layout.LayoutCoordinates coordinates, optional Object? extra);
     method public androidx.compose.ui.layout.LayoutCoordinates getCoordinates();
     method public Object? getExtra();
     method public androidx.compose.ui.Modifier getModifier();
@@ -1880,8 +1879,8 @@
 package androidx.compose.ui.platform {
 
   public abstract class AbstractComposeView extends android.view.ViewGroup {
-    ctor public AbstractComposeView(android.content.Context context, android.util.AttributeSet? attrs, int defStyleAttr);
-    ctor public AbstractComposeView(android.content.Context context, android.util.AttributeSet? attrs);
+    ctor public AbstractComposeView(android.content.Context context, optional android.util.AttributeSet? attrs, optional int defStyleAttr);
+    ctor public AbstractComposeView(android.content.Context context, optional android.util.AttributeSet? attrs);
     ctor public AbstractComposeView(android.content.Context context);
     method @androidx.compose.runtime.Composable public abstract void Content();
     method public final void createComposition();
@@ -1969,8 +1968,8 @@
   }
 
   public final class ComposeView extends androidx.compose.ui.platform.AbstractComposeView {
-    ctor public ComposeView(android.content.Context context, android.util.AttributeSet? attrs, int defStyleAttr);
-    ctor public ComposeView(android.content.Context context, android.util.AttributeSet? attrs);
+    ctor public ComposeView(android.content.Context context, optional android.util.AttributeSet? attrs, optional int defStyleAttr);
+    ctor public ComposeView(android.content.Context context, optional android.util.AttributeSet? attrs);
     ctor public ComposeView(android.content.Context context);
     method @androidx.compose.runtime.Composable public void Content();
     method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> content);
@@ -2254,7 +2253,7 @@
   }
 
   public final class ProgressBarRangeInfo {
-    ctor public ProgressBarRangeInfo(float current, kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> range, int steps);
+    ctor public ProgressBarRangeInfo(float current, kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> range, optional int steps);
     method public float getCurrent();
     method public kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> getRange();
     method public int getSteps();
@@ -2279,7 +2278,7 @@
   }
 
   public final class ScrollAxisRange {
-    ctor public ScrollAxisRange(kotlin.jvm.functions.Function0<java.lang.Float> value, kotlin.jvm.functions.Function0<java.lang.Float> maxValue, boolean reverseScrolling);
+    ctor public ScrollAxisRange(kotlin.jvm.functions.Function0<java.lang.Float> value, kotlin.jvm.functions.Function0<java.lang.Float> maxValue, optional boolean reverseScrolling);
     method public kotlin.jvm.functions.Function0<java.lang.Float> getMaxValue();
     method public boolean getReverseScrolling();
     method public kotlin.jvm.functions.Function0<java.lang.Float> getValue();
@@ -2501,7 +2500,7 @@
   }
 
   public final class SemanticsPropertyKey<T> {
-    ctor public SemanticsPropertyKey(String name, kotlin.jvm.functions.Function2<? super T,? super T,? extends T> mergePolicy);
+    ctor public SemanticsPropertyKey(String name, optional kotlin.jvm.functions.Function2<? super T,? super T,? extends T> mergePolicy);
     method public String getName();
     method public operator T! getValue(androidx.compose.ui.semantics.SemanticsPropertyReceiver thisRef, kotlin.reflect.KProperty<?> property);
     method public T? merge(T? parentValue, T? childValue);
@@ -2564,8 +2563,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class DialogProperties {
-    ctor public DialogProperties(boolean dismissOnBackPress, boolean dismissOnClickOutside, androidx.compose.ui.window.SecureFlagPolicy securePolicy);
-    ctor public DialogProperties();
+    ctor public DialogProperties(optional boolean dismissOnBackPress, optional boolean dismissOnClickOutside, optional androidx.compose.ui.window.SecureFlagPolicy securePolicy);
     method public boolean getDismissOnBackPress();
     method public boolean getDismissOnClickOutside();
     method public androidx.compose.ui.window.SecureFlagPolicy getSecurePolicy();
@@ -2584,8 +2582,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class PopupProperties {
-    ctor public PopupProperties(boolean focusable, boolean dismissOnBackPress, boolean dismissOnClickOutside, androidx.compose.ui.window.SecureFlagPolicy securePolicy);
-    ctor public PopupProperties();
+    ctor public PopupProperties(optional boolean focusable, optional boolean dismissOnBackPress, optional boolean dismissOnClickOutside, optional androidx.compose.ui.window.SecureFlagPolicy securePolicy);
     method public boolean getDismissOnBackPress();
     method public boolean getDismissOnClickOutside();
     method public boolean getFocusable();
diff --git a/compose/ui/ui/api/restricted_1.0.0-beta02.txt b/compose/ui/ui/api/restricted_1.0.0-beta02.txt
index 67f2a54..4c6447c 100644
--- a/compose/ui/ui/api/restricted_1.0.0-beta02.txt
+++ b/compose/ui/ui/api/restricted_1.0.0-beta02.txt
@@ -168,7 +168,7 @@
   }
 
   @androidx.compose.ui.ExperimentalComposeUiApi public final class AutofillNode {
-    ctor public AutofillNode(java.util.List<? extends androidx.compose.ui.autofill.AutofillType> autofillTypes, androidx.compose.ui.geometry.Rect? boundingBox, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit>? onFill);
+    ctor public AutofillNode(optional java.util.List<? extends androidx.compose.ui.autofill.AutofillType> autofillTypes, optional androidx.compose.ui.geometry.Rect? boundingBox, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit>? onFill);
     method public java.util.List<androidx.compose.ui.autofill.AutofillType> getAutofillTypes();
     method public androidx.compose.ui.geometry.Rect? getBoundingBox();
     method public int getId();
@@ -1387,8 +1387,7 @@
   }
 
   public final class ConsumedData {
-    ctor public ConsumedData(boolean positionChange, boolean downChange);
-    ctor public ConsumedData();
+    ctor public ConsumedData(optional boolean positionChange, optional boolean downChange);
     method public boolean getDownChange();
     method public boolean getPositionChange();
     method public void setDownChange(boolean p);
@@ -1722,7 +1721,7 @@
   }
 
   public final class ModifierInfo {
-    ctor public ModifierInfo(androidx.compose.ui.Modifier modifier, androidx.compose.ui.layout.LayoutCoordinates coordinates, Object? extra);
+    ctor public ModifierInfo(androidx.compose.ui.Modifier modifier, androidx.compose.ui.layout.LayoutCoordinates coordinates, optional Object? extra);
     method public androidx.compose.ui.layout.LayoutCoordinates getCoordinates();
     method public Object? getExtra();
     method public androidx.compose.ui.Modifier getModifier();
@@ -1910,8 +1909,8 @@
 package androidx.compose.ui.platform {
 
   public abstract class AbstractComposeView extends android.view.ViewGroup {
-    ctor public AbstractComposeView(android.content.Context context, android.util.AttributeSet? attrs, int defStyleAttr);
-    ctor public AbstractComposeView(android.content.Context context, android.util.AttributeSet? attrs);
+    ctor public AbstractComposeView(android.content.Context context, optional android.util.AttributeSet? attrs, optional int defStyleAttr);
+    ctor public AbstractComposeView(android.content.Context context, optional android.util.AttributeSet? attrs);
     ctor public AbstractComposeView(android.content.Context context);
     method @androidx.compose.runtime.Composable public abstract void Content();
     method public final void createComposition();
@@ -1999,8 +1998,8 @@
   }
 
   public final class ComposeView extends androidx.compose.ui.platform.AbstractComposeView {
-    ctor public ComposeView(android.content.Context context, android.util.AttributeSet? attrs, int defStyleAttr);
-    ctor public ComposeView(android.content.Context context, android.util.AttributeSet? attrs);
+    ctor public ComposeView(android.content.Context context, optional android.util.AttributeSet? attrs, optional int defStyleAttr);
+    ctor public ComposeView(android.content.Context context, optional android.util.AttributeSet? attrs);
     ctor public ComposeView(android.content.Context context);
     method @androidx.compose.runtime.Composable public void Content();
     method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> content);
@@ -2286,7 +2285,7 @@
   }
 
   public final class ProgressBarRangeInfo {
-    ctor public ProgressBarRangeInfo(float current, kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> range, int steps);
+    ctor public ProgressBarRangeInfo(float current, kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> range, optional int steps);
     method public float getCurrent();
     method public kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> getRange();
     method public int getSteps();
@@ -2311,7 +2310,7 @@
   }
 
   public final class ScrollAxisRange {
-    ctor public ScrollAxisRange(kotlin.jvm.functions.Function0<java.lang.Float> value, kotlin.jvm.functions.Function0<java.lang.Float> maxValue, boolean reverseScrolling);
+    ctor public ScrollAxisRange(kotlin.jvm.functions.Function0<java.lang.Float> value, kotlin.jvm.functions.Function0<java.lang.Float> maxValue, optional boolean reverseScrolling);
     method public kotlin.jvm.functions.Function0<java.lang.Float> getMaxValue();
     method public boolean getReverseScrolling();
     method public kotlin.jvm.functions.Function0<java.lang.Float> getValue();
@@ -2533,7 +2532,7 @@
   }
 
   public final class SemanticsPropertyKey<T> {
-    ctor public SemanticsPropertyKey(String name, kotlin.jvm.functions.Function2<? super T,? super T,? extends T> mergePolicy);
+    ctor public SemanticsPropertyKey(String name, optional kotlin.jvm.functions.Function2<? super T,? super T,? extends T> mergePolicy);
     method public String getName();
     method public operator T! getValue(androidx.compose.ui.semantics.SemanticsPropertyReceiver thisRef, kotlin.reflect.KProperty<?> property);
     method public T? merge(T? parentValue, T? childValue);
@@ -2596,8 +2595,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class DialogProperties {
-    ctor public DialogProperties(boolean dismissOnBackPress, boolean dismissOnClickOutside, androidx.compose.ui.window.SecureFlagPolicy securePolicy);
-    ctor public DialogProperties();
+    ctor public DialogProperties(optional boolean dismissOnBackPress, optional boolean dismissOnClickOutside, optional androidx.compose.ui.window.SecureFlagPolicy securePolicy);
     method public boolean getDismissOnBackPress();
     method public boolean getDismissOnClickOutside();
     method public androidx.compose.ui.window.SecureFlagPolicy getSecurePolicy();
@@ -2616,8 +2614,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class PopupProperties {
-    ctor public PopupProperties(boolean focusable, boolean dismissOnBackPress, boolean dismissOnClickOutside, androidx.compose.ui.window.SecureFlagPolicy securePolicy);
-    ctor public PopupProperties();
+    ctor public PopupProperties(optional boolean focusable, optional boolean dismissOnBackPress, optional boolean dismissOnClickOutside, optional androidx.compose.ui.window.SecureFlagPolicy securePolicy);
     method public boolean getDismissOnBackPress();
     method public boolean getDismissOnClickOutside();
     method public boolean getFocusable();
diff --git a/compose/ui/ui/api/restricted_current.txt b/compose/ui/ui/api/restricted_current.txt
index 67f2a54..4c6447c 100644
--- a/compose/ui/ui/api/restricted_current.txt
+++ b/compose/ui/ui/api/restricted_current.txt
@@ -168,7 +168,7 @@
   }
 
   @androidx.compose.ui.ExperimentalComposeUiApi public final class AutofillNode {
-    ctor public AutofillNode(java.util.List<? extends androidx.compose.ui.autofill.AutofillType> autofillTypes, androidx.compose.ui.geometry.Rect? boundingBox, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit>? onFill);
+    ctor public AutofillNode(optional java.util.List<? extends androidx.compose.ui.autofill.AutofillType> autofillTypes, optional androidx.compose.ui.geometry.Rect? boundingBox, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit>? onFill);
     method public java.util.List<androidx.compose.ui.autofill.AutofillType> getAutofillTypes();
     method public androidx.compose.ui.geometry.Rect? getBoundingBox();
     method public int getId();
@@ -1387,8 +1387,7 @@
   }
 
   public final class ConsumedData {
-    ctor public ConsumedData(boolean positionChange, boolean downChange);
-    ctor public ConsumedData();
+    ctor public ConsumedData(optional boolean positionChange, optional boolean downChange);
     method public boolean getDownChange();
     method public boolean getPositionChange();
     method public void setDownChange(boolean p);
@@ -1722,7 +1721,7 @@
   }
 
   public final class ModifierInfo {
-    ctor public ModifierInfo(androidx.compose.ui.Modifier modifier, androidx.compose.ui.layout.LayoutCoordinates coordinates, Object? extra);
+    ctor public ModifierInfo(androidx.compose.ui.Modifier modifier, androidx.compose.ui.layout.LayoutCoordinates coordinates, optional Object? extra);
     method public androidx.compose.ui.layout.LayoutCoordinates getCoordinates();
     method public Object? getExtra();
     method public androidx.compose.ui.Modifier getModifier();
@@ -1910,8 +1909,8 @@
 package androidx.compose.ui.platform {
 
   public abstract class AbstractComposeView extends android.view.ViewGroup {
-    ctor public AbstractComposeView(android.content.Context context, android.util.AttributeSet? attrs, int defStyleAttr);
-    ctor public AbstractComposeView(android.content.Context context, android.util.AttributeSet? attrs);
+    ctor public AbstractComposeView(android.content.Context context, optional android.util.AttributeSet? attrs, optional int defStyleAttr);
+    ctor public AbstractComposeView(android.content.Context context, optional android.util.AttributeSet? attrs);
     ctor public AbstractComposeView(android.content.Context context);
     method @androidx.compose.runtime.Composable public abstract void Content();
     method public final void createComposition();
@@ -1999,8 +1998,8 @@
   }
 
   public final class ComposeView extends androidx.compose.ui.platform.AbstractComposeView {
-    ctor public ComposeView(android.content.Context context, android.util.AttributeSet? attrs, int defStyleAttr);
-    ctor public ComposeView(android.content.Context context, android.util.AttributeSet? attrs);
+    ctor public ComposeView(android.content.Context context, optional android.util.AttributeSet? attrs, optional int defStyleAttr);
+    ctor public ComposeView(android.content.Context context, optional android.util.AttributeSet? attrs);
     ctor public ComposeView(android.content.Context context);
     method @androidx.compose.runtime.Composable public void Content();
     method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> content);
@@ -2286,7 +2285,7 @@
   }
 
   public final class ProgressBarRangeInfo {
-    ctor public ProgressBarRangeInfo(float current, kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> range, int steps);
+    ctor public ProgressBarRangeInfo(float current, kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> range, optional int steps);
     method public float getCurrent();
     method public kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> getRange();
     method public int getSteps();
@@ -2311,7 +2310,7 @@
   }
 
   public final class ScrollAxisRange {
-    ctor public ScrollAxisRange(kotlin.jvm.functions.Function0<java.lang.Float> value, kotlin.jvm.functions.Function0<java.lang.Float> maxValue, boolean reverseScrolling);
+    ctor public ScrollAxisRange(kotlin.jvm.functions.Function0<java.lang.Float> value, kotlin.jvm.functions.Function0<java.lang.Float> maxValue, optional boolean reverseScrolling);
     method public kotlin.jvm.functions.Function0<java.lang.Float> getMaxValue();
     method public boolean getReverseScrolling();
     method public kotlin.jvm.functions.Function0<java.lang.Float> getValue();
@@ -2533,7 +2532,7 @@
   }
 
   public final class SemanticsPropertyKey<T> {
-    ctor public SemanticsPropertyKey(String name, kotlin.jvm.functions.Function2<? super T,? super T,? extends T> mergePolicy);
+    ctor public SemanticsPropertyKey(String name, optional kotlin.jvm.functions.Function2<? super T,? super T,? extends T> mergePolicy);
     method public String getName();
     method public operator T! getValue(androidx.compose.ui.semantics.SemanticsPropertyReceiver thisRef, kotlin.reflect.KProperty<?> property);
     method public T? merge(T? parentValue, T? childValue);
@@ -2596,8 +2595,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class DialogProperties {
-    ctor public DialogProperties(boolean dismissOnBackPress, boolean dismissOnClickOutside, androidx.compose.ui.window.SecureFlagPolicy securePolicy);
-    ctor public DialogProperties();
+    ctor public DialogProperties(optional boolean dismissOnBackPress, optional boolean dismissOnClickOutside, optional androidx.compose.ui.window.SecureFlagPolicy securePolicy);
     method public boolean getDismissOnBackPress();
     method public boolean getDismissOnClickOutside();
     method public androidx.compose.ui.window.SecureFlagPolicy getSecurePolicy();
@@ -2616,8 +2614,7 @@
   }
 
   @androidx.compose.runtime.Immutable public final class PopupProperties {
-    ctor public PopupProperties(boolean focusable, boolean dismissOnBackPress, boolean dismissOnClickOutside, androidx.compose.ui.window.SecureFlagPolicy securePolicy);
-    ctor public PopupProperties();
+    ctor public PopupProperties(optional boolean focusable, optional boolean dismissOnBackPress, optional boolean dismissOnClickOutside, optional androidx.compose.ui.window.SecureFlagPolicy securePolicy);
     method public boolean getDismissOnBackPress();
     method public boolean getDismissOnClickOutside();
     method public boolean getFocusable();
diff --git a/core/core/api/api_lint.ignore b/core/core/api/api_lint.ignore
index b04878e..d5ab240 100644
--- a/core/core/api/api_lint.ignore
+++ b/core/core/api/api_lint.ignore
@@ -377,8 +377,6 @@
     androidx.core.view.WindowInsetsCompat does not declare a `getVisible()` method matching method androidx.core.view.WindowInsetsCompat.Builder.setVisible(int,boolean)
 
 
-MissingNullability: androidx.core.app.ActivityCompat#invalidateOptionsMenu(android.app.Activity) parameter #0:
-    Missing nullability on parameter `activity` in method `invalidateOptionsMenu`
 MissingNullability: androidx.core.app.ActivityCompat#requestDragAndDropPermissions(android.app.Activity, android.view.DragEvent) parameter #0:
     Missing nullability on parameter `activity` in method `requestDragAndDropPermissions`
 MissingNullability: androidx.core.app.ActivityCompat#requestDragAndDropPermissions(android.app.Activity, android.view.DragEvent) parameter #1:
@@ -481,8 +479,6 @@
     Missing nullability on method `addParentStack` return
 MissingNullability: androidx.core.app.TaskStackBuilder#addParentStack(android.content.ComponentName) parameter #0:
     Missing nullability on parameter `sourceActivityName` in method `addParentStack`
-MissingNullability: androidx.core.app.TaskStackBuilder#from(android.content.Context) parameter #0:
-    Missing nullability on parameter `context` in method `from`
 MissingNullability: androidx.core.content.ContentResolverCompat#query(android.content.ContentResolver, android.net.Uri, String[], String, String[], String, androidx.core.os.CancellationSignal):
     Missing nullability on method `query` return
 MissingNullability: androidx.core.content.ContentResolverCompat#query(android.content.ContentResolver, android.net.Uri, String[], String, String[], String, androidx.core.os.CancellationSignal) parameter #0:
@@ -523,14 +519,6 @@
     Missing nullability on method `toShortcutInfo` return
 MissingNullability: androidx.core.content.pm.ShortcutInfoCompat.Builder#setIcon(androidx.core.graphics.drawable.IconCompat) parameter #0:
     Missing nullability on parameter `icon` in method `setIcon`
-MissingNullability: androidx.core.database.DatabaseUtilsCompat#appendSelectionArgs(String[], String[]) parameter #0:
-    Missing nullability on parameter `originalValues` in method `appendSelectionArgs`
-MissingNullability: androidx.core.database.DatabaseUtilsCompat#appendSelectionArgs(String[], String[]) parameter #1:
-    Missing nullability on parameter `newValues` in method `appendSelectionArgs`
-MissingNullability: androidx.core.database.DatabaseUtilsCompat#concatenateWhere(String, String) parameter #0:
-    Missing nullability on parameter `a` in method `concatenateWhere`
-MissingNullability: androidx.core.database.DatabaseUtilsCompat#concatenateWhere(String, String) parameter #1:
-    Missing nullability on parameter `b` in method `concatenateWhere`
 MissingNullability: androidx.core.graphics.drawable.DrawableCompat#getColorFilter(android.graphics.drawable.Drawable):
     Missing nullability on method `getColorFilter` return
 MissingNullability: androidx.core.graphics.drawable.DrawableCompat#wrap(android.graphics.drawable.Drawable):
@@ -585,18 +573,10 @@
     Missing nullability on parameter `crypto` in method `AuthenticationResult`
 MissingNullability: androidx.core.hardware.fingerprint.FingerprintManagerCompat.AuthenticationResult#getCryptoObject():
     Missing nullability on method `getCryptoObject` return
-MissingNullability: androidx.core.net.TrafficStatsCompat#tagSocket(java.net.Socket) parameter #0:
-    Missing nullability on parameter `socket` in method `tagSocket`
-MissingNullability: androidx.core.net.TrafficStatsCompat#untagSocket(java.net.Socket) parameter #0:
-    Missing nullability on parameter `socket` in method `untagSocket`
 MissingNullability: androidx.core.os.LocaleListCompat#get(int):
     Missing nullability on method `get` return
 MissingNullability: androidx.core.os.LocaleListCompat#indexOf(java.util.Locale) parameter #0:
     Missing nullability on parameter `locale` in method `indexOf`
-MissingNullability: androidx.core.os.LocaleListCompat#wrap(Object) parameter #0:
-    Missing nullability on parameter `localeList` in method `wrap`
-MissingNullability: androidx.core.os.ParcelableCompat#newCreator(androidx.core.os.ParcelableCompatCreatorCallbacks<T>) parameter #0:
-    Missing nullability on parameter `callbacks` in method `newCreator`
 MissingNullability: androidx.core.os.ParcelableCompatCreatorCallbacks#createFromParcel(android.os.Parcel, ClassLoader) parameter #0:
     Missing nullability on parameter `in` in method `createFromParcel`
 MissingNullability: androidx.core.os.ParcelableCompatCreatorCallbacks#createFromParcel(android.os.Parcel, ClassLoader) parameter #1:
@@ -807,8 +787,6 @@
     Missing nullability on parameter `display` in method `applyDisplay`
 MissingNullability: androidx.core.view.GravityCompat#applyDisplay(int, android.graphics.Rect, android.graphics.Rect, int) parameter #2:
     Missing nullability on parameter `inoutObj` in method `applyDisplay`
-MissingNullability: androidx.core.view.LayoutInflaterCompat#getFactory(android.view.LayoutInflater) parameter #0:
-    Missing nullability on parameter `inflater` in method `getFactory`
 MissingNullability: androidx.core.view.LayoutInflaterFactory#onCreateView(android.view.View, String, android.content.Context, android.util.AttributeSet):
     Missing nullability on method `onCreateView` return
 MissingNullability: androidx.core.view.LayoutInflaterFactory#onCreateView(android.view.View, String, android.content.Context, android.util.AttributeSet) parameter #0:
@@ -837,18 +815,10 @@
     Missing nullability on parameter `lp` in method `setMarginStart`
 MissingNullability: androidx.core.view.MenuCompat#setGroupDividerEnabled(android.view.Menu, boolean) parameter #0:
     Missing nullability on parameter `menu` in method `setGroupDividerEnabled`
-MissingNullability: androidx.core.view.MenuCompat#setShowAsAction(android.view.MenuItem, int) parameter #0:
-    Missing nullability on parameter `item` in method `setShowAsAction`
-MissingNullability: androidx.core.view.MenuItemCompat#collapseActionView(android.view.MenuItem) parameter #0:
-    Missing nullability on parameter `item` in method `collapseActionView`
-MissingNullability: androidx.core.view.MenuItemCompat#expandActionView(android.view.MenuItem) parameter #0:
-    Missing nullability on parameter `item` in method `expandActionView`
 MissingNullability: androidx.core.view.MenuItemCompat#getActionProvider(android.view.MenuItem):
     Missing nullability on method `getActionProvider` return
 MissingNullability: androidx.core.view.MenuItemCompat#getActionProvider(android.view.MenuItem) parameter #0:
     Missing nullability on parameter `item` in method `getActionProvider`
-MissingNullability: androidx.core.view.MenuItemCompat#getActionView(android.view.MenuItem) parameter #0:
-    Missing nullability on parameter `item` in method `getActionView`
 MissingNullability: androidx.core.view.MenuItemCompat#getAlphabeticModifiers(android.view.MenuItem) parameter #0:
     Missing nullability on parameter `item` in method `getAlphabeticModifiers`
 MissingNullability: androidx.core.view.MenuItemCompat#getContentDescription(android.view.MenuItem):
@@ -869,20 +839,12 @@
     Missing nullability on method `getTooltipText` return
 MissingNullability: androidx.core.view.MenuItemCompat#getTooltipText(android.view.MenuItem) parameter #0:
     Missing nullability on parameter `item` in method `getTooltipText`
-MissingNullability: androidx.core.view.MenuItemCompat#isActionViewExpanded(android.view.MenuItem) parameter #0:
-    Missing nullability on parameter `item` in method `isActionViewExpanded`
 MissingNullability: androidx.core.view.MenuItemCompat#setActionProvider(android.view.MenuItem, androidx.core.view.ActionProvider):
     Missing nullability on method `setActionProvider` return
 MissingNullability: androidx.core.view.MenuItemCompat#setActionProvider(android.view.MenuItem, androidx.core.view.ActionProvider) parameter #0:
     Missing nullability on parameter `item` in method `setActionProvider`
 MissingNullability: androidx.core.view.MenuItemCompat#setActionProvider(android.view.MenuItem, androidx.core.view.ActionProvider) parameter #1:
     Missing nullability on parameter `provider` in method `setActionProvider`
-MissingNullability: androidx.core.view.MenuItemCompat#setActionView(android.view.MenuItem, android.view.View) parameter #0:
-    Missing nullability on parameter `item` in method `setActionView`
-MissingNullability: androidx.core.view.MenuItemCompat#setActionView(android.view.MenuItem, android.view.View) parameter #1:
-    Missing nullability on parameter `view` in method `setActionView`
-MissingNullability: androidx.core.view.MenuItemCompat#setActionView(android.view.MenuItem, int) parameter #0:
-    Missing nullability on parameter `item` in method `setActionView`
 MissingNullability: androidx.core.view.MenuItemCompat#setAlphabeticShortcut(android.view.MenuItem, char, int) parameter #0:
     Missing nullability on parameter `item` in method `setAlphabeticShortcut`
 MissingNullability: androidx.core.view.MenuItemCompat#setContentDescription(android.view.MenuItem, CharSequence) parameter #0:
@@ -899,14 +861,8 @@
     Missing nullability on parameter `tintMode` in method `setIconTintMode`
 MissingNullability: androidx.core.view.MenuItemCompat#setNumericShortcut(android.view.MenuItem, char, int) parameter #0:
     Missing nullability on parameter `item` in method `setNumericShortcut`
-MissingNullability: androidx.core.view.MenuItemCompat#setOnActionExpandListener(android.view.MenuItem, androidx.core.view.MenuItemCompat.OnActionExpandListener) parameter #0:
-    Missing nullability on parameter `item` in method `setOnActionExpandListener`
-MissingNullability: androidx.core.view.MenuItemCompat#setOnActionExpandListener(android.view.MenuItem, androidx.core.view.MenuItemCompat.OnActionExpandListener) parameter #1:
-    Missing nullability on parameter `listener` in method `setOnActionExpandListener`
 MissingNullability: androidx.core.view.MenuItemCompat#setShortcut(android.view.MenuItem, char, char, int, int) parameter #0:
     Missing nullability on parameter `item` in method `setShortcut`
-MissingNullability: androidx.core.view.MenuItemCompat#setShowAsAction(android.view.MenuItem, int) parameter #0:
-    Missing nullability on parameter `item` in method `setShowAsAction`
 MissingNullability: androidx.core.view.MenuItemCompat#setTooltipText(android.view.MenuItem, CharSequence) parameter #0:
     Missing nullability on parameter `item` in method `setTooltipText`
 MissingNullability: androidx.core.view.MenuItemCompat#setTooltipText(android.view.MenuItem, CharSequence) parameter #1:
@@ -915,28 +871,6 @@
     Missing nullability on parameter `item` in method `onMenuItemActionCollapse`
 MissingNullability: androidx.core.view.MenuItemCompat.OnActionExpandListener#onMenuItemActionExpand(android.view.MenuItem) parameter #0:
     Missing nullability on parameter `item` in method `onMenuItemActionExpand`
-MissingNullability: androidx.core.view.MotionEventCompat#findPointerIndex(android.view.MotionEvent, int) parameter #0:
-    Missing nullability on parameter `event` in method `findPointerIndex`
-MissingNullability: androidx.core.view.MotionEventCompat#getActionIndex(android.view.MotionEvent) parameter #0:
-    Missing nullability on parameter `event` in method `getActionIndex`
-MissingNullability: androidx.core.view.MotionEventCompat#getActionMasked(android.view.MotionEvent) parameter #0:
-    Missing nullability on parameter `event` in method `getActionMasked`
-MissingNullability: androidx.core.view.MotionEventCompat#getAxisValue(android.view.MotionEvent, int) parameter #0:
-    Missing nullability on parameter `event` in method `getAxisValue`
-MissingNullability: androidx.core.view.MotionEventCompat#getAxisValue(android.view.MotionEvent, int, int) parameter #0:
-    Missing nullability on parameter `event` in method `getAxisValue`
-MissingNullability: androidx.core.view.MotionEventCompat#getButtonState(android.view.MotionEvent) parameter #0:
-    Missing nullability on parameter `event` in method `getButtonState`
-MissingNullability: androidx.core.view.MotionEventCompat#getPointerCount(android.view.MotionEvent) parameter #0:
-    Missing nullability on parameter `event` in method `getPointerCount`
-MissingNullability: androidx.core.view.MotionEventCompat#getPointerId(android.view.MotionEvent, int) parameter #0:
-    Missing nullability on parameter `event` in method `getPointerId`
-MissingNullability: androidx.core.view.MotionEventCompat#getSource(android.view.MotionEvent) parameter #0:
-    Missing nullability on parameter `event` in method `getSource`
-MissingNullability: androidx.core.view.MotionEventCompat#getX(android.view.MotionEvent, int) parameter #0:
-    Missing nullability on parameter `event` in method `getX`
-MissingNullability: androidx.core.view.MotionEventCompat#getY(android.view.MotionEvent, int) parameter #0:
-    Missing nullability on parameter `event` in method `getY`
 MissingNullability: androidx.core.view.MotionEventCompat#isFromSource(android.view.MotionEvent, int) parameter #0:
     Missing nullability on parameter `event` in method `isFromSource`
 MissingNullability: androidx.core.view.OnApplyWindowInsetsListener#onApplyWindowInsets(android.view.View, androidx.core.view.WindowInsetsCompat):
@@ -961,22 +895,10 @@
     Missing nullability on method `load` return
 MissingNullability: androidx.core.view.PointerIconCompat#load(android.content.res.Resources, int) parameter #0:
     Missing nullability on parameter `resources` in method `load`
-MissingNullability: androidx.core.view.ScaleGestureDetectorCompat#isQuickScaleEnabled(Object) parameter #0:
-    Missing nullability on parameter `scaleGestureDetector` in method `isQuickScaleEnabled`
 MissingNullability: androidx.core.view.ScaleGestureDetectorCompat#isQuickScaleEnabled(android.view.ScaleGestureDetector) parameter #0:
     Missing nullability on parameter `scaleGestureDetector` in method `isQuickScaleEnabled`
-MissingNullability: androidx.core.view.ScaleGestureDetectorCompat#setQuickScaleEnabled(Object, boolean) parameter #0:
-    Missing nullability on parameter `scaleGestureDetector` in method `setQuickScaleEnabled`
 MissingNullability: androidx.core.view.ScaleGestureDetectorCompat#setQuickScaleEnabled(android.view.ScaleGestureDetector, boolean) parameter #0:
     Missing nullability on parameter `scaleGestureDetector` in method `setQuickScaleEnabled`
-MissingNullability: androidx.core.view.VelocityTrackerCompat#getXVelocity(android.view.VelocityTracker, int) parameter #0:
-    Missing nullability on parameter `tracker` in method `getXVelocity`
-MissingNullability: androidx.core.view.VelocityTrackerCompat#getYVelocity(android.view.VelocityTracker, int) parameter #0:
-    Missing nullability on parameter `tracker` in method `getYVelocity`
-MissingNullability: androidx.core.view.ViewCompat#canScrollHorizontally(android.view.View, int) parameter #0:
-    Missing nullability on parameter `view` in method `canScrollHorizontally`
-MissingNullability: androidx.core.view.ViewCompat#canScrollVertically(android.view.View, int) parameter #0:
-    Missing nullability on parameter `view` in method `canScrollVertically`
 MissingNullability: androidx.core.view.ViewCompat#enableAccessibleClickableSpanSupport(android.view.View) parameter #0:
     Missing nullability on parameter `view` in method `enableAccessibleClickableSpanSupport`
 MissingNullability: androidx.core.view.ViewCompat#getAccessibilityNodeProvider(android.view.View):
@@ -985,70 +907,22 @@
     Missing nullability on method `getAccessibilityPaneTitle` return
 MissingNullability: androidx.core.view.ViewCompat#getAccessibilityPaneTitle(android.view.View) parameter #0:
     Missing nullability on parameter `view` in method `getAccessibilityPaneTitle`
-MissingNullability: androidx.core.view.ViewCompat#getAlpha(android.view.View) parameter #0:
-    Missing nullability on parameter `view` in method `getAlpha`
 MissingNullability: androidx.core.view.ViewCompat#getBackgroundTintList(android.view.View):
     Missing nullability on method `getBackgroundTintList` return
 MissingNullability: androidx.core.view.ViewCompat#getBackgroundTintMode(android.view.View):
     Missing nullability on method `getBackgroundTintMode` return
-MissingNullability: androidx.core.view.ViewCompat#getLayerType(android.view.View) parameter #0:
-    Missing nullability on parameter `view` in method `getLayerType`
-MissingNullability: androidx.core.view.ViewCompat#getMatrix(android.view.View) parameter #0:
-    Missing nullability on parameter `view` in method `getMatrix`
-MissingNullability: androidx.core.view.ViewCompat#getMeasuredHeightAndState(android.view.View) parameter #0:
-    Missing nullability on parameter `view` in method `getMeasuredHeightAndState`
-MissingNullability: androidx.core.view.ViewCompat#getMeasuredState(android.view.View) parameter #0:
-    Missing nullability on parameter `view` in method `getMeasuredState`
-MissingNullability: androidx.core.view.ViewCompat#getMeasuredWidthAndState(android.view.View) parameter #0:
-    Missing nullability on parameter `view` in method `getMeasuredWidthAndState`
-MissingNullability: androidx.core.view.ViewCompat#getOverScrollMode(android.view.View) parameter #0:
-    Missing nullability on parameter `v` in method `getOverScrollMode`
 MissingNullability: androidx.core.view.ViewCompat#getParentForAccessibility(android.view.View):
     Missing nullability on method `getParentForAccessibility` return
-MissingNullability: androidx.core.view.ViewCompat#getPivotX(android.view.View) parameter #0:
-    Missing nullability on parameter `view` in method `getPivotX`
-MissingNullability: androidx.core.view.ViewCompat#getPivotY(android.view.View) parameter #0:
-    Missing nullability on parameter `view` in method `getPivotY`
-MissingNullability: androidx.core.view.ViewCompat#getRotation(android.view.View) parameter #0:
-    Missing nullability on parameter `view` in method `getRotation`
-MissingNullability: androidx.core.view.ViewCompat#getRotationX(android.view.View) parameter #0:
-    Missing nullability on parameter `view` in method `getRotationX`
-MissingNullability: androidx.core.view.ViewCompat#getRotationY(android.view.View) parameter #0:
-    Missing nullability on parameter `view` in method `getRotationY`
-MissingNullability: androidx.core.view.ViewCompat#getScaleX(android.view.View) parameter #0:
-    Missing nullability on parameter `view` in method `getScaleX`
-MissingNullability: androidx.core.view.ViewCompat#getScaleY(android.view.View) parameter #0:
-    Missing nullability on parameter `view` in method `getScaleY`
-MissingNullability: androidx.core.view.ViewCompat#getTranslationX(android.view.View) parameter #0:
-    Missing nullability on parameter `view` in method `getTranslationX`
-MissingNullability: androidx.core.view.ViewCompat#getTranslationY(android.view.View) parameter #0:
-    Missing nullability on parameter `view` in method `getTranslationY`
-MissingNullability: androidx.core.view.ViewCompat#getX(android.view.View) parameter #0:
-    Missing nullability on parameter `view` in method `getX`
-MissingNullability: androidx.core.view.ViewCompat#getY(android.view.View) parameter #0:
-    Missing nullability on parameter `view` in method `getY`
 MissingNullability: androidx.core.view.ViewCompat#isAccessibilityHeading(android.view.View) parameter #0:
     Missing nullability on parameter `view` in method `isAccessibilityHeading`
-MissingNullability: androidx.core.view.ViewCompat#isOpaque(android.view.View) parameter #0:
-    Missing nullability on parameter `view` in method `isOpaque`
 MissingNullability: androidx.core.view.ViewCompat#isScreenReaderFocusable(android.view.View) parameter #0:
     Missing nullability on parameter `view` in method `isScreenReaderFocusable`
-MissingNullability: androidx.core.view.ViewCompat#jumpDrawablesToCurrentState(android.view.View) parameter #0:
-    Missing nullability on parameter `v` in method `jumpDrawablesToCurrentState`
 MissingNullability: androidx.core.view.ViewCompat#keyboardNavigationClusterSearch(android.view.View, android.view.View, int):
     Missing nullability on method `keyboardNavigationClusterSearch` return
 MissingNullability: androidx.core.view.ViewCompat#keyboardNavigationClusterSearch(android.view.View, android.view.View, int) parameter #1:
     Missing nullability on parameter `currentCluster` in method `keyboardNavigationClusterSearch`
-MissingNullability: androidx.core.view.ViewCompat#onInitializeAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent) parameter #0:
-    Missing nullability on parameter `v` in method `onInitializeAccessibilityEvent`
-MissingNullability: androidx.core.view.ViewCompat#onInitializeAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent) parameter #1:
-    Missing nullability on parameter `event` in method `onInitializeAccessibilityEvent`
 MissingNullability: androidx.core.view.ViewCompat#onInitializeAccessibilityNodeInfo(android.view.View, androidx.core.view.accessibility.AccessibilityNodeInfoCompat) parameter #1:
     Missing nullability on parameter `info` in method `onInitializeAccessibilityNodeInfo`
-MissingNullability: androidx.core.view.ViewCompat#onPopulateAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent) parameter #0:
-    Missing nullability on parameter `v` in method `onPopulateAccessibilityEvent`
-MissingNullability: androidx.core.view.ViewCompat#onPopulateAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent) parameter #1:
-    Missing nullability on parameter `event` in method `onPopulateAccessibilityEvent`
 MissingNullability: androidx.core.view.ViewCompat#performAccessibilityAction(android.view.View, int, android.os.Bundle) parameter #2:
     Missing nullability on parameter `arguments` in method `performAccessibilityAction`
 MissingNullability: androidx.core.view.ViewCompat#postOnAnimation(android.view.View, Runnable) parameter #1:
@@ -1063,58 +937,20 @@
     Missing nullability on parameter `view` in method `setAccessibilityPaneTitle`
 MissingNullability: androidx.core.view.ViewCompat#setAccessibilityPaneTitle(android.view.View, CharSequence) parameter #1:
     Missing nullability on parameter `accessibilityPaneTitle` in method `setAccessibilityPaneTitle`
-MissingNullability: androidx.core.view.ViewCompat#setActivated(android.view.View, boolean) parameter #0:
-    Missing nullability on parameter `view` in method `setActivated`
-MissingNullability: androidx.core.view.ViewCompat#setAlpha(android.view.View, float) parameter #0:
-    Missing nullability on parameter `view` in method `setAlpha`
 MissingNullability: androidx.core.view.ViewCompat#setBackgroundTintList(android.view.View, android.content.res.ColorStateList) parameter #1:
     Missing nullability on parameter `tintList` in method `setBackgroundTintList`
 MissingNullability: androidx.core.view.ViewCompat#setBackgroundTintMode(android.view.View, android.graphics.PorterDuff.Mode) parameter #1:
     Missing nullability on parameter `mode` in method `setBackgroundTintMode`
-MissingNullability: androidx.core.view.ViewCompat#setChildrenDrawingOrderEnabled(android.view.ViewGroup, boolean) parameter #0:
-    Missing nullability on parameter `viewGroup` in method `setChildrenDrawingOrderEnabled`
 MissingNullability: androidx.core.view.ViewCompat#setClipBounds(android.view.View, android.graphics.Rect) parameter #1:
     Missing nullability on parameter `clipBounds` in method `setClipBounds`
-MissingNullability: androidx.core.view.ViewCompat#setFitsSystemWindows(android.view.View, boolean) parameter #0:
-    Missing nullability on parameter `view` in method `setFitsSystemWindows`
 MissingNullability: androidx.core.view.ViewCompat#setLayerPaint(android.view.View, android.graphics.Paint) parameter #1:
     Missing nullability on parameter `paint` in method `setLayerPaint`
-MissingNullability: androidx.core.view.ViewCompat#setLayerType(android.view.View, int, android.graphics.Paint) parameter #0:
-    Missing nullability on parameter `view` in method `setLayerType`
-MissingNullability: androidx.core.view.ViewCompat#setLayerType(android.view.View, int, android.graphics.Paint) parameter #2:
-    Missing nullability on parameter `paint` in method `setLayerType`
-MissingNullability: androidx.core.view.ViewCompat#setOverScrollMode(android.view.View, int) parameter #0:
-    Missing nullability on parameter `v` in method `setOverScrollMode`
-MissingNullability: androidx.core.view.ViewCompat#setPivotX(android.view.View, float) parameter #0:
-    Missing nullability on parameter `view` in method `setPivotX`
-MissingNullability: androidx.core.view.ViewCompat#setPivotY(android.view.View, float) parameter #0:
-    Missing nullability on parameter `view` in method `setPivotY`
 MissingNullability: androidx.core.view.ViewCompat#setPointerIcon(android.view.View, androidx.core.view.PointerIconCompat) parameter #1:
     Missing nullability on parameter `pointerIcon` in method `setPointerIcon`
-MissingNullability: androidx.core.view.ViewCompat#setRotation(android.view.View, float) parameter #0:
-    Missing nullability on parameter `view` in method `setRotation`
-MissingNullability: androidx.core.view.ViewCompat#setRotationX(android.view.View, float) parameter #0:
-    Missing nullability on parameter `view` in method `setRotationX`
-MissingNullability: androidx.core.view.ViewCompat#setRotationY(android.view.View, float) parameter #0:
-    Missing nullability on parameter `view` in method `setRotationY`
-MissingNullability: androidx.core.view.ViewCompat#setSaveFromParentEnabled(android.view.View, boolean) parameter #0:
-    Missing nullability on parameter `v` in method `setSaveFromParentEnabled`
-MissingNullability: androidx.core.view.ViewCompat#setScaleX(android.view.View, float) parameter #0:
-    Missing nullability on parameter `view` in method `setScaleX`
-MissingNullability: androidx.core.view.ViewCompat#setScaleY(android.view.View, float) parameter #0:
-    Missing nullability on parameter `view` in method `setScaleY`
 MissingNullability: androidx.core.view.ViewCompat#setScreenReaderFocusable(android.view.View, boolean) parameter #0:
     Missing nullability on parameter `view` in method `setScreenReaderFocusable`
 MissingNullability: androidx.core.view.ViewCompat#setTransitionName(android.view.View, String) parameter #1:
     Missing nullability on parameter `transitionName` in method `setTransitionName`
-MissingNullability: androidx.core.view.ViewCompat#setTranslationX(android.view.View, float) parameter #0:
-    Missing nullability on parameter `view` in method `setTranslationX`
-MissingNullability: androidx.core.view.ViewCompat#setTranslationY(android.view.View, float) parameter #0:
-    Missing nullability on parameter `view` in method `setTranslationY`
-MissingNullability: androidx.core.view.ViewCompat#setX(android.view.View, float) parameter #0:
-    Missing nullability on parameter `view` in method `setX`
-MissingNullability: androidx.core.view.ViewCompat#setY(android.view.View, float) parameter #0:
-    Missing nullability on parameter `view` in method `setY`
 MissingNullability: androidx.core.view.ViewCompat#startDragAndDrop(android.view.View, android.content.ClipData, android.view.View.DragShadowBuilder, Object, int) parameter #1:
     Missing nullability on parameter `data` in method `startDragAndDrop`
 MissingNullability: androidx.core.view.ViewCompat#startDragAndDrop(android.view.View, android.content.ClipData, android.view.View.DragShadowBuilder, Object, int) parameter #2:
@@ -1129,20 +965,8 @@
     Missing nullability on parameter `event` in method `onUnhandledKeyEvent`
 MissingNullability: androidx.core.view.ViewConfigurationCompat#getScaledHoverSlop(android.view.ViewConfiguration) parameter #0:
     Missing nullability on parameter `config` in method `getScaledHoverSlop`
-MissingNullability: androidx.core.view.ViewConfigurationCompat#getScaledPagingTouchSlop(android.view.ViewConfiguration) parameter #0:
-    Missing nullability on parameter `config` in method `getScaledPagingTouchSlop`
-MissingNullability: androidx.core.view.ViewConfigurationCompat#hasPermanentMenuKey(android.view.ViewConfiguration) parameter #0:
-    Missing nullability on parameter `config` in method `hasPermanentMenuKey`
 MissingNullability: androidx.core.view.ViewConfigurationCompat#shouldShowMenuShortcutsWhenKeyboardPresent(android.view.ViewConfiguration, android.content.Context) parameter #0:
     Missing nullability on parameter `config` in method `shouldShowMenuShortcutsWhenKeyboardPresent`
-MissingNullability: androidx.core.view.ViewGroupCompat#onRequestSendAccessibilityEvent(android.view.ViewGroup, android.view.View, android.view.accessibility.AccessibilityEvent) parameter #0:
-    Missing nullability on parameter `group` in method `onRequestSendAccessibilityEvent`
-MissingNullability: androidx.core.view.ViewGroupCompat#onRequestSendAccessibilityEvent(android.view.ViewGroup, android.view.View, android.view.accessibility.AccessibilityEvent) parameter #1:
-    Missing nullability on parameter `child` in method `onRequestSendAccessibilityEvent`
-MissingNullability: androidx.core.view.ViewGroupCompat#onRequestSendAccessibilityEvent(android.view.ViewGroup, android.view.View, android.view.accessibility.AccessibilityEvent) parameter #2:
-    Missing nullability on parameter `event` in method `onRequestSendAccessibilityEvent`
-MissingNullability: androidx.core.view.ViewGroupCompat#setMotionEventSplittingEnabled(android.view.ViewGroup, boolean) parameter #0:
-    Missing nullability on parameter `group` in method `setMotionEventSplittingEnabled`
 MissingNullability: androidx.core.view.ViewParentCompat#notifySubtreeAccessibilityStateChanged(android.view.ViewParent, android.view.View, android.view.View, int) parameter #0:
     Missing nullability on parameter `parent` in method `notifySubtreeAccessibilityStateChanged`
 MissingNullability: androidx.core.view.ViewParentCompat#notifySubtreeAccessibilityStateChanged(android.view.ViewParent, android.view.View, android.view.View, int) parameter #1:
@@ -1213,12 +1037,6 @@
     Missing nullability on parameter `parent` in method `onStopNestedScroll`
 MissingNullability: androidx.core.view.ViewParentCompat#onStopNestedScroll(android.view.ViewParent, android.view.View, int) parameter #1:
     Missing nullability on parameter `target` in method `onStopNestedScroll`
-MissingNullability: androidx.core.view.ViewParentCompat#requestSendAccessibilityEvent(android.view.ViewParent, android.view.View, android.view.accessibility.AccessibilityEvent) parameter #0:
-    Missing nullability on parameter `parent` in method `requestSendAccessibilityEvent`
-MissingNullability: androidx.core.view.ViewParentCompat#requestSendAccessibilityEvent(android.view.ViewParent, android.view.View, android.view.accessibility.AccessibilityEvent) parameter #1:
-    Missing nullability on parameter `child` in method `requestSendAccessibilityEvent`
-MissingNullability: androidx.core.view.ViewParentCompat#requestSendAccessibilityEvent(android.view.ViewParent, android.view.View, android.view.accessibility.AccessibilityEvent) parameter #2:
-    Missing nullability on parameter `event` in method `requestSendAccessibilityEvent`
 MissingNullability: androidx.core.view.ViewPropertyAnimatorCompat#alpha(float):
     Missing nullability on method `alpha` return
 MissingNullability: androidx.core.view.ViewPropertyAnimatorCompat#alphaBy(float):
@@ -1309,52 +1127,26 @@
     Missing nullability on parameter `view` in method `onAnimationStart`
 MissingNullability: androidx.core.view.ViewPropertyAnimatorUpdateListener#onAnimationUpdate(android.view.View) parameter #0:
     Missing nullability on parameter `view` in method `onAnimationUpdate`
-MissingNullability: androidx.core.view.accessibility.AccessibilityEventCompat#appendRecord(android.view.accessibility.AccessibilityEvent, androidx.core.view.accessibility.AccessibilityRecordCompat) parameter #0:
-    Missing nullability on parameter `event` in method `appendRecord`
-MissingNullability: androidx.core.view.accessibility.AccessibilityEventCompat#appendRecord(android.view.accessibility.AccessibilityEvent, androidx.core.view.accessibility.AccessibilityRecordCompat) parameter #1:
-    Missing nullability on parameter `record` in method `appendRecord`
-MissingNullability: androidx.core.view.accessibility.AccessibilityEventCompat#asRecord(android.view.accessibility.AccessibilityEvent) parameter #0:
-    Missing nullability on parameter `event` in method `asRecord`
 MissingNullability: androidx.core.view.accessibility.AccessibilityEventCompat#getAction(android.view.accessibility.AccessibilityEvent) parameter #0:
     Missing nullability on parameter `event` in method `getAction`
 MissingNullability: androidx.core.view.accessibility.AccessibilityEventCompat#getContentChangeTypes(android.view.accessibility.AccessibilityEvent) parameter #0:
     Missing nullability on parameter `event` in method `getContentChangeTypes`
 MissingNullability: androidx.core.view.accessibility.AccessibilityEventCompat#getMovementGranularity(android.view.accessibility.AccessibilityEvent) parameter #0:
     Missing nullability on parameter `event` in method `getMovementGranularity`
-MissingNullability: androidx.core.view.accessibility.AccessibilityEventCompat#getRecord(android.view.accessibility.AccessibilityEvent, int) parameter #0:
-    Missing nullability on parameter `event` in method `getRecord`
-MissingNullability: androidx.core.view.accessibility.AccessibilityEventCompat#getRecordCount(android.view.accessibility.AccessibilityEvent) parameter #0:
-    Missing nullability on parameter `event` in method `getRecordCount`
 MissingNullability: androidx.core.view.accessibility.AccessibilityEventCompat#setAction(android.view.accessibility.AccessibilityEvent, int) parameter #0:
     Missing nullability on parameter `event` in method `setAction`
 MissingNullability: androidx.core.view.accessibility.AccessibilityEventCompat#setContentChangeTypes(android.view.accessibility.AccessibilityEvent, int) parameter #0:
     Missing nullability on parameter `event` in method `setContentChangeTypes`
 MissingNullability: androidx.core.view.accessibility.AccessibilityEventCompat#setMovementGranularity(android.view.accessibility.AccessibilityEvent, int) parameter #0:
     Missing nullability on parameter `event` in method `setMovementGranularity`
-MissingNullability: androidx.core.view.accessibility.AccessibilityManagerCompat#addAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager, androidx.core.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener) parameter #0:
-    Missing nullability on parameter `manager` in method `addAccessibilityStateChangeListener`
-MissingNullability: androidx.core.view.accessibility.AccessibilityManagerCompat#addAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager, androidx.core.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener) parameter #1:
-    Missing nullability on parameter `listener` in method `addAccessibilityStateChangeListener`
 MissingNullability: androidx.core.view.accessibility.AccessibilityManagerCompat#addTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager, androidx.core.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener) parameter #0:
     Missing nullability on parameter `manager` in method `addTouchExplorationStateChangeListener`
 MissingNullability: androidx.core.view.accessibility.AccessibilityManagerCompat#addTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager, androidx.core.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener) parameter #1:
     Missing nullability on parameter `listener` in method `addTouchExplorationStateChangeListener`
-MissingNullability: androidx.core.view.accessibility.AccessibilityManagerCompat#getEnabledAccessibilityServiceList(android.view.accessibility.AccessibilityManager, int) parameter #0:
-    Missing nullability on parameter `manager` in method `getEnabledAccessibilityServiceList`
-MissingNullability: androidx.core.view.accessibility.AccessibilityManagerCompat#getInstalledAccessibilityServiceList(android.view.accessibility.AccessibilityManager) parameter #0:
-    Missing nullability on parameter `manager` in method `getInstalledAccessibilityServiceList`
-MissingNullability: androidx.core.view.accessibility.AccessibilityManagerCompat#isTouchExplorationEnabled(android.view.accessibility.AccessibilityManager) parameter #0:
-    Missing nullability on parameter `manager` in method `isTouchExplorationEnabled`
-MissingNullability: androidx.core.view.accessibility.AccessibilityManagerCompat#removeAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager, androidx.core.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener) parameter #0:
-    Missing nullability on parameter `manager` in method `removeAccessibilityStateChangeListener`
-MissingNullability: androidx.core.view.accessibility.AccessibilityManagerCompat#removeAccessibilityStateChangeListener(android.view.accessibility.AccessibilityManager, androidx.core.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener) parameter #1:
-    Missing nullability on parameter `listener` in method `removeAccessibilityStateChangeListener`
 MissingNullability: androidx.core.view.accessibility.AccessibilityManagerCompat#removeTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager, androidx.core.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener) parameter #0:
     Missing nullability on parameter `manager` in method `removeTouchExplorationStateChangeListener`
 MissingNullability: androidx.core.view.accessibility.AccessibilityManagerCompat#removeTouchExplorationStateChangeListener(android.view.accessibility.AccessibilityManager, androidx.core.view.accessibility.AccessibilityManagerCompat.TouchExplorationStateChangeListener) parameter #1:
     Missing nullability on parameter `listener` in method `removeTouchExplorationStateChangeListener`
-MissingNullability: androidx.core.view.accessibility.AccessibilityNodeInfoCompat#AccessibilityNodeInfoCompat(Object) parameter #0:
-    Missing nullability on parameter `info` in method `AccessibilityNodeInfoCompat`
 MissingNullability: androidx.core.view.accessibility.AccessibilityNodeInfoCompat#addAction(androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat) parameter #0:
     Missing nullability on parameter `action` in method `addAction`
 MissingNullability: androidx.core.view.accessibility.AccessibilityNodeInfoCompat#addChild(android.view.View) parameter #0:
@@ -1375,8 +1167,6 @@
     Missing nullability on method `focusSearch` return
 MissingNullability: androidx.core.view.accessibility.AccessibilityNodeInfoCompat#getActionList():
     Missing nullability on method `getActionList` return
-MissingNullability: androidx.core.view.accessibility.AccessibilityNodeInfoCompat#getBoundsInParent(android.graphics.Rect) parameter #0:
-    Missing nullability on parameter `outBounds` in method `getBoundsInParent`
 MissingNullability: androidx.core.view.accessibility.AccessibilityNodeInfoCompat#getBoundsInScreen(android.graphics.Rect) parameter #0:
     Missing nullability on parameter `outBounds` in method `getBoundsInScreen`
 MissingNullability: androidx.core.view.accessibility.AccessibilityNodeInfoCompat#getChild(int):
@@ -1435,8 +1225,6 @@
     Missing nullability on parameter `child` in method `removeChild`
 MissingNullability: androidx.core.view.accessibility.AccessibilityNodeInfoCompat#removeChild(android.view.View, int) parameter #0:
     Missing nullability on parameter `root` in method `removeChild`
-MissingNullability: androidx.core.view.accessibility.AccessibilityNodeInfoCompat#setBoundsInParent(android.graphics.Rect) parameter #0:
-    Missing nullability on parameter `bounds` in method `setBoundsInParent`
 MissingNullability: androidx.core.view.accessibility.AccessibilityNodeInfoCompat#setBoundsInScreen(android.graphics.Rect) parameter #0:
     Missing nullability on parameter `bounds` in method `setBoundsInScreen`
 MissingNullability: androidx.core.view.accessibility.AccessibilityNodeInfoCompat#setClassName(CharSequence) parameter #0:
@@ -1573,30 +1361,14 @@
     Missing nullability on method `getProvider` return
 MissingNullability: androidx.core.view.accessibility.AccessibilityNodeProviderCompat#performAction(int, int, android.os.Bundle) parameter #2:
     Missing nullability on parameter `arguments` in method `performAction`
-MissingNullability: androidx.core.view.accessibility.AccessibilityRecordCompat#AccessibilityRecordCompat(Object) parameter #0:
-    Missing nullability on parameter `record` in method `AccessibilityRecordCompat`
 MissingNullability: androidx.core.view.accessibility.AccessibilityRecordCompat#getMaxScrollX(android.view.accessibility.AccessibilityRecord) parameter #0:
     Missing nullability on parameter `record` in method `getMaxScrollX`
 MissingNullability: androidx.core.view.accessibility.AccessibilityRecordCompat#getMaxScrollY(android.view.accessibility.AccessibilityRecord) parameter #0:
     Missing nullability on parameter `record` in method `getMaxScrollY`
-MissingNullability: androidx.core.view.accessibility.AccessibilityRecordCompat#obtain(androidx.core.view.accessibility.AccessibilityRecordCompat) parameter #0:
-    Missing nullability on parameter `record` in method `obtain`
-MissingNullability: androidx.core.view.accessibility.AccessibilityRecordCompat#setBeforeText(CharSequence) parameter #0:
-    Missing nullability on parameter `beforeText` in method `setBeforeText`
-MissingNullability: androidx.core.view.accessibility.AccessibilityRecordCompat#setClassName(CharSequence) parameter #0:
-    Missing nullability on parameter `className` in method `setClassName`
-MissingNullability: androidx.core.view.accessibility.AccessibilityRecordCompat#setContentDescription(CharSequence) parameter #0:
-    Missing nullability on parameter `contentDescription` in method `setContentDescription`
 MissingNullability: androidx.core.view.accessibility.AccessibilityRecordCompat#setMaxScrollX(android.view.accessibility.AccessibilityRecord, int) parameter #0:
     Missing nullability on parameter `record` in method `setMaxScrollX`
 MissingNullability: androidx.core.view.accessibility.AccessibilityRecordCompat#setMaxScrollY(android.view.accessibility.AccessibilityRecord, int) parameter #0:
     Missing nullability on parameter `record` in method `setMaxScrollY`
-MissingNullability: androidx.core.view.accessibility.AccessibilityRecordCompat#setParcelableData(android.os.Parcelable) parameter #0:
-    Missing nullability on parameter `parcelableData` in method `setParcelableData`
-MissingNullability: androidx.core.view.accessibility.AccessibilityRecordCompat#setSource(android.view.View) parameter #0:
-    Missing nullability on parameter `source` in method `setSource`
-MissingNullability: androidx.core.view.accessibility.AccessibilityRecordCompat#setSource(android.view.View, int) parameter #0:
-    Missing nullability on parameter `root` in method `setSource`
 MissingNullability: androidx.core.view.accessibility.AccessibilityRecordCompat#setSource(android.view.accessibility.AccessibilityRecord, android.view.View, int) parameter #1:
     Missing nullability on parameter `root` in method `setSource`
 MissingNullability: androidx.core.view.accessibility.AccessibilityViewCommand.MoveHtmlArguments#getHTMLElement():
@@ -1643,14 +1415,6 @@
     Missing nullability on method `setEnabled` return
 MissingNullability: androidx.core.widget.AutoScrollHelper#setExclusive(boolean):
     Missing nullability on method `setExclusive` return
-MissingNullability: androidx.core.widget.EdgeEffectCompat#EdgeEffectCompat(android.content.Context) parameter #0:
-    Missing nullability on parameter `context` in method `EdgeEffectCompat`
-MissingNullability: androidx.core.widget.EdgeEffectCompat#draw(android.graphics.Canvas) parameter #0:
-    Missing nullability on parameter `canvas` in method `draw`
-MissingNullability: androidx.core.widget.ListPopupWindowCompat#createDragToOpenListener(Object, android.view.View) parameter #0:
-    Missing nullability on parameter `listPopupWindow` in method `createDragToOpenListener`
-MissingNullability: androidx.core.widget.ListPopupWindowCompat#createDragToOpenListener(Object, android.view.View) parameter #1:
-    Missing nullability on parameter `src` in method `createDragToOpenListener`
 MissingNullability: androidx.core.widget.NestedScrollView#addView(android.view.View) parameter #0:
     Missing nullability on parameter `child` in method `addView`
 MissingNullability: androidx.core.widget.NestedScrollView#addView(android.view.View, android.view.ViewGroup.LayoutParams) parameter #0:
@@ -1707,12 +1471,6 @@
     Missing nullability on parameter `rectangle` in method `requestChildRectangleOnScreen`
 MissingNullability: androidx.core.widget.NestedScrollView.OnScrollChangeListener#onScrollChange(androidx.core.widget.NestedScrollView, int, int, int, int) parameter #0:
     Missing nullability on parameter `v` in method `onScrollChange`
-MissingNullability: androidx.core.widget.ScrollerCompat#create(android.content.Context) parameter #0:
-    Missing nullability on parameter `context` in method `create`
-MissingNullability: androidx.core.widget.ScrollerCompat#create(android.content.Context, android.view.animation.Interpolator) parameter #0:
-    Missing nullability on parameter `context` in method `create`
-MissingNullability: androidx.core.widget.ScrollerCompat#create(android.content.Context, android.view.animation.Interpolator) parameter #1:
-    Missing nullability on parameter `interpolator` in method `create`
 
 
 MutableBareField: androidx.core.app.NotificationCompat.Action#actionIntent:
@@ -1727,6 +1485,48 @@
     Provide an explicit copy constructor instead of implementing `clone()`
 
 
+NullableCollection: androidx.core.app.ActivityOptionsCompat#toBundle():
+    Return type of method androidx.core.app.ActivityOptionsCompat.toBundle() is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.core.app.FrameMetricsAggregator#getMetrics():
+    Return type of method androidx.core.app.FrameMetricsAggregator.getMetrics() is a nullable collection (`android.util.SparseIntArray[]`); must be non-null
+NullableCollection: androidx.core.app.FrameMetricsAggregator#remove(android.app.Activity):
+    Return type of method androidx.core.app.FrameMetricsAggregator.remove(android.app.Activity) is a nullable collection (`android.util.SparseIntArray[]`); must be non-null
+NullableCollection: androidx.core.app.FrameMetricsAggregator#reset():
+    Return type of method androidx.core.app.FrameMetricsAggregator.reset() is a nullable collection (`android.util.SparseIntArray[]`); must be non-null
+NullableCollection: androidx.core.app.FrameMetricsAggregator#stop():
+    Return type of method androidx.core.app.FrameMetricsAggregator.stop() is a nullable collection (`android.util.SparseIntArray[]`); must be non-null
+NullableCollection: androidx.core.app.NotificationCompat#getExtras(android.app.Notification):
+    Return type of method androidx.core.app.NotificationCompat.getExtras(android.app.Notification) is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.core.app.NotificationCompat.Action#getDataOnlyRemoteInputs():
+    Return type of method androidx.core.app.NotificationCompat.Action.getDataOnlyRemoteInputs() is a nullable collection (`androidx.core.app.RemoteInput[]`); must be non-null
+NullableCollection: androidx.core.app.NotificationCompat.Action#getRemoteInputs():
+    Return type of method androidx.core.app.NotificationCompat.Action.getRemoteInputs() is a nullable collection (`androidx.core.app.RemoteInput[]`); must be non-null
+NullableCollection: androidx.core.app.NotificationCompat.CarExtender.UnreadConversation#getMessages():
+    Return type of method androidx.core.app.NotificationCompat.CarExtender.UnreadConversation.getMessages() is a nullable collection (`java.lang.String[]`); must be non-null
+NullableCollection: androidx.core.app.NotificationCompat.CarExtender.UnreadConversation#getParticipants():
+    Return type of method androidx.core.app.NotificationCompat.CarExtender.UnreadConversation.getParticipants() is a nullable collection (`java.lang.String[]`); must be non-null
+NullableCollection: androidx.core.app.ShareCompat.IntentReader#getEmailBcc():
+    Return type of method androidx.core.app.ShareCompat.IntentReader.getEmailBcc() is a nullable collection (`java.lang.String[]`); must be non-null
+NullableCollection: androidx.core.app.ShareCompat.IntentReader#getEmailCc():
+    Return type of method androidx.core.app.ShareCompat.IntentReader.getEmailCc() is a nullable collection (`java.lang.String[]`); must be non-null
+NullableCollection: androidx.core.app.ShareCompat.IntentReader#getEmailTo():
+    Return type of method androidx.core.app.ShareCompat.IntentReader.getEmailTo() is a nullable collection (`java.lang.String[]`); must be non-null
+NullableCollection: androidx.core.content.pm.ShortcutInfoCompat#getCategories():
+    Return type of method androidx.core.content.pm.ShortcutInfoCompat.getCategories() is a nullable collection (`java.util.Set`); must be non-null
+NullableCollection: androidx.core.content.pm.ShortcutInfoCompat#getExtras():
+    Return type of method androidx.core.content.pm.ShortcutInfoCompat.getExtras() is a nullable collection (`android.os.PersistableBundle`); must be non-null
+NullableCollection: androidx.core.net.MailTo#getHeaders():
+    Return type of method androidx.core.net.MailTo.getHeaders() is a nullable collection (`java.util.Map`); must be non-null
+NullableCollection: androidx.core.provider.FontRequest#getCertificates():
+    Return type of method androidx.core.provider.FontRequest.getCertificates() is a nullable collection (`java.util.List`); must be non-null
+NullableCollection: androidx.core.view.ContentInfoCompat#getExtras():
+    Return type of method androidx.core.view.ContentInfoCompat.getExtras() is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.core.view.ViewCompat#getOnReceiveContentMimeTypes(android.view.View):
+    Return type of method androidx.core.view.ViewCompat.getOnReceiveContentMimeTypes(android.view.View) is a nullable collection (`java.lang.String[]`); must be non-null
+NullableCollection: androidx.core.view.accessibility.AccessibilityNodeProviderCompat#findAccessibilityNodeInfosByText(String, int):
+    Return type of method androidx.core.view.accessibility.AccessibilityNodeProviderCompat.findAccessibilityNodeInfosByText(String,int) is a nullable collection (`java.util.List`); must be non-null
+
+
 OptionalBuilderConstructorArgument: androidx.core.app.NotificationCompat.Action.Builder#Builder(androidx.core.graphics.drawable.IconCompat, CharSequence, android.app.PendingIntent) parameter #0:
     Builder constructor arguments must be mandatory (i.e. not @Nullable): parameter icon in androidx.core.app.NotificationCompat.Action.Builder(androidx.core.graphics.drawable.IconCompat icon, CharSequence title, android.app.PendingIntent intent)
 OptionalBuilderConstructorArgument: androidx.core.app.NotificationCompat.Action.Builder#Builder(androidx.core.graphics.drawable.IconCompat, CharSequence, android.app.PendingIntent) parameter #1:
diff --git a/core/core/api/current.ignore b/core/core/api/current.ignore
deleted file mode 100644
index f7a16ef..0000000
--- a/core/core/api/current.ignore
+++ /dev/null
@@ -1,21 +0,0 @@
-// Baseline format: 1.0
-// See tools/metalava/API-LINT.md for how to update this file.
-
-InvalidNullConversion: androidx.core.app.NotificationCompat.BubbleMetadata#getIcon():
-    Attempted to change method return from @NonNull to @Nullable: incompatible change for method androidx.core.app.NotificationCompat.BubbleMetadata.getIcon()
-InvalidNullConversion: androidx.core.app.NotificationCompat.BubbleMetadata#getIntent():
-    Attempted to change method return from @NonNull to @Nullable: incompatible change for method androidx.core.app.NotificationCompat.BubbleMetadata.getIntent()
-InvalidNullConversion: androidx.core.app.NotificationCompat.MessagingStyle.Message#getText():
-    Attempted to change method return from @NonNull to @Nullable: incompatible change for method androidx.core.app.NotificationCompat.MessagingStyle.Message.getText()
-InvalidNullConversion: androidx.core.util.Pair#Pair(F, S) parameter #0:
-    Attempted to remove @Nullable annotation from parameter arg1 in androidx.core.util.Pair(F arg1, S arg2)
-InvalidNullConversion: androidx.core.util.Pair#Pair(F, S) parameter #1:
-    Attempted to remove @Nullable annotation from parameter arg2 in androidx.core.util.Pair(F arg1, S arg2)
-InvalidNullConversion: androidx.core.util.Pair#create(A, B) parameter #0:
-    Attempted to remove @Nullable annotation from parameter arg1 in androidx.core.util.Pair.create(A arg1, B arg2)
-InvalidNullConversion: androidx.core.util.Pair#create(A, B) parameter #1:
-    Attempted to remove @Nullable annotation from parameter arg2 in androidx.core.util.Pair.create(A arg1, B arg2)
-InvalidNullConversion: androidx.core.util.Pair#first:
-    Attempted to remove @Nullable annotation from field androidx.core.util.Pair.first
-InvalidNullConversion: androidx.core.util.Pair#second:
-    Attempted to remove @Nullable annotation from field androidx.core.util.Pair.second
diff --git a/core/core/api/restricted_current.ignore b/core/core/api/restricted_current.ignore
deleted file mode 100644
index f7a16ef..0000000
--- a/core/core/api/restricted_current.ignore
+++ /dev/null
@@ -1,21 +0,0 @@
-// Baseline format: 1.0
-// See tools/metalava/API-LINT.md for how to update this file.
-
-InvalidNullConversion: androidx.core.app.NotificationCompat.BubbleMetadata#getIcon():
-    Attempted to change method return from @NonNull to @Nullable: incompatible change for method androidx.core.app.NotificationCompat.BubbleMetadata.getIcon()
-InvalidNullConversion: androidx.core.app.NotificationCompat.BubbleMetadata#getIntent():
-    Attempted to change method return from @NonNull to @Nullable: incompatible change for method androidx.core.app.NotificationCompat.BubbleMetadata.getIntent()
-InvalidNullConversion: androidx.core.app.NotificationCompat.MessagingStyle.Message#getText():
-    Attempted to change method return from @NonNull to @Nullable: incompatible change for method androidx.core.app.NotificationCompat.MessagingStyle.Message.getText()
-InvalidNullConversion: androidx.core.util.Pair#Pair(F, S) parameter #0:
-    Attempted to remove @Nullable annotation from parameter arg1 in androidx.core.util.Pair(F arg1, S arg2)
-InvalidNullConversion: androidx.core.util.Pair#Pair(F, S) parameter #1:
-    Attempted to remove @Nullable annotation from parameter arg2 in androidx.core.util.Pair(F arg1, S arg2)
-InvalidNullConversion: androidx.core.util.Pair#create(A, B) parameter #0:
-    Attempted to remove @Nullable annotation from parameter arg1 in androidx.core.util.Pair.create(A arg1, B arg2)
-InvalidNullConversion: androidx.core.util.Pair#create(A, B) parameter #1:
-    Attempted to remove @Nullable annotation from parameter arg2 in androidx.core.util.Pair.create(A arg1, B arg2)
-InvalidNullConversion: androidx.core.util.Pair#first:
-    Attempted to remove @Nullable annotation from field androidx.core.util.Pair.first
-InvalidNullConversion: androidx.core.util.Pair#second:
-    Attempted to remove @Nullable annotation from field androidx.core.util.Pair.second
diff --git a/cursoradapter/cursoradapter/api/api_lint.ignore b/cursoradapter/cursoradapter/api/api_lint.ignore
index b0ea08d..758537d 100644
--- a/cursoradapter/cursoradapter/api/api_lint.ignore
+++ b/cursoradapter/cursoradapter/api/api_lint.ignore
@@ -5,10 +5,6 @@
     Context is distinct, so it must be the first argument (method `bindView`)
 
 
-MissingNullability: androidx.cursoradapter.widget.CursorAdapter#CursorAdapter(android.content.Context, android.database.Cursor) parameter #0:
-    Missing nullability on parameter `context` in method `CursorAdapter`
-MissingNullability: androidx.cursoradapter.widget.CursorAdapter#CursorAdapter(android.content.Context, android.database.Cursor) parameter #1:
-    Missing nullability on parameter `c` in method `CursorAdapter`
 MissingNullability: androidx.cursoradapter.widget.CursorAdapter#CursorAdapter(android.content.Context, android.database.Cursor, boolean) parameter #0:
     Missing nullability on parameter `context` in method `CursorAdapter`
 MissingNullability: androidx.cursoradapter.widget.CursorAdapter#CursorAdapter(android.content.Context, android.database.Cursor, boolean) parameter #1:
@@ -49,10 +45,6 @@
     Missing nullability on parameter `convertView` in method `getView`
 MissingNullability: androidx.cursoradapter.widget.CursorAdapter#getView(int, android.view.View, android.view.ViewGroup) parameter #2:
     Missing nullability on parameter `parent` in method `getView`
-MissingNullability: androidx.cursoradapter.widget.CursorAdapter#init(android.content.Context, android.database.Cursor, boolean) parameter #0:
-    Missing nullability on parameter `context` in method `init`
-MissingNullability: androidx.cursoradapter.widget.CursorAdapter#init(android.content.Context, android.database.Cursor, boolean) parameter #1:
-    Missing nullability on parameter `c` in method `init`
 MissingNullability: androidx.cursoradapter.widget.CursorAdapter#newDropDownView(android.content.Context, android.database.Cursor, android.view.ViewGroup):
     Missing nullability on method `newDropDownView` return
 MissingNullability: androidx.cursoradapter.widget.CursorAdapter#newDropDownView(android.content.Context, android.database.Cursor, android.view.ViewGroup) parameter #0:
@@ -79,14 +71,6 @@
     Missing nullability on method `swapCursor` return
 MissingNullability: androidx.cursoradapter.widget.CursorAdapter#swapCursor(android.database.Cursor) parameter #0:
     Missing nullability on parameter `newCursor` in method `swapCursor`
-MissingNullability: androidx.cursoradapter.widget.ResourceCursorAdapter#ResourceCursorAdapter(android.content.Context, int, android.database.Cursor) parameter #0:
-    Missing nullability on parameter `context` in method `ResourceCursorAdapter`
-MissingNullability: androidx.cursoradapter.widget.ResourceCursorAdapter#ResourceCursorAdapter(android.content.Context, int, android.database.Cursor) parameter #2:
-    Missing nullability on parameter `c` in method `ResourceCursorAdapter`
-MissingNullability: androidx.cursoradapter.widget.ResourceCursorAdapter#ResourceCursorAdapter(android.content.Context, int, android.database.Cursor, boolean) parameter #0:
-    Missing nullability on parameter `context` in method `ResourceCursorAdapter`
-MissingNullability: androidx.cursoradapter.widget.ResourceCursorAdapter#ResourceCursorAdapter(android.content.Context, int, android.database.Cursor, boolean) parameter #2:
-    Missing nullability on parameter `c` in method `ResourceCursorAdapter`
 MissingNullability: androidx.cursoradapter.widget.ResourceCursorAdapter#ResourceCursorAdapter(android.content.Context, int, android.database.Cursor, int) parameter #0:
     Missing nullability on parameter `context` in method `ResourceCursorAdapter`
 MissingNullability: androidx.cursoradapter.widget.ResourceCursorAdapter#ResourceCursorAdapter(android.content.Context, int, android.database.Cursor, int) parameter #2:
@@ -107,14 +91,6 @@
     Missing nullability on parameter `cursor` in method `newView`
 MissingNullability: androidx.cursoradapter.widget.ResourceCursorAdapter#newView(android.content.Context, android.database.Cursor, android.view.ViewGroup) parameter #2:
     Missing nullability on parameter `parent` in method `newView`
-MissingNullability: androidx.cursoradapter.widget.SimpleCursorAdapter#SimpleCursorAdapter(android.content.Context, int, android.database.Cursor, String[], int[]) parameter #0:
-    Missing nullability on parameter `context` in method `SimpleCursorAdapter`
-MissingNullability: androidx.cursoradapter.widget.SimpleCursorAdapter#SimpleCursorAdapter(android.content.Context, int, android.database.Cursor, String[], int[]) parameter #2:
-    Missing nullability on parameter `c` in method `SimpleCursorAdapter`
-MissingNullability: androidx.cursoradapter.widget.SimpleCursorAdapter#SimpleCursorAdapter(android.content.Context, int, android.database.Cursor, String[], int[]) parameter #3:
-    Missing nullability on parameter `from` in method `SimpleCursorAdapter`
-MissingNullability: androidx.cursoradapter.widget.SimpleCursorAdapter#SimpleCursorAdapter(android.content.Context, int, android.database.Cursor, String[], int[]) parameter #4:
-    Missing nullability on parameter `to` in method `SimpleCursorAdapter`
 MissingNullability: androidx.cursoradapter.widget.SimpleCursorAdapter#SimpleCursorAdapter(android.content.Context, int, android.database.Cursor, String[], int[], int) parameter #0:
     Missing nullability on parameter `context` in method `SimpleCursorAdapter`
 MissingNullability: androidx.cursoradapter.widget.SimpleCursorAdapter#SimpleCursorAdapter(android.content.Context, int, android.database.Cursor, String[], int[], int) parameter #2:
diff --git a/datastore/datastore-core/api/current.txt b/datastore/datastore-core/api/current.txt
index 0b1e88c..abfdd9c 100644
--- a/datastore/datastore-core/api/current.txt
+++ b/datastore/datastore-core/api/current.txt
@@ -2,7 +2,7 @@
 package androidx.datastore.core {
 
   public final class CorruptionException extends java.io.IOException {
-    ctor public CorruptionException(String message, Throwable? cause);
+    ctor public CorruptionException(String message, optional Throwable? cause);
   }
 
   public interface DataMigration<T> {
diff --git a/datastore/datastore-core/api/public_plus_experimental_current.txt b/datastore/datastore-core/api/public_plus_experimental_current.txt
index 0b1e88c..abfdd9c 100644
--- a/datastore/datastore-core/api/public_plus_experimental_current.txt
+++ b/datastore/datastore-core/api/public_plus_experimental_current.txt
@@ -2,7 +2,7 @@
 package androidx.datastore.core {
 
   public final class CorruptionException extends java.io.IOException {
-    ctor public CorruptionException(String message, Throwable? cause);
+    ctor public CorruptionException(String message, optional Throwable? cause);
   }
 
   public interface DataMigration<T> {
diff --git a/datastore/datastore-core/api/restricted_current.txt b/datastore/datastore-core/api/restricted_current.txt
index 0b1e88c..abfdd9c 100644
--- a/datastore/datastore-core/api/restricted_current.txt
+++ b/datastore/datastore-core/api/restricted_current.txt
@@ -2,7 +2,7 @@
 package androidx.datastore.core {
 
   public final class CorruptionException extends java.io.IOException {
-    ctor public CorruptionException(String message, Throwable? cause);
+    ctor public CorruptionException(String message, optional Throwable? cause);
   }
 
   public interface DataMigration<T> {
diff --git a/datastore/datastore/api/api_lint.ignore b/datastore/datastore/api/api_lint.ignore
index f65d316..18fc7f7 100644
--- a/datastore/datastore/api/api_lint.ignore
+++ b/datastore/datastore/api/api_lint.ignore
@@ -3,3 +3,7 @@
     A Kotlin method with default parameter values should be annotated with @JvmOverloads for better Java interoperability; see https://android.github.io/kotlin-guides/interop.html#function-overloads-for-defaults
 MissingJvmstatic: androidx.datastore.migrations.SharedPreferencesView#getStringSet(String, java.util.Set<java.lang.String>):
     A Kotlin method with default parameter values should be annotated with @JvmOverloads for better Java interoperability; see https://android.github.io/kotlin-guides/interop.html#function-overloads-for-defaults
+
+
+NullableCollection: androidx.datastore.migrations.SharedPreferencesView#getStringSet(String, java.util.Set<java.lang.String>):
+    Return type of method androidx.datastore.migrations.SharedPreferencesView.getStringSet(String,java.util.Set<java.lang.String>) is a nullable collection (`java.util.Set`); must be non-null
diff --git a/datastore/datastore/api/current.txt b/datastore/datastore/api/current.txt
index 4a1f228..21497c8 100644
--- a/datastore/datastore/api/current.txt
+++ b/datastore/datastore/api/current.txt
@@ -13,11 +13,11 @@
 package androidx.datastore.migrations {
 
   public final class SharedPreferencesMigration<T> implements androidx.datastore.core.DataMigration<T> {
-    ctor public SharedPreferencesMigration(kotlin.jvm.functions.Function0<? extends android.content.SharedPreferences> produceSharedPreferences, java.util.Set<java.lang.String> keysToMigrate, kotlin.jvm.functions.Function2<? super T,? super kotlin.coroutines.Continuation<? super java.lang.Boolean>,?> shouldRunMigration, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
-    ctor public SharedPreferencesMigration(kotlin.jvm.functions.Function0<? extends android.content.SharedPreferences> produceSharedPreferences, java.util.Set<java.lang.String> keysToMigrate, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
+    ctor public SharedPreferencesMigration(kotlin.jvm.functions.Function0<? extends android.content.SharedPreferences> produceSharedPreferences, optional java.util.Set<java.lang.String> keysToMigrate, optional kotlin.jvm.functions.Function2<? super T,? super kotlin.coroutines.Continuation<? super java.lang.Boolean>,?> shouldRunMigration, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
+    ctor public SharedPreferencesMigration(kotlin.jvm.functions.Function0<? extends android.content.SharedPreferences> produceSharedPreferences, optional java.util.Set<java.lang.String> keysToMigrate, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
     ctor public SharedPreferencesMigration(kotlin.jvm.functions.Function0<? extends android.content.SharedPreferences> produceSharedPreferences, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
-    ctor public SharedPreferencesMigration(android.content.Context context, String sharedPreferencesName, java.util.Set<java.lang.String> keysToMigrate, kotlin.jvm.functions.Function2<? super T,? super kotlin.coroutines.Continuation<? super java.lang.Boolean>,?> shouldRunMigration, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
-    ctor public SharedPreferencesMigration(android.content.Context context, String sharedPreferencesName, java.util.Set<java.lang.String> keysToMigrate, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
+    ctor public SharedPreferencesMigration(android.content.Context context, String sharedPreferencesName, optional java.util.Set<java.lang.String> keysToMigrate, optional kotlin.jvm.functions.Function2<? super T,? super kotlin.coroutines.Continuation<? super java.lang.Boolean>,?> shouldRunMigration, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
+    ctor public SharedPreferencesMigration(android.content.Context context, String sharedPreferencesName, optional java.util.Set<java.lang.String> keysToMigrate, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
     ctor public SharedPreferencesMigration(android.content.Context context, String sharedPreferencesName, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
     method @kotlin.jvm.Throws(exceptionClasses=IOException::class) public suspend Object? cleanUp(kotlin.coroutines.Continuation<? super kotlin.Unit> p) throws java.io.IOException;
     method public suspend Object? migrate(T? currentData, kotlin.coroutines.Continuation<? super T> p);
diff --git a/datastore/datastore/api/public_plus_experimental_current.txt b/datastore/datastore/api/public_plus_experimental_current.txt
index 4a1f228..21497c8 100644
--- a/datastore/datastore/api/public_plus_experimental_current.txt
+++ b/datastore/datastore/api/public_plus_experimental_current.txt
@@ -13,11 +13,11 @@
 package androidx.datastore.migrations {
 
   public final class SharedPreferencesMigration<T> implements androidx.datastore.core.DataMigration<T> {
-    ctor public SharedPreferencesMigration(kotlin.jvm.functions.Function0<? extends android.content.SharedPreferences> produceSharedPreferences, java.util.Set<java.lang.String> keysToMigrate, kotlin.jvm.functions.Function2<? super T,? super kotlin.coroutines.Continuation<? super java.lang.Boolean>,?> shouldRunMigration, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
-    ctor public SharedPreferencesMigration(kotlin.jvm.functions.Function0<? extends android.content.SharedPreferences> produceSharedPreferences, java.util.Set<java.lang.String> keysToMigrate, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
+    ctor public SharedPreferencesMigration(kotlin.jvm.functions.Function0<? extends android.content.SharedPreferences> produceSharedPreferences, optional java.util.Set<java.lang.String> keysToMigrate, optional kotlin.jvm.functions.Function2<? super T,? super kotlin.coroutines.Continuation<? super java.lang.Boolean>,?> shouldRunMigration, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
+    ctor public SharedPreferencesMigration(kotlin.jvm.functions.Function0<? extends android.content.SharedPreferences> produceSharedPreferences, optional java.util.Set<java.lang.String> keysToMigrate, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
     ctor public SharedPreferencesMigration(kotlin.jvm.functions.Function0<? extends android.content.SharedPreferences> produceSharedPreferences, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
-    ctor public SharedPreferencesMigration(android.content.Context context, String sharedPreferencesName, java.util.Set<java.lang.String> keysToMigrate, kotlin.jvm.functions.Function2<? super T,? super kotlin.coroutines.Continuation<? super java.lang.Boolean>,?> shouldRunMigration, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
-    ctor public SharedPreferencesMigration(android.content.Context context, String sharedPreferencesName, java.util.Set<java.lang.String> keysToMigrate, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
+    ctor public SharedPreferencesMigration(android.content.Context context, String sharedPreferencesName, optional java.util.Set<java.lang.String> keysToMigrate, optional kotlin.jvm.functions.Function2<? super T,? super kotlin.coroutines.Continuation<? super java.lang.Boolean>,?> shouldRunMigration, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
+    ctor public SharedPreferencesMigration(android.content.Context context, String sharedPreferencesName, optional java.util.Set<java.lang.String> keysToMigrate, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
     ctor public SharedPreferencesMigration(android.content.Context context, String sharedPreferencesName, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
     method @kotlin.jvm.Throws(exceptionClasses=IOException::class) public suspend Object? cleanUp(kotlin.coroutines.Continuation<? super kotlin.Unit> p) throws java.io.IOException;
     method public suspend Object? migrate(T? currentData, kotlin.coroutines.Continuation<? super T> p);
diff --git a/datastore/datastore/api/restricted_current.txt b/datastore/datastore/api/restricted_current.txt
index 4a1f228..21497c8 100644
--- a/datastore/datastore/api/restricted_current.txt
+++ b/datastore/datastore/api/restricted_current.txt
@@ -13,11 +13,11 @@
 package androidx.datastore.migrations {
 
   public final class SharedPreferencesMigration<T> implements androidx.datastore.core.DataMigration<T> {
-    ctor public SharedPreferencesMigration(kotlin.jvm.functions.Function0<? extends android.content.SharedPreferences> produceSharedPreferences, java.util.Set<java.lang.String> keysToMigrate, kotlin.jvm.functions.Function2<? super T,? super kotlin.coroutines.Continuation<? super java.lang.Boolean>,?> shouldRunMigration, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
-    ctor public SharedPreferencesMigration(kotlin.jvm.functions.Function0<? extends android.content.SharedPreferences> produceSharedPreferences, java.util.Set<java.lang.String> keysToMigrate, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
+    ctor public SharedPreferencesMigration(kotlin.jvm.functions.Function0<? extends android.content.SharedPreferences> produceSharedPreferences, optional java.util.Set<java.lang.String> keysToMigrate, optional kotlin.jvm.functions.Function2<? super T,? super kotlin.coroutines.Continuation<? super java.lang.Boolean>,?> shouldRunMigration, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
+    ctor public SharedPreferencesMigration(kotlin.jvm.functions.Function0<? extends android.content.SharedPreferences> produceSharedPreferences, optional java.util.Set<java.lang.String> keysToMigrate, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
     ctor public SharedPreferencesMigration(kotlin.jvm.functions.Function0<? extends android.content.SharedPreferences> produceSharedPreferences, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
-    ctor public SharedPreferencesMigration(android.content.Context context, String sharedPreferencesName, java.util.Set<java.lang.String> keysToMigrate, kotlin.jvm.functions.Function2<? super T,? super kotlin.coroutines.Continuation<? super java.lang.Boolean>,?> shouldRunMigration, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
-    ctor public SharedPreferencesMigration(android.content.Context context, String sharedPreferencesName, java.util.Set<java.lang.String> keysToMigrate, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
+    ctor public SharedPreferencesMigration(android.content.Context context, String sharedPreferencesName, optional java.util.Set<java.lang.String> keysToMigrate, optional kotlin.jvm.functions.Function2<? super T,? super kotlin.coroutines.Continuation<? super java.lang.Boolean>,?> shouldRunMigration, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
+    ctor public SharedPreferencesMigration(android.content.Context context, String sharedPreferencesName, optional java.util.Set<java.lang.String> keysToMigrate, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
     ctor public SharedPreferencesMigration(android.content.Context context, String sharedPreferencesName, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
     method @kotlin.jvm.Throws(exceptionClasses=IOException::class) public suspend Object? cleanUp(kotlin.coroutines.Continuation<? super kotlin.Unit> p) throws java.io.IOException;
     method public suspend Object? migrate(T? currentData, kotlin.coroutines.Continuation<? super T> p);
diff --git a/drawerlayout/drawerlayout/api/api_lint.ignore b/drawerlayout/drawerlayout/api/api_lint.ignore
index 002b6b2..d9d6b75 100644
--- a/drawerlayout/drawerlayout/api/api_lint.ignore
+++ b/drawerlayout/drawerlayout/api/api_lint.ignore
@@ -45,8 +45,6 @@
     Missing nullability on method `onSaveInstanceState` return
 MissingNullability: androidx.drawerlayout.widget.DrawerLayout#onTouchEvent(android.view.MotionEvent) parameter #0:
     Missing nullability on parameter `ev` in method `onTouchEvent`
-MissingNullability: androidx.drawerlayout.widget.DrawerLayout#setDrawerListener(androidx.drawerlayout.widget.DrawerLayout.DrawerListener) parameter #0:
-    Missing nullability on parameter `listener` in method `setDrawerListener`
 MissingNullability: androidx.drawerlayout.widget.DrawerLayout#setDrawerShadow(android.graphics.drawable.Drawable, int) parameter #0:
     Missing nullability on parameter `shadowDrawable` in method `setDrawerShadow`
 MissingNullability: androidx.drawerlayout.widget.DrawerLayout.SavedState#CREATOR:
diff --git a/exifinterface/exifinterface/api/api_lint.ignore b/exifinterface/exifinterface/api/api_lint.ignore
index d22dffd..cbb1edd 100644
--- a/exifinterface/exifinterface/api/api_lint.ignore
+++ b/exifinterface/exifinterface/api/api_lint.ignore
@@ -5,8 +5,6 @@
     Missing nullability on field `BITS_PER_SAMPLE_GREYSCALE_2` in class `class androidx.exifinterface.media.ExifInterface`
 MissingNullability: androidx.exifinterface.media.ExifInterface#BITS_PER_SAMPLE_RGB:
     Missing nullability on field `BITS_PER_SAMPLE_RGB` in class `class androidx.exifinterface.media.ExifInterface`
-MissingNullability: androidx.exifinterface.media.ExifInterface#getLatLong(float[]) parameter #0:
-    Missing nullability on parameter `output` in method `getLatLong`
 MissingNullability: androidx.exifinterface.media.ExifInterface#setGpsInfo(android.location.Location) parameter #0:
     Missing nullability on parameter `location` in method `setGpsInfo`
 
diff --git a/fragment/fragment-testing/api/current.ignore b/fragment/fragment-testing/api/current.ignore
deleted file mode 100644
index aff4f36..0000000
--- a/fragment/fragment-testing/api/current.ignore
+++ /dev/null
@@ -1,27 +0,0 @@
-// Baseline format: 1.0
-ChangedType: androidx.fragment.app.testing.FragmentScenario#launch(Class<F>):
-    Method androidx.fragment.app.testing.FragmentScenario.launch has changed return type from androidx.fragment.app.testing.FragmentScenario<F!> to androidx.fragment.app.testing.FragmentScenario<F>
-ChangedType: androidx.fragment.app.testing.FragmentScenario#launch(Class<F>, android.os.Bundle):
-    Method androidx.fragment.app.testing.FragmentScenario.launch has changed return type from androidx.fragment.app.testing.FragmentScenario<F!> to androidx.fragment.app.testing.FragmentScenario<F>
-ChangedType: androidx.fragment.app.testing.FragmentScenario#launch(Class<F>, android.os.Bundle, androidx.fragment.app.FragmentFactory):
-    Method androidx.fragment.app.testing.FragmentScenario.launch has changed return type from androidx.fragment.app.testing.FragmentScenario<F!> to androidx.fragment.app.testing.FragmentScenario<F>
-ChangedType: androidx.fragment.app.testing.FragmentScenario#launch(Class<F>, android.os.Bundle, int, androidx.fragment.app.FragmentFactory):
-    Method androidx.fragment.app.testing.FragmentScenario.launch has changed return type from androidx.fragment.app.testing.FragmentScenario<F!> to androidx.fragment.app.testing.FragmentScenario<F>
-ChangedType: androidx.fragment.app.testing.FragmentScenario#launch(Class<F>, android.os.Bundle, int, androidx.lifecycle.Lifecycle.State, androidx.fragment.app.FragmentFactory):
-    Method androidx.fragment.app.testing.FragmentScenario.launch has changed return type from androidx.fragment.app.testing.FragmentScenario<F!> to androidx.fragment.app.testing.FragmentScenario<F>
-ChangedType: androidx.fragment.app.testing.FragmentScenario#launchInContainer(Class<F>):
-    Method androidx.fragment.app.testing.FragmentScenario.launchInContainer has changed return type from androidx.fragment.app.testing.FragmentScenario<F!> to androidx.fragment.app.testing.FragmentScenario<F>
-ChangedType: androidx.fragment.app.testing.FragmentScenario#launchInContainer(Class<F>, android.os.Bundle):
-    Method androidx.fragment.app.testing.FragmentScenario.launchInContainer has changed return type from androidx.fragment.app.testing.FragmentScenario<F!> to androidx.fragment.app.testing.FragmentScenario<F>
-ChangedType: androidx.fragment.app.testing.FragmentScenario#launchInContainer(Class<F>, android.os.Bundle, androidx.fragment.app.FragmentFactory):
-    Method androidx.fragment.app.testing.FragmentScenario.launchInContainer has changed return type from androidx.fragment.app.testing.FragmentScenario<F!> to androidx.fragment.app.testing.FragmentScenario<F>
-ChangedType: androidx.fragment.app.testing.FragmentScenario#launchInContainer(Class<F>, android.os.Bundle, int, androidx.fragment.app.FragmentFactory):
-    Method androidx.fragment.app.testing.FragmentScenario.launchInContainer has changed return type from androidx.fragment.app.testing.FragmentScenario<F!> to androidx.fragment.app.testing.FragmentScenario<F>
-ChangedType: androidx.fragment.app.testing.FragmentScenario#launchInContainer(Class<F>, android.os.Bundle, int, androidx.lifecycle.Lifecycle.State, androidx.fragment.app.FragmentFactory):
-    Method androidx.fragment.app.testing.FragmentScenario.launchInContainer has changed return type from androidx.fragment.app.testing.FragmentScenario<F!> to androidx.fragment.app.testing.FragmentScenario<F>
-ChangedType: androidx.fragment.app.testing.FragmentScenario#moveToState(androidx.lifecycle.Lifecycle.State):
-    Method androidx.fragment.app.testing.FragmentScenario.moveToState has changed return type from androidx.fragment.app.testing.FragmentScenario<F!> to androidx.fragment.app.testing.FragmentScenario<F>
-ChangedType: androidx.fragment.app.testing.FragmentScenario#onFragment(androidx.fragment.app.testing.FragmentScenario.FragmentAction<F>):
-    Method androidx.fragment.app.testing.FragmentScenario.onFragment has changed return type from androidx.fragment.app.testing.FragmentScenario<F!> to androidx.fragment.app.testing.FragmentScenario<F>
-ChangedType: androidx.fragment.app.testing.FragmentScenario#recreate():
-    Method androidx.fragment.app.testing.FragmentScenario.recreate has changed return type from androidx.fragment.app.testing.FragmentScenario<F!> to androidx.fragment.app.testing.FragmentScenario<F>
diff --git a/fragment/fragment-testing/api/restricted_current.ignore b/fragment/fragment-testing/api/restricted_current.ignore
deleted file mode 100644
index aff4f36..0000000
--- a/fragment/fragment-testing/api/restricted_current.ignore
+++ /dev/null
@@ -1,27 +0,0 @@
-// Baseline format: 1.0
-ChangedType: androidx.fragment.app.testing.FragmentScenario#launch(Class<F>):
-    Method androidx.fragment.app.testing.FragmentScenario.launch has changed return type from androidx.fragment.app.testing.FragmentScenario<F!> to androidx.fragment.app.testing.FragmentScenario<F>
-ChangedType: androidx.fragment.app.testing.FragmentScenario#launch(Class<F>, android.os.Bundle):
-    Method androidx.fragment.app.testing.FragmentScenario.launch has changed return type from androidx.fragment.app.testing.FragmentScenario<F!> to androidx.fragment.app.testing.FragmentScenario<F>
-ChangedType: androidx.fragment.app.testing.FragmentScenario#launch(Class<F>, android.os.Bundle, androidx.fragment.app.FragmentFactory):
-    Method androidx.fragment.app.testing.FragmentScenario.launch has changed return type from androidx.fragment.app.testing.FragmentScenario<F!> to androidx.fragment.app.testing.FragmentScenario<F>
-ChangedType: androidx.fragment.app.testing.FragmentScenario#launch(Class<F>, android.os.Bundle, int, androidx.fragment.app.FragmentFactory):
-    Method androidx.fragment.app.testing.FragmentScenario.launch has changed return type from androidx.fragment.app.testing.FragmentScenario<F!> to androidx.fragment.app.testing.FragmentScenario<F>
-ChangedType: androidx.fragment.app.testing.FragmentScenario#launch(Class<F>, android.os.Bundle, int, androidx.lifecycle.Lifecycle.State, androidx.fragment.app.FragmentFactory):
-    Method androidx.fragment.app.testing.FragmentScenario.launch has changed return type from androidx.fragment.app.testing.FragmentScenario<F!> to androidx.fragment.app.testing.FragmentScenario<F>
-ChangedType: androidx.fragment.app.testing.FragmentScenario#launchInContainer(Class<F>):
-    Method androidx.fragment.app.testing.FragmentScenario.launchInContainer has changed return type from androidx.fragment.app.testing.FragmentScenario<F!> to androidx.fragment.app.testing.FragmentScenario<F>
-ChangedType: androidx.fragment.app.testing.FragmentScenario#launchInContainer(Class<F>, android.os.Bundle):
-    Method androidx.fragment.app.testing.FragmentScenario.launchInContainer has changed return type from androidx.fragment.app.testing.FragmentScenario<F!> to androidx.fragment.app.testing.FragmentScenario<F>
-ChangedType: androidx.fragment.app.testing.FragmentScenario#launchInContainer(Class<F>, android.os.Bundle, androidx.fragment.app.FragmentFactory):
-    Method androidx.fragment.app.testing.FragmentScenario.launchInContainer has changed return type from androidx.fragment.app.testing.FragmentScenario<F!> to androidx.fragment.app.testing.FragmentScenario<F>
-ChangedType: androidx.fragment.app.testing.FragmentScenario#launchInContainer(Class<F>, android.os.Bundle, int, androidx.fragment.app.FragmentFactory):
-    Method androidx.fragment.app.testing.FragmentScenario.launchInContainer has changed return type from androidx.fragment.app.testing.FragmentScenario<F!> to androidx.fragment.app.testing.FragmentScenario<F>
-ChangedType: androidx.fragment.app.testing.FragmentScenario#launchInContainer(Class<F>, android.os.Bundle, int, androidx.lifecycle.Lifecycle.State, androidx.fragment.app.FragmentFactory):
-    Method androidx.fragment.app.testing.FragmentScenario.launchInContainer has changed return type from androidx.fragment.app.testing.FragmentScenario<F!> to androidx.fragment.app.testing.FragmentScenario<F>
-ChangedType: androidx.fragment.app.testing.FragmentScenario#moveToState(androidx.lifecycle.Lifecycle.State):
-    Method androidx.fragment.app.testing.FragmentScenario.moveToState has changed return type from androidx.fragment.app.testing.FragmentScenario<F!> to androidx.fragment.app.testing.FragmentScenario<F>
-ChangedType: androidx.fragment.app.testing.FragmentScenario#onFragment(androidx.fragment.app.testing.FragmentScenario.FragmentAction<F>):
-    Method androidx.fragment.app.testing.FragmentScenario.onFragment has changed return type from androidx.fragment.app.testing.FragmentScenario<F!> to androidx.fragment.app.testing.FragmentScenario<F>
-ChangedType: androidx.fragment.app.testing.FragmentScenario#recreate():
-    Method androidx.fragment.app.testing.FragmentScenario.recreate has changed return type from androidx.fragment.app.testing.FragmentScenario<F!> to androidx.fragment.app.testing.FragmentScenario<F>
diff --git a/fragment/fragment/api/api_lint.ignore b/fragment/fragment/api/api_lint.ignore
index b67ac72..e3c754d 100644
--- a/fragment/fragment/api/api_lint.ignore
+++ b/fragment/fragment/api/api_lint.ignore
@@ -27,32 +27,26 @@
     Missing nullability on parameter `intent` in method `startActivity`
 MissingNullability: androidx.fragment.app.Fragment#startActivity(android.content.Intent, android.os.Bundle) parameter #0:
     Missing nullability on parameter `intent` in method `startActivity`
-MissingNullability: androidx.fragment.app.Fragment#startActivityForResult(android.content.Intent, int) parameter #0:
-    Missing nullability on parameter `intent` in method `startActivityForResult`
-MissingNullability: androidx.fragment.app.Fragment#startActivityForResult(android.content.Intent, int, android.os.Bundle) parameter #0:
-    Missing nullability on parameter `intent` in method `startActivityForResult`
-MissingNullability: androidx.fragment.app.Fragment#startIntentSenderForResult(android.content.IntentSender, int, android.content.Intent, int, int, int, android.os.Bundle) parameter #0:
-    Missing nullability on parameter `intent` in method `startIntentSenderForResult`
 MissingNullability: androidx.fragment.app.FragmentActivity#onNewIntent(android.content.Intent) parameter #0:
     Missing nullability on parameter `intent` in method `onNewIntent`
 MissingNullability: androidx.fragment.app.FragmentActivity#startActivityFromFragment(androidx.fragment.app.Fragment, android.content.Intent, int) parameter #1:
     Missing nullability on parameter `intent` in method `startActivityFromFragment`
 MissingNullability: androidx.fragment.app.FragmentActivity#startActivityFromFragment(androidx.fragment.app.Fragment, android.content.Intent, int, android.os.Bundle) parameter #1:
     Missing nullability on parameter `intent` in method `startActivityFromFragment`
-MissingNullability: androidx.fragment.app.FragmentActivity#startIntentSenderFromFragment(androidx.fragment.app.Fragment, android.content.IntentSender, int, android.content.Intent, int, int, int, android.os.Bundle) parameter #1:
-    Missing nullability on parameter `intent` in method `startIntentSenderFromFragment`
 MissingNullability: androidx.fragment.app.FragmentController#getActiveFragments(java.util.List<androidx.fragment.app.Fragment>) parameter #0:
     Missing nullability on parameter `actives` in method `getActiveFragments`
-MissingNullability: androidx.fragment.app.FragmentController#restoreLoaderNonConfig(androidx.collection.SimpleArrayMap<java.lang.String,androidx.loader.app.LoaderManager>) parameter #0:
-    Missing nullability on parameter `loaderManagers` in method `restoreLoaderNonConfig`
 MissingNullability: androidx.fragment.app.FragmentHostCallback#onStartActivityFromFragment(androidx.fragment.app.Fragment, android.content.Intent, int) parameter #1:
     Missing nullability on parameter `intent` in method `onStartActivityFromFragment`
 MissingNullability: androidx.fragment.app.FragmentHostCallback#onStartActivityFromFragment(androidx.fragment.app.Fragment, android.content.Intent, int, android.os.Bundle) parameter #1:
     Missing nullability on parameter `intent` in method `onStartActivityFromFragment`
-MissingNullability: androidx.fragment.app.FragmentHostCallback#onStartIntentSenderFromFragment(androidx.fragment.app.Fragment, android.content.IntentSender, int, android.content.Intent, int, int, int, android.os.Bundle) parameter #1:
-    Missing nullability on parameter `intent` in method `onStartIntentSenderFromFragment`
-MissingNullability: androidx.fragment.app.FragmentTabHost#onRestoreInstanceState(android.os.Parcelable) parameter #0:
-    Missing nullability on parameter `state` in method `onRestoreInstanceState`
+
+
+NullableCollection: androidx.fragment.app.Fragment#getArguments():
+    Return type of method androidx.fragment.app.Fragment.getArguments() is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.fragment.app.FragmentHostCallback#onDump(String, java.io.FileDescriptor, java.io.PrintWriter, String[]) parameter #3:
+    Type of parameter args in androidx.fragment.app.FragmentHostCallback.onDump(String prefix, java.io.FileDescriptor fd, java.io.PrintWriter writer, String[] args) is a nullable collection (`java.lang.String[]`); must be non-null
+NullableCollection: androidx.fragment.app.FragmentHostCallback#onStartActivityFromFragment(androidx.fragment.app.Fragment, android.content.Intent, int, android.os.Bundle) parameter #3:
+    Type of parameter options in androidx.fragment.app.FragmentHostCallback.onStartActivityFromFragment(androidx.fragment.app.Fragment fragment, android.content.Intent intent, int requestCode, android.os.Bundle options) is a nullable collection (`android.os.Bundle`); must be non-null
 
 
 ParcelNotFinal: androidx.fragment.app.Fragment.SavedState:
@@ -67,8 +61,6 @@
     Must use ParcelFileDescriptor instead of FileDescriptor in parameter fd in androidx.fragment.app.Fragment.dump(String prefix, java.io.FileDescriptor fd, java.io.PrintWriter writer, String[] args)
 UseParcelFileDescriptor: androidx.fragment.app.FragmentActivity#dump(String, java.io.FileDescriptor, java.io.PrintWriter, String[]) parameter #1:
     Must use ParcelFileDescriptor instead of FileDescriptor in parameter fd in androidx.fragment.app.FragmentActivity.dump(String prefix, java.io.FileDescriptor fd, java.io.PrintWriter writer, String[] args)
-UseParcelFileDescriptor: androidx.fragment.app.FragmentController#dumpLoaders(String, java.io.FileDescriptor, java.io.PrintWriter, String[]) parameter #1:
-    Must use ParcelFileDescriptor instead of FileDescriptor in parameter fd in androidx.fragment.app.FragmentController.dumpLoaders(String prefix, java.io.FileDescriptor fd, java.io.PrintWriter writer, String[] args)
 UseParcelFileDescriptor: androidx.fragment.app.FragmentHostCallback#onDump(String, java.io.FileDescriptor, java.io.PrintWriter, String[]) parameter #1:
     Must use ParcelFileDescriptor instead of FileDescriptor in parameter fd in androidx.fragment.app.FragmentHostCallback.onDump(String prefix, java.io.FileDescriptor fd, java.io.PrintWriter writer, String[] args)
 UseParcelFileDescriptor: androidx.fragment.app.FragmentManager#dump(String, java.io.FileDescriptor, java.io.PrintWriter, String[]) parameter #1:
diff --git a/leanback/leanback-paging/api/1.1.0-beta01.txt b/leanback/leanback-paging/api/1.1.0-beta01.txt
index 7ea1929..7cdea77 100644
--- a/leanback/leanback-paging/api/1.1.0-beta01.txt
+++ b/leanback/leanback-paging/api/1.1.0-beta01.txt
@@ -2,14 +2,14 @@
 package androidx.leanback.paging {
 
   public final class PagingDataAdapter<T> extends androidx.leanback.widget.ObjectAdapter {
-    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
+    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher, optional kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
+    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
     ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback);
-    ctor public PagingDataAdapter(androidx.leanback.widget.Presenter presenter, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    ctor public PagingDataAdapter(androidx.leanback.widget.Presenter presenter, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
+    ctor public PagingDataAdapter(androidx.leanback.widget.Presenter presenter, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher, optional kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
+    ctor public PagingDataAdapter(androidx.leanback.widget.Presenter presenter, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
     ctor public PagingDataAdapter(androidx.leanback.widget.Presenter presenter, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback);
-    ctor public PagingDataAdapter(androidx.leanback.widget.PresenterSelector presenterSelector, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    ctor public PagingDataAdapter(androidx.leanback.widget.PresenterSelector presenterSelector, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
+    ctor public PagingDataAdapter(androidx.leanback.widget.PresenterSelector presenterSelector, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher, optional kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
+    ctor public PagingDataAdapter(androidx.leanback.widget.PresenterSelector presenterSelector, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
     ctor public PagingDataAdapter(androidx.leanback.widget.PresenterSelector presenterSelector, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback);
     method public void addLoadStateListener(kotlin.jvm.functions.Function1<? super androidx.paging.CombinedLoadStates,kotlin.Unit> listener);
     method public T? get(int position);
diff --git a/leanback/leanback-paging/api/current.txt b/leanback/leanback-paging/api/current.txt
index 7ea1929..7cdea77 100644
--- a/leanback/leanback-paging/api/current.txt
+++ b/leanback/leanback-paging/api/current.txt
@@ -2,14 +2,14 @@
 package androidx.leanback.paging {
 
   public final class PagingDataAdapter<T> extends androidx.leanback.widget.ObjectAdapter {
-    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
+    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher, optional kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
+    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
     ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback);
-    ctor public PagingDataAdapter(androidx.leanback.widget.Presenter presenter, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    ctor public PagingDataAdapter(androidx.leanback.widget.Presenter presenter, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
+    ctor public PagingDataAdapter(androidx.leanback.widget.Presenter presenter, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher, optional kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
+    ctor public PagingDataAdapter(androidx.leanback.widget.Presenter presenter, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
     ctor public PagingDataAdapter(androidx.leanback.widget.Presenter presenter, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback);
-    ctor public PagingDataAdapter(androidx.leanback.widget.PresenterSelector presenterSelector, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    ctor public PagingDataAdapter(androidx.leanback.widget.PresenterSelector presenterSelector, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
+    ctor public PagingDataAdapter(androidx.leanback.widget.PresenterSelector presenterSelector, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher, optional kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
+    ctor public PagingDataAdapter(androidx.leanback.widget.PresenterSelector presenterSelector, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
     ctor public PagingDataAdapter(androidx.leanback.widget.PresenterSelector presenterSelector, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback);
     method public void addLoadStateListener(kotlin.jvm.functions.Function1<? super androidx.paging.CombinedLoadStates,kotlin.Unit> listener);
     method public T? get(int position);
diff --git a/leanback/leanback-paging/api/public_plus_experimental_1.1.0-beta01.txt b/leanback/leanback-paging/api/public_plus_experimental_1.1.0-beta01.txt
index 7ea1929..7cdea77 100644
--- a/leanback/leanback-paging/api/public_plus_experimental_1.1.0-beta01.txt
+++ b/leanback/leanback-paging/api/public_plus_experimental_1.1.0-beta01.txt
@@ -2,14 +2,14 @@
 package androidx.leanback.paging {
 
   public final class PagingDataAdapter<T> extends androidx.leanback.widget.ObjectAdapter {
-    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
+    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher, optional kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
+    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
     ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback);
-    ctor public PagingDataAdapter(androidx.leanback.widget.Presenter presenter, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    ctor public PagingDataAdapter(androidx.leanback.widget.Presenter presenter, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
+    ctor public PagingDataAdapter(androidx.leanback.widget.Presenter presenter, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher, optional kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
+    ctor public PagingDataAdapter(androidx.leanback.widget.Presenter presenter, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
     ctor public PagingDataAdapter(androidx.leanback.widget.Presenter presenter, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback);
-    ctor public PagingDataAdapter(androidx.leanback.widget.PresenterSelector presenterSelector, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    ctor public PagingDataAdapter(androidx.leanback.widget.PresenterSelector presenterSelector, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
+    ctor public PagingDataAdapter(androidx.leanback.widget.PresenterSelector presenterSelector, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher, optional kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
+    ctor public PagingDataAdapter(androidx.leanback.widget.PresenterSelector presenterSelector, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
     ctor public PagingDataAdapter(androidx.leanback.widget.PresenterSelector presenterSelector, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback);
     method public void addLoadStateListener(kotlin.jvm.functions.Function1<? super androidx.paging.CombinedLoadStates,kotlin.Unit> listener);
     method public T? get(int position);
diff --git a/leanback/leanback-paging/api/public_plus_experimental_current.txt b/leanback/leanback-paging/api/public_plus_experimental_current.txt
index 7ea1929..7cdea77 100644
--- a/leanback/leanback-paging/api/public_plus_experimental_current.txt
+++ b/leanback/leanback-paging/api/public_plus_experimental_current.txt
@@ -2,14 +2,14 @@
 package androidx.leanback.paging {
 
   public final class PagingDataAdapter<T> extends androidx.leanback.widget.ObjectAdapter {
-    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
+    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher, optional kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
+    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
     ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback);
-    ctor public PagingDataAdapter(androidx.leanback.widget.Presenter presenter, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    ctor public PagingDataAdapter(androidx.leanback.widget.Presenter presenter, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
+    ctor public PagingDataAdapter(androidx.leanback.widget.Presenter presenter, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher, optional kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
+    ctor public PagingDataAdapter(androidx.leanback.widget.Presenter presenter, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
     ctor public PagingDataAdapter(androidx.leanback.widget.Presenter presenter, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback);
-    ctor public PagingDataAdapter(androidx.leanback.widget.PresenterSelector presenterSelector, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    ctor public PagingDataAdapter(androidx.leanback.widget.PresenterSelector presenterSelector, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
+    ctor public PagingDataAdapter(androidx.leanback.widget.PresenterSelector presenterSelector, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher, optional kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
+    ctor public PagingDataAdapter(androidx.leanback.widget.PresenterSelector presenterSelector, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
     ctor public PagingDataAdapter(androidx.leanback.widget.PresenterSelector presenterSelector, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback);
     method public void addLoadStateListener(kotlin.jvm.functions.Function1<? super androidx.paging.CombinedLoadStates,kotlin.Unit> listener);
     method public T? get(int position);
diff --git a/leanback/leanback-paging/api/restricted_1.1.0-beta01.txt b/leanback/leanback-paging/api/restricted_1.1.0-beta01.txt
index 7ea1929..7cdea77 100644
--- a/leanback/leanback-paging/api/restricted_1.1.0-beta01.txt
+++ b/leanback/leanback-paging/api/restricted_1.1.0-beta01.txt
@@ -2,14 +2,14 @@
 package androidx.leanback.paging {
 
   public final class PagingDataAdapter<T> extends androidx.leanback.widget.ObjectAdapter {
-    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
+    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher, optional kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
+    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
     ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback);
-    ctor public PagingDataAdapter(androidx.leanback.widget.Presenter presenter, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    ctor public PagingDataAdapter(androidx.leanback.widget.Presenter presenter, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
+    ctor public PagingDataAdapter(androidx.leanback.widget.Presenter presenter, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher, optional kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
+    ctor public PagingDataAdapter(androidx.leanback.widget.Presenter presenter, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
     ctor public PagingDataAdapter(androidx.leanback.widget.Presenter presenter, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback);
-    ctor public PagingDataAdapter(androidx.leanback.widget.PresenterSelector presenterSelector, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    ctor public PagingDataAdapter(androidx.leanback.widget.PresenterSelector presenterSelector, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
+    ctor public PagingDataAdapter(androidx.leanback.widget.PresenterSelector presenterSelector, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher, optional kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
+    ctor public PagingDataAdapter(androidx.leanback.widget.PresenterSelector presenterSelector, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
     ctor public PagingDataAdapter(androidx.leanback.widget.PresenterSelector presenterSelector, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback);
     method public void addLoadStateListener(kotlin.jvm.functions.Function1<? super androidx.paging.CombinedLoadStates,kotlin.Unit> listener);
     method public T? get(int position);
diff --git a/leanback/leanback-paging/api/restricted_current.txt b/leanback/leanback-paging/api/restricted_current.txt
index 7ea1929..7cdea77 100644
--- a/leanback/leanback-paging/api/restricted_current.txt
+++ b/leanback/leanback-paging/api/restricted_current.txt
@@ -2,14 +2,14 @@
 package androidx.leanback.paging {
 
   public final class PagingDataAdapter<T> extends androidx.leanback.widget.ObjectAdapter {
-    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
+    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher, optional kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
+    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
     ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback);
-    ctor public PagingDataAdapter(androidx.leanback.widget.Presenter presenter, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    ctor public PagingDataAdapter(androidx.leanback.widget.Presenter presenter, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
+    ctor public PagingDataAdapter(androidx.leanback.widget.Presenter presenter, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher, optional kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
+    ctor public PagingDataAdapter(androidx.leanback.widget.Presenter presenter, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
     ctor public PagingDataAdapter(androidx.leanback.widget.Presenter presenter, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback);
-    ctor public PagingDataAdapter(androidx.leanback.widget.PresenterSelector presenterSelector, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    ctor public PagingDataAdapter(androidx.leanback.widget.PresenterSelector presenterSelector, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
+    ctor public PagingDataAdapter(androidx.leanback.widget.PresenterSelector presenterSelector, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher, optional kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
+    ctor public PagingDataAdapter(androidx.leanback.widget.PresenterSelector presenterSelector, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
     ctor public PagingDataAdapter(androidx.leanback.widget.PresenterSelector presenterSelector, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback);
     method public void addLoadStateListener(kotlin.jvm.functions.Function1<? super androidx.paging.CombinedLoadStates,kotlin.Unit> listener);
     method public T? get(int position);
diff --git a/leanback/leanback/api/api_lint.ignore b/leanback/leanback/api/api_lint.ignore
index 3cb37ff..c4a34f6 100644
--- a/leanback/leanback/api/api_lint.ignore
+++ b/leanback/leanback/api/api_lint.ignore
@@ -93,8 +93,6 @@
     Parameter type is concrete collection (`java.util.ArrayList`); must be higher-level interface
 
 
-ContextFirst: androidx.leanback.widget.GuidedAction.BuilderBase#iconResourceId(int, android.content.Context) parameter #1:
-    Context is distinct, so it must be the first argument (method `iconResourceId`)
 ContextFirst: androidx.leanback.widget.PlaybackControlsRow.ThumbsAction#ThumbsAction(int, android.content.Context, int, int) parameter #1:
     Context is distinct, so it must be the first argument (method `ThumbsAction`)
 
@@ -179,8 +177,6 @@
     Missing nullability on parameter `activity` in method `getInstance`
 MissingNullability: androidx.leanback.app.BackgroundManager#setBitmap(android.graphics.Bitmap) parameter #0:
     Missing nullability on parameter `bitmap` in method `setBitmap`
-MissingNullability: androidx.leanback.app.BackgroundManager#setDimLayer(android.graphics.drawable.Drawable) parameter #0:
-    Missing nullability on parameter `drawable` in method `setDimLayer`
 MissingNullability: androidx.leanback.app.BackgroundManager#setDrawable(android.graphics.drawable.Drawable) parameter #0:
     Missing nullability on parameter `drawable` in method `setDrawable`
 MissingNullability: androidx.leanback.app.BaseFragment#createEntranceTransition():
@@ -453,12 +449,6 @@
     Missing nullability on method `getParallax` return
 MissingNullability: androidx.leanback.app.DetailsFragment#getRowsFragment():
     Missing nullability on method `getRowsFragment` return
-MissingNullability: androidx.leanback.app.DetailsFragment#inflateTitle(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) parameter #0:
-    Missing nullability on parameter `inflater` in method `inflateTitle`
-MissingNullability: androidx.leanback.app.DetailsFragment#inflateTitle(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) parameter #1:
-    Missing nullability on parameter `parent` in method `inflateTitle`
-MissingNullability: androidx.leanback.app.DetailsFragment#inflateTitle(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) parameter #2:
-    Missing nullability on parameter `savedInstanceState` in method `inflateTitle`
 MissingNullability: androidx.leanback.app.DetailsFragment#onCreate(android.os.Bundle) parameter #0:
     Missing nullability on parameter `savedInstanceState` in method `onCreate`
 MissingNullability: androidx.leanback.app.DetailsFragment#onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle):
@@ -525,12 +515,6 @@
     Missing nullability on method `getParallax` return
 MissingNullability: androidx.leanback.app.DetailsSupportFragment#getRowsSupportFragment():
     Missing nullability on method `getRowsSupportFragment` return
-MissingNullability: androidx.leanback.app.DetailsSupportFragment#inflateTitle(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) parameter #0:
-    Missing nullability on parameter `inflater` in method `inflateTitle`
-MissingNullability: androidx.leanback.app.DetailsSupportFragment#inflateTitle(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) parameter #1:
-    Missing nullability on parameter `parent` in method `inflateTitle`
-MissingNullability: androidx.leanback.app.DetailsSupportFragment#inflateTitle(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) parameter #2:
-    Missing nullability on parameter `savedInstanceState` in method `inflateTitle`
 MissingNullability: androidx.leanback.app.DetailsSupportFragment#onCreate(android.os.Bundle) parameter #0:
     Missing nullability on parameter `savedInstanceState` in method `onCreate`
 MissingNullability: androidx.leanback.app.DetailsSupportFragment#onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle):
@@ -719,8 +703,6 @@
     Missing nullability on parameter `action` in method `onGuidedActionClicked`
 MissingNullability: androidx.leanback.app.GuidedStepFragment#onGuidedActionEditCanceled(androidx.leanback.widget.GuidedAction) parameter #0:
     Missing nullability on parameter `action` in method `onGuidedActionEditCanceled`
-MissingNullability: androidx.leanback.app.GuidedStepFragment#onGuidedActionEdited(androidx.leanback.widget.GuidedAction) parameter #0:
-    Missing nullability on parameter `action` in method `onGuidedActionEdited`
 MissingNullability: androidx.leanback.app.GuidedStepFragment#onGuidedActionEditedAndProceed(androidx.leanback.widget.GuidedAction) parameter #0:
     Missing nullability on parameter `action` in method `onGuidedActionEditedAndProceed`
 MissingNullability: androidx.leanback.app.GuidedStepFragment#onGuidedActionFocused(androidx.leanback.widget.GuidedAction) parameter #0:
@@ -815,8 +797,6 @@
     Missing nullability on parameter `action` in method `onGuidedActionClicked`
 MissingNullability: androidx.leanback.app.GuidedStepSupportFragment#onGuidedActionEditCanceled(androidx.leanback.widget.GuidedAction) parameter #0:
     Missing nullability on parameter `action` in method `onGuidedActionEditCanceled`
-MissingNullability: androidx.leanback.app.GuidedStepSupportFragment#onGuidedActionEdited(androidx.leanback.widget.GuidedAction) parameter #0:
-    Missing nullability on parameter `action` in method `onGuidedActionEdited`
 MissingNullability: androidx.leanback.app.GuidedStepSupportFragment#onGuidedActionEditedAndProceed(androidx.leanback.widget.GuidedAction) parameter #0:
     Missing nullability on parameter `action` in method `onGuidedActionEditedAndProceed`
 MissingNullability: androidx.leanback.app.GuidedStepSupportFragment#onGuidedActionFocused(androidx.leanback.widget.GuidedAction) parameter #0:
@@ -1159,8 +1139,6 @@
     Missing nullability on parameter `intent` in method `setSearchQuery`
 MissingNullability: androidx.leanback.app.SearchFragment#setSearchResultProvider(androidx.leanback.app.SearchFragment.SearchResultProvider) parameter #0:
     Missing nullability on parameter `searchResultProvider` in method `setSearchResultProvider`
-MissingNullability: androidx.leanback.app.SearchFragment#setSpeechRecognitionCallback(androidx.leanback.widget.SpeechRecognitionCallback) parameter #0:
-    Missing nullability on parameter `callback` in method `setSpeechRecognitionCallback`
 MissingNullability: androidx.leanback.app.SearchFragment#setTitle(String) parameter #0:
     Missing nullability on parameter `title` in method `setTitle`
 MissingNullability: androidx.leanback.app.SearchFragment.SearchResultProvider#getResultsAdapter():
@@ -1229,8 +1207,6 @@
     Missing nullability on parameter `intent` in method `setSearchQuery`
 MissingNullability: androidx.leanback.app.SearchSupportFragment#setSearchResultProvider(androidx.leanback.app.SearchSupportFragment.SearchResultProvider) parameter #0:
     Missing nullability on parameter `searchResultProvider` in method `setSearchResultProvider`
-MissingNullability: androidx.leanback.app.SearchSupportFragment#setSpeechRecognitionCallback(androidx.leanback.widget.SpeechRecognitionCallback) parameter #0:
-    Missing nullability on parameter `callback` in method `setSpeechRecognitionCallback`
 MissingNullability: androidx.leanback.app.SearchSupportFragment#setTitle(String) parameter #0:
     Missing nullability on parameter `title` in method `setTitle`
 MissingNullability: androidx.leanback.app.SearchSupportFragment.SearchResultProvider#getResultsAdapter():
@@ -1593,8 +1569,6 @@
     Missing nullability on parameter `event` in method `onKey`
 MissingNullability: androidx.leanback.media.PlaybackControlGlue#setControlsRow(androidx.leanback.widget.PlaybackControlsRow) parameter #0:
     Missing nullability on parameter `controlsRow` in method `setControlsRow`
-MissingNullability: androidx.leanback.media.PlaybackControlGlue#setControlsRowPresenter(androidx.leanback.widget.PlaybackControlsRowPresenter) parameter #0:
-    Missing nullability on parameter `presenter` in method `setControlsRowPresenter`
 MissingNullability: androidx.leanback.media.PlaybackControlGlue#setPlaybackRowPresenter(androidx.leanback.widget.PlaybackRowPresenter) parameter #0:
     Missing nullability on parameter `presenter` in method `setPlaybackRowPresenter`
 MissingNullability: androidx.leanback.media.PlaybackGlue#PlaybackGlue(android.content.Context) parameter #0:
@@ -2053,10 +2027,6 @@
     Missing nullability on field `mParentViewHolder` in class `class androidx.leanback.widget.DetailsOverviewLogoPresenter.ViewHolder`
 MissingNullability: androidx.leanback.widget.DetailsOverviewRow#DetailsOverviewRow(Object) parameter #0:
     Missing nullability on parameter `item` in method `DetailsOverviewRow`
-MissingNullability: androidx.leanback.widget.DetailsOverviewRow#addAction(androidx.leanback.widget.Action) parameter #0:
-    Missing nullability on parameter `action` in method `addAction`
-MissingNullability: androidx.leanback.widget.DetailsOverviewRow#addAction(int, androidx.leanback.widget.Action) parameter #1:
-    Missing nullability on parameter `action` in method `addAction`
 MissingNullability: androidx.leanback.widget.DetailsOverviewRow#getActionForKeyCode(int):
     Missing nullability on method `getActionForKeyCode` return
 MissingNullability: androidx.leanback.widget.DetailsOverviewRow#getActionsAdapter():
@@ -2065,8 +2035,6 @@
     Missing nullability on method `getImageDrawable` return
 MissingNullability: androidx.leanback.widget.DetailsOverviewRow#getItem():
     Missing nullability on method `getItem` return
-MissingNullability: androidx.leanback.widget.DetailsOverviewRow#removeAction(androidx.leanback.widget.Action) parameter #0:
-    Missing nullability on parameter `action` in method `removeAction`
 MissingNullability: androidx.leanback.widget.DetailsOverviewRow#setActionsAdapter(androidx.leanback.widget.ObjectAdapter) parameter #0:
     Missing nullability on parameter `adapter` in method `setActionsAdapter`
 MissingNullability: androidx.leanback.widget.DetailsOverviewRow#setImageBitmap(android.content.Context, android.graphics.Bitmap) parameter #0:
@@ -2149,10 +2117,6 @@
     Missing nullability on parameter `adapter` in method `setupHeaderItemFocusHighlight`
 MissingNullability: androidx.leanback.widget.FocusHighlightHelper#setupHeaderItemFocusHighlight(androidx.leanback.widget.ItemBridgeAdapter, boolean) parameter #0:
     Missing nullability on parameter `adapter` in method `setupHeaderItemFocusHighlight`
-MissingNullability: androidx.leanback.widget.FocusHighlightHelper#setupHeaderItemFocusHighlight(androidx.leanback.widget.VerticalGridView) parameter #0:
-    Missing nullability on parameter `gridView` in method `setupHeaderItemFocusHighlight`
-MissingNullability: androidx.leanback.widget.FocusHighlightHelper#setupHeaderItemFocusHighlight(androidx.leanback.widget.VerticalGridView, boolean) parameter #0:
-    Missing nullability on parameter `gridView` in method `setupHeaderItemFocusHighlight`
 MissingNullability: androidx.leanback.widget.FullWidthDetailsOverviewRowPresenter#FullWidthDetailsOverviewRowPresenter(androidx.leanback.widget.Presenter) parameter #0:
     Missing nullability on parameter `detailsPresenter` in method `FullWidthDetailsOverviewRowPresenter`
 MissingNullability: androidx.leanback.widget.FullWidthDetailsOverviewRowPresenter#FullWidthDetailsOverviewRowPresenter(androidx.leanback.widget.Presenter, androidx.leanback.widget.DetailsOverviewLogoPresenter) parameter #0:
@@ -2317,8 +2281,6 @@
     Missing nullability on method `getContext` return
 MissingNullability: androidx.leanback.widget.GuidedAction.BuilderBase#icon(android.graphics.drawable.Drawable) parameter #0:
     Missing nullability on parameter `icon` in method `icon`
-MissingNullability: androidx.leanback.widget.GuidedAction.BuilderBase#iconResourceId(int, android.content.Context) parameter #1:
-    Missing nullability on parameter `context` in method `iconResourceId`
 MissingNullability: androidx.leanback.widget.GuidedAction.BuilderBase#intent(android.content.Intent) parameter #0:
     Missing nullability on parameter `intent` in method `intent`
 MissingNullability: androidx.leanback.widget.GuidedAction.BuilderBase#subActions(java.util.List<androidx.leanback.widget.GuidedAction>) parameter #0:
@@ -2403,10 +2365,6 @@
     Missing nullability on method `onCreateViewHolder` return
 MissingNullability: androidx.leanback.widget.GuidedActionsStylist#onCreateViewHolder(android.view.ViewGroup, int) parameter #0:
     Missing nullability on parameter `parent` in method `onCreateViewHolder`
-MissingNullability: androidx.leanback.widget.GuidedActionsStylist#onEditingModeChange(androidx.leanback.widget.GuidedActionsStylist.ViewHolder, androidx.leanback.widget.GuidedAction, boolean) parameter #0:
-    Missing nullability on parameter `vh` in method `onEditingModeChange`
-MissingNullability: androidx.leanback.widget.GuidedActionsStylist#onEditingModeChange(androidx.leanback.widget.GuidedActionsStylist.ViewHolder, androidx.leanback.widget.GuidedAction, boolean) parameter #1:
-    Missing nullability on parameter `action` in method `onEditingModeChange`
 MissingNullability: androidx.leanback.widget.GuidedActionsStylist#onEditingModeChange(androidx.leanback.widget.GuidedActionsStylist.ViewHolder, boolean, boolean) parameter #0:
     Missing nullability on parameter `vh` in method `onEditingModeChange`
 MissingNullability: androidx.leanback.widget.GuidedActionsStylist#onUpdateActivatorView(androidx.leanback.widget.GuidedActionsStylist.ViewHolder, androidx.leanback.widget.GuidedAction) parameter #0:
@@ -2417,18 +2375,10 @@
     Missing nullability on parameter `avh` in method `onUpdateExpandedViewHolder`
 MissingNullability: androidx.leanback.widget.GuidedActionsStylist#openInEditMode(androidx.leanback.widget.GuidedAction) parameter #0:
     Missing nullability on parameter `action` in method `openInEditMode`
-MissingNullability: androidx.leanback.widget.GuidedActionsStylist#setEditingMode(androidx.leanback.widget.GuidedActionsStylist.ViewHolder, androidx.leanback.widget.GuidedAction, boolean) parameter #0:
-    Missing nullability on parameter `vh` in method `setEditingMode`
-MissingNullability: androidx.leanback.widget.GuidedActionsStylist#setEditingMode(androidx.leanback.widget.GuidedActionsStylist.ViewHolder, androidx.leanback.widget.GuidedAction, boolean) parameter #1:
-    Missing nullability on parameter `action` in method `setEditingMode`
-MissingNullability: androidx.leanback.widget.GuidedActionsStylist#setExpandedViewHolder(androidx.leanback.widget.GuidedActionsStylist.ViewHolder) parameter #0:
-    Missing nullability on parameter `avh` in method `setExpandedViewHolder`
 MissingNullability: androidx.leanback.widget.GuidedActionsStylist#setupImeOptions(androidx.leanback.widget.GuidedActionsStylist.ViewHolder, androidx.leanback.widget.GuidedAction) parameter #0:
     Missing nullability on parameter `vh` in method `setupImeOptions`
 MissingNullability: androidx.leanback.widget.GuidedActionsStylist#setupImeOptions(androidx.leanback.widget.GuidedActionsStylist.ViewHolder, androidx.leanback.widget.GuidedAction) parameter #1:
     Missing nullability on parameter `action` in method `setupImeOptions`
-MissingNullability: androidx.leanback.widget.GuidedActionsStylist#startExpandedTransition(androidx.leanback.widget.GuidedActionsStylist.ViewHolder) parameter #0:
-    Missing nullability on parameter `avh` in method `startExpandedTransition`
 MissingNullability: androidx.leanback.widget.GuidedActionsStylist.ViewHolder#ViewHolder(android.view.View) parameter #0:
     Missing nullability on parameter `v` in method `ViewHolder`
 MissingNullability: androidx.leanback.widget.GuidedActionsStylist.ViewHolder#ViewHolder(android.view.View, boolean) parameter #0:
@@ -2527,8 +2477,6 @@
     Missing nullability on parameter `context` in method `ImageCardView`
 MissingNullability: androidx.leanback.widget.ImageCardView#ImageCardView(android.content.Context, android.util.AttributeSet, int) parameter #1:
     Missing nullability on parameter `attrs` in method `ImageCardView`
-MissingNullability: androidx.leanback.widget.ImageCardView#ImageCardView(android.content.Context, int) parameter #0:
-    Missing nullability on parameter `context` in method `ImageCardView`
 MissingNullability: androidx.leanback.widget.ImageCardView#getBadgeImage():
     Missing nullability on method `getBadgeImage` return
 MissingNullability: androidx.leanback.widget.ImageCardView#getContentText():
@@ -3341,8 +3289,6 @@
     Missing nullability on parameter `listener` in method `setSearchBarListener`
 MissingNullability: androidx.leanback.widget.SearchBar#setSearchQuery(String) parameter #0:
     Missing nullability on parameter `query` in method `setSearchQuery`
-MissingNullability: androidx.leanback.widget.SearchBar#setSpeechRecognitionCallback(androidx.leanback.widget.SpeechRecognitionCallback) parameter #0:
-    Missing nullability on parameter `request` in method `setSpeechRecognitionCallback`
 MissingNullability: androidx.leanback.widget.SearchBar#setSpeechRecognizer(android.speech.SpeechRecognizer) parameter #0:
     Missing nullability on parameter `recognizer` in method `setSpeechRecognizer`
 MissingNullability: androidx.leanback.widget.SearchBar#setTitle(String) parameter #0:
diff --git a/lifecycle/lifecycle-livedata-ktx/api/current.txt b/lifecycle/lifecycle-livedata-ktx/api/current.txt
index 002fa4e..152a448 100644
--- a/lifecycle/lifecycle-livedata-ktx/api/current.txt
+++ b/lifecycle/lifecycle-livedata-ktx/api/current.txt
@@ -2,8 +2,8 @@
 package androidx.lifecycle {
 
   public final class CoroutineLiveDataKt {
-    method public static <T> androidx.lifecycle.LiveData<T> liveData(optional kotlin.coroutines.CoroutineContext context, optional long timeoutInMs, @kotlin.BuilderInference kotlin.jvm.functions.Function2<? super androidx.lifecycle.LiveDataScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
-    method @RequiresApi(android.os.Build.VERSION_CODES.O) public static <T> androidx.lifecycle.LiveData<T> liveData(optional kotlin.coroutines.CoroutineContext context, java.time.Duration timeout, @kotlin.BuilderInference kotlin.jvm.functions.Function2<? super androidx.lifecycle.LiveDataScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
+    method public static <T> androidx.lifecycle.LiveData<T> liveData(optional kotlin.coroutines.CoroutineContext context, optional long timeoutInMs, kotlin.jvm.functions.Function2<? super androidx.lifecycle.LiveDataScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
+    method @RequiresApi(android.os.Build.VERSION_CODES.O) public static <T> androidx.lifecycle.LiveData<T> liveData(optional kotlin.coroutines.CoroutineContext context, java.time.Duration timeout, kotlin.jvm.functions.Function2<? super androidx.lifecycle.LiveDataScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
   }
 
   public final class FlowLiveDataConversions {
diff --git a/lifecycle/lifecycle-livedata-ktx/api/restricted_current.txt b/lifecycle/lifecycle-livedata-ktx/api/restricted_current.txt
index 002fa4e..152a448 100644
--- a/lifecycle/lifecycle-livedata-ktx/api/restricted_current.txt
+++ b/lifecycle/lifecycle-livedata-ktx/api/restricted_current.txt
@@ -2,8 +2,8 @@
 package androidx.lifecycle {
 
   public final class CoroutineLiveDataKt {
-    method public static <T> androidx.lifecycle.LiveData<T> liveData(optional kotlin.coroutines.CoroutineContext context, optional long timeoutInMs, @kotlin.BuilderInference kotlin.jvm.functions.Function2<? super androidx.lifecycle.LiveDataScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
-    method @RequiresApi(android.os.Build.VERSION_CODES.O) public static <T> androidx.lifecycle.LiveData<T> liveData(optional kotlin.coroutines.CoroutineContext context, java.time.Duration timeout, @kotlin.BuilderInference kotlin.jvm.functions.Function2<? super androidx.lifecycle.LiveDataScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
+    method public static <T> androidx.lifecycle.LiveData<T> liveData(optional kotlin.coroutines.CoroutineContext context, optional long timeoutInMs, kotlin.jvm.functions.Function2<? super androidx.lifecycle.LiveDataScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
+    method @RequiresApi(android.os.Build.VERSION_CODES.O) public static <T> androidx.lifecycle.LiveData<T> liveData(optional kotlin.coroutines.CoroutineContext context, java.time.Duration timeout, kotlin.jvm.functions.Function2<? super androidx.lifecycle.LiveDataScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
   }
 
   public final class FlowLiveDataConversions {
diff --git a/lifecycle/lifecycle-runtime-testing/api/current.ignore b/lifecycle/lifecycle-runtime-testing/api/current.ignore
new file mode 100644
index 0000000..2bacdcd
--- /dev/null
+++ b/lifecycle/lifecycle-runtime-testing/api/current.ignore
@@ -0,0 +1,3 @@
+// Baseline format: 1.0
+RemovedMethod: androidx.lifecycle.testing.TestLifecycleOwner#TestLifecycleOwner():
+    Removed constructor androidx.lifecycle.testing.TestLifecycleOwner()
diff --git a/lifecycle/lifecycle-runtime-testing/api/current.txt b/lifecycle/lifecycle-runtime-testing/api/current.txt
index f7d5eec..2161789 100644
--- a/lifecycle/lifecycle-runtime-testing/api/current.txt
+++ b/lifecycle/lifecycle-runtime-testing/api/current.txt
@@ -2,9 +2,8 @@
 package androidx.lifecycle.testing {
 
   public final class TestLifecycleOwner implements androidx.lifecycle.LifecycleOwner {
-    ctor public TestLifecycleOwner(androidx.lifecycle.Lifecycle.State initialState, kotlinx.coroutines.CoroutineDispatcher coroutineDispatcher);
-    ctor public TestLifecycleOwner(androidx.lifecycle.Lifecycle.State initialState);
-    ctor public TestLifecycleOwner();
+    ctor public TestLifecycleOwner(optional androidx.lifecycle.Lifecycle.State initialState, optional kotlinx.coroutines.CoroutineDispatcher coroutineDispatcher);
+    ctor public TestLifecycleOwner(optional androidx.lifecycle.Lifecycle.State initialState);
     method public androidx.lifecycle.Lifecycle.State getCurrentState();
     method public androidx.lifecycle.LifecycleRegistry getLifecycle();
     method public int getObserverCount();
diff --git a/lifecycle/lifecycle-runtime-testing/api/public_plus_experimental_current.txt b/lifecycle/lifecycle-runtime-testing/api/public_plus_experimental_current.txt
index f7d5eec..2161789 100644
--- a/lifecycle/lifecycle-runtime-testing/api/public_plus_experimental_current.txt
+++ b/lifecycle/lifecycle-runtime-testing/api/public_plus_experimental_current.txt
@@ -2,9 +2,8 @@
 package androidx.lifecycle.testing {
 
   public final class TestLifecycleOwner implements androidx.lifecycle.LifecycleOwner {
-    ctor public TestLifecycleOwner(androidx.lifecycle.Lifecycle.State initialState, kotlinx.coroutines.CoroutineDispatcher coroutineDispatcher);
-    ctor public TestLifecycleOwner(androidx.lifecycle.Lifecycle.State initialState);
-    ctor public TestLifecycleOwner();
+    ctor public TestLifecycleOwner(optional androidx.lifecycle.Lifecycle.State initialState, optional kotlinx.coroutines.CoroutineDispatcher coroutineDispatcher);
+    ctor public TestLifecycleOwner(optional androidx.lifecycle.Lifecycle.State initialState);
     method public androidx.lifecycle.Lifecycle.State getCurrentState();
     method public androidx.lifecycle.LifecycleRegistry getLifecycle();
     method public int getObserverCount();
diff --git a/lifecycle/lifecycle-runtime-testing/api/restricted_current.ignore b/lifecycle/lifecycle-runtime-testing/api/restricted_current.ignore
new file mode 100644
index 0000000..2bacdcd
--- /dev/null
+++ b/lifecycle/lifecycle-runtime-testing/api/restricted_current.ignore
@@ -0,0 +1,3 @@
+// Baseline format: 1.0
+RemovedMethod: androidx.lifecycle.testing.TestLifecycleOwner#TestLifecycleOwner():
+    Removed constructor androidx.lifecycle.testing.TestLifecycleOwner()
diff --git a/lifecycle/lifecycle-runtime-testing/api/restricted_current.txt b/lifecycle/lifecycle-runtime-testing/api/restricted_current.txt
index f7d5eec..2161789 100644
--- a/lifecycle/lifecycle-runtime-testing/api/restricted_current.txt
+++ b/lifecycle/lifecycle-runtime-testing/api/restricted_current.txt
@@ -2,9 +2,8 @@
 package androidx.lifecycle.testing {
 
   public final class TestLifecycleOwner implements androidx.lifecycle.LifecycleOwner {
-    ctor public TestLifecycleOwner(androidx.lifecycle.Lifecycle.State initialState, kotlinx.coroutines.CoroutineDispatcher coroutineDispatcher);
-    ctor public TestLifecycleOwner(androidx.lifecycle.Lifecycle.State initialState);
-    ctor public TestLifecycleOwner();
+    ctor public TestLifecycleOwner(optional androidx.lifecycle.Lifecycle.State initialState, optional kotlinx.coroutines.CoroutineDispatcher coroutineDispatcher);
+    ctor public TestLifecycleOwner(optional androidx.lifecycle.Lifecycle.State initialState);
     method public androidx.lifecycle.Lifecycle.State getCurrentState();
     method public androidx.lifecycle.LifecycleRegistry getLifecycle();
     method public int getObserverCount();
diff --git a/loader/loader/api/api_lint.ignore b/loader/loader/api/api_lint.ignore
index 4db086d9..f3e0a93 100644
--- a/loader/loader/api/api_lint.ignore
+++ b/loader/loader/api/api_lint.ignore
@@ -3,6 +3,12 @@
     Class should be named ForceLoadContentCallback
 
 
+NullableCollection: androidx.loader.content.CursorLoader#getProjection():
+    Return type of method androidx.loader.content.CursorLoader.getProjection() is a nullable collection (`java.lang.String[]`); must be non-null
+NullableCollection: androidx.loader.content.CursorLoader#getSelectionArgs():
+    Return type of method androidx.loader.content.CursorLoader.getSelectionArgs() is a nullable collection (`java.lang.String[]`); must be non-null
+
+
 RegistrationName: androidx.loader.content.Loader#registerListener(int, androidx.loader.content.Loader.OnLoadCompleteListener<D>):
     Listener methods should be named add/remove; was registerListener
 RegistrationName: androidx.loader.content.Loader#registerOnLoadCanceledListener(androidx.loader.content.Loader.OnLoadCanceledListener<D>):
@@ -21,16 +27,6 @@
     Callback class names should be singular: LoaderCallbacks
 
 
-UseParcelFileDescriptor: androidx.loader.app.LoaderManager#dump(String, java.io.FileDescriptor, java.io.PrintWriter, String[]) parameter #1:
-    Must use ParcelFileDescriptor instead of FileDescriptor in parameter fd in androidx.loader.app.LoaderManager.dump(String prefix, java.io.FileDescriptor fd, java.io.PrintWriter writer, String[] args)
-UseParcelFileDescriptor: androidx.loader.content.AsyncTaskLoader#dump(String, java.io.FileDescriptor, java.io.PrintWriter, String[]) parameter #1:
-    Must use ParcelFileDescriptor instead of FileDescriptor in parameter fd in androidx.loader.content.AsyncTaskLoader.dump(String prefix, java.io.FileDescriptor fd, java.io.PrintWriter writer, String[] args)
-UseParcelFileDescriptor: androidx.loader.content.CursorLoader#dump(String, java.io.FileDescriptor, java.io.PrintWriter, String[]) parameter #1:
-    Must use ParcelFileDescriptor instead of FileDescriptor in parameter fd in androidx.loader.content.CursorLoader.dump(String prefix, java.io.FileDescriptor fd, java.io.PrintWriter writer, String[] args)
-UseParcelFileDescriptor: androidx.loader.content.Loader#dump(String, java.io.FileDescriptor, java.io.PrintWriter, String[]) parameter #1:
-    Must use ParcelFileDescriptor instead of FileDescriptor in parameter fd in androidx.loader.content.Loader.dump(String prefix, java.io.FileDescriptor fd, java.io.PrintWriter writer, String[] args)
-
-
 VisiblySynchronized: androidx.loader.content.CursorLoader#cancelLoadInBackground():
     Internal locks must not be exposed (synchronizing on this or class is still externally observable): method androidx.loader.content.CursorLoader.cancelLoadInBackground()
 VisiblySynchronized: androidx.loader.content.CursorLoader#loadInBackground():
diff --git a/media/media/api/api_lint.ignore b/media/media/api/api_lint.ignore
index 7463740..afc210b 100644
--- a/media/media/api/api_lint.ignore
+++ b/media/media/api/api_lint.ignore
@@ -503,8 +503,6 @@
     Missing nullability on method `setActiveQueueItemId` return
 MissingNullability: android.support.v4.media.session.PlaybackStateCompat.Builder#setBufferedPosition(long):
     Missing nullability on method `setBufferedPosition` return
-MissingNullability: android.support.v4.media.session.PlaybackStateCompat.Builder#setErrorMessage(CharSequence) parameter #0:
-    Missing nullability on parameter `errorMessage` in method `setErrorMessage`
 MissingNullability: android.support.v4.media.session.PlaybackStateCompat.Builder#setErrorMessage(int, CharSequence):
     Missing nullability on method `setErrorMessage` return
 MissingNullability: android.support.v4.media.session.PlaybackStateCompat.Builder#setErrorMessage(int, CharSequence) parameter #1:
@@ -645,6 +643,14 @@
     Bare field volumeType must be marked final, or moved behind accessors if mutable
 
 
+NullableCollection: android.support.v4.media.MediaBrowserCompat#getExtras():
+    Return type of method android.support.v4.media.MediaBrowserCompat.getExtras() is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: android.support.v4.media.MediaDescriptionCompat#getExtras():
+    Return type of method android.support.v4.media.MediaDescriptionCompat.getExtras() is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: android.support.v4.media.session.PlaybackStateCompat#getExtras():
+    Return type of method android.support.v4.media.session.PlaybackStateCompat.getExtras() is a nullable collection (`android.os.Bundle`); must be non-null
+
+
 ParcelConstructor: android.support.v4.media.session.ParcelableVolumeInfo#ParcelableVolumeInfo(android.os.Parcel):
     Parcelable inflation is exposed through CREATOR, not raw constructors, in android.support.v4.media.session.ParcelableVolumeInfo
 
diff --git a/media/media/api/current.ignore b/media/media/api/current.ignore
deleted file mode 100644
index de0edac..0000000
--- a/media/media/api/current.ignore
+++ /dev/null
@@ -1,3 +0,0 @@
-// Baseline format: 1.0
-ChangedThrows: android.support.v4.media.session.MediaControllerCompat#MediaControllerCompat(android.content.Context, android.support.v4.media.session.MediaSessionCompat.Token):
-    Constructor android.support.v4.media.session.MediaControllerCompat no longer throws exception android.os.RemoteException
diff --git a/media/media/api/restricted_current.ignore b/media/media/api/restricted_current.ignore
deleted file mode 100644
index 5779f4b..0000000
--- a/media/media/api/restricted_current.ignore
+++ /dev/null
@@ -1,73 +0,0 @@
-// Baseline format: 1.0
-ChangedThrows: android.support.v4.media.session.MediaControllerCompat#MediaControllerCompat(android.content.Context, android.support.v4.media.session.MediaSessionCompat.Token):
-    Constructor android.support.v4.media.session.MediaControllerCompat no longer throws exception android.os.RemoteException
-
-
-RemovedClass: android.support.v4.media.MediaBrowserCompat.MediaItem.Flags:
-    Removed class android.support.v4.media.MediaBrowserCompat.MediaItem.Flags
-RemovedClass: android.support.v4.media.MediaMetadataCompat.BitmapKey:
-    Removed class android.support.v4.media.MediaMetadataCompat.BitmapKey
-RemovedClass: android.support.v4.media.MediaMetadataCompat.LongKey:
-    Removed class android.support.v4.media.MediaMetadataCompat.LongKey
-RemovedClass: android.support.v4.media.MediaMetadataCompat.RatingKey:
-    Removed class android.support.v4.media.MediaMetadataCompat.RatingKey
-RemovedClass: android.support.v4.media.MediaMetadataCompat.TextKey:
-    Removed class android.support.v4.media.MediaMetadataCompat.TextKey
-RemovedClass: android.support.v4.media.RatingCompat.StarStyle:
-    Removed class android.support.v4.media.RatingCompat.StarStyle
-RemovedClass: android.support.v4.media.session.MediaSessionCompat.SessionFlags:
-    Removed class android.support.v4.media.session.MediaSessionCompat.SessionFlags
-RemovedClass: android.support.v4.media.session.PlaybackStateCompat.ErrorCode:
-    Removed class android.support.v4.media.session.PlaybackStateCompat.ErrorCode
-RemovedClass: android.support.v4.media.session.PlaybackStateCompat.MediaKeyAction:
-    Removed class android.support.v4.media.session.PlaybackStateCompat.MediaKeyAction
-RemovedClass: androidx.media.AudioAttributesCompat.AttributeContentType:
-    Removed class androidx.media.AudioAttributesCompat.AttributeContentType
-RemovedClass: androidx.media.AudioAttributesCompat.AttributeUsage:
-    Removed class androidx.media.AudioAttributesCompat.AttributeUsage
-RemovedClass: androidx.media.AudioAttributesImplApi21:
-    Removed class androidx.media.AudioAttributesImplApi21
-RemovedClass: androidx.media.AudioAttributesImplApi26:
-    Removed class androidx.media.AudioAttributesImplApi26
-RemovedClass: androidx.media.AudioAttributesImplBase:
-    Removed class androidx.media.AudioAttributesImplBase
-RemovedClass: androidx.media.AudioFocusRequestCompat.FocusGainType:
-    Removed class androidx.media.AudioFocusRequestCompat.FocusGainType
-RemovedClass: androidx.media.MediaBrowserCompatUtils:
-    Removed class androidx.media.MediaBrowserCompatUtils
-
-
-RemovedField: android.support.v4.media.MediaDescriptionCompat#DESCRIPTION_KEY_MEDIA_URI:
-    Removed field android.support.v4.media.MediaDescriptionCompat.DESCRIPTION_KEY_MEDIA_URI
-RemovedField: android.support.v4.media.MediaDescriptionCompat#DESCRIPTION_KEY_NULL_BUNDLE_FLAG:
-    Removed field android.support.v4.media.MediaDescriptionCompat.DESCRIPTION_KEY_NULL_BUNDLE_FLAG
-RemovedField: android.support.v4.media.session.MediaSessionCompat#KEY_SESSION2_TOKEN:
-    Removed field android.support.v4.media.session.MediaSessionCompat.KEY_SESSION2_TOKEN
-RemovedField: android.support.v4.media.session.MediaSessionCompat#KEY_TOKEN:
-    Removed field android.support.v4.media.session.MediaSessionCompat.KEY_TOKEN
-RemovedField: androidx.media.AudioAttributesCompat#mImpl:
-    Removed field androidx.media.AudioAttributesCompat.mImpl
-
-
-RemovedMethod: android.support.v4.media.MediaMetadataCompat.Builder#Builder(android.support.v4.media.MediaMetadataCompat, int):
-    Removed constructor android.support.v4.media.MediaMetadataCompat.Builder(android.support.v4.media.MediaMetadataCompat,int)
-RemovedMethod: android.support.v4.media.session.MediaControllerCompat#getSession2Token():
-    Removed method android.support.v4.media.session.MediaControllerCompat.getSession2Token()
-RemovedMethod: android.support.v4.media.session.MediaSessionCompat#ensureClassLoader(android.os.Bundle):
-    Removed method android.support.v4.media.session.MediaSessionCompat.ensureClassLoader(android.os.Bundle)
-RemovedMethod: android.support.v4.media.session.MediaSessionCompat#getCallingPackage():
-    Removed method android.support.v4.media.session.MediaSessionCompat.getCallingPackage()
-RemovedMethod: android.support.v4.media.session.MediaSessionCompat.Token#fromToken(Object, android.support.v4.media.session.IMediaSession):
-    Removed method android.support.v4.media.session.MediaSessionCompat.Token.fromToken(Object,android.support.v4.media.session.IMediaSession)
-RemovedMethod: android.support.v4.media.session.MediaSessionCompat.Token#getExtraBinder():
-    Removed method android.support.v4.media.session.MediaSessionCompat.Token.getExtraBinder()
-RemovedMethod: android.support.v4.media.session.MediaSessionCompat.Token#setExtraBinder(android.support.v4.media.session.IMediaSession):
-    Removed method android.support.v4.media.session.MediaSessionCompat.Token.setExtraBinder(android.support.v4.media.session.IMediaSession)
-RemovedMethod: androidx.media.AudioAttributesCompat#setForceLegacyBehavior(boolean):
-    Removed method androidx.media.AudioAttributesCompat.setForceLegacyBehavior(boolean)
-RemovedMethod: androidx.media.MediaBrowserServiceCompat#onSubscribe(String, android.os.Bundle):
-    Removed method androidx.media.MediaBrowserServiceCompat.onSubscribe(String,android.os.Bundle)
-RemovedMethod: androidx.media.MediaBrowserServiceCompat#onUnsubscribe(String):
-    Removed method androidx.media.MediaBrowserServiceCompat.onUnsubscribe(String)
-RemovedMethod: androidx.media.MediaSessionManager.RemoteUserInfo#RemoteUserInfo(android.media.session.MediaSessionManager.RemoteUserInfo):
-    Removed constructor androidx.media.MediaSessionManager.RemoteUserInfo(android.media.session.MediaSessionManager.RemoteUserInfo)
diff --git a/media2/media2-common/api/api_lint.ignore b/media2/media2-common/api/api_lint.ignore
index 8d6bc95..072b6d9f 100644
--- a/media2/media2-common/api/api_lint.ignore
+++ b/media2/media2-common/api/api_lint.ignore
@@ -27,5 +27,17 @@
     Intent extra constant name must be EXTRA_FOO: METADATA_KEY_EXTRAS
 
 
+NullableCollection: androidx.media2.common.MediaMetadata#getExtras():
+    Return type of method androidx.media2.common.MediaMetadata.getExtras() is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.media2.common.SessionPlayer#getPlaylist():
+    Return type of method androidx.media2.common.SessionPlayer.getPlaylist() is a nullable collection (`java.util.List`); must be non-null
+NullableCollection: androidx.media2.common.SessionPlayer.PlayerCallback#onPlaylistChanged(androidx.media2.common.SessionPlayer, java.util.List<androidx.media2.common.MediaItem>, androidx.media2.common.MediaMetadata) parameter #1:
+    Type of parameter list in androidx.media2.common.SessionPlayer.PlayerCallback.onPlaylistChanged(androidx.media2.common.SessionPlayer player, java.util.List<androidx.media2.common.MediaItem> list, androidx.media2.common.MediaMetadata metadata) is a nullable collection (`java.util.List`); must be non-null
+NullableCollection: androidx.media2.common.UriMediaItem#getUriCookies():
+    Return type of method androidx.media2.common.UriMediaItem.getUriCookies() is a nullable collection (`java.util.List`); must be non-null
+NullableCollection: androidx.media2.common.UriMediaItem#getUriHeaders():
+    Return type of method androidx.media2.common.UriMediaItem.getUriHeaders() is a nullable collection (`java.util.Map`); must be non-null
+
+
 StaticFinalBuilder: androidx.media2.common.MediaItem.Builder:
     Builder must be final: androidx.media2.common.MediaItem.Builder
diff --git a/media2/media2-common/api/current.ignore b/media2/media2-common/api/current.ignore
deleted file mode 100644
index 1f84da4..0000000
--- a/media2/media2-common/api/current.ignore
+++ /dev/null
@@ -1,3 +0,0 @@
-// Baseline format: 1.0
-RemovedInterface: androidx.media2.common.SessionPlayer:
-    Class androidx.media2.common.SessionPlayer no longer implements java.lang.AutoCloseable
diff --git a/media2/media2-common/api/restricted_current.ignore b/media2/media2-common/api/restricted_current.ignore
deleted file mode 100644
index 75bbed1..0000000
--- a/media2/media2-common/api/restricted_current.ignore
+++ /dev/null
@@ -1,43 +0,0 @@
-// Baseline format: 1.0
-RemovedClass: androidx.media2.common.MediaMetadata.BitmapKey:
-    Removed class androidx.media2.common.MediaMetadata.BitmapKey
-RemovedClass: androidx.media2.common.MediaMetadata.BundleKey:
-    Removed class androidx.media2.common.MediaMetadata.BundleKey
-RemovedClass: androidx.media2.common.MediaMetadata.FloatKey:
-    Removed class androidx.media2.common.MediaMetadata.FloatKey
-RemovedClass: androidx.media2.common.MediaMetadata.LongKey:
-    Removed class androidx.media2.common.MediaMetadata.LongKey
-RemovedClass: androidx.media2.common.MediaMetadata.RatingKey:
-    Removed class androidx.media2.common.MediaMetadata.RatingKey
-RemovedClass: androidx.media2.common.MediaMetadata.TextKey:
-    Removed class androidx.media2.common.MediaMetadata.TextKey
-RemovedClass: androidx.media2.common.ParcelImplListSlice:
-    Removed class androidx.media2.common.ParcelImplListSlice
-RemovedClass: androidx.media2.common.SessionPlayer.BuffState:
-    Removed class androidx.media2.common.SessionPlayer.BuffState
-RemovedClass: androidx.media2.common.SessionPlayer.PlayerResult.ResultCode:
-    Removed class androidx.media2.common.SessionPlayer.PlayerResult.ResultCode
-RemovedClass: androidx.media2.common.SessionPlayer.PlayerState:
-    Removed class androidx.media2.common.SessionPlayer.PlayerState
-RemovedClass: androidx.media2.common.SessionPlayer.RepeatMode:
-    Removed class androidx.media2.common.SessionPlayer.RepeatMode
-RemovedClass: androidx.media2.common.SessionPlayer.ShuffleMode:
-    Removed class androidx.media2.common.SessionPlayer.ShuffleMode
-
-
-RemovedField: androidx.media2.common.MediaMetadata#METADATA_KEY_RADIO_FREQUENCY:
-    Removed field androidx.media2.common.MediaMetadata.METADATA_KEY_RADIO_FREQUENCY
-RemovedField: androidx.media2.common.MediaMetadata#METADATA_KEY_RADIO_PROGRAM_NAME:
-    Removed field androidx.media2.common.MediaMetadata.METADATA_KEY_RADIO_PROGRAM_NAME
-
-
-RemovedInterface: androidx.media2.common.SessionPlayer:
-    Class androidx.media2.common.SessionPlayer no longer implements java.lang.AutoCloseable
-
-
-RemovedMethod: androidx.media2.common.FileMediaItem#decreaseRefCount():
-    Removed method androidx.media2.common.FileMediaItem.decreaseRefCount()
-RemovedMethod: androidx.media2.common.FileMediaItem#increaseRefCount():
-    Removed method androidx.media2.common.FileMediaItem.increaseRefCount()
-RemovedMethod: androidx.media2.common.MediaMetadata#getObject(String):
-    Removed method androidx.media2.common.MediaMetadata.getObject(String)
diff --git a/media2/media2-player/api/current.ignore b/media2/media2-player/api/current.ignore
deleted file mode 100644
index 620d549..0000000
--- a/media2/media2-player/api/current.ignore
+++ /dev/null
@@ -1,27 +0,0 @@
-// Baseline format: 1.0
-RemovedField: androidx.media2.player.MediaPlayer.TrackInfo#MEDIA_TRACK_TYPE_AUDIO:
-    Removed field androidx.media2.player.MediaPlayer.TrackInfo.MEDIA_TRACK_TYPE_AUDIO
-RemovedField: androidx.media2.player.MediaPlayer.TrackInfo#MEDIA_TRACK_TYPE_METADATA:
-    Removed field androidx.media2.player.MediaPlayer.TrackInfo.MEDIA_TRACK_TYPE_METADATA
-RemovedField: androidx.media2.player.MediaPlayer.TrackInfo#MEDIA_TRACK_TYPE_SUBTITLE:
-    Removed field androidx.media2.player.MediaPlayer.TrackInfo.MEDIA_TRACK_TYPE_SUBTITLE
-RemovedField: androidx.media2.player.MediaPlayer.TrackInfo#MEDIA_TRACK_TYPE_UNKNOWN:
-    Removed field androidx.media2.player.MediaPlayer.TrackInfo.MEDIA_TRACK_TYPE_UNKNOWN
-RemovedField: androidx.media2.player.MediaPlayer.TrackInfo#MEDIA_TRACK_TYPE_VIDEO:
-    Removed field androidx.media2.player.MediaPlayer.TrackInfo.MEDIA_TRACK_TYPE_VIDEO
-
-
-RemovedMethod: androidx.media2.player.MediaPlayer#close():
-    Removed method androidx.media2.player.MediaPlayer.close()
-RemovedMethod: androidx.media2.player.MediaPlayer#setSurface(android.view.Surface):
-    Removed method androidx.media2.player.MediaPlayer.setSurface(android.view.Surface)
-RemovedMethod: androidx.media2.player.MediaPlayer.TrackInfo#getFormat():
-    Removed method androidx.media2.player.MediaPlayer.TrackInfo.getFormat()
-RemovedMethod: androidx.media2.player.MediaPlayer.TrackInfo#getLanguage():
-    Removed method androidx.media2.player.MediaPlayer.TrackInfo.getLanguage()
-RemovedMethod: androidx.media2.player.MediaPlayer.TrackInfo#getTrackType():
-    Removed method androidx.media2.player.MediaPlayer.TrackInfo.getTrackType()
-RemovedMethod: androidx.media2.player.VideoSize#getHeight():
-    Removed method androidx.media2.player.VideoSize.getHeight()
-RemovedMethod: androidx.media2.player.VideoSize#getWidth():
-    Removed method androidx.media2.player.VideoSize.getWidth()
diff --git a/media2/media2-player/api/restricted_current.ignore b/media2/media2-player/api/restricted_current.ignore
deleted file mode 100644
index 35ef1f7..0000000
--- a/media2/media2-player/api/restricted_current.ignore
+++ /dev/null
@@ -1,121 +0,0 @@
-// Baseline format: 1.0
-RemovedClass: androidx.media2.player.MediaPlayer.DrmInfo:
-    Removed class androidx.media2.player.MediaPlayer.DrmInfo
-RemovedClass: androidx.media2.player.MediaPlayer.DrmResult:
-    Removed class androidx.media2.player.MediaPlayer.DrmResult
-RemovedClass: androidx.media2.player.MediaPlayer.MediaError:
-    Removed class androidx.media2.player.MediaPlayer.MediaError
-RemovedClass: androidx.media2.player.MediaPlayer.MediaInfo:
-    Removed class androidx.media2.player.MediaPlayer.MediaInfo
-RemovedClass: androidx.media2.player.MediaPlayer.MetricsConstants:
-    Removed class androidx.media2.player.MediaPlayer.MetricsConstants
-RemovedClass: androidx.media2.player.MediaPlayer.NoDrmSchemeException:
-    Removed class androidx.media2.player.MediaPlayer.NoDrmSchemeException
-RemovedClass: androidx.media2.player.MediaPlayer.SeekMode:
-    Removed class androidx.media2.player.MediaPlayer.SeekMode
-RemovedClass: androidx.media2.player.MediaPlayer.TrackInfo.MediaTrackType:
-    Removed class androidx.media2.player.MediaPlayer.TrackInfo.MediaTrackType
-RemovedClass: androidx.media2.player.MediaPlayer2:
-    Removed class androidx.media2.player.MediaPlayer2
-RemovedClass: androidx.media2.player.MediaPlayer2Impl:
-    Removed class androidx.media2.player.MediaPlayer2Impl
-RemovedClass: androidx.media2.player.PlaybackParams.AudioFallbackMode:
-    Removed class androidx.media2.player.PlaybackParams.AudioFallbackMode
-
-
-RemovedField: androidx.media2.player.MediaPlayer#MEDIA_INFO_BUFFERING_END:
-    Removed field androidx.media2.player.MediaPlayer.MEDIA_INFO_BUFFERING_END
-RemovedField: androidx.media2.player.MediaPlayer#MEDIA_INFO_BUFFERING_START:
-    Removed field androidx.media2.player.MediaPlayer.MEDIA_INFO_BUFFERING_START
-RemovedField: androidx.media2.player.MediaPlayer#MEDIA_INFO_EXTERNAL_METADATA_UPDATE:
-    Removed field androidx.media2.player.MediaPlayer.MEDIA_INFO_EXTERNAL_METADATA_UPDATE
-RemovedField: androidx.media2.player.MediaPlayer#MEDIA_INFO_MEDIA_ITEM_END:
-    Removed field androidx.media2.player.MediaPlayer.MEDIA_INFO_MEDIA_ITEM_END
-RemovedField: androidx.media2.player.MediaPlayer#MEDIA_INFO_MEDIA_ITEM_LIST_END:
-    Removed field androidx.media2.player.MediaPlayer.MEDIA_INFO_MEDIA_ITEM_LIST_END
-RemovedField: androidx.media2.player.MediaPlayer#MEDIA_INFO_MEDIA_ITEM_REPEAT:
-    Removed field androidx.media2.player.MediaPlayer.MEDIA_INFO_MEDIA_ITEM_REPEAT
-RemovedField: androidx.media2.player.MediaPlayer#MEDIA_INFO_MEDIA_ITEM_START:
-    Removed field androidx.media2.player.MediaPlayer.MEDIA_INFO_MEDIA_ITEM_START
-RemovedField: androidx.media2.player.MediaPlayer#MEDIA_INFO_NETWORK_BANDWIDTH:
-    Removed field androidx.media2.player.MediaPlayer.MEDIA_INFO_NETWORK_BANDWIDTH
-RemovedField: androidx.media2.player.MediaPlayer#MEDIA_INFO_PREPARED:
-    Removed field androidx.media2.player.MediaPlayer.MEDIA_INFO_PREPARED
-RemovedField: androidx.media2.player.MediaPlayer#MEDIA_INFO_SUBTITLE_TIMED_OUT:
-    Removed field androidx.media2.player.MediaPlayer.MEDIA_INFO_SUBTITLE_TIMED_OUT
-RemovedField: androidx.media2.player.MediaPlayer#MEDIA_INFO_UNSUPPORTED_SUBTITLE:
-    Removed field androidx.media2.player.MediaPlayer.MEDIA_INFO_UNSUPPORTED_SUBTITLE
-RemovedField: androidx.media2.player.MediaPlayer.TrackInfo#MEDIA_TRACK_TYPE_AUDIO:
-    Removed field androidx.media2.player.MediaPlayer.TrackInfo.MEDIA_TRACK_TYPE_AUDIO
-RemovedField: androidx.media2.player.MediaPlayer.TrackInfo#MEDIA_TRACK_TYPE_METADATA:
-    Removed field androidx.media2.player.MediaPlayer.TrackInfo.MEDIA_TRACK_TYPE_METADATA
-RemovedField: androidx.media2.player.MediaPlayer.TrackInfo#MEDIA_TRACK_TYPE_SUBTITLE:
-    Removed field androidx.media2.player.MediaPlayer.TrackInfo.MEDIA_TRACK_TYPE_SUBTITLE
-RemovedField: androidx.media2.player.MediaPlayer.TrackInfo#MEDIA_TRACK_TYPE_UNKNOWN:
-    Removed field androidx.media2.player.MediaPlayer.TrackInfo.MEDIA_TRACK_TYPE_UNKNOWN
-RemovedField: androidx.media2.player.MediaPlayer.TrackInfo#MEDIA_TRACK_TYPE_VIDEO:
-    Removed field androidx.media2.player.MediaPlayer.TrackInfo.MEDIA_TRACK_TYPE_VIDEO
-
-
-RemovedInterface: androidx.media2.player.MediaPlayer.OnDrmConfigHelper:
-    Removed class androidx.media2.player.MediaPlayer.OnDrmConfigHelper
-
-
-RemovedMethod: androidx.media2.player.MediaPlayer#close():
-    Removed method androidx.media2.player.MediaPlayer.close()
-RemovedMethod: androidx.media2.player.MediaPlayer#deselectTrack(androidx.media2.player.MediaPlayer.TrackInfo):
-    Removed method androidx.media2.player.MediaPlayer.deselectTrack(androidx.media2.player.MediaPlayer.TrackInfo)
-RemovedMethod: androidx.media2.player.MediaPlayer#getDrmInfo():
-    Removed method androidx.media2.player.MediaPlayer.getDrmInfo()
-RemovedMethod: androidx.media2.player.MediaPlayer#getDrmKeyRequest(byte[], byte[], String, int, java.util.Map<java.lang.String,java.lang.String>):
-    Removed method androidx.media2.player.MediaPlayer.getDrmKeyRequest(byte[],byte[],String,int,java.util.Map<java.lang.String,java.lang.String>)
-RemovedMethod: androidx.media2.player.MediaPlayer#getDrmPropertyString(String):
-    Removed method androidx.media2.player.MediaPlayer.getDrmPropertyString(String)
-RemovedMethod: androidx.media2.player.MediaPlayer#getMetrics():
-    Removed method androidx.media2.player.MediaPlayer.getMetrics()
-RemovedMethod: androidx.media2.player.MediaPlayer#prepareDrm(java.util.UUID):
-    Removed method androidx.media2.player.MediaPlayer.prepareDrm(java.util.UUID)
-RemovedMethod: androidx.media2.player.MediaPlayer#provideDrmKeyResponse(byte[], byte[]):
-    Removed method androidx.media2.player.MediaPlayer.provideDrmKeyResponse(byte[],byte[])
-RemovedMethod: androidx.media2.player.MediaPlayer#releaseDrm():
-    Removed method androidx.media2.player.MediaPlayer.releaseDrm()
-RemovedMethod: androidx.media2.player.MediaPlayer#restoreDrmKeys(byte[]):
-    Removed method androidx.media2.player.MediaPlayer.restoreDrmKeys(byte[])
-RemovedMethod: androidx.media2.player.MediaPlayer#setDrmPropertyString(String, String):
-    Removed method androidx.media2.player.MediaPlayer.setDrmPropertyString(String,String)
-RemovedMethod: androidx.media2.player.MediaPlayer#setOnDrmConfigHelper(androidx.media2.player.MediaPlayer.OnDrmConfigHelper):
-    Removed method androidx.media2.player.MediaPlayer.setOnDrmConfigHelper(androidx.media2.player.MediaPlayer.OnDrmConfigHelper)
-RemovedMethod: androidx.media2.player.MediaPlayer#setSurface(android.view.Surface):
-    Removed method androidx.media2.player.MediaPlayer.setSurface(android.view.Surface)
-RemovedMethod: androidx.media2.player.MediaPlayer.PlayerCallback#onDrmInfo(androidx.media2.player.MediaPlayer, androidx.media2.common.MediaItem, androidx.media2.player.MediaPlayer.DrmInfo):
-    Removed method androidx.media2.player.MediaPlayer.PlayerCallback.onDrmInfo(androidx.media2.player.MediaPlayer,androidx.media2.common.MediaItem,androidx.media2.player.MediaPlayer.DrmInfo)
-RemovedMethod: androidx.media2.player.MediaPlayer.TrackInfo#TrackInfo(int, androidx.media2.common.MediaItem, int, android.media.MediaFormat):
-    Removed constructor androidx.media2.player.MediaPlayer.TrackInfo(int,androidx.media2.common.MediaItem,int,android.media.MediaFormat)
-RemovedMethod: androidx.media2.player.MediaPlayer.TrackInfo#getFormat():
-    Removed method androidx.media2.player.MediaPlayer.TrackInfo.getFormat()
-RemovedMethod: androidx.media2.player.MediaPlayer.TrackInfo#getLanguage():
-    Removed method androidx.media2.player.MediaPlayer.TrackInfo.getLanguage()
-RemovedMethod: androidx.media2.player.MediaPlayer.TrackInfo#getTrackType():
-    Removed method androidx.media2.player.MediaPlayer.TrackInfo.getTrackType()
-RemovedMethod: androidx.media2.player.MediaTimestamp#MediaTimestamp(long, long, float):
-    Removed constructor androidx.media2.player.MediaTimestamp(long,long,float)
-RemovedMethod: androidx.media2.player.PlaybackParams#getPlaybackParams():
-    Removed method androidx.media2.player.PlaybackParams.getPlaybackParams()
-RemovedMethod: androidx.media2.player.PlaybackParams.Builder#Builder(android.media.PlaybackParams):
-    Removed constructor androidx.media2.player.PlaybackParams.Builder(android.media.PlaybackParams)
-RemovedMethod: androidx.media2.player.TimedMetaData#TimedMetaData(android.media.TimedMetaData):
-    Removed constructor androidx.media2.player.TimedMetaData(android.media.TimedMetaData)
-RemovedMethod: androidx.media2.player.TimedMetaData#TimedMetaData(long, byte[]):
-    Removed constructor androidx.media2.player.TimedMetaData(long,byte[])
-RemovedMethod: androidx.media2.player.VideoSize#getHeight():
-    Removed method androidx.media2.player.VideoSize.getHeight()
-RemovedMethod: androidx.media2.player.VideoSize#getWidth():
-    Removed method androidx.media2.player.VideoSize.getWidth()
-
-
-RemovedPackage: androidx.media2.player.common:
-    Removed package androidx.media2.player.common
-RemovedPackage: androidx.media2.player.exoplayer:
-    Removed package androidx.media2.player.exoplayer
-RemovedPackage: androidx.media2.player.subtitle:
-    Removed package androidx.media2.player.subtitle
diff --git a/media2/media2-session/api/api_lint.ignore b/media2/media2-session/api/api_lint.ignore
index 1f9b7db..1a746d2 100644
--- a/media2/media2-session/api/api_lint.ignore
+++ b/media2/media2-session/api/api_lint.ignore
@@ -45,3 +45,25 @@
     Missing nullability on method `onBind` return
 MissingNullability: androidx.media2.session.MediaSessionService#onStartCommand(android.content.Intent, int, int) parameter #0:
     Missing nullability on parameter `intent` in method `onStartCommand`
+
+
+NullableCollection: androidx.media2.session.LibraryResult#getMediaItems():
+    Return type of method androidx.media2.session.LibraryResult.getMediaItems() is a nullable collection (`java.util.List`); must be non-null
+NullableCollection: androidx.media2.session.MediaController#getPlaylist():
+    Return type of method androidx.media2.session.MediaController.getPlaylist() is a nullable collection (`java.util.List`); must be non-null
+NullableCollection: androidx.media2.session.MediaController.ControllerCallback#onCustomCommand(androidx.media2.session.MediaController, androidx.media2.session.SessionCommand, android.os.Bundle) parameter #2:
+    Type of parameter args in androidx.media2.session.MediaController.ControllerCallback.onCustomCommand(androidx.media2.session.MediaController controller, androidx.media2.session.SessionCommand command, android.os.Bundle args) is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.media2.session.MediaController.ControllerCallback#onPlaylistChanged(androidx.media2.session.MediaController, java.util.List<androidx.media2.common.MediaItem>, androidx.media2.common.MediaMetadata) parameter #1:
+    Type of parameter list in androidx.media2.session.MediaController.ControllerCallback.onPlaylistChanged(androidx.media2.session.MediaController controller, java.util.List<androidx.media2.common.MediaItem> list, androidx.media2.common.MediaMetadata metadata) is a nullable collection (`java.util.List`); must be non-null
+NullableCollection: androidx.media2.session.MediaLibraryService.LibraryParams#getExtras():
+    Return type of method androidx.media2.session.MediaLibraryService.LibraryParams.getExtras() is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.media2.session.MediaSession.CommandButton#getExtras():
+    Return type of method androidx.media2.session.MediaSession.CommandButton.getExtras() is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.media2.session.MediaSession.SessionCallback#onCustomCommand(androidx.media2.session.MediaSession, androidx.media2.session.MediaSession.ControllerInfo, androidx.media2.session.SessionCommand, android.os.Bundle) parameter #3:
+    Type of parameter args in androidx.media2.session.MediaSession.SessionCallback.onCustomCommand(androidx.media2.session.MediaSession session, androidx.media2.session.MediaSession.ControllerInfo controller, androidx.media2.session.SessionCommand customCommand, android.os.Bundle args) is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.media2.session.MediaSession.SessionCallback#onSetMediaUri(androidx.media2.session.MediaSession, androidx.media2.session.MediaSession.ControllerInfo, android.net.Uri, android.os.Bundle) parameter #3:
+    Type of parameter extras in androidx.media2.session.MediaSession.SessionCallback.onSetMediaUri(androidx.media2.session.MediaSession session, androidx.media2.session.MediaSession.ControllerInfo controller, android.net.Uri uri, android.os.Bundle extras) is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.media2.session.SessionCommand#getCustomExtras():
+    Return type of method androidx.media2.session.SessionCommand.getCustomExtras() is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.media2.session.SessionResult#getCustomCommandResult():
+    Return type of method androidx.media2.session.SessionResult.getCustomCommandResult() is a nullable collection (`android.os.Bundle`); must be non-null
diff --git a/media2/media2-session/api/current.ignore b/media2/media2-session/api/current.ignore
deleted file mode 100644
index a09adab..0000000
--- a/media2/media2-session/api/current.ignore
+++ /dev/null
@@ -1,5 +0,0 @@
-// Baseline format: 1.0
-RemovedInterface: androidx.media2.session.MediaController:
-    Class androidx.media2.session.MediaController no longer implements java.lang.AutoCloseable
-RemovedInterface: androidx.media2.session.MediaSession:
-    Class androidx.media2.session.MediaSession no longer implements java.lang.AutoCloseable
diff --git a/media2/media2-session/api/restricted_current.ignore b/media2/media2-session/api/restricted_current.ignore
deleted file mode 100644
index e9db2bf..0000000
--- a/media2/media2-session/api/restricted_current.ignore
+++ /dev/null
@@ -1,87 +0,0 @@
-// Baseline format: 1.0
-RemovedClass: androidx.media2.session.LibraryResult.ResultCode:
-    Removed class androidx.media2.session.LibraryResult.ResultCode
-RemovedClass: androidx.media2.session.MediaController.VolumeDirection:
-    Removed class androidx.media2.session.MediaController.VolumeDirection
-RemovedClass: androidx.media2.session.MediaController.VolumeFlags:
-    Removed class androidx.media2.session.MediaController.VolumeFlags
-RemovedClass: androidx.media2.session.RemoteSessionPlayer.VolumeControlType:
-    Removed class androidx.media2.session.RemoteSessionPlayer.VolumeControlType
-RemovedClass: androidx.media2.session.SessionCommand.CommandCode:
-    Removed class androidx.media2.session.SessionCommand.CommandCode
-RemovedClass: androidx.media2.session.SessionCommand.CommandVersion:
-    Removed class androidx.media2.session.SessionCommand.CommandVersion
-RemovedClass: androidx.media2.session.SessionResult.ResultCode:
-    Removed class androidx.media2.session.SessionResult.ResultCode
-RemovedClass: androidx.media2.session.SessionToken.TokenType:
-    Removed class androidx.media2.session.SessionToken.TokenType
-
-
-RemovedField: androidx.media2.session.SessionCommand#COMMAND_CODE_SESSION_PLAY_FROM_MEDIA_ID:
-    Removed field androidx.media2.session.SessionCommand.COMMAND_CODE_SESSION_PLAY_FROM_MEDIA_ID
-RemovedField: androidx.media2.session.SessionCommand#COMMAND_CODE_SESSION_PLAY_FROM_SEARCH:
-    Removed field androidx.media2.session.SessionCommand.COMMAND_CODE_SESSION_PLAY_FROM_SEARCH
-RemovedField: androidx.media2.session.SessionCommand#COMMAND_CODE_SESSION_PLAY_FROM_URI:
-    Removed field androidx.media2.session.SessionCommand.COMMAND_CODE_SESSION_PLAY_FROM_URI
-RemovedField: androidx.media2.session.SessionCommand#COMMAND_CODE_SESSION_PREPARE_FROM_MEDIA_ID:
-    Removed field androidx.media2.session.SessionCommand.COMMAND_CODE_SESSION_PREPARE_FROM_MEDIA_ID
-RemovedField: androidx.media2.session.SessionCommand#COMMAND_CODE_SESSION_PREPARE_FROM_SEARCH:
-    Removed field androidx.media2.session.SessionCommand.COMMAND_CODE_SESSION_PREPARE_FROM_SEARCH
-RemovedField: androidx.media2.session.SessionCommand#COMMAND_CODE_SESSION_PREPARE_FROM_URI:
-    Removed field androidx.media2.session.SessionCommand.COMMAND_CODE_SESSION_PREPARE_FROM_URI
-RemovedField: androidx.media2.session.SessionCommand#COMMAND_VERSION_CURRENT:
-    Removed field androidx.media2.session.SessionCommand.COMMAND_VERSION_CURRENT
-
-
-RemovedInterface: androidx.media2.session.MediaController:
-    Class androidx.media2.session.MediaController no longer implements java.lang.AutoCloseable
-RemovedInterface: androidx.media2.session.MediaSession:
-    Class androidx.media2.session.MediaSession no longer implements java.lang.AutoCloseable
-RemovedInterface: androidx.media2.session.SessionResult:
-    Class androidx.media2.session.SessionResult no longer implements androidx.versionedparcelable.VersionedParcelable
-RemovedInterface: androidx.media2.session.SessionToken.OnSessionTokenCreatedListener:
-    Removed class androidx.media2.session.SessionToken.OnSessionTokenCreatedListener
-
-
-RemovedMethod: androidx.media2.session.MediaController#playFromMediaId(String, android.os.Bundle):
-    Removed method androidx.media2.session.MediaController.playFromMediaId(String,android.os.Bundle)
-RemovedMethod: androidx.media2.session.MediaController#playFromSearch(String, android.os.Bundle):
-    Removed method androidx.media2.session.MediaController.playFromSearch(String,android.os.Bundle)
-RemovedMethod: androidx.media2.session.MediaController#playFromUri(android.net.Uri, android.os.Bundle):
-    Removed method androidx.media2.session.MediaController.playFromUri(android.net.Uri,android.os.Bundle)
-RemovedMethod: androidx.media2.session.MediaController#prepareFromMediaId(String, android.os.Bundle):
-    Removed method androidx.media2.session.MediaController.prepareFromMediaId(String,android.os.Bundle)
-RemovedMethod: androidx.media2.session.MediaController#prepareFromSearch(String, android.os.Bundle):
-    Removed method androidx.media2.session.MediaController.prepareFromSearch(String,android.os.Bundle)
-RemovedMethod: androidx.media2.session.MediaController#prepareFromUri(android.net.Uri, android.os.Bundle):
-    Removed method androidx.media2.session.MediaController.prepareFromUri(android.net.Uri,android.os.Bundle)
-RemovedMethod: androidx.media2.session.MediaController#setTimeDiff(Long):
-    Removed method androidx.media2.session.MediaController.setTimeDiff(Long)
-RemovedMethod: androidx.media2.session.MediaSession#getSessionCompat():
-    Removed method androidx.media2.session.MediaSession.getSessionCompat()
-RemovedMethod: androidx.media2.session.MediaSession#isClosed():
-    Removed method androidx.media2.session.MediaSession.isClosed()
-RemovedMethod: androidx.media2.session.MediaSession.ControllerInfo#getRemoteUserInfo():
-    Removed method androidx.media2.session.MediaSession.ControllerInfo.getRemoteUserInfo()
-RemovedMethod: androidx.media2.session.MediaSession.ControllerInfo#isTrusted():
-    Removed method androidx.media2.session.MediaSession.ControllerInfo.isTrusted()
-RemovedMethod: androidx.media2.session.MediaSession.SessionCallback#onPlayFromMediaId(androidx.media2.session.MediaSession, androidx.media2.session.MediaSession.ControllerInfo, String, android.os.Bundle):
-    Removed method androidx.media2.session.MediaSession.SessionCallback.onPlayFromMediaId(androidx.media2.session.MediaSession,androidx.media2.session.MediaSession.ControllerInfo,String,android.os.Bundle)
-RemovedMethod: androidx.media2.session.MediaSession.SessionCallback#onPlayFromSearch(androidx.media2.session.MediaSession, androidx.media2.session.MediaSession.ControllerInfo, String, android.os.Bundle):
-    Removed method androidx.media2.session.MediaSession.SessionCallback.onPlayFromSearch(androidx.media2.session.MediaSession,androidx.media2.session.MediaSession.ControllerInfo,String,android.os.Bundle)
-RemovedMethod: androidx.media2.session.MediaSession.SessionCallback#onPlayFromUri(androidx.media2.session.MediaSession, androidx.media2.session.MediaSession.ControllerInfo, android.net.Uri, android.os.Bundle):
-    Removed method androidx.media2.session.MediaSession.SessionCallback.onPlayFromUri(androidx.media2.session.MediaSession,androidx.media2.session.MediaSession.ControllerInfo,android.net.Uri,android.os.Bundle)
-RemovedMethod: androidx.media2.session.MediaSession.SessionCallback#onPrepareFromMediaId(androidx.media2.session.MediaSession, androidx.media2.session.MediaSession.ControllerInfo, String, android.os.Bundle):
-    Removed method androidx.media2.session.MediaSession.SessionCallback.onPrepareFromMediaId(androidx.media2.session.MediaSession,androidx.media2.session.MediaSession.ControllerInfo,String,android.os.Bundle)
-RemovedMethod: androidx.media2.session.MediaSession.SessionCallback#onPrepareFromSearch(androidx.media2.session.MediaSession, androidx.media2.session.MediaSession.ControllerInfo, String, android.os.Bundle):
-    Removed method androidx.media2.session.MediaSession.SessionCallback.onPrepareFromSearch(androidx.media2.session.MediaSession,androidx.media2.session.MediaSession.ControllerInfo,String,android.os.Bundle)
-RemovedMethod: androidx.media2.session.MediaSession.SessionCallback#onPrepareFromUri(androidx.media2.session.MediaSession, androidx.media2.session.MediaSession.ControllerInfo, android.net.Uri, android.os.Bundle):
-    Removed method androidx.media2.session.MediaSession.SessionCallback.onPrepareFromUri(androidx.media2.session.MediaSession,androidx.media2.session.MediaSession.ControllerInfo,android.net.Uri,android.os.Bundle)
-RemovedMethod: androidx.media2.session.SessionToken#createSessionToken(android.content.Context, android.support.v4.media.session.MediaSessionCompat.Token, java.util.concurrent.Executor, androidx.media2.session.SessionToken.OnSessionTokenCreatedListener):
-    Removed method androidx.media2.session.SessionToken.createSessionToken(android.content.Context,android.support.v4.media.session.MediaSessionCompat.Token,java.util.concurrent.Executor,androidx.media2.session.SessionToken.OnSessionTokenCreatedListener)
-RemovedMethod: androidx.media2.session.SessionToken#getBinder():
-    Removed method androidx.media2.session.SessionToken.getBinder()
-RemovedMethod: androidx.media2.session.SessionToken#getComponentName():
-    Removed method androidx.media2.session.SessionToken.getComponentName()
-RemovedMethod: androidx.media2.session.SessionToken#isLegacySession():
-    Removed method androidx.media2.session.SessionToken.isLegacySession()
diff --git a/mediarouter/mediarouter/api/api_lint.ignore b/mediarouter/mediarouter/api/api_lint.ignore
index 9db8fc8..4be53a4 100644
--- a/mediarouter/mediarouter/api/api_lint.ignore
+++ b/mediarouter/mediarouter/api/api_lint.ignore
@@ -117,6 +117,28 @@
     Missing nullability on field `EMPTY` in class `class androidx.mediarouter.media.MediaRouteSelector`
 
 
+NullableCollection: androidx.mediarouter.media.MediaItemStatus#getExtras():
+    Return type of method androidx.mediarouter.media.MediaItemStatus.getExtras() is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.mediarouter.media.MediaRouteDescriptor#getExtras():
+    Return type of method androidx.mediarouter.media.MediaRouteDescriptor.getExtras() is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.mediarouter.media.MediaRouter.ControlRequestCallback#onError(String, android.os.Bundle) parameter #1:
+    Type of parameter data in androidx.mediarouter.media.MediaRouter.ControlRequestCallback.onError(String error, android.os.Bundle data) is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.mediarouter.media.MediaRouter.ControlRequestCallback#onResult(android.os.Bundle) parameter #0:
+    Type of parameter data in androidx.mediarouter.media.MediaRouter.ControlRequestCallback.onResult(android.os.Bundle data) is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.mediarouter.media.MediaRouter.RouteInfo#getExtras():
+    Return type of method androidx.mediarouter.media.MediaRouter.RouteInfo.getExtras() is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.mediarouter.media.MediaSessionStatus#getExtras():
+    Return type of method androidx.mediarouter.media.MediaSessionStatus.getExtras() is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.mediarouter.media.RemotePlaybackClient.ActionCallback#onError(String, int, android.os.Bundle) parameter #2:
+    Type of parameter data in androidx.mediarouter.media.RemotePlaybackClient.ActionCallback.onError(String error, int code, android.os.Bundle data) is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.mediarouter.media.RemotePlaybackClient.OnMessageReceivedListener#onMessageReceived(String, android.os.Bundle) parameter #1:
+    Type of parameter message in androidx.mediarouter.media.RemotePlaybackClient.OnMessageReceivedListener.onMessageReceived(String sessionId, android.os.Bundle message) is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.mediarouter.media.RemotePlaybackClient.StatusCallback#onItemStatusChanged(android.os.Bundle, String, androidx.mediarouter.media.MediaSessionStatus, String, androidx.mediarouter.media.MediaItemStatus) parameter #0:
+    Type of parameter data in androidx.mediarouter.media.RemotePlaybackClient.StatusCallback.onItemStatusChanged(android.os.Bundle data, String sessionId, androidx.mediarouter.media.MediaSessionStatus sessionStatus, String itemId, androidx.mediarouter.media.MediaItemStatus itemStatus) is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.mediarouter.media.RemotePlaybackClient.StatusCallback#onSessionStatusChanged(android.os.Bundle, String, androidx.mediarouter.media.MediaSessionStatus) parameter #0:
+    Type of parameter data in androidx.mediarouter.media.RemotePlaybackClient.StatusCallback.onSessionStatusChanged(android.os.Bundle data, String sessionId, androidx.mediarouter.media.MediaSessionStatus sessionStatus) is a nullable collection (`android.os.Bundle`); must be non-null
+
+
 RegistrationName: androidx.mediarouter.media.MediaRouter#addCallback(androidx.mediarouter.media.MediaRouteSelector, androidx.mediarouter.media.MediaRouter.Callback):
     Callback methods should be named register/unregister; was addCallback
 RegistrationName: androidx.mediarouter.media.MediaRouter#addCallback(androidx.mediarouter.media.MediaRouteSelector, androidx.mediarouter.media.MediaRouter.Callback, int):
diff --git a/mediarouter/mediarouter/api/restricted_current.ignore b/mediarouter/mediarouter/api/restricted_current.ignore
deleted file mode 100644
index 6871cc5..0000000
--- a/mediarouter/mediarouter/api/restricted_current.ignore
+++ /dev/null
@@ -1,47 +0,0 @@
-// Baseline format: 1.0
-RemovedClass: androidx.mediarouter.media.MediaRouteProvider.DynamicGroupRouteController.DynamicRouteDescriptor.SelectionState:
-    Removed class androidx.mediarouter.media.MediaRouteProvider.DynamicGroupRouteController.DynamicRouteDescriptor.SelectionState
-
-
-RemovedField: androidx.mediarouter.media.MediaRouter.RouteInfo#DEVICE_TYPE_BLUETOOTH:
-    Removed field androidx.mediarouter.media.MediaRouter.RouteInfo.DEVICE_TYPE_BLUETOOTH
-RemovedField: androidx.mediarouter.media.MediaRouter.RouteInfo#DEVICE_TYPE_UNKNOWN:
-    Removed field androidx.mediarouter.media.MediaRouter.RouteInfo.DEVICE_TYPE_UNKNOWN
-RemovedField: androidx.mediarouter.media.MediaRouter.RouteInfo#PRESENTATION_DISPLAY_ID_NONE:
-    Removed field androidx.mediarouter.media.MediaRouter.RouteInfo.PRESENTATION_DISPLAY_ID_NONE
-
-
-RemovedMethod: androidx.mediarouter.app.MediaRouteControllerDialogFragment#getRouteSelector():
-    Removed method androidx.mediarouter.app.MediaRouteControllerDialogFragment.getRouteSelector()
-RemovedMethod: androidx.mediarouter.app.MediaRouteControllerDialogFragment#setRouteSelector(androidx.mediarouter.media.MediaRouteSelector):
-    Removed method androidx.mediarouter.app.MediaRouteControllerDialogFragment.setRouteSelector(androidx.mediarouter.media.MediaRouteSelector)
-RemovedMethod: androidx.mediarouter.media.MediaRouteDescriptor#getGroupMemberIds():
-    Removed method androidx.mediarouter.media.MediaRouteDescriptor.getGroupMemberIds()
-RemovedMethod: androidx.mediarouter.media.MediaRouteDescriptor#getMaxClientVersion():
-    Removed method androidx.mediarouter.media.MediaRouteDescriptor.getMaxClientVersion()
-RemovedMethod: androidx.mediarouter.media.MediaRouteDescriptor#getMinClientVersion():
-    Removed method androidx.mediarouter.media.MediaRouteDescriptor.getMinClientVersion()
-RemovedMethod: androidx.mediarouter.media.MediaRouteDescriptor.Builder#addGroupMemberId(String):
-    Removed method androidx.mediarouter.media.MediaRouteDescriptor.Builder.addGroupMemberId(String)
-RemovedMethod: androidx.mediarouter.media.MediaRouteDescriptor.Builder#addGroupMemberIds(java.util.Collection<java.lang.String>):
-    Removed method androidx.mediarouter.media.MediaRouteDescriptor.Builder.addGroupMemberIds(java.util.Collection<java.lang.String>)
-RemovedMethod: androidx.mediarouter.media.MediaRouteDescriptor.Builder#removeGroupMemberId(String):
-    Removed method androidx.mediarouter.media.MediaRouteDescriptor.Builder.removeGroupMemberId(String)
-RemovedMethod: androidx.mediarouter.media.MediaRouteDescriptor.Builder#setMaxClientVersion(int):
-    Removed method androidx.mediarouter.media.MediaRouteDescriptor.Builder.setMaxClientVersion(int)
-RemovedMethod: androidx.mediarouter.media.MediaRouteDescriptor.Builder#setMinClientVersion(int):
-    Removed method androidx.mediarouter.media.MediaRouteDescriptor.Builder.setMinClientVersion(int)
-RemovedMethod: androidx.mediarouter.media.MediaRouteProvider#onCreateRouteController(String, String):
-    Removed method androidx.mediarouter.media.MediaRouteProvider.onCreateRouteController(String,String)
-RemovedMethod: androidx.mediarouter.media.MediaRouter.RouteInfo#getDynamicGroupController():
-    Removed method androidx.mediarouter.media.MediaRouter.RouteInfo.getDynamicGroupController()
-RemovedMethod: androidx.mediarouter.media.MediaRouter.RouteInfo#getMemberRoutes():
-    Removed method androidx.mediarouter.media.MediaRouter.RouteInfo.getMemberRoutes()
-RemovedMethod: androidx.mediarouter.media.MediaRouter.RouteInfo#getPresentationDisplayId():
-    Removed method androidx.mediarouter.media.MediaRouter.RouteInfo.getPresentationDisplayId()
-RemovedMethod: androidx.mediarouter.media.MediaRouter.RouteInfo#getProviderInstance():
-    Removed method androidx.mediarouter.media.MediaRouter.RouteInfo.getProviderInstance()
-RemovedMethod: androidx.mediarouter.media.MediaRouter.RouteInfo#isDefaultOrBluetooth():
-    Removed method androidx.mediarouter.media.MediaRouter.RouteInfo.isDefaultOrBluetooth()
-RemovedMethod: androidx.mediarouter.media.MediaRouter.RouteInfo#isGroup():
-    Removed method androidx.mediarouter.media.MediaRouter.RouteInfo.isGroup()
diff --git a/navigation/navigation-common/api/api_lint.ignore b/navigation/navigation-common/api/api_lint.ignore
index 496b83c..baa1c57 100644
--- a/navigation/navigation-common/api/api_lint.ignore
+++ b/navigation/navigation-common/api/api_lint.ignore
@@ -59,3 +59,9 @@
     androidx.navigation.NavArgument does not declare a `isIsNullable()` method matching method androidx.navigation.NavArgument.Builder.setIsNullable(boolean)
 MissingGetterMatchingBuilder: androidx.navigation.NavOptions.Builder#setLaunchSingleTop(boolean):
     androidx.navigation.NavOptions does not declare a `isLaunchSingleTop()` method matching method androidx.navigation.NavOptions.Builder.setLaunchSingleTop(boolean)
+
+
+NullableCollection: androidx.navigation.NavAction#getDefaultArguments():
+    Return type of method androidx.navigation.NavAction.getDefaultArguments() is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.navigation.Navigator#onSaveState():
+    Return type of method androidx.navigation.Navigator.onSaveState() is a nullable collection (`android.os.Bundle`); must be non-null
diff --git a/navigation/navigation-dynamic-features-runtime/api/current.ignore b/navigation/navigation-dynamic-features-runtime/api/current.ignore
new file mode 100644
index 0000000..86f7ec0
--- /dev/null
+++ b/navigation/navigation-dynamic-features-runtime/api/current.ignore
@@ -0,0 +1,3 @@
+// Baseline format: 1.0
+RemovedMethod: androidx.navigation.dynamicfeatures.DynamicExtras#DynamicExtras():
+    Removed constructor androidx.navigation.dynamicfeatures.DynamicExtras()
diff --git a/navigation/navigation-dynamic-features-runtime/api/current.txt b/navigation/navigation-dynamic-features-runtime/api/current.txt
index aa521d7..2145c1f 100644
--- a/navigation/navigation-dynamic-features-runtime/api/current.txt
+++ b/navigation/navigation-dynamic-features-runtime/api/current.txt
@@ -42,9 +42,8 @@
   }
 
   public final class DynamicExtras implements androidx.navigation.Navigator.Extras {
-    ctor public DynamicExtras(androidx.navigation.dynamicfeatures.DynamicInstallMonitor? installMonitor, androidx.navigation.Navigator.Extras? destinationExtras);
-    ctor public DynamicExtras(androidx.navigation.dynamicfeatures.DynamicInstallMonitor? installMonitor);
-    ctor public DynamicExtras();
+    ctor public DynamicExtras(optional androidx.navigation.dynamicfeatures.DynamicInstallMonitor? installMonitor, optional androidx.navigation.Navigator.Extras? destinationExtras);
+    ctor public DynamicExtras(optional androidx.navigation.dynamicfeatures.DynamicInstallMonitor? installMonitor);
     method public androidx.navigation.Navigator.Extras? getDestinationExtras();
     method public androidx.navigation.dynamicfeatures.DynamicInstallMonitor? getInstallMonitor();
     property public final androidx.navigation.Navigator.Extras? destinationExtras;
diff --git a/navigation/navigation-dynamic-features-runtime/api/public_plus_experimental_current.txt b/navigation/navigation-dynamic-features-runtime/api/public_plus_experimental_current.txt
index aa521d7..2145c1f 100644
--- a/navigation/navigation-dynamic-features-runtime/api/public_plus_experimental_current.txt
+++ b/navigation/navigation-dynamic-features-runtime/api/public_plus_experimental_current.txt
@@ -42,9 +42,8 @@
   }
 
   public final class DynamicExtras implements androidx.navigation.Navigator.Extras {
-    ctor public DynamicExtras(androidx.navigation.dynamicfeatures.DynamicInstallMonitor? installMonitor, androidx.navigation.Navigator.Extras? destinationExtras);
-    ctor public DynamicExtras(androidx.navigation.dynamicfeatures.DynamicInstallMonitor? installMonitor);
-    ctor public DynamicExtras();
+    ctor public DynamicExtras(optional androidx.navigation.dynamicfeatures.DynamicInstallMonitor? installMonitor, optional androidx.navigation.Navigator.Extras? destinationExtras);
+    ctor public DynamicExtras(optional androidx.navigation.dynamicfeatures.DynamicInstallMonitor? installMonitor);
     method public androidx.navigation.Navigator.Extras? getDestinationExtras();
     method public androidx.navigation.dynamicfeatures.DynamicInstallMonitor? getInstallMonitor();
     property public final androidx.navigation.Navigator.Extras? destinationExtras;
diff --git a/navigation/navigation-dynamic-features-runtime/api/restricted_current.ignore b/navigation/navigation-dynamic-features-runtime/api/restricted_current.ignore
new file mode 100644
index 0000000..86f7ec0
--- /dev/null
+++ b/navigation/navigation-dynamic-features-runtime/api/restricted_current.ignore
@@ -0,0 +1,3 @@
+// Baseline format: 1.0
+RemovedMethod: androidx.navigation.dynamicfeatures.DynamicExtras#DynamicExtras():
+    Removed constructor androidx.navigation.dynamicfeatures.DynamicExtras()
diff --git a/navigation/navigation-dynamic-features-runtime/api/restricted_current.txt b/navigation/navigation-dynamic-features-runtime/api/restricted_current.txt
index aa521d7..2145c1f 100644
--- a/navigation/navigation-dynamic-features-runtime/api/restricted_current.txt
+++ b/navigation/navigation-dynamic-features-runtime/api/restricted_current.txt
@@ -42,9 +42,8 @@
   }
 
   public final class DynamicExtras implements androidx.navigation.Navigator.Extras {
-    ctor public DynamicExtras(androidx.navigation.dynamicfeatures.DynamicInstallMonitor? installMonitor, androidx.navigation.Navigator.Extras? destinationExtras);
-    ctor public DynamicExtras(androidx.navigation.dynamicfeatures.DynamicInstallMonitor? installMonitor);
-    ctor public DynamicExtras();
+    ctor public DynamicExtras(optional androidx.navigation.dynamicfeatures.DynamicInstallMonitor? installMonitor, optional androidx.navigation.Navigator.Extras? destinationExtras);
+    ctor public DynamicExtras(optional androidx.navigation.dynamicfeatures.DynamicInstallMonitor? installMonitor);
     method public androidx.navigation.Navigator.Extras? getDestinationExtras();
     method public androidx.navigation.dynamicfeatures.DynamicInstallMonitor? getInstallMonitor();
     property public final androidx.navigation.Navigator.Extras? destinationExtras;
diff --git a/navigation/navigation-runtime/api/api_lint.ignore b/navigation/navigation-runtime/api/api_lint.ignore
index 15edacb..71e80b5 100644
--- a/navigation/navigation-runtime/api/api_lint.ignore
+++ b/navigation/navigation-runtime/api/api_lint.ignore
@@ -13,5 +13,13 @@
     androidx.navigation.NavDeepLinkBuilder does not declare a `build()` method, but builder classes are expected to
 
 
+NullableCollection: androidx.navigation.NavBackStackEntry#getArguments():
+    Return type of method androidx.navigation.NavBackStackEntry.getArguments() is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.navigation.NavController#saveState():
+    Return type of method androidx.navigation.NavController.saveState() is a nullable collection (`android.os.Bundle`); must be non-null
+NullableCollection: androidx.navigation.NavController.OnDestinationChangedListener#onDestinationChanged(androidx.navigation.NavController, androidx.navigation.NavDestination, android.os.Bundle) parameter #2:
+    Type of parameter arguments in androidx.navigation.NavController.OnDestinationChangedListener.onDestinationChanged(androidx.navigation.NavController controller, androidx.navigation.NavDestination destination, android.os.Bundle arguments) is a nullable collection (`android.os.Bundle`); must be non-null
+
+
 TopLevelBuilder: androidx.navigation.NavDeepLinkBuilder:
     Builder should be defined as inner class: androidx.navigation.NavDeepLinkBuilder
diff --git a/paging/common/api/3.0.0-beta01.txt b/paging/common/api/3.0.0-beta01.txt
index 5d8c35c..641dd69 100644
--- a/paging/common/api/3.0.0-beta01.txt
+++ b/paging/common/api/3.0.0-beta01.txt
@@ -9,7 +9,7 @@
   }
 
   public final class CombinedLoadStates {
-    ctor public CombinedLoadStates(androidx.paging.LoadState refresh, androidx.paging.LoadState prepend, androidx.paging.LoadState append, androidx.paging.LoadStates source, androidx.paging.LoadStates? mediator);
+    ctor public CombinedLoadStates(androidx.paging.LoadState refresh, androidx.paging.LoadState prepend, androidx.paging.LoadState append, androidx.paging.LoadStates source, optional androidx.paging.LoadStates? mediator);
     method public androidx.paging.LoadState getAppend();
     method public androidx.paging.LoadStates? getMediator();
     method public androidx.paging.LoadState getPrepend();
@@ -265,19 +265,19 @@
   }
 
   public final class Pager<Key, Value> {
-    ctor @androidx.paging.ExperimentalPagingApi public Pager(androidx.paging.PagingConfig config, Key? initialKey, androidx.paging.RemoteMediator<Key,Value>? remoteMediator, kotlin.jvm.functions.Function0<? extends androidx.paging.PagingSource<Key,Value>> pagingSourceFactory);
-    ctor public Pager(androidx.paging.PagingConfig config, Key? initialKey, kotlin.jvm.functions.Function0<? extends androidx.paging.PagingSource<Key,Value>> pagingSourceFactory);
+    ctor @androidx.paging.ExperimentalPagingApi public Pager(androidx.paging.PagingConfig config, optional Key? initialKey, androidx.paging.RemoteMediator<Key,Value>? remoteMediator, kotlin.jvm.functions.Function0<? extends androidx.paging.PagingSource<Key,Value>> pagingSourceFactory);
+    ctor public Pager(androidx.paging.PagingConfig config, optional Key? initialKey, kotlin.jvm.functions.Function0<? extends androidx.paging.PagingSource<Key,Value>> pagingSourceFactory);
     ctor public Pager(androidx.paging.PagingConfig config, kotlin.jvm.functions.Function0<? extends androidx.paging.PagingSource<Key,Value>> pagingSourceFactory);
     method public kotlinx.coroutines.flow.Flow<androidx.paging.PagingData<Value>> getFlow();
     property public final kotlinx.coroutines.flow.Flow<androidx.paging.PagingData<Value>> flow;
   }
 
   public final class PagingConfig {
-    ctor public PagingConfig(int pageSize, @IntRange(from=0) int prefetchDistance, boolean enablePlaceholders, @IntRange(from=1) int initialLoadSize, @IntRange(from=2) int maxSize, int jumpThreshold);
-    ctor public PagingConfig(int pageSize, @IntRange(from=0) int prefetchDistance, boolean enablePlaceholders, @IntRange(from=1) int initialLoadSize, @IntRange(from=2) int maxSize);
-    ctor public PagingConfig(int pageSize, @IntRange(from=0) int prefetchDistance, boolean enablePlaceholders, @IntRange(from=1) int initialLoadSize);
-    ctor public PagingConfig(int pageSize, @IntRange(from=0) int prefetchDistance, boolean enablePlaceholders);
-    ctor public PagingConfig(int pageSize, @IntRange(from=0) int prefetchDistance);
+    ctor public PagingConfig(int pageSize, optional @IntRange(from=0) int prefetchDistance, optional boolean enablePlaceholders, optional @IntRange(from=1) int initialLoadSize, optional @IntRange(from=2) int maxSize, optional int jumpThreshold);
+    ctor public PagingConfig(int pageSize, optional @IntRange(from=0) int prefetchDistance, optional boolean enablePlaceholders, optional @IntRange(from=1) int initialLoadSize, optional @IntRange(from=2) int maxSize);
+    ctor public PagingConfig(int pageSize, optional @IntRange(from=0) int prefetchDistance, optional boolean enablePlaceholders, optional @IntRange(from=1) int initialLoadSize);
+    ctor public PagingConfig(int pageSize, optional @IntRange(from=0) int prefetchDistance, optional boolean enablePlaceholders);
+    ctor public PagingConfig(int pageSize, optional @IntRange(from=0) int prefetchDistance);
     ctor public PagingConfig(int pageSize);
     field public static final androidx.paging.PagingConfig.Companion Companion;
     field public static final int MAX_SIZE_UNBOUNDED = 2147483647; // 0x7fffffff
@@ -369,7 +369,7 @@
   }
 
   public static final class PagingSource.LoadResult.Page<Key, Value> extends androidx.paging.PagingSource.LoadResult<Key,Value> {
-    ctor public PagingSource.LoadResult.Page(java.util.List<? extends Value> data, Key? prevKey, Key? nextKey, @IntRange(from=COUNT_UNDEFINED.toLong()) int itemsBefore, @IntRange(from=COUNT_UNDEFINED.toLong()) int itemsAfter);
+    ctor public PagingSource.LoadResult.Page(java.util.List<? extends Value> data, Key? prevKey, Key? nextKey, optional @IntRange(from=COUNT_UNDEFINED.toLong()) int itemsBefore, optional @IntRange(from=COUNT_UNDEFINED.toLong()) int itemsAfter);
     ctor public PagingSource.LoadResult.Page(java.util.List<? extends Value> data, Key? prevKey, Key? nextKey);
     method public java.util.List<Value> component1();
     method public Key? component2();
diff --git a/paging/common/api/current.txt b/paging/common/api/current.txt
index 5d8c35c..641dd69 100644
--- a/paging/common/api/current.txt
+++ b/paging/common/api/current.txt
@@ -9,7 +9,7 @@
   }
 
   public final class CombinedLoadStates {
-    ctor public CombinedLoadStates(androidx.paging.LoadState refresh, androidx.paging.LoadState prepend, androidx.paging.LoadState append, androidx.paging.LoadStates source, androidx.paging.LoadStates? mediator);
+    ctor public CombinedLoadStates(androidx.paging.LoadState refresh, androidx.paging.LoadState prepend, androidx.paging.LoadState append, androidx.paging.LoadStates source, optional androidx.paging.LoadStates? mediator);
     method public androidx.paging.LoadState getAppend();
     method public androidx.paging.LoadStates? getMediator();
     method public androidx.paging.LoadState getPrepend();
@@ -265,19 +265,19 @@
   }
 
   public final class Pager<Key, Value> {
-    ctor @androidx.paging.ExperimentalPagingApi public Pager(androidx.paging.PagingConfig config, Key? initialKey, androidx.paging.RemoteMediator<Key,Value>? remoteMediator, kotlin.jvm.functions.Function0<? extends androidx.paging.PagingSource<Key,Value>> pagingSourceFactory);
-    ctor public Pager(androidx.paging.PagingConfig config, Key? initialKey, kotlin.jvm.functions.Function0<? extends androidx.paging.PagingSource<Key,Value>> pagingSourceFactory);
+    ctor @androidx.paging.ExperimentalPagingApi public Pager(androidx.paging.PagingConfig config, optional Key? initialKey, androidx.paging.RemoteMediator<Key,Value>? remoteMediator, kotlin.jvm.functions.Function0<? extends androidx.paging.PagingSource<Key,Value>> pagingSourceFactory);
+    ctor public Pager(androidx.paging.PagingConfig config, optional Key? initialKey, kotlin.jvm.functions.Function0<? extends androidx.paging.PagingSource<Key,Value>> pagingSourceFactory);
     ctor public Pager(androidx.paging.PagingConfig config, kotlin.jvm.functions.Function0<? extends androidx.paging.PagingSource<Key,Value>> pagingSourceFactory);
     method public kotlinx.coroutines.flow.Flow<androidx.paging.PagingData<Value>> getFlow();
     property public final kotlinx.coroutines.flow.Flow<androidx.paging.PagingData<Value>> flow;
   }
 
   public final class PagingConfig {
-    ctor public PagingConfig(int pageSize, @IntRange(from=0) int prefetchDistance, boolean enablePlaceholders, @IntRange(from=1) int initialLoadSize, @IntRange(from=2) int maxSize, int jumpThreshold);
-    ctor public PagingConfig(int pageSize, @IntRange(from=0) int prefetchDistance, boolean enablePlaceholders, @IntRange(from=1) int initialLoadSize, @IntRange(from=2) int maxSize);
-    ctor public PagingConfig(int pageSize, @IntRange(from=0) int prefetchDistance, boolean enablePlaceholders, @IntRange(from=1) int initialLoadSize);
-    ctor public PagingConfig(int pageSize, @IntRange(from=0) int prefetchDistance, boolean enablePlaceholders);
-    ctor public PagingConfig(int pageSize, @IntRange(from=0) int prefetchDistance);
+    ctor public PagingConfig(int pageSize, optional @IntRange(from=0) int prefetchDistance, optional boolean enablePlaceholders, optional @IntRange(from=1) int initialLoadSize, optional @IntRange(from=2) int maxSize, optional int jumpThreshold);
+    ctor public PagingConfig(int pageSize, optional @IntRange(from=0) int prefetchDistance, optional boolean enablePlaceholders, optional @IntRange(from=1) int initialLoadSize, optional @IntRange(from=2) int maxSize);
+    ctor public PagingConfig(int pageSize, optional @IntRange(from=0) int prefetchDistance, optional boolean enablePlaceholders, optional @IntRange(from=1) int initialLoadSize);
+    ctor public PagingConfig(int pageSize, optional @IntRange(from=0) int prefetchDistance, optional boolean enablePlaceholders);
+    ctor public PagingConfig(int pageSize, optional @IntRange(from=0) int prefetchDistance);
     ctor public PagingConfig(int pageSize);
     field public static final androidx.paging.PagingConfig.Companion Companion;
     field public static final int MAX_SIZE_UNBOUNDED = 2147483647; // 0x7fffffff
@@ -369,7 +369,7 @@
   }
 
   public static final class PagingSource.LoadResult.Page<Key, Value> extends androidx.paging.PagingSource.LoadResult<Key,Value> {
-    ctor public PagingSource.LoadResult.Page(java.util.List<? extends Value> data, Key? prevKey, Key? nextKey, @IntRange(from=COUNT_UNDEFINED.toLong()) int itemsBefore, @IntRange(from=COUNT_UNDEFINED.toLong()) int itemsAfter);
+    ctor public PagingSource.LoadResult.Page(java.util.List<? extends Value> data, Key? prevKey, Key? nextKey, optional @IntRange(from=COUNT_UNDEFINED.toLong()) int itemsBefore, optional @IntRange(from=COUNT_UNDEFINED.toLong()) int itemsAfter);
     ctor public PagingSource.LoadResult.Page(java.util.List<? extends Value> data, Key? prevKey, Key? nextKey);
     method public java.util.List<Value> component1();
     method public Key? component2();
diff --git a/paging/common/api/public_plus_experimental_3.0.0-beta01.txt b/paging/common/api/public_plus_experimental_3.0.0-beta01.txt
index 8f4fedf..9ae0302 100644
--- a/paging/common/api/public_plus_experimental_3.0.0-beta01.txt
+++ b/paging/common/api/public_plus_experimental_3.0.0-beta01.txt
@@ -9,7 +9,7 @@
   }
 
   public final class CombinedLoadStates {
-    ctor public CombinedLoadStates(androidx.paging.LoadState refresh, androidx.paging.LoadState prepend, androidx.paging.LoadState append, androidx.paging.LoadStates source, androidx.paging.LoadStates? mediator);
+    ctor public CombinedLoadStates(androidx.paging.LoadState refresh, androidx.paging.LoadState prepend, androidx.paging.LoadState append, androidx.paging.LoadStates source, optional androidx.paging.LoadStates? mediator);
     method public androidx.paging.LoadState getAppend();
     method public androidx.paging.LoadStates? getMediator();
     method public androidx.paging.LoadState getPrepend();
@@ -266,19 +266,19 @@
   }
 
   public final class Pager<Key, Value> {
-    ctor @androidx.paging.ExperimentalPagingApi public Pager(androidx.paging.PagingConfig config, Key? initialKey, androidx.paging.RemoteMediator<Key,Value>? remoteMediator, kotlin.jvm.functions.Function0<? extends androidx.paging.PagingSource<Key,Value>> pagingSourceFactory);
-    ctor public Pager(androidx.paging.PagingConfig config, Key? initialKey, kotlin.jvm.functions.Function0<? extends androidx.paging.PagingSource<Key,Value>> pagingSourceFactory);
+    ctor @androidx.paging.ExperimentalPagingApi public Pager(androidx.paging.PagingConfig config, optional Key? initialKey, androidx.paging.RemoteMediator<Key,Value>? remoteMediator, kotlin.jvm.functions.Function0<? extends androidx.paging.PagingSource<Key,Value>> pagingSourceFactory);
+    ctor public Pager(androidx.paging.PagingConfig config, optional Key? initialKey, kotlin.jvm.functions.Function0<? extends androidx.paging.PagingSource<Key,Value>> pagingSourceFactory);
     ctor public Pager(androidx.paging.PagingConfig config, kotlin.jvm.functions.Function0<? extends androidx.paging.PagingSource<Key,Value>> pagingSourceFactory);
     method public kotlinx.coroutines.flow.Flow<androidx.paging.PagingData<Value>> getFlow();
     property public final kotlinx.coroutines.flow.Flow<androidx.paging.PagingData<Value>> flow;
   }
 
   public final class PagingConfig {
-    ctor public PagingConfig(int pageSize, @IntRange(from=0) int prefetchDistance, boolean enablePlaceholders, @IntRange(from=1) int initialLoadSize, @IntRange(from=2) int maxSize, int jumpThreshold);
-    ctor public PagingConfig(int pageSize, @IntRange(from=0) int prefetchDistance, boolean enablePlaceholders, @IntRange(from=1) int initialLoadSize, @IntRange(from=2) int maxSize);
-    ctor public PagingConfig(int pageSize, @IntRange(from=0) int prefetchDistance, boolean enablePlaceholders, @IntRange(from=1) int initialLoadSize);
-    ctor public PagingConfig(int pageSize, @IntRange(from=0) int prefetchDistance, boolean enablePlaceholders);
-    ctor public PagingConfig(int pageSize, @IntRange(from=0) int prefetchDistance);
+    ctor public PagingConfig(int pageSize, optional @IntRange(from=0) int prefetchDistance, optional boolean enablePlaceholders, optional @IntRange(from=1) int initialLoadSize, optional @IntRange(from=2) int maxSize, optional int jumpThreshold);
+    ctor public PagingConfig(int pageSize, optional @IntRange(from=0) int prefetchDistance, optional boolean enablePlaceholders, optional @IntRange(from=1) int initialLoadSize, optional @IntRange(from=2) int maxSize);
+    ctor public PagingConfig(int pageSize, optional @IntRange(from=0) int prefetchDistance, optional boolean enablePlaceholders, optional @IntRange(from=1) int initialLoadSize);
+    ctor public PagingConfig(int pageSize, optional @IntRange(from=0) int prefetchDistance, optional boolean enablePlaceholders);
+    ctor public PagingConfig(int pageSize, optional @IntRange(from=0) int prefetchDistance);
     ctor public PagingConfig(int pageSize);
     field public static final androidx.paging.PagingConfig.Companion Companion;
     field public static final int MAX_SIZE_UNBOUNDED = 2147483647; // 0x7fffffff
@@ -370,7 +370,7 @@
   }
 
   public static final class PagingSource.LoadResult.Page<Key, Value> extends androidx.paging.PagingSource.LoadResult<Key,Value> {
-    ctor public PagingSource.LoadResult.Page(java.util.List<? extends Value> data, Key? prevKey, Key? nextKey, @IntRange(from=COUNT_UNDEFINED.toLong()) int itemsBefore, @IntRange(from=COUNT_UNDEFINED.toLong()) int itemsAfter);
+    ctor public PagingSource.LoadResult.Page(java.util.List<? extends Value> data, Key? prevKey, Key? nextKey, optional @IntRange(from=COUNT_UNDEFINED.toLong()) int itemsBefore, optional @IntRange(from=COUNT_UNDEFINED.toLong()) int itemsAfter);
     ctor public PagingSource.LoadResult.Page(java.util.List<? extends Value> data, Key? prevKey, Key? nextKey);
     method public java.util.List<Value> component1();
     method public Key? component2();
diff --git a/paging/common/api/public_plus_experimental_current.txt b/paging/common/api/public_plus_experimental_current.txt
index 8f4fedf..9ae0302 100644
--- a/paging/common/api/public_plus_experimental_current.txt
+++ b/paging/common/api/public_plus_experimental_current.txt
@@ -9,7 +9,7 @@
   }
 
   public final class CombinedLoadStates {
-    ctor public CombinedLoadStates(androidx.paging.LoadState refresh, androidx.paging.LoadState prepend, androidx.paging.LoadState append, androidx.paging.LoadStates source, androidx.paging.LoadStates? mediator);
+    ctor public CombinedLoadStates(androidx.paging.LoadState refresh, androidx.paging.LoadState prepend, androidx.paging.LoadState append, androidx.paging.LoadStates source, optional androidx.paging.LoadStates? mediator);
     method public androidx.paging.LoadState getAppend();
     method public androidx.paging.LoadStates? getMediator();
     method public androidx.paging.LoadState getPrepend();
@@ -266,19 +266,19 @@
   }
 
   public final class Pager<Key, Value> {
-    ctor @androidx.paging.ExperimentalPagingApi public Pager(androidx.paging.PagingConfig config, Key? initialKey, androidx.paging.RemoteMediator<Key,Value>? remoteMediator, kotlin.jvm.functions.Function0<? extends androidx.paging.PagingSource<Key,Value>> pagingSourceFactory);
-    ctor public Pager(androidx.paging.PagingConfig config, Key? initialKey, kotlin.jvm.functions.Function0<? extends androidx.paging.PagingSource<Key,Value>> pagingSourceFactory);
+    ctor @androidx.paging.ExperimentalPagingApi public Pager(androidx.paging.PagingConfig config, optional Key? initialKey, androidx.paging.RemoteMediator<Key,Value>? remoteMediator, kotlin.jvm.functions.Function0<? extends androidx.paging.PagingSource<Key,Value>> pagingSourceFactory);
+    ctor public Pager(androidx.paging.PagingConfig config, optional Key? initialKey, kotlin.jvm.functions.Function0<? extends androidx.paging.PagingSource<Key,Value>> pagingSourceFactory);
     ctor public Pager(androidx.paging.PagingConfig config, kotlin.jvm.functions.Function0<? extends androidx.paging.PagingSource<Key,Value>> pagingSourceFactory);
     method public kotlinx.coroutines.flow.Flow<androidx.paging.PagingData<Value>> getFlow();
     property public final kotlinx.coroutines.flow.Flow<androidx.paging.PagingData<Value>> flow;
   }
 
   public final class PagingConfig {
-    ctor public PagingConfig(int pageSize, @IntRange(from=0) int prefetchDistance, boolean enablePlaceholders, @IntRange(from=1) int initialLoadSize, @IntRange(from=2) int maxSize, int jumpThreshold);
-    ctor public PagingConfig(int pageSize, @IntRange(from=0) int prefetchDistance, boolean enablePlaceholders, @IntRange(from=1) int initialLoadSize, @IntRange(from=2) int maxSize);
-    ctor public PagingConfig(int pageSize, @IntRange(from=0) int prefetchDistance, boolean enablePlaceholders, @IntRange(from=1) int initialLoadSize);
-    ctor public PagingConfig(int pageSize, @IntRange(from=0) int prefetchDistance, boolean enablePlaceholders);
-    ctor public PagingConfig(int pageSize, @IntRange(from=0) int prefetchDistance);
+    ctor public PagingConfig(int pageSize, optional @IntRange(from=0) int prefetchDistance, optional boolean enablePlaceholders, optional @IntRange(from=1) int initialLoadSize, optional @IntRange(from=2) int maxSize, optional int jumpThreshold);
+    ctor public PagingConfig(int pageSize, optional @IntRange(from=0) int prefetchDistance, optional boolean enablePlaceholders, optional @IntRange(from=1) int initialLoadSize, optional @IntRange(from=2) int maxSize);
+    ctor public PagingConfig(int pageSize, optional @IntRange(from=0) int prefetchDistance, optional boolean enablePlaceholders, optional @IntRange(from=1) int initialLoadSize);
+    ctor public PagingConfig(int pageSize, optional @IntRange(from=0) int prefetchDistance, optional boolean enablePlaceholders);
+    ctor public PagingConfig(int pageSize, optional @IntRange(from=0) int prefetchDistance);
     ctor public PagingConfig(int pageSize);
     field public static final androidx.paging.PagingConfig.Companion Companion;
     field public static final int MAX_SIZE_UNBOUNDED = 2147483647; // 0x7fffffff
@@ -370,7 +370,7 @@
   }
 
   public static final class PagingSource.LoadResult.Page<Key, Value> extends androidx.paging.PagingSource.LoadResult<Key,Value> {
-    ctor public PagingSource.LoadResult.Page(java.util.List<? extends Value> data, Key? prevKey, Key? nextKey, @IntRange(from=COUNT_UNDEFINED.toLong()) int itemsBefore, @IntRange(from=COUNT_UNDEFINED.toLong()) int itemsAfter);
+    ctor public PagingSource.LoadResult.Page(java.util.List<? extends Value> data, Key? prevKey, Key? nextKey, optional @IntRange(from=COUNT_UNDEFINED.toLong()) int itemsBefore, optional @IntRange(from=COUNT_UNDEFINED.toLong()) int itemsAfter);
     ctor public PagingSource.LoadResult.Page(java.util.List<? extends Value> data, Key? prevKey, Key? nextKey);
     method public java.util.List<Value> component1();
     method public Key? component2();
diff --git a/paging/common/api/restricted_3.0.0-beta01.txt b/paging/common/api/restricted_3.0.0-beta01.txt
index 5d8c35c..641dd69 100644
--- a/paging/common/api/restricted_3.0.0-beta01.txt
+++ b/paging/common/api/restricted_3.0.0-beta01.txt
@@ -9,7 +9,7 @@
   }
 
   public final class CombinedLoadStates {
-    ctor public CombinedLoadStates(androidx.paging.LoadState refresh, androidx.paging.LoadState prepend, androidx.paging.LoadState append, androidx.paging.LoadStates source, androidx.paging.LoadStates? mediator);
+    ctor public CombinedLoadStates(androidx.paging.LoadState refresh, androidx.paging.LoadState prepend, androidx.paging.LoadState append, androidx.paging.LoadStates source, optional androidx.paging.LoadStates? mediator);
     method public androidx.paging.LoadState getAppend();
     method public androidx.paging.LoadStates? getMediator();
     method public androidx.paging.LoadState getPrepend();
@@ -265,19 +265,19 @@
   }
 
   public final class Pager<Key, Value> {
-    ctor @androidx.paging.ExperimentalPagingApi public Pager(androidx.paging.PagingConfig config, Key? initialKey, androidx.paging.RemoteMediator<Key,Value>? remoteMediator, kotlin.jvm.functions.Function0<? extends androidx.paging.PagingSource<Key,Value>> pagingSourceFactory);
-    ctor public Pager(androidx.paging.PagingConfig config, Key? initialKey, kotlin.jvm.functions.Function0<? extends androidx.paging.PagingSource<Key,Value>> pagingSourceFactory);
+    ctor @androidx.paging.ExperimentalPagingApi public Pager(androidx.paging.PagingConfig config, optional Key? initialKey, androidx.paging.RemoteMediator<Key,Value>? remoteMediator, kotlin.jvm.functions.Function0<? extends androidx.paging.PagingSource<Key,Value>> pagingSourceFactory);
+    ctor public Pager(androidx.paging.PagingConfig config, optional Key? initialKey, kotlin.jvm.functions.Function0<? extends androidx.paging.PagingSource<Key,Value>> pagingSourceFactory);
     ctor public Pager(androidx.paging.PagingConfig config, kotlin.jvm.functions.Function0<? extends androidx.paging.PagingSource<Key,Value>> pagingSourceFactory);
     method public kotlinx.coroutines.flow.Flow<androidx.paging.PagingData<Value>> getFlow();
     property public final kotlinx.coroutines.flow.Flow<androidx.paging.PagingData<Value>> flow;
   }
 
   public final class PagingConfig {
-    ctor public PagingConfig(int pageSize, @IntRange(from=0) int prefetchDistance, boolean enablePlaceholders, @IntRange(from=1) int initialLoadSize, @IntRange(from=2) int maxSize, int jumpThreshold);
-    ctor public PagingConfig(int pageSize, @IntRange(from=0) int prefetchDistance, boolean enablePlaceholders, @IntRange(from=1) int initialLoadSize, @IntRange(from=2) int maxSize);
-    ctor public PagingConfig(int pageSize, @IntRange(from=0) int prefetchDistance, boolean enablePlaceholders, @IntRange(from=1) int initialLoadSize);
-    ctor public PagingConfig(int pageSize, @IntRange(from=0) int prefetchDistance, boolean enablePlaceholders);
-    ctor public PagingConfig(int pageSize, @IntRange(from=0) int prefetchDistance);
+    ctor public PagingConfig(int pageSize, optional @IntRange(from=0) int prefetchDistance, optional boolean enablePlaceholders, optional @IntRange(from=1) int initialLoadSize, optional @IntRange(from=2) int maxSize, optional int jumpThreshold);
+    ctor public PagingConfig(int pageSize, optional @IntRange(from=0) int prefetchDistance, optional boolean enablePlaceholders, optional @IntRange(from=1) int initialLoadSize, optional @IntRange(from=2) int maxSize);
+    ctor public PagingConfig(int pageSize, optional @IntRange(from=0) int prefetchDistance, optional boolean enablePlaceholders, optional @IntRange(from=1) int initialLoadSize);
+    ctor public PagingConfig(int pageSize, optional @IntRange(from=0) int prefetchDistance, optional boolean enablePlaceholders);
+    ctor public PagingConfig(int pageSize, optional @IntRange(from=0) int prefetchDistance);
     ctor public PagingConfig(int pageSize);
     field public static final androidx.paging.PagingConfig.Companion Companion;
     field public static final int MAX_SIZE_UNBOUNDED = 2147483647; // 0x7fffffff
@@ -369,7 +369,7 @@
   }
 
   public static final class PagingSource.LoadResult.Page<Key, Value> extends androidx.paging.PagingSource.LoadResult<Key,Value> {
-    ctor public PagingSource.LoadResult.Page(java.util.List<? extends Value> data, Key? prevKey, Key? nextKey, @IntRange(from=COUNT_UNDEFINED.toLong()) int itemsBefore, @IntRange(from=COUNT_UNDEFINED.toLong()) int itemsAfter);
+    ctor public PagingSource.LoadResult.Page(java.util.List<? extends Value> data, Key? prevKey, Key? nextKey, optional @IntRange(from=COUNT_UNDEFINED.toLong()) int itemsBefore, optional @IntRange(from=COUNT_UNDEFINED.toLong()) int itemsAfter);
     ctor public PagingSource.LoadResult.Page(java.util.List<? extends Value> data, Key? prevKey, Key? nextKey);
     method public java.util.List<Value> component1();
     method public Key? component2();
diff --git a/paging/common/api/restricted_current.txt b/paging/common/api/restricted_current.txt
index 5d8c35c..641dd69 100644
--- a/paging/common/api/restricted_current.txt
+++ b/paging/common/api/restricted_current.txt
@@ -9,7 +9,7 @@
   }
 
   public final class CombinedLoadStates {
-    ctor public CombinedLoadStates(androidx.paging.LoadState refresh, androidx.paging.LoadState prepend, androidx.paging.LoadState append, androidx.paging.LoadStates source, androidx.paging.LoadStates? mediator);
+    ctor public CombinedLoadStates(androidx.paging.LoadState refresh, androidx.paging.LoadState prepend, androidx.paging.LoadState append, androidx.paging.LoadStates source, optional androidx.paging.LoadStates? mediator);
     method public androidx.paging.LoadState getAppend();
     method public androidx.paging.LoadStates? getMediator();
     method public androidx.paging.LoadState getPrepend();
@@ -265,19 +265,19 @@
   }
 
   public final class Pager<Key, Value> {
-    ctor @androidx.paging.ExperimentalPagingApi public Pager(androidx.paging.PagingConfig config, Key? initialKey, androidx.paging.RemoteMediator<Key,Value>? remoteMediator, kotlin.jvm.functions.Function0<? extends androidx.paging.PagingSource<Key,Value>> pagingSourceFactory);
-    ctor public Pager(androidx.paging.PagingConfig config, Key? initialKey, kotlin.jvm.functions.Function0<? extends androidx.paging.PagingSource<Key,Value>> pagingSourceFactory);
+    ctor @androidx.paging.ExperimentalPagingApi public Pager(androidx.paging.PagingConfig config, optional Key? initialKey, androidx.paging.RemoteMediator<Key,Value>? remoteMediator, kotlin.jvm.functions.Function0<? extends androidx.paging.PagingSource<Key,Value>> pagingSourceFactory);
+    ctor public Pager(androidx.paging.PagingConfig config, optional Key? initialKey, kotlin.jvm.functions.Function0<? extends androidx.paging.PagingSource<Key,Value>> pagingSourceFactory);
     ctor public Pager(androidx.paging.PagingConfig config, kotlin.jvm.functions.Function0<? extends androidx.paging.PagingSource<Key,Value>> pagingSourceFactory);
     method public kotlinx.coroutines.flow.Flow<androidx.paging.PagingData<Value>> getFlow();
     property public final kotlinx.coroutines.flow.Flow<androidx.paging.PagingData<Value>> flow;
   }
 
   public final class PagingConfig {
-    ctor public PagingConfig(int pageSize, @IntRange(from=0) int prefetchDistance, boolean enablePlaceholders, @IntRange(from=1) int initialLoadSize, @IntRange(from=2) int maxSize, int jumpThreshold);
-    ctor public PagingConfig(int pageSize, @IntRange(from=0) int prefetchDistance, boolean enablePlaceholders, @IntRange(from=1) int initialLoadSize, @IntRange(from=2) int maxSize);
-    ctor public PagingConfig(int pageSize, @IntRange(from=0) int prefetchDistance, boolean enablePlaceholders, @IntRange(from=1) int initialLoadSize);
-    ctor public PagingConfig(int pageSize, @IntRange(from=0) int prefetchDistance, boolean enablePlaceholders);
-    ctor public PagingConfig(int pageSize, @IntRange(from=0) int prefetchDistance);
+    ctor public PagingConfig(int pageSize, optional @IntRange(from=0) int prefetchDistance, optional boolean enablePlaceholders, optional @IntRange(from=1) int initialLoadSize, optional @IntRange(from=2) int maxSize, optional int jumpThreshold);
+    ctor public PagingConfig(int pageSize, optional @IntRange(from=0) int prefetchDistance, optional boolean enablePlaceholders, optional @IntRange(from=1) int initialLoadSize, optional @IntRange(from=2) int maxSize);
+    ctor public PagingConfig(int pageSize, optional @IntRange(from=0) int prefetchDistance, optional boolean enablePlaceholders, optional @IntRange(from=1) int initialLoadSize);
+    ctor public PagingConfig(int pageSize, optional @IntRange(from=0) int prefetchDistance, optional boolean enablePlaceholders);
+    ctor public PagingConfig(int pageSize, optional @IntRange(from=0) int prefetchDistance);
     ctor public PagingConfig(int pageSize);
     field public static final androidx.paging.PagingConfig.Companion Companion;
     field public static final int MAX_SIZE_UNBOUNDED = 2147483647; // 0x7fffffff
@@ -369,7 +369,7 @@
   }
 
   public static final class PagingSource.LoadResult.Page<Key, Value> extends androidx.paging.PagingSource.LoadResult<Key,Value> {
-    ctor public PagingSource.LoadResult.Page(java.util.List<? extends Value> data, Key? prevKey, Key? nextKey, @IntRange(from=COUNT_UNDEFINED.toLong()) int itemsBefore, @IntRange(from=COUNT_UNDEFINED.toLong()) int itemsAfter);
+    ctor public PagingSource.LoadResult.Page(java.util.List<? extends Value> data, Key? prevKey, Key? nextKey, optional @IntRange(from=COUNT_UNDEFINED.toLong()) int itemsBefore, optional @IntRange(from=COUNT_UNDEFINED.toLong()) int itemsAfter);
     ctor public PagingSource.LoadResult.Page(java.util.List<? extends Value> data, Key? prevKey, Key? nextKey);
     method public java.util.List<Value> component1();
     method public Key? component2();
diff --git a/paging/runtime/api/3.0.0-beta01.txt b/paging/runtime/api/3.0.0-beta01.txt
index 21124c9..b886d2e 100644
--- a/paging/runtime/api/3.0.0-beta01.txt
+++ b/paging/runtime/api/3.0.0-beta01.txt
@@ -24,8 +24,8 @@
   }
 
   public final class AsyncPagingDataDiffer<T> {
-    ctor public AsyncPagingDataDiffer(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    ctor public AsyncPagingDataDiffer(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
+    ctor public AsyncPagingDataDiffer(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher, optional kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
+    ctor public AsyncPagingDataDiffer(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
     ctor public AsyncPagingDataDiffer(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback);
     method public void addLoadStateListener(kotlin.jvm.functions.Function1<? super androidx.paging.CombinedLoadStates,kotlin.Unit> listener);
     method public T? getItem(@IntRange(from=0) int index);
@@ -98,8 +98,8 @@
   }
 
   public abstract class PagingDataAdapter<T, VH extends androidx.recyclerview.widget.RecyclerView.ViewHolder> extends androidx.recyclerview.widget.RecyclerView.Adapter<VH> {
-    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
+    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher, optional kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
+    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
     ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback);
     method public final void addLoadStateListener(kotlin.jvm.functions.Function1<? super androidx.paging.CombinedLoadStates,kotlin.Unit> listener);
     method protected final T? getItem(@IntRange(from=0) int position);
diff --git a/paging/runtime/api/api_lint.ignore b/paging/runtime/api/api_lint.ignore
index 191981b..60cdbfc 100644
--- a/paging/runtime/api/api_lint.ignore
+++ b/paging/runtime/api/api_lint.ignore
@@ -11,3 +11,13 @@
     androidx.lifecycle.LiveData does not declare a `getFetchExecutor()` method matching method androidx.paging.LivePagedListBuilder.setFetchExecutor(java.util.concurrent.Executor)
 MissingGetterMatchingBuilder: androidx.paging.LivePagedListBuilder#setInitialLoadKey(Key):
     androidx.lifecycle.LiveData does not declare a `getInitialLoadKey()` method matching method androidx.paging.LivePagedListBuilder.setInitialLoadKey(Key)
+
+
+NullableCollection: androidx.paging.AsyncPagedListDiffer#getCurrentList():
+    Return type of method androidx.paging.AsyncPagedListDiffer.getCurrentList() is a nullable collection (`androidx.paging.PagedList`); must be non-null
+NullableCollection: androidx.paging.AsyncPagedListDiffer.PagedListListener#onCurrentListChanged(androidx.paging.PagedList<T>, androidx.paging.PagedList<T>) parameter #0:
+    Type of parameter previousList in androidx.paging.AsyncPagedListDiffer.PagedListListener.onCurrentListChanged(androidx.paging.PagedList<T> previousList, androidx.paging.PagedList<T> currentList) is a nullable collection (`androidx.paging.PagedList`); must be non-null
+NullableCollection: androidx.paging.AsyncPagedListDiffer.PagedListListener#onCurrentListChanged(androidx.paging.PagedList<T>, androidx.paging.PagedList<T>) parameter #1:
+    Type of parameter currentList in androidx.paging.AsyncPagedListDiffer.PagedListListener.onCurrentListChanged(androidx.paging.PagedList<T> previousList, androidx.paging.PagedList<T> currentList) is a nullable collection (`androidx.paging.PagedList`); must be non-null
+NullableCollection: androidx.paging.PagedListAdapter#getCurrentList():
+    Return type of method androidx.paging.PagedListAdapter.getCurrentList() is a nullable collection (`androidx.paging.PagedList`); must be non-null
diff --git a/paging/runtime/api/current.txt b/paging/runtime/api/current.txt
index 21124c9..b886d2e 100644
--- a/paging/runtime/api/current.txt
+++ b/paging/runtime/api/current.txt
@@ -24,8 +24,8 @@
   }
 
   public final class AsyncPagingDataDiffer<T> {
-    ctor public AsyncPagingDataDiffer(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    ctor public AsyncPagingDataDiffer(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
+    ctor public AsyncPagingDataDiffer(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher, optional kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
+    ctor public AsyncPagingDataDiffer(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
     ctor public AsyncPagingDataDiffer(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback);
     method public void addLoadStateListener(kotlin.jvm.functions.Function1<? super androidx.paging.CombinedLoadStates,kotlin.Unit> listener);
     method public T? getItem(@IntRange(from=0) int index);
@@ -98,8 +98,8 @@
   }
 
   public abstract class PagingDataAdapter<T, VH extends androidx.recyclerview.widget.RecyclerView.ViewHolder> extends androidx.recyclerview.widget.RecyclerView.Adapter<VH> {
-    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
+    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher, optional kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
+    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
     ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback);
     method public final void addLoadStateListener(kotlin.jvm.functions.Function1<? super androidx.paging.CombinedLoadStates,kotlin.Unit> listener);
     method protected final T? getItem(@IntRange(from=0) int position);
diff --git a/paging/runtime/api/public_plus_experimental_3.0.0-beta01.txt b/paging/runtime/api/public_plus_experimental_3.0.0-beta01.txt
index 21124c9..b886d2e 100644
--- a/paging/runtime/api/public_plus_experimental_3.0.0-beta01.txt
+++ b/paging/runtime/api/public_plus_experimental_3.0.0-beta01.txt
@@ -24,8 +24,8 @@
   }
 
   public final class AsyncPagingDataDiffer<T> {
-    ctor public AsyncPagingDataDiffer(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    ctor public AsyncPagingDataDiffer(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
+    ctor public AsyncPagingDataDiffer(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher, optional kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
+    ctor public AsyncPagingDataDiffer(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
     ctor public AsyncPagingDataDiffer(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback);
     method public void addLoadStateListener(kotlin.jvm.functions.Function1<? super androidx.paging.CombinedLoadStates,kotlin.Unit> listener);
     method public T? getItem(@IntRange(from=0) int index);
@@ -98,8 +98,8 @@
   }
 
   public abstract class PagingDataAdapter<T, VH extends androidx.recyclerview.widget.RecyclerView.ViewHolder> extends androidx.recyclerview.widget.RecyclerView.Adapter<VH> {
-    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
+    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher, optional kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
+    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
     ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback);
     method public final void addLoadStateListener(kotlin.jvm.functions.Function1<? super androidx.paging.CombinedLoadStates,kotlin.Unit> listener);
     method protected final T? getItem(@IntRange(from=0) int position);
diff --git a/paging/runtime/api/public_plus_experimental_current.txt b/paging/runtime/api/public_plus_experimental_current.txt
index 21124c9..b886d2e 100644
--- a/paging/runtime/api/public_plus_experimental_current.txt
+++ b/paging/runtime/api/public_plus_experimental_current.txt
@@ -24,8 +24,8 @@
   }
 
   public final class AsyncPagingDataDiffer<T> {
-    ctor public AsyncPagingDataDiffer(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    ctor public AsyncPagingDataDiffer(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
+    ctor public AsyncPagingDataDiffer(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher, optional kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
+    ctor public AsyncPagingDataDiffer(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
     ctor public AsyncPagingDataDiffer(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback);
     method public void addLoadStateListener(kotlin.jvm.functions.Function1<? super androidx.paging.CombinedLoadStates,kotlin.Unit> listener);
     method public T? getItem(@IntRange(from=0) int index);
@@ -98,8 +98,8 @@
   }
 
   public abstract class PagingDataAdapter<T, VH extends androidx.recyclerview.widget.RecyclerView.ViewHolder> extends androidx.recyclerview.widget.RecyclerView.Adapter<VH> {
-    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
+    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher, optional kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
+    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
     ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback);
     method public final void addLoadStateListener(kotlin.jvm.functions.Function1<? super androidx.paging.CombinedLoadStates,kotlin.Unit> listener);
     method protected final T? getItem(@IntRange(from=0) int position);
diff --git a/paging/runtime/api/restricted_3.0.0-beta01.txt b/paging/runtime/api/restricted_3.0.0-beta01.txt
index 21124c9..b886d2e 100644
--- a/paging/runtime/api/restricted_3.0.0-beta01.txt
+++ b/paging/runtime/api/restricted_3.0.0-beta01.txt
@@ -24,8 +24,8 @@
   }
 
   public final class AsyncPagingDataDiffer<T> {
-    ctor public AsyncPagingDataDiffer(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    ctor public AsyncPagingDataDiffer(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
+    ctor public AsyncPagingDataDiffer(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher, optional kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
+    ctor public AsyncPagingDataDiffer(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
     ctor public AsyncPagingDataDiffer(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback);
     method public void addLoadStateListener(kotlin.jvm.functions.Function1<? super androidx.paging.CombinedLoadStates,kotlin.Unit> listener);
     method public T? getItem(@IntRange(from=0) int index);
@@ -98,8 +98,8 @@
   }
 
   public abstract class PagingDataAdapter<T, VH extends androidx.recyclerview.widget.RecyclerView.ViewHolder> extends androidx.recyclerview.widget.RecyclerView.Adapter<VH> {
-    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
+    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher, optional kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
+    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
     ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback);
     method public final void addLoadStateListener(kotlin.jvm.functions.Function1<? super androidx.paging.CombinedLoadStates,kotlin.Unit> listener);
     method protected final T? getItem(@IntRange(from=0) int position);
diff --git a/paging/runtime/api/restricted_current.txt b/paging/runtime/api/restricted_current.txt
index 21124c9..b886d2e 100644
--- a/paging/runtime/api/restricted_current.txt
+++ b/paging/runtime/api/restricted_current.txt
@@ -24,8 +24,8 @@
   }
 
   public final class AsyncPagingDataDiffer<T> {
-    ctor public AsyncPagingDataDiffer(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    ctor public AsyncPagingDataDiffer(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
+    ctor public AsyncPagingDataDiffer(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher, optional kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
+    ctor public AsyncPagingDataDiffer(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
     ctor public AsyncPagingDataDiffer(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback);
     method public void addLoadStateListener(kotlin.jvm.functions.Function1<? super androidx.paging.CombinedLoadStates,kotlin.Unit> listener);
     method public T? getItem(@IntRange(from=0) int index);
@@ -98,8 +98,8 @@
   }
 
   public abstract class PagingDataAdapter<T, VH extends androidx.recyclerview.widget.RecyclerView.ViewHolder> extends androidx.recyclerview.widget.RecyclerView.Adapter<VH> {
-    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
+    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher, optional kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
+    ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, optional kotlinx.coroutines.CoroutineDispatcher mainDispatcher);
     ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback);
     method public final void addLoadStateListener(kotlin.jvm.functions.Function1<? super androidx.paging.CombinedLoadStates,kotlin.Unit> listener);
     method protected final T? getItem(@IntRange(from=0) int position);
diff --git a/percentlayout/percentlayout/api/api_lint.ignore b/percentlayout/percentlayout/api/api_lint.ignore
index 5ca3443..632646c 100644
--- a/percentlayout/percentlayout/api/api_lint.ignore
+++ b/percentlayout/percentlayout/api/api_lint.ignore
@@ -47,8 +47,6 @@
     Missing nullability on parameter `view` in method `fillMarginLayoutParams`
 MissingNullability: androidx.percentlayout.widget.PercentLayoutHelper.PercentLayoutInfo#fillMarginLayoutParams(android.view.View, android.view.ViewGroup.MarginLayoutParams, int, int) parameter #1:
     Missing nullability on parameter `params` in method `fillMarginLayoutParams`
-MissingNullability: androidx.percentlayout.widget.PercentLayoutHelper.PercentLayoutInfo#fillMarginLayoutParams(android.view.ViewGroup.MarginLayoutParams, int, int) parameter #0:
-    Missing nullability on parameter `params` in method `fillMarginLayoutParams`
 MissingNullability: androidx.percentlayout.widget.PercentLayoutHelper.PercentLayoutInfo#restoreLayoutParams(android.view.ViewGroup.LayoutParams) parameter #0:
     Missing nullability on parameter `params` in method `restoreLayoutParams`
 MissingNullability: androidx.percentlayout.widget.PercentLayoutHelper.PercentLayoutInfo#restoreMarginLayoutParams(android.view.ViewGroup.MarginLayoutParams) parameter #0:
diff --git a/preference/preference/api/api_lint.ignore b/preference/preference/api/api_lint.ignore
index 3abb208..99fff15 100644
--- a/preference/preference/api/api_lint.ignore
+++ b/preference/preference/api/api_lint.ignore
@@ -165,8 +165,6 @@
     Missing nullability on method `provideSummary` return
 MissingNullability: androidx.preference.EditTextPreference.SimpleSummaryProvider#provideSummary(androidx.preference.EditTextPreference) parameter #0:
     Missing nullability on parameter `preference` in method `provideSummary`
-MissingNullability: androidx.preference.EditTextPreferenceDialogFragment#newInstance(String) parameter #0:
-    Missing nullability on parameter `key` in method `newInstance`
 MissingNullability: androidx.preference.EditTextPreferenceDialogFragment#onBindDialogView(android.view.View) parameter #0:
     Missing nullability on parameter `view` in method `onBindDialogView`
 MissingNullability: androidx.preference.EditTextPreferenceDialogFragment#onCreate(android.os.Bundle) parameter #0:
@@ -229,8 +227,6 @@
     Missing nullability on method `provideSummary` return
 MissingNullability: androidx.preference.ListPreference.SimpleSummaryProvider#provideSummary(androidx.preference.ListPreference) parameter #0:
     Missing nullability on parameter `preference` in method `provideSummary`
-MissingNullability: androidx.preference.ListPreferenceDialogFragment#newInstance(String) parameter #0:
-    Missing nullability on parameter `key` in method `newInstance`
 MissingNullability: androidx.preference.ListPreferenceDialogFragment#onCreate(android.os.Bundle) parameter #0:
     Missing nullability on parameter `savedInstanceState` in method `onCreate`
 MissingNullability: androidx.preference.ListPreferenceDialogFragment#onPrepareDialogBuilder(android.app.AlertDialog.Builder) parameter #0:
@@ -283,8 +279,6 @@
     Missing nullability on parameter `entryValues` in method `setEntryValues`
 MissingNullability: androidx.preference.MultiSelectListPreference#setValues(java.util.Set<java.lang.String>) parameter #0:
     Missing nullability on parameter `values` in method `setValues`
-MissingNullability: androidx.preference.MultiSelectListPreferenceDialogFragment#newInstance(String) parameter #0:
-    Missing nullability on parameter `key` in method `newInstance`
 MissingNullability: androidx.preference.MultiSelectListPreferenceDialogFragment#onCreate(android.os.Bundle) parameter #0:
     Missing nullability on parameter `savedInstanceState` in method `onCreate`
 MissingNullability: androidx.preference.MultiSelectListPreferenceDialogFragment#onPrepareDialogBuilder(android.app.AlertDialog.Builder) parameter #0:
@@ -357,16 +351,12 @@
     Missing nullability on method `onGetDefaultValue` return
 MissingNullability: androidx.preference.Preference#onGetDefaultValue(android.content.res.TypedArray, int) parameter #0:
     Missing nullability on parameter `a` in method `onGetDefaultValue`
-MissingNullability: androidx.preference.Preference#onInitializeAccessibilityNodeInfo(androidx.core.view.accessibility.AccessibilityNodeInfoCompat) parameter #0:
-    Missing nullability on parameter `info` in method `onInitializeAccessibilityNodeInfo`
 MissingNullability: androidx.preference.Preference#onParentChanged(androidx.preference.Preference, boolean) parameter #0:
     Missing nullability on parameter `parent` in method `onParentChanged`
 MissingNullability: androidx.preference.Preference#onRestoreInstanceState(android.os.Parcelable) parameter #0:
     Missing nullability on parameter `state` in method `onRestoreInstanceState`
 MissingNullability: androidx.preference.Preference#onSaveInstanceState():
     Missing nullability on method `onSaveInstanceState` return
-MissingNullability: androidx.preference.Preference#onSetInitialValue(boolean, Object) parameter #1:
-    Missing nullability on parameter `defaultValue` in method `onSetInitialValue`
 MissingNullability: androidx.preference.Preference#peekExtras():
     Missing nullability on method `peekExtras` return
 MissingNullability: androidx.preference.Preference#persistString(String) parameter #0:
@@ -453,20 +443,12 @@
     Missing nullability on parameter `key` in method `putString`
 MissingNullability: androidx.preference.PreferenceDataStore#putStringSet(String, java.util.Set<java.lang.String>) parameter #0:
     Missing nullability on parameter `key` in method `putStringSet`
-MissingNullability: androidx.preference.PreferenceDialogFragment#onBindDialogView(android.view.View) parameter #0:
-    Missing nullability on parameter `view` in method `onBindDialogView`
-MissingNullability: androidx.preference.PreferenceDialogFragment#onClick(android.content.DialogInterface, int) parameter #0:
-    Missing nullability on parameter `dialog` in method `onClick`
 MissingNullability: androidx.preference.PreferenceDialogFragment#onCreate(android.os.Bundle) parameter #0:
     Missing nullability on parameter `savedInstanceState` in method `onCreate`
 MissingNullability: androidx.preference.PreferenceDialogFragment#onCreateDialog(android.os.Bundle) parameter #0:
     Missing nullability on parameter `savedInstanceState` in method `onCreateDialog`
-MissingNullability: androidx.preference.PreferenceDialogFragment#onCreateDialogView(android.content.Context) parameter #0:
-    Missing nullability on parameter `context` in method `onCreateDialogView`
 MissingNullability: androidx.preference.PreferenceDialogFragment#onDismiss(android.content.DialogInterface) parameter #0:
     Missing nullability on parameter `dialog` in method `onDismiss`
-MissingNullability: androidx.preference.PreferenceDialogFragment#onPrepareDialogBuilder(android.app.AlertDialog.Builder) parameter #0:
-    Missing nullability on parameter `builder` in method `onPrepareDialogBuilder`
 MissingNullability: androidx.preference.PreferenceDialogFragmentCompat#getPreference():
     Missing nullability on method `getPreference` return
 MissingNullability: androidx.preference.PreferenceDialogFragmentCompat#onBindDialogView(android.view.View) parameter #0:
@@ -483,22 +465,8 @@
     Missing nullability on parameter `context` in method `onCreateDialogView`
 MissingNullability: androidx.preference.PreferenceDialogFragmentCompat#onPrepareDialogBuilder(androidx.appcompat.app.AlertDialog.Builder) parameter #0:
     Missing nullability on parameter `builder` in method `onPrepareDialogBuilder`
-MissingNullability: androidx.preference.PreferenceFragment#findPreference(CharSequence) parameter #0:
-    Missing nullability on parameter `key` in method `findPreference`
 MissingNullability: androidx.preference.PreferenceFragment#onCreate(android.os.Bundle) parameter #0:
     Missing nullability on parameter `savedInstanceState` in method `onCreate`
-MissingNullability: androidx.preference.PreferenceFragment#onCreateAdapter(androidx.preference.PreferenceScreen) parameter #0:
-    Missing nullability on parameter `preferenceScreen` in method `onCreateAdapter`
-MissingNullability: androidx.preference.PreferenceFragment#onCreatePreferences(android.os.Bundle, String) parameter #0:
-    Missing nullability on parameter `savedInstanceState` in method `onCreatePreferences`
-MissingNullability: androidx.preference.PreferenceFragment#onCreatePreferences(android.os.Bundle, String) parameter #1:
-    Missing nullability on parameter `rootKey` in method `onCreatePreferences`
-MissingNullability: androidx.preference.PreferenceFragment#onCreateRecyclerView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) parameter #0:
-    Missing nullability on parameter `inflater` in method `onCreateRecyclerView`
-MissingNullability: androidx.preference.PreferenceFragment#onCreateRecyclerView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) parameter #1:
-    Missing nullability on parameter `parent` in method `onCreateRecyclerView`
-MissingNullability: androidx.preference.PreferenceFragment#onCreateRecyclerView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) parameter #2:
-    Missing nullability on parameter `savedInstanceState` in method `onCreateRecyclerView`
 MissingNullability: androidx.preference.PreferenceFragment#onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle):
     Missing nullability on method `onCreateView` return
 MissingNullability: androidx.preference.PreferenceFragment#onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) parameter #0:
@@ -507,26 +475,12 @@
     Missing nullability on parameter `container` in method `onCreateView`
 MissingNullability: androidx.preference.PreferenceFragment#onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) parameter #2:
     Missing nullability on parameter `savedInstanceState` in method `onCreateView`
-MissingNullability: androidx.preference.PreferenceFragment#onDisplayPreferenceDialog(androidx.preference.Preference) parameter #0:
-    Missing nullability on parameter `preference` in method `onDisplayPreferenceDialog`
-MissingNullability: androidx.preference.PreferenceFragment#onNavigateToScreen(androidx.preference.PreferenceScreen) parameter #0:
-    Missing nullability on parameter `preferenceScreen` in method `onNavigateToScreen`
-MissingNullability: androidx.preference.PreferenceFragment#onPreferenceTreeClick(androidx.preference.Preference) parameter #0:
-    Missing nullability on parameter `preference` in method `onPreferenceTreeClick`
 MissingNullability: androidx.preference.PreferenceFragment#onSaveInstanceState(android.os.Bundle) parameter #0:
     Missing nullability on parameter `outState` in method `onSaveInstanceState`
 MissingNullability: androidx.preference.PreferenceFragment#onViewCreated(android.view.View, android.os.Bundle) parameter #0:
     Missing nullability on parameter `view` in method `onViewCreated`
 MissingNullability: androidx.preference.PreferenceFragment#onViewCreated(android.view.View, android.os.Bundle) parameter #1:
     Missing nullability on parameter `savedInstanceState` in method `onViewCreated`
-MissingNullability: androidx.preference.PreferenceFragment#scrollToPreference(String) parameter #0:
-    Missing nullability on parameter `key` in method `scrollToPreference`
-MissingNullability: androidx.preference.PreferenceFragment#scrollToPreference(androidx.preference.Preference) parameter #0:
-    Missing nullability on parameter `preference` in method `scrollToPreference`
-MissingNullability: androidx.preference.PreferenceFragment#setDivider(android.graphics.drawable.Drawable) parameter #0:
-    Missing nullability on parameter `divider` in method `setDivider`
-MissingNullability: androidx.preference.PreferenceFragment#setPreferenceScreen(androidx.preference.PreferenceScreen) parameter #0:
-    Missing nullability on parameter `preferenceScreen` in method `setPreferenceScreen`
 MissingNullability: androidx.preference.PreferenceFragment.OnPreferenceDisplayDialogCallback#onPreferenceDisplayDialog(androidx.preference.PreferenceFragment, androidx.preference.Preference) parameter #1:
     Missing nullability on parameter `pref` in method `onPreferenceDisplayDialog`
 MissingNullability: androidx.preference.PreferenceFragment.OnPreferenceStartFragmentCallback#onPreferenceStartFragment(androidx.preference.PreferenceFragment, androidx.preference.Preference) parameter #0:
@@ -803,6 +757,10 @@
     Bare field mChecked must be marked final, or moved behind accessors if mutable
 
 
+NullableCollection: androidx.preference.PreferenceDataStore#getStringSet(String, java.util.Set<java.lang.String>):
+    Return type of method androidx.preference.PreferenceDataStore.getStringSet(String,java.util.Set<java.lang.String>) is a nullable collection (`java.util.Set`); must be non-null
+
+
 ParcelConstructor: androidx.preference.Preference.BaseSavedState#BaseSavedState(android.os.Parcel):
     Parcelable inflation is exposed through CREATOR, not raw constructors, in androidx.preference.Preference.BaseSavedState
 
diff --git a/recyclerview/recyclerview/api/api_lint.ignore b/recyclerview/recyclerview/api/api_lint.ignore
index 648e471..61d7551 100644
--- a/recyclerview/recyclerview/api/api_lint.ignore
+++ b/recyclerview/recyclerview/api/api_lint.ignore
@@ -395,8 +395,6 @@
     Missing nullability on method `findViewByPosition` return
 MissingNullability: androidx.recyclerview.widget.LinearLayoutManager#generateDefaultLayoutParams():
     Missing nullability on method `generateDefaultLayoutParams` return
-MissingNullability: androidx.recyclerview.widget.LinearLayoutManager#getExtraLayoutSpace(androidx.recyclerview.widget.RecyclerView.State) parameter #0:
-    Missing nullability on parameter `state` in method `getExtraLayoutSpace`
 MissingNullability: androidx.recyclerview.widget.LinearLayoutManager#onDetachedFromWindow(androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.Recycler) parameter #0:
     Missing nullability on parameter `view` in method `onDetachedFromWindow`
 MissingNullability: androidx.recyclerview.widget.LinearLayoutManager#onDetachedFromWindow(androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.Recycler) parameter #1:
@@ -577,8 +575,6 @@
     Missing nullability on parameter `rect` in method `requestChildRectangleOnScreen`
 MissingNullability: androidx.recyclerview.widget.RecyclerView#sendAccessibilityEventUnchecked(android.view.accessibility.AccessibilityEvent) parameter #0:
     Missing nullability on parameter `event` in method `sendAccessibilityEventUnchecked`
-MissingNullability: androidx.recyclerview.widget.RecyclerView#setLayoutTransition(android.animation.LayoutTransition) parameter #0:
-    Missing nullability on parameter `transition` in method `setLayoutTransition`
 MissingNullability: androidx.recyclerview.widget.RecyclerView.LayoutManager#addDisappearingView(android.view.View) parameter #0:
     Missing nullability on parameter `child` in method `addDisappearingView`
 MissingNullability: androidx.recyclerview.widget.RecyclerView.LayoutManager#addDisappearingView(android.view.View, int) parameter #0:
@@ -619,8 +615,6 @@
     Missing nullability on method `getProperties` return
 MissingNullability: androidx.recyclerview.widget.RecyclerView.LayoutManager#onAttachedToWindow(androidx.recyclerview.widget.RecyclerView) parameter #0:
     Missing nullability on parameter `view` in method `onAttachedToWindow`
-MissingNullability: androidx.recyclerview.widget.RecyclerView.LayoutManager#onDetachedFromWindow(androidx.recyclerview.widget.RecyclerView) parameter #0:
-    Missing nullability on parameter `view` in method `onDetachedFromWindow`
 MissingNullability: androidx.recyclerview.widget.RecyclerView.LayoutManager#onDetachedFromWindow(androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.Recycler) parameter #0:
     Missing nullability on parameter `view` in method `onDetachedFromWindow`
 MissingNullability: androidx.recyclerview.widget.RecyclerView.LayoutManager#onDetachedFromWindow(androidx.recyclerview.widget.RecyclerView, androidx.recyclerview.widget.RecyclerView.Recycler) parameter #1:
diff --git a/room/runtime/api/api_lint.ignore b/room/runtime/api/api_lint.ignore
index 54fc7a2..1937946 100644
--- a/room/runtime/api/api_lint.ignore
+++ b/room/runtime/api/api_lint.ignore
@@ -61,6 +61,12 @@
     Missing nullability on parameter `startVersions` in method `fallbackToDestructiveMigrationFrom`
 
 
+NullableCollection: androidx.room.DatabaseConfiguration#callbacks:
+    Type of field androidx.room.DatabaseConfiguration.callbacks is a nullable collection (`java.util.List`); must be non-null
+NullableCollection: androidx.room.RoomDatabase.MigrationContainer#findMigrationPath(int, int):
+    Return type of method androidx.room.RoomDatabase.MigrationContainer.findMigrationPath(int,int) is a nullable collection (`java.util.List`); must be non-null
+
+
 RegistrationName: androidx.room.RoomDatabase.Builder#addCallback(androidx.room.RoomDatabase.Callback):
     Callback methods should be named register/unregister; was addCallback
 
diff --git a/room/runtime/api/current.ignore b/room/runtime/api/current.ignore
deleted file mode 100644
index 4c380f6..0000000
--- a/room/runtime/api/current.ignore
+++ /dev/null
@@ -1,3 +0,0 @@
-// Baseline format: 1.0
-RemovedDeprecatedField: androidx.room.RoomDatabase#mCallbacks:
-    Removed deprecated field androidx.room.RoomDatabase.mCallbacks
diff --git a/room/runtime/api/restricted_current.ignore b/room/runtime/api/restricted_current.ignore
deleted file mode 100644
index 696fe9a..0000000
--- a/room/runtime/api/restricted_current.ignore
+++ /dev/null
@@ -1,53 +0,0 @@
-// Baseline format: 1.0
-AddedFinal: androidx.room.util.FtsTableInfo:
-    Class androidx.room.util.FtsTableInfo added 'final' qualifier
-AddedFinal: androidx.room.util.FtsTableInfo#FtsTableInfo(String, java.util.Set<java.lang.String>, String):
-    Constructor androidx.room.util.FtsTableInfo has added 'final' qualifier
-AddedFinal: androidx.room.util.FtsTableInfo#FtsTableInfo(String, java.util.Set<java.lang.String>, java.util.Set<java.lang.String>):
-    Constructor androidx.room.util.FtsTableInfo has added 'final' qualifier
-AddedFinal: androidx.room.util.TableInfo:
-    Class androidx.room.util.TableInfo added 'final' qualifier
-AddedFinal: androidx.room.util.TableInfo#TableInfo(String, java.util.Map<java.lang.String,androidx.room.util.TableInfo.Column>, java.util.Set<androidx.room.util.TableInfo.ForeignKey>):
-    Constructor androidx.room.util.TableInfo has added 'final' qualifier
-AddedFinal: androidx.room.util.TableInfo#TableInfo(String, java.util.Map<java.lang.String,androidx.room.util.TableInfo.Column>, java.util.Set<androidx.room.util.TableInfo.ForeignKey>, java.util.Set<androidx.room.util.TableInfo.Index>):
-    Constructor androidx.room.util.TableInfo has added 'final' qualifier
-AddedFinal: androidx.room.util.TableInfo.Column:
-    Class androidx.room.util.TableInfo.Column added 'final' qualifier
-AddedFinal: androidx.room.util.TableInfo.Column#Column(String, String, boolean, int):
-    Constructor androidx.room.util.TableInfo.Column has added 'final' qualifier
-AddedFinal: androidx.room.util.TableInfo.Column#Column(String, String, boolean, int, String, int):
-    Constructor androidx.room.util.TableInfo.Column has added 'final' qualifier
-AddedFinal: androidx.room.util.TableInfo.Column#isPrimaryKey():
-    Method androidx.room.util.TableInfo.Column.isPrimaryKey has added 'final' qualifier
-AddedFinal: androidx.room.util.TableInfo.ForeignKey:
-    Class androidx.room.util.TableInfo.ForeignKey added 'final' qualifier
-AddedFinal: androidx.room.util.TableInfo.ForeignKey#ForeignKey(String, String, String, java.util.List<java.lang.String>, java.util.List<java.lang.String>):
-    Constructor androidx.room.util.TableInfo.ForeignKey has added 'final' qualifier
-AddedFinal: androidx.room.util.TableInfo.Index:
-    Class androidx.room.util.TableInfo.Index added 'final' qualifier
-AddedFinal: androidx.room.util.TableInfo.Index#Index(String, boolean, java.util.List<java.lang.String>):
-    Constructor androidx.room.util.TableInfo.Index has added 'final' qualifier
-AddedFinal: androidx.room.util.ViewInfo:
-    Class androidx.room.util.ViewInfo added 'final' qualifier
-AddedFinal: androidx.room.util.ViewInfo#ViewInfo(String, String):
-    Constructor androidx.room.util.ViewInfo has added 'final' qualifier
-
-
-ChangedType: androidx.room.InvalidationTracker#createLiveData(String[], boolean, java.util.concurrent.Callable<T>):
-    Method androidx.room.InvalidationTracker.createLiveData has changed return type from LiveData<T> to androidx.lifecycle.LiveData<T>
-ChangedType: androidx.room.InvalidationTracker#createLiveData(String[], java.util.concurrent.Callable<T>):
-    Method androidx.room.InvalidationTracker.createLiveData has changed return type from LiveData<T> to androidx.lifecycle.LiveData<T>
-
-
-InvalidNullConversion: androidx.room.InvalidationTracker#createLiveData(String[], boolean, java.util.concurrent.Callable<T>):
-    Attempted to remove @NonNull annotation from method androidx.room.InvalidationTracker.createLiveData(String[],boolean,java.util.concurrent.Callable<T>)
-InvalidNullConversion: androidx.room.InvalidationTracker#createLiveData(String[], java.util.concurrent.Callable<T>):
-    Attempted to remove @NonNull annotation from method androidx.room.InvalidationTracker.createLiveData(String[],java.util.concurrent.Callable<T>)
-
-
-RemovedMethod: androidx.room.paging.LimitOffsetDataSource#isInvalid():
-    Removed method androidx.room.paging.LimitOffsetDataSource.isInvalid()
-RemovedMethod: androidx.room.paging.LimitOffsetDataSource#loadInitial(LoadInitialParams, LoadInitialCallback<T>):
-    Removed method androidx.room.paging.LimitOffsetDataSource.loadInitial(LoadInitialParams,LoadInitialCallback<T>)
-RemovedMethod: androidx.room.paging.LimitOffsetDataSource#loadRange(LoadRangeParams, LoadRangeCallback<T>):
-    Removed method androidx.room.paging.LimitOffsetDataSource.loadRange(LoadRangeParams,LoadRangeCallback<T>)
diff --git a/savedstate/savedstate/api/api_lint.ignore b/savedstate/savedstate/api/api_lint.ignore
new file mode 100644
index 0000000..e15ce38
--- /dev/null
+++ b/savedstate/savedstate/api/api_lint.ignore
@@ -0,0 +1,3 @@
+// Baseline format: 1.0
+NullableCollection: androidx.savedstate.SavedStateRegistry#consumeRestoredStateForKey(String):
+    Return type of method androidx.savedstate.SavedStateRegistry.consumeRestoredStateForKey(String) is a nullable collection (`android.os.Bundle`); must be non-null
diff --git a/security/crypto/api/api_lint.ignore b/security/crypto/api/api_lint.ignore
index 5a464fd..dd57353 100644
--- a/security/crypto/api/api_lint.ignore
+++ b/security/crypto/api/api_lint.ignore
@@ -1,10 +1,4 @@
 // Baseline format: 1.0
-ContextFirst: androidx.security.crypto.EncryptedFile.Builder#Builder(java.io.File, android.content.Context, String, androidx.security.crypto.EncryptedFile.FileEncryptionScheme) parameter #1:
-    Context is distinct, so it must be the first argument (method `Builder`)
-ContextFirst: androidx.security.crypto.EncryptedSharedPreferences#create(String, String, android.content.Context, androidx.security.crypto.EncryptedSharedPreferences.PrefKeyEncryptionScheme, androidx.security.crypto.EncryptedSharedPreferences.PrefValueEncryptionScheme) parameter #2:
-    Context is distinct, so it must be the first argument (method `create`)
-
-
 ExecutorRegistration: androidx.security.crypto.EncryptedSharedPreferences#registerOnSharedPreferenceChangeListener(android.content.SharedPreferences.OnSharedPreferenceChangeListener):
     Registration methods should have overload that accepts delivery Executor: `registerOnSharedPreferenceChangeListener`
 
diff --git a/security/identity-credential/api/api_lint.ignore b/security/identity-credential/api/api_lint.ignore
index 603b290..eb7c43a 100644
--- a/security/identity-credential/api/api_lint.ignore
+++ b/security/identity-credential/api/api_lint.ignore
@@ -7,3 +7,9 @@
     androidx.security.identity.AccessControlProfile does not declare a `getUserAuthenticationTimeout()` method matching method androidx.security.identity.AccessControlProfile.Builder.setUserAuthenticationTimeout(long)
 MissingGetterMatchingBuilder: androidx.security.identity.PersonalizationData.Builder#addAccessControlProfile(androidx.security.identity.AccessControlProfile):
     androidx.security.identity.PersonalizationData does not declare a `getAccessControlProfiles()` method matching method androidx.security.identity.PersonalizationData.Builder.addAccessControlProfile(androidx.security.identity.AccessControlProfile)
+
+
+NullableCollection: androidx.security.identity.ResultData#getEntryNames(String):
+    Return type of method androidx.security.identity.ResultData.getEntryNames(String) is a nullable collection (`java.util.Collection`); must be non-null
+NullableCollection: androidx.security.identity.ResultData#getRetrievedEntryNames(String):
+    Return type of method androidx.security.identity.ResultData.getRetrievedEntryNames(String) is a nullable collection (`java.util.Collection`); must be non-null
diff --git a/slices/view/api/api_lint.ignore b/slices/view/api/api_lint.ignore
index d346108..78fbd80 100644
--- a/slices/view/api/api_lint.ignore
+++ b/slices/view/api/api_lint.ignore
@@ -83,5 +83,13 @@
     Bare field state must be marked final, or moved behind accessors if mutable
 
 
+NullableCollection: androidx.slice.SliceMetadata#getSliceActions():
+    Return type of method androidx.slice.SliceMetadata.getSliceActions() is a nullable collection (`java.util.List`); must be non-null
+NullableCollection: androidx.slice.SliceMetadata#getSliceKeywords():
+    Return type of method androidx.slice.SliceMetadata.getSliceKeywords() is a nullable collection (`java.util.List`); must be non-null
+NullableCollection: androidx.slice.widget.SliceView#getSliceActions():
+    Return type of method androidx.slice.widget.SliceView.getSliceActions() is a nullable collection (`java.util.List`); must be non-null
+
+
 PublicTypedef: androidx.slice.widget.SliceLiveData.OnErrorListener.ErrorType:
     Don't expose @IntDef: ErrorType must be hidden.
diff --git a/slidingpanelayout/slidingpanelayout/api/api_lint.ignore b/slidingpanelayout/slidingpanelayout/api/api_lint.ignore
index 0300f24..3106edf 100644
--- a/slidingpanelayout/slidingpanelayout/api/api_lint.ignore
+++ b/slidingpanelayout/slidingpanelayout/api/api_lint.ignore
@@ -35,8 +35,6 @@
     Missing nullability on parameter `child` in method `requestChildFocus`
 MissingNullability: androidx.slidingpanelayout.widget.SlidingPaneLayout#requestChildFocus(android.view.View, android.view.View) parameter #1:
     Missing nullability on parameter `focused` in method `requestChildFocus`
-MissingNullability: androidx.slidingpanelayout.widget.SlidingPaneLayout#setShadowDrawable(android.graphics.drawable.Drawable) parameter #0:
-    Missing nullability on parameter `d` in method `setShadowDrawable`
 MissingNullability: androidx.slidingpanelayout.widget.SlidingPaneLayout.SimplePanelSlideListener#onPanelClosed(android.view.View) parameter #0:
     Missing nullability on parameter `panel` in method `onPanelClosed`
 MissingNullability: androidx.slidingpanelayout.widget.SlidingPaneLayout.SimplePanelSlideListener#onPanelOpened(android.view.View) parameter #0:
diff --git a/swiperefreshlayout/swiperefreshlayout/api/api_lint.ignore b/swiperefreshlayout/swiperefreshlayout/api/api_lint.ignore
index 2b4e6f4..10315de 100644
--- a/swiperefreshlayout/swiperefreshlayout/api/api_lint.ignore
+++ b/swiperefreshlayout/swiperefreshlayout/api/api_lint.ignore
@@ -73,8 +73,6 @@
     Missing nullability on parameter `target` in method `onStopNestedScroll`
 MissingNullability: androidx.swiperefreshlayout.widget.SwipeRefreshLayout#onTouchEvent(android.view.MotionEvent) parameter #0:
     Missing nullability on parameter `ev` in method `onTouchEvent`
-MissingNullability: androidx.swiperefreshlayout.widget.SwipeRefreshLayout#setColorScheme(int...) parameter #0:
-    Missing nullability on parameter `colors` in method `setColorScheme`
 MissingNullability: androidx.swiperefreshlayout.widget.SwipeRefreshLayout#setColorSchemeColors(int...) parameter #0:
     Missing nullability on parameter `colors` in method `setColorSchemeColors`
 MissingNullability: androidx.swiperefreshlayout.widget.SwipeRefreshLayout#setColorSchemeResources(int...) parameter #0:
diff --git a/transition/transition/api/api_lint.ignore b/transition/transition/api/api_lint.ignore
index ec4a1ff..ef415f7 100644
--- a/transition/transition/api/api_lint.ignore
+++ b/transition/transition/api/api_lint.ignore
@@ -169,3 +169,11 @@
     Provide an explicit copy constructor instead of implementing `clone()`
 NoClone: androidx.transition.TransitionSet#clone():
     Provide an explicit copy constructor instead of implementing `clone()`
+
+
+NullableCollection: androidx.transition.Transition#getTargetNames():
+    Return type of method androidx.transition.Transition.getTargetNames() is a nullable collection (`java.util.List`); must be non-null
+NullableCollection: androidx.transition.Transition#getTargetTypes():
+    Return type of method androidx.transition.Transition.getTargetTypes() is a nullable collection (`java.util.List`); must be non-null
+NullableCollection: androidx.transition.Transition#getTransitionProperties():
+    Return type of method androidx.transition.Transition.getTransitionProperties() is a nullable collection (`java.lang.String[]`); must be non-null
diff --git a/versionedparcelable/versionedparcelable/api/api_lint.ignore b/versionedparcelable/versionedparcelable/api/api_lint.ignore
index f66b0cc..f0bcdee 100644
--- a/versionedparcelable/versionedparcelable/api/api_lint.ignore
+++ b/versionedparcelable/versionedparcelable/api/api_lint.ignore
@@ -3,3 +3,7 @@
     Missing nullability on parameter `bundle` in method `getVersionedParcelableList`
 MissingNullability: androidx.versionedparcelable.ParcelUtils#getVersionedParcelableList(android.os.Bundle, String) parameter #1:
     Missing nullability on parameter `key` in method `getVersionedParcelableList`
+
+
+NullableCollection: androidx.versionedparcelable.ParcelUtils#getVersionedParcelableList(android.os.Bundle, String):
+    Return type of method androidx.versionedparcelable.ParcelUtils.getVersionedParcelableList(android.os.Bundle,String) is a nullable collection (`java.util.List`); must be non-null
diff --git a/viewpager/viewpager/api/api_lint.ignore b/viewpager/viewpager/api/api_lint.ignore
index 357127c..365dc29 100644
--- a/viewpager/viewpager/api/api_lint.ignore
+++ b/viewpager/viewpager/api/api_lint.ignore
@@ -61,8 +61,6 @@
     Missing nullability on parameter `ev` in method `onTouchEvent`
 MissingNullability: androidx.viewpager.widget.ViewPager#removeView(android.view.View) parameter #0:
     Missing nullability on parameter `view` in method `removeView`
-MissingNullability: androidx.viewpager.widget.ViewPager#setOnPageChangeListener(androidx.viewpager.widget.ViewPager.OnPageChangeListener) parameter #0:
-    Missing nullability on parameter `listener` in method `setOnPageChangeListener`
 MissingNullability: androidx.viewpager.widget.ViewPager#verifyDrawable(android.graphics.drawable.Drawable) parameter #0:
     Missing nullability on parameter `who` in method `verifyDrawable`
 MissingNullability: androidx.viewpager.widget.ViewPager.LayoutParams#LayoutParams(android.content.Context, android.util.AttributeSet) parameter #0:
diff --git a/wear/wear-input/api/api_lint.ignore b/wear/wear-input/api/api_lint.ignore
new file mode 100644
index 0000000..df1cbe7
--- /dev/null
+++ b/wear/wear-input/api/api_lint.ignore
@@ -0,0 +1,9 @@
+// Baseline format: 1.0
+NullableCollection: androidx.wear.input.RemoteInputIntentHelper#getRemoteInputsExtra(android.content.Intent):
+    Return type of method androidx.wear.input.RemoteInputIntentHelper.getRemoteInputsExtra(android.content.Intent) is a nullable collection (`java.util.List`); must be non-null
+NullableCollection: androidx.wear.input.RemoteInputIntentHelper#getSmartReplyContextExtra(android.content.Intent):
+    Return type of method androidx.wear.input.RemoteInputIntentHelper.getSmartReplyContextExtra(android.content.Intent) is a nullable collection (`java.util.List`); must be non-null
+NullableCollection: androidx.wear.input.RemoteInputIntentHelper.Companion#getRemoteInputsExtra(android.content.Intent):
+    Return type of method androidx.wear.input.RemoteInputIntentHelper.Companion.getRemoteInputsExtra(android.content.Intent) is a nullable collection (`java.util.List`); must be non-null
+NullableCollection: androidx.wear.input.RemoteInputIntentHelper.Companion#getSmartReplyContextExtra(android.content.Intent):
+    Return type of method androidx.wear.input.RemoteInputIntentHelper.Companion.getSmartReplyContextExtra(android.content.Intent) is a nullable collection (`java.util.List`); must be non-null
diff --git a/wear/wear-phone-interactions/api/api_lint.ignore b/wear/wear-phone-interactions/api/api_lint.ignore
new file mode 100644
index 0000000..30e9a82
--- /dev/null
+++ b/wear/wear-phone-interactions/api/api_lint.ignore
@@ -0,0 +1,3 @@
+// Baseline format: 1.0
+NullableCollection: androidx.wear.phone.interactions.notifications.BridgingConfig#getExcludedTags():
+    Return type of method androidx.wear.phone.interactions.notifications.BridgingConfig.getExcludedTags() is a nullable collection (`java.util.Set`); must be non-null
diff --git a/wear/wear-watchface-data/api/restricted_current.txt b/wear/wear-watchface-data/api/restricted_current.txt
index 5b1d928..d8b53aa 100644
--- a/wear/wear-watchface-data/api/restricted_current.txt
+++ b/wear/wear-watchface-data/api/restricted_current.txt
@@ -63,7 +63,7 @@
   }
 
   @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public class WatchFaceStyle implements android.os.Parcelable {
-    ctor public WatchFaceStyle(android.content.ComponentName component, int viewProtectionMode, int statusBarGravity, @ColorInt int accentColor, boolean showUnreadCountIndicator, boolean hideNotificationIndicator, boolean acceptsTapEvents, android.os.Bundle? compatBundle);
+    ctor public WatchFaceStyle(android.content.ComponentName component, int viewProtectionMode, int statusBarGravity, @ColorInt int accentColor, boolean showUnreadCountIndicator, boolean hideNotificationIndicator, boolean acceptsTapEvents, optional android.os.Bundle? compatBundle);
     method public int describeContents();
     method public final int getAccentColor();
     method public final boolean getAcceptsTapEvents();
diff --git a/wear/wear-watchface-editor/api/api_lint.ignore b/wear/wear-watchface-editor/api/api_lint.ignore
new file mode 100644
index 0000000..4be7757
--- /dev/null
+++ b/wear/wear-watchface-editor/api/api_lint.ignore
@@ -0,0 +1,3 @@
+// Baseline format: 1.0
+NullableCollection: androidx.wear.watchface.editor.EditorRequest#getInitialUserStyle():
+    Return type of method androidx.wear.watchface.editor.EditorRequest.getInitialUserStyle() is a nullable collection (`java.util.Map`); must be non-null
diff --git a/wear/wear-watchface-style/api/current.txt b/wear/wear-watchface-style/api/current.txt
index 02d740c..93e065c 100644
--- a/wear/wear-watchface-style/api/current.txt
+++ b/wear/wear-watchface-style/api/current.txt
@@ -74,12 +74,12 @@
   }
 
   public static final class UserStyleSetting.ComplicationsUserStyleSetting extends androidx.wear.watchface.style.UserStyleSetting {
-    ctor public UserStyleSetting.ComplicationsUserStyleSetting(String id, CharSequence displayName, CharSequence description, android.graphics.drawable.Icon? icon, java.util.List<androidx.wear.watchface.style.UserStyleSetting.ComplicationsUserStyleSetting.ComplicationsOption> complicationConfig, java.util.Collection<? extends androidx.wear.watchface.style.Layer> affectsLayers, androidx.wear.watchface.style.UserStyleSetting.ComplicationsUserStyleSetting.ComplicationsOption defaultOption);
+    ctor public UserStyleSetting.ComplicationsUserStyleSetting(String id, CharSequence displayName, CharSequence description, android.graphics.drawable.Icon? icon, java.util.List<androidx.wear.watchface.style.UserStyleSetting.ComplicationsUserStyleSetting.ComplicationsOption> complicationConfig, java.util.Collection<? extends androidx.wear.watchface.style.Layer> affectsLayers, optional androidx.wear.watchface.style.UserStyleSetting.ComplicationsUserStyleSetting.ComplicationsOption defaultOption);
     ctor public UserStyleSetting.ComplicationsUserStyleSetting(String id, CharSequence displayName, CharSequence description, android.graphics.drawable.Icon? icon, java.util.List<androidx.wear.watchface.style.UserStyleSetting.ComplicationsUserStyleSetting.ComplicationsOption> complicationConfig, java.util.Collection<? extends androidx.wear.watchface.style.Layer> affectsLayers);
   }
 
   public static final class UserStyleSetting.ComplicationsUserStyleSetting.ComplicationOverlay {
-    ctor public UserStyleSetting.ComplicationsUserStyleSetting.ComplicationOverlay(int complicationId, Boolean? enabled, androidx.wear.complications.ComplicationBounds? complicationBounds);
+    ctor public UserStyleSetting.ComplicationsUserStyleSetting.ComplicationOverlay(int complicationId, optional Boolean? enabled, optional androidx.wear.complications.ComplicationBounds? complicationBounds);
     method public androidx.wear.complications.ComplicationBounds? getComplicationBounds();
     method public int getComplicationId();
     method public Boolean? isEnabled();
@@ -129,7 +129,7 @@
   }
 
   public static class UserStyleSetting.ListUserStyleSetting extends androidx.wear.watchface.style.UserStyleSetting {
-    ctor public UserStyleSetting.ListUserStyleSetting(String id, CharSequence displayName, CharSequence description, android.graphics.drawable.Icon? icon, java.util.List<androidx.wear.watchface.style.UserStyleSetting.ListUserStyleSetting.ListOption> options, java.util.Collection<? extends androidx.wear.watchface.style.Layer> affectsLayers, androidx.wear.watchface.style.UserStyleSetting.ListUserStyleSetting.ListOption defaultOption);
+    ctor public UserStyleSetting.ListUserStyleSetting(String id, CharSequence displayName, CharSequence description, android.graphics.drawable.Icon? icon, java.util.List<androidx.wear.watchface.style.UserStyleSetting.ListUserStyleSetting.ListOption> options, java.util.Collection<? extends androidx.wear.watchface.style.Layer> affectsLayers, optional androidx.wear.watchface.style.UserStyleSetting.ListUserStyleSetting.ListOption defaultOption);
     ctor public UserStyleSetting.ListUserStyleSetting(String id, CharSequence displayName, CharSequence description, android.graphics.drawable.Icon? icon, java.util.List<androidx.wear.watchface.style.UserStyleSetting.ListUserStyleSetting.ListOption> options, java.util.Collection<? extends androidx.wear.watchface.style.Layer> affectsLayers);
   }
 
diff --git a/wear/wear-watchface-style/api/public_plus_experimental_current.txt b/wear/wear-watchface-style/api/public_plus_experimental_current.txt
index f77fe24..f92f80a 100644
--- a/wear/wear-watchface-style/api/public_plus_experimental_current.txt
+++ b/wear/wear-watchface-style/api/public_plus_experimental_current.txt
@@ -76,13 +76,13 @@
   }
 
   public static final class UserStyleSetting.ComplicationsUserStyleSetting extends androidx.wear.watchface.style.UserStyleSetting {
-    ctor public UserStyleSetting.ComplicationsUserStyleSetting(String id, CharSequence displayName, CharSequence description, android.graphics.drawable.Icon? icon, java.util.List<androidx.wear.watchface.style.UserStyleSetting.ComplicationsUserStyleSetting.ComplicationsOption> complicationConfig, java.util.Collection<? extends androidx.wear.watchface.style.Layer> affectsLayers, androidx.wear.watchface.style.UserStyleSetting.ComplicationsUserStyleSetting.ComplicationsOption defaultOption);
+    ctor public UserStyleSetting.ComplicationsUserStyleSetting(String id, CharSequence displayName, CharSequence description, android.graphics.drawable.Icon? icon, java.util.List<androidx.wear.watchface.style.UserStyleSetting.ComplicationsUserStyleSetting.ComplicationsOption> complicationConfig, java.util.Collection<? extends androidx.wear.watchface.style.Layer> affectsLayers, optional androidx.wear.watchface.style.UserStyleSetting.ComplicationsUserStyleSetting.ComplicationsOption defaultOption);
     ctor public UserStyleSetting.ComplicationsUserStyleSetting(String id, CharSequence displayName, CharSequence description, android.graphics.drawable.Icon? icon, java.util.List<androidx.wear.watchface.style.UserStyleSetting.ComplicationsUserStyleSetting.ComplicationsOption> complicationConfig, java.util.Collection<? extends androidx.wear.watchface.style.Layer> affectsLayers);
     method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.wear.watchface.style.data.ComplicationsUserStyleSettingWireFormat toWireFormat();
   }
 
   public static final class UserStyleSetting.ComplicationsUserStyleSetting.ComplicationOverlay {
-    ctor public UserStyleSetting.ComplicationsUserStyleSetting.ComplicationOverlay(int complicationId, Boolean? enabled, androidx.wear.complications.ComplicationBounds? complicationBounds);
+    ctor public UserStyleSetting.ComplicationsUserStyleSetting.ComplicationOverlay(int complicationId, optional Boolean? enabled, optional androidx.wear.complications.ComplicationBounds? complicationBounds);
     method public androidx.wear.complications.ComplicationBounds? getComplicationBounds();
     method public int getComplicationId();
     method public Boolean? isEnabled();
@@ -137,7 +137,7 @@
   }
 
   public static class UserStyleSetting.ListUserStyleSetting extends androidx.wear.watchface.style.UserStyleSetting {
-    ctor public UserStyleSetting.ListUserStyleSetting(String id, CharSequence displayName, CharSequence description, android.graphics.drawable.Icon? icon, java.util.List<androidx.wear.watchface.style.UserStyleSetting.ListUserStyleSetting.ListOption> options, java.util.Collection<? extends androidx.wear.watchface.style.Layer> affectsLayers, androidx.wear.watchface.style.UserStyleSetting.ListUserStyleSetting.ListOption defaultOption);
+    ctor public UserStyleSetting.ListUserStyleSetting(String id, CharSequence displayName, CharSequence description, android.graphics.drawable.Icon? icon, java.util.List<androidx.wear.watchface.style.UserStyleSetting.ListUserStyleSetting.ListOption> options, java.util.Collection<? extends androidx.wear.watchface.style.Layer> affectsLayers, optional androidx.wear.watchface.style.UserStyleSetting.ListUserStyleSetting.ListOption defaultOption);
     ctor public UserStyleSetting.ListUserStyleSetting(String id, CharSequence displayName, CharSequence description, android.graphics.drawable.Icon? icon, java.util.List<androidx.wear.watchface.style.UserStyleSetting.ListUserStyleSetting.ListOption> options, java.util.Collection<? extends androidx.wear.watchface.style.Layer> affectsLayers);
     method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.wear.watchface.style.data.ListUserStyleSettingWireFormat toWireFormat();
   }
diff --git a/wear/wear-watchface-style/api/restricted_current.txt b/wear/wear-watchface-style/api/restricted_current.txt
index ed6d59c6..a9db649 100644
--- a/wear/wear-watchface-style/api/restricted_current.txt
+++ b/wear/wear-watchface-style/api/restricted_current.txt
@@ -82,13 +82,13 @@
   }
 
   public static final class UserStyleSetting.ComplicationsUserStyleSetting extends androidx.wear.watchface.style.UserStyleSetting {
-    ctor public UserStyleSetting.ComplicationsUserStyleSetting(String id, CharSequence displayName, CharSequence description, android.graphics.drawable.Icon? icon, java.util.List<androidx.wear.watchface.style.UserStyleSetting.ComplicationsUserStyleSetting.ComplicationsOption> complicationConfig, java.util.Collection<? extends androidx.wear.watchface.style.Layer> affectsLayers, androidx.wear.watchface.style.UserStyleSetting.ComplicationsUserStyleSetting.ComplicationsOption defaultOption);
+    ctor public UserStyleSetting.ComplicationsUserStyleSetting(String id, CharSequence displayName, CharSequence description, android.graphics.drawable.Icon? icon, java.util.List<androidx.wear.watchface.style.UserStyleSetting.ComplicationsUserStyleSetting.ComplicationsOption> complicationConfig, java.util.Collection<? extends androidx.wear.watchface.style.Layer> affectsLayers, optional androidx.wear.watchface.style.UserStyleSetting.ComplicationsUserStyleSetting.ComplicationsOption defaultOption);
     ctor public UserStyleSetting.ComplicationsUserStyleSetting(String id, CharSequence displayName, CharSequence description, android.graphics.drawable.Icon? icon, java.util.List<androidx.wear.watchface.style.UserStyleSetting.ComplicationsUserStyleSetting.ComplicationsOption> complicationConfig, java.util.Collection<? extends androidx.wear.watchface.style.Layer> affectsLayers);
     method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.wear.watchface.style.data.ComplicationsUserStyleSettingWireFormat toWireFormat();
   }
 
   public static final class UserStyleSetting.ComplicationsUserStyleSetting.ComplicationOverlay {
-    ctor public UserStyleSetting.ComplicationsUserStyleSetting.ComplicationOverlay(int complicationId, Boolean? enabled, androidx.wear.complications.ComplicationBounds? complicationBounds);
+    ctor public UserStyleSetting.ComplicationsUserStyleSetting.ComplicationOverlay(int complicationId, optional Boolean? enabled, optional androidx.wear.complications.ComplicationBounds? complicationBounds);
     method public androidx.wear.complications.ComplicationBounds? getComplicationBounds();
     method public int getComplicationId();
     method public Boolean? isEnabled();
@@ -143,7 +143,7 @@
   }
 
   public static class UserStyleSetting.ListUserStyleSetting extends androidx.wear.watchface.style.UserStyleSetting {
-    ctor public UserStyleSetting.ListUserStyleSetting(String id, CharSequence displayName, CharSequence description, android.graphics.drawable.Icon? icon, java.util.List<androidx.wear.watchface.style.UserStyleSetting.ListUserStyleSetting.ListOption> options, java.util.Collection<? extends androidx.wear.watchface.style.Layer> affectsLayers, androidx.wear.watchface.style.UserStyleSetting.ListUserStyleSetting.ListOption defaultOption);
+    ctor public UserStyleSetting.ListUserStyleSetting(String id, CharSequence displayName, CharSequence description, android.graphics.drawable.Icon? icon, java.util.List<androidx.wear.watchface.style.UserStyleSetting.ListUserStyleSetting.ListOption> options, java.util.Collection<? extends androidx.wear.watchface.style.Layer> affectsLayers, optional androidx.wear.watchface.style.UserStyleSetting.ListUserStyleSetting.ListOption defaultOption);
     ctor public UserStyleSetting.ListUserStyleSetting(String id, CharSequence displayName, CharSequence description, android.graphics.drawable.Icon? icon, java.util.List<androidx.wear.watchface.style.UserStyleSetting.ListUserStyleSetting.ListOption> options, java.util.Collection<? extends androidx.wear.watchface.style.Layer> affectsLayers);
     method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.wear.watchface.style.data.ListUserStyleSettingWireFormat toWireFormat();
   }
diff --git a/wear/wear-watchface/api/api_lint.ignore b/wear/wear-watchface/api/api_lint.ignore
index b3ca439..877fea33 100644
--- a/wear/wear-watchface/api/api_lint.ignore
+++ b/wear/wear-watchface/api/api_lint.ignore
@@ -5,3 +5,7 @@
     Symmetric method for `isHighlighted` must be named `setHighlighted`; was `setIsHighlighted`
 GetterSetterNames: androidx.wear.watchface.ObservableWatchData#setValue(T):
     Symmetric method for `hasValue` must be named `setHasValue`; was `setValue`
+
+
+NullableCollection: androidx.wear.watchface.Complication#getComplicationConfigExtras():
+    Return type of method androidx.wear.watchface.Complication.getComplicationConfigExtras() is a nullable collection (`android.os.Bundle`); must be non-null
diff --git a/wear/wear-watchface/api/current.txt b/wear/wear-watchface/api/current.txt
index 18a58f9..1e2fc7c 100644
--- a/wear/wear-watchface/api/current.txt
+++ b/wear/wear-watchface/api/current.txt
@@ -191,8 +191,8 @@
   }
 
   public abstract static class Renderer.GlesRenderer extends androidx.wear.watchface.Renderer {
-    ctor public Renderer.GlesRenderer(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.style.UserStyleRepository userStyleRepository, androidx.wear.watchface.WatchState watchState, @IntRange(from=0, to=10000) long interactiveDrawModeUpdateDelayMillis, int[] eglConfigAttribList, int[] eglSurfaceAttribList);
-    ctor public Renderer.GlesRenderer(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.style.UserStyleRepository userStyleRepository, androidx.wear.watchface.WatchState watchState, @IntRange(from=0, to=10000) long interactiveDrawModeUpdateDelayMillis, int[] eglConfigAttribList);
+    ctor public Renderer.GlesRenderer(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.style.UserStyleRepository userStyleRepository, androidx.wear.watchface.WatchState watchState, @IntRange(from=0, to=10000) long interactiveDrawModeUpdateDelayMillis, optional int[] eglConfigAttribList, optional int[] eglSurfaceAttribList);
+    ctor public Renderer.GlesRenderer(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.style.UserStyleRepository userStyleRepository, androidx.wear.watchface.WatchState watchState, @IntRange(from=0, to=10000) long interactiveDrawModeUpdateDelayMillis, optional int[] eglConfigAttribList);
     ctor public Renderer.GlesRenderer(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.style.UserStyleRepository userStyleRepository, androidx.wear.watchface.WatchState watchState, @IntRange(from=0, to=10000) long interactiveDrawModeUpdateDelayMillis);
     method @UiThread public void onGlContextCreated();
     method @UiThread public void onGlSurfaceCreated(int width, int height);
@@ -203,7 +203,7 @@
   }
 
   public final class WatchFace {
-    ctor public WatchFace(int watchFaceType, androidx.wear.watchface.style.UserStyleRepository userStyleRepository, androidx.wear.watchface.Renderer renderer, androidx.wear.watchface.ComplicationsManager complicationsManager);
+    ctor public WatchFace(int watchFaceType, androidx.wear.watchface.style.UserStyleRepository userStyleRepository, androidx.wear.watchface.Renderer renderer, optional androidx.wear.watchface.ComplicationsManager complicationsManager);
     ctor public WatchFace(int watchFaceType, androidx.wear.watchface.style.UserStyleRepository userStyleRepository, androidx.wear.watchface.Renderer renderer);
     method public androidx.wear.watchface.WatchFace.LegacyWatchFaceOverlayStyle getLegacyWatchFaceStyle();
     method public Long? getOverridePreviewReferenceTimeMillis();
@@ -223,7 +223,7 @@
   }
 
   public static final class WatchFace.LegacyWatchFaceOverlayStyle {
-    ctor public WatchFace.LegacyWatchFaceOverlayStyle(int viewProtectionMode, int statusBarGravity, boolean tapEventsAccepted, @ColorInt int accentColor);
+    ctor public WatchFace.LegacyWatchFaceOverlayStyle(int viewProtectionMode, int statusBarGravity, boolean tapEventsAccepted, optional @ColorInt int accentColor);
     ctor public WatchFace.LegacyWatchFaceOverlayStyle(int viewProtectionMode, int statusBarGravity, boolean tapEventsAccepted);
     method public int getAccentColor();
     method public int getStatusBarGravity();
diff --git a/wear/wear-watchface/api/public_plus_experimental_current.txt b/wear/wear-watchface/api/public_plus_experimental_current.txt
index 18a58f9..1e2fc7c 100644
--- a/wear/wear-watchface/api/public_plus_experimental_current.txt
+++ b/wear/wear-watchface/api/public_plus_experimental_current.txt
@@ -191,8 +191,8 @@
   }
 
   public abstract static class Renderer.GlesRenderer extends androidx.wear.watchface.Renderer {
-    ctor public Renderer.GlesRenderer(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.style.UserStyleRepository userStyleRepository, androidx.wear.watchface.WatchState watchState, @IntRange(from=0, to=10000) long interactiveDrawModeUpdateDelayMillis, int[] eglConfigAttribList, int[] eglSurfaceAttribList);
-    ctor public Renderer.GlesRenderer(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.style.UserStyleRepository userStyleRepository, androidx.wear.watchface.WatchState watchState, @IntRange(from=0, to=10000) long interactiveDrawModeUpdateDelayMillis, int[] eglConfigAttribList);
+    ctor public Renderer.GlesRenderer(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.style.UserStyleRepository userStyleRepository, androidx.wear.watchface.WatchState watchState, @IntRange(from=0, to=10000) long interactiveDrawModeUpdateDelayMillis, optional int[] eglConfigAttribList, optional int[] eglSurfaceAttribList);
+    ctor public Renderer.GlesRenderer(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.style.UserStyleRepository userStyleRepository, androidx.wear.watchface.WatchState watchState, @IntRange(from=0, to=10000) long interactiveDrawModeUpdateDelayMillis, optional int[] eglConfigAttribList);
     ctor public Renderer.GlesRenderer(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.style.UserStyleRepository userStyleRepository, androidx.wear.watchface.WatchState watchState, @IntRange(from=0, to=10000) long interactiveDrawModeUpdateDelayMillis);
     method @UiThread public void onGlContextCreated();
     method @UiThread public void onGlSurfaceCreated(int width, int height);
@@ -203,7 +203,7 @@
   }
 
   public final class WatchFace {
-    ctor public WatchFace(int watchFaceType, androidx.wear.watchface.style.UserStyleRepository userStyleRepository, androidx.wear.watchface.Renderer renderer, androidx.wear.watchface.ComplicationsManager complicationsManager);
+    ctor public WatchFace(int watchFaceType, androidx.wear.watchface.style.UserStyleRepository userStyleRepository, androidx.wear.watchface.Renderer renderer, optional androidx.wear.watchface.ComplicationsManager complicationsManager);
     ctor public WatchFace(int watchFaceType, androidx.wear.watchface.style.UserStyleRepository userStyleRepository, androidx.wear.watchface.Renderer renderer);
     method public androidx.wear.watchface.WatchFace.LegacyWatchFaceOverlayStyle getLegacyWatchFaceStyle();
     method public Long? getOverridePreviewReferenceTimeMillis();
@@ -223,7 +223,7 @@
   }
 
   public static final class WatchFace.LegacyWatchFaceOverlayStyle {
-    ctor public WatchFace.LegacyWatchFaceOverlayStyle(int viewProtectionMode, int statusBarGravity, boolean tapEventsAccepted, @ColorInt int accentColor);
+    ctor public WatchFace.LegacyWatchFaceOverlayStyle(int viewProtectionMode, int statusBarGravity, boolean tapEventsAccepted, optional @ColorInt int accentColor);
     ctor public WatchFace.LegacyWatchFaceOverlayStyle(int viewProtectionMode, int statusBarGravity, boolean tapEventsAccepted);
     method public int getAccentColor();
     method public int getStatusBarGravity();
diff --git a/wear/wear-watchface/api/restricted_current.txt b/wear/wear-watchface/api/restricted_current.txt
index 4678239..fc31dfe 100644
--- a/wear/wear-watchface/api/restricted_current.txt
+++ b/wear/wear-watchface/api/restricted_current.txt
@@ -221,8 +221,8 @@
   }
 
   public abstract static class Renderer.GlesRenderer extends androidx.wear.watchface.Renderer {
-    ctor public Renderer.GlesRenderer(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.style.UserStyleRepository userStyleRepository, androidx.wear.watchface.WatchState watchState, @IntRange(from=0, to=10000) long interactiveDrawModeUpdateDelayMillis, int[] eglConfigAttribList, int[] eglSurfaceAttribList);
-    ctor public Renderer.GlesRenderer(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.style.UserStyleRepository userStyleRepository, androidx.wear.watchface.WatchState watchState, @IntRange(from=0, to=10000) long interactiveDrawModeUpdateDelayMillis, int[] eglConfigAttribList);
+    ctor public Renderer.GlesRenderer(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.style.UserStyleRepository userStyleRepository, androidx.wear.watchface.WatchState watchState, @IntRange(from=0, to=10000) long interactiveDrawModeUpdateDelayMillis, optional int[] eglConfigAttribList, optional int[] eglSurfaceAttribList);
+    ctor public Renderer.GlesRenderer(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.style.UserStyleRepository userStyleRepository, androidx.wear.watchface.WatchState watchState, @IntRange(from=0, to=10000) long interactiveDrawModeUpdateDelayMillis, optional int[] eglConfigAttribList);
     ctor public Renderer.GlesRenderer(android.view.SurfaceHolder surfaceHolder, androidx.wear.watchface.style.UserStyleRepository userStyleRepository, androidx.wear.watchface.WatchState watchState, @IntRange(from=0, to=10000) long interactiveDrawModeUpdateDelayMillis);
     method @UiThread public void onGlContextCreated();
     method @UiThread public void onGlSurfaceCreated(int width, int height);
@@ -233,7 +233,7 @@
   }
 
   public final class WatchFace {
-    ctor public WatchFace(int watchFaceType, androidx.wear.watchface.style.UserStyleRepository userStyleRepository, androidx.wear.watchface.Renderer renderer, androidx.wear.watchface.ComplicationsManager complicationsManager);
+    ctor public WatchFace(int watchFaceType, androidx.wear.watchface.style.UserStyleRepository userStyleRepository, androidx.wear.watchface.Renderer renderer, optional androidx.wear.watchface.ComplicationsManager complicationsManager);
     ctor public WatchFace(int watchFaceType, androidx.wear.watchface.style.UserStyleRepository userStyleRepository, androidx.wear.watchface.Renderer renderer);
     method public androidx.wear.watchface.WatchFace.LegacyWatchFaceOverlayStyle getLegacyWatchFaceStyle();
     method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) @UiThread public static kotlinx.coroutines.CompletableDeferred<androidx.wear.watchface.WatchFace.EditorDelegate> getOrCreateEditorDelegate(android.content.ComponentName componentName);
@@ -274,7 +274,7 @@
   }
 
   public static final class WatchFace.LegacyWatchFaceOverlayStyle {
-    ctor public WatchFace.LegacyWatchFaceOverlayStyle(int viewProtectionMode, int statusBarGravity, boolean tapEventsAccepted, @ColorInt int accentColor);
+    ctor public WatchFace.LegacyWatchFaceOverlayStyle(int viewProtectionMode, int statusBarGravity, boolean tapEventsAccepted, optional @ColorInt int accentColor);
     ctor public WatchFace.LegacyWatchFaceOverlayStyle(int viewProtectionMode, int statusBarGravity, boolean tapEventsAccepted);
     method public int getAccentColor();
     method public int getStatusBarGravity();
diff --git a/webkit/webkit/api/api_lint.ignore b/webkit/webkit/api/api_lint.ignore
index cc8d166..635a984 100644
--- a/webkit/webkit/api/api_lint.ignore
+++ b/webkit/webkit/api/api_lint.ignore
@@ -43,6 +43,10 @@
     androidx.webkit.WebViewAssetLoader does not declare a `isHttpAllowed()` method matching method androidx.webkit.WebViewAssetLoader.Builder.setHttpAllowed(boolean)
 
 
+NullableCollection: androidx.webkit.WebMessageCompat#getPorts():
+    Return type of method androidx.webkit.WebMessageCompat.getPorts() is a nullable collection (`androidx.webkit.WebMessagePortCompat[]`); must be non-null
+
+
 StaticFinalBuilder: androidx.webkit.TracingConfig.Builder:
     Builder must be final: androidx.webkit.TracingConfig.Builder
 
diff --git a/window/window-sidecar/api/api_lint.ignore b/window/window-sidecar/api/api_lint.ignore
index c08dec3..296bff6 100644
--- a/window/window-sidecar/api/api_lint.ignore
+++ b/window/window-sidecar/api/api_lint.ignore
@@ -7,3 +7,7 @@
     Bare field posture must be marked final, or moved behind accessors if mutable
 MutableBareField: androidx.window.sidecar.SidecarWindowLayoutInfo#displayFeatures:
     Bare field displayFeatures must be marked final, or moved behind accessors if mutable
+
+
+NullableCollection: androidx.window.sidecar.SidecarWindowLayoutInfo#displayFeatures:
+    Type of field androidx.window.sidecar.SidecarWindowLayoutInfo.displayFeatures is a nullable collection (`java.util.List`); must be non-null
diff --git a/work/workmanager-testing/api/current.ignore b/work/workmanager-testing/api/current.ignore
deleted file mode 100644
index 14a1ccc..0000000
--- a/work/workmanager-testing/api/current.ignore
+++ /dev/null
@@ -1,23 +0,0 @@
-// Baseline format: 1.0
-ChangedType: androidx.work.testing.TestListenableWorkerBuilder#from(android.content.Context, androidx.work.WorkRequest):
-    Method androidx.work.testing.TestListenableWorkerBuilder.from has changed return type from androidx.work.testing.TestListenableWorkerBuilder to androidx.work.testing.TestListenableWorkerBuilder<? extends androidx.work.ListenableWorker>
-ChangedType: androidx.work.testing.TestListenableWorkerBuilder#setForegroundUpdater(androidx.work.ForegroundUpdater):
-    Method androidx.work.testing.TestListenableWorkerBuilder.setForegroundUpdater has changed return type from androidx.work.testing.TestListenableWorkerBuilder to androidx.work.testing.TestListenableWorkerBuilder<W>
-ChangedType: androidx.work.testing.TestListenableWorkerBuilder#setId(java.util.UUID):
-    Method androidx.work.testing.TestListenableWorkerBuilder.setId has changed return type from androidx.work.testing.TestListenableWorkerBuilder to androidx.work.testing.TestListenableWorkerBuilder<W>
-ChangedType: androidx.work.testing.TestListenableWorkerBuilder#setInputData(androidx.work.Data):
-    Method androidx.work.testing.TestListenableWorkerBuilder.setInputData has changed return type from androidx.work.testing.TestListenableWorkerBuilder to androidx.work.testing.TestListenableWorkerBuilder<W>
-ChangedType: androidx.work.testing.TestListenableWorkerBuilder#setNetwork(android.net.Network):
-    Method androidx.work.testing.TestListenableWorkerBuilder.setNetwork has changed return type from androidx.work.testing.TestListenableWorkerBuilder to androidx.work.testing.TestListenableWorkerBuilder<W>
-ChangedType: androidx.work.testing.TestListenableWorkerBuilder#setProgressUpdater(androidx.work.ProgressUpdater):
-    Method androidx.work.testing.TestListenableWorkerBuilder.setProgressUpdater has changed return type from androidx.work.testing.TestListenableWorkerBuilder to androidx.work.testing.TestListenableWorkerBuilder<W>
-ChangedType: androidx.work.testing.TestListenableWorkerBuilder#setRunAttemptCount(int):
-    Method androidx.work.testing.TestListenableWorkerBuilder.setRunAttemptCount has changed return type from androidx.work.testing.TestListenableWorkerBuilder to androidx.work.testing.TestListenableWorkerBuilder<W>
-ChangedType: androidx.work.testing.TestListenableWorkerBuilder#setTags(java.util.List<java.lang.String>):
-    Method androidx.work.testing.TestListenableWorkerBuilder.setTags has changed return type from androidx.work.testing.TestListenableWorkerBuilder to androidx.work.testing.TestListenableWorkerBuilder<W>
-ChangedType: androidx.work.testing.TestListenableWorkerBuilder#setTriggeredContentAuthorities(java.util.List<java.lang.String>):
-    Method androidx.work.testing.TestListenableWorkerBuilder.setTriggeredContentAuthorities has changed return type from androidx.work.testing.TestListenableWorkerBuilder to androidx.work.testing.TestListenableWorkerBuilder<W>
-ChangedType: androidx.work.testing.TestListenableWorkerBuilder#setTriggeredContentUris(java.util.List<android.net.Uri>):
-    Method androidx.work.testing.TestListenableWorkerBuilder.setTriggeredContentUris has changed return type from androidx.work.testing.TestListenableWorkerBuilder to androidx.work.testing.TestListenableWorkerBuilder<W>
-ChangedType: androidx.work.testing.TestListenableWorkerBuilder#setWorkerFactory(androidx.work.WorkerFactory):
-    Method androidx.work.testing.TestListenableWorkerBuilder.setWorkerFactory has changed return type from androidx.work.testing.TestListenableWorkerBuilder to androidx.work.testing.TestListenableWorkerBuilder<W>
diff --git a/work/workmanager-testing/api/restricted_current.ignore b/work/workmanager-testing/api/restricted_current.ignore
deleted file mode 100644
index 14a1ccc..0000000
--- a/work/workmanager-testing/api/restricted_current.ignore
+++ /dev/null
@@ -1,23 +0,0 @@
-// Baseline format: 1.0
-ChangedType: androidx.work.testing.TestListenableWorkerBuilder#from(android.content.Context, androidx.work.WorkRequest):
-    Method androidx.work.testing.TestListenableWorkerBuilder.from has changed return type from androidx.work.testing.TestListenableWorkerBuilder to androidx.work.testing.TestListenableWorkerBuilder<? extends androidx.work.ListenableWorker>
-ChangedType: androidx.work.testing.TestListenableWorkerBuilder#setForegroundUpdater(androidx.work.ForegroundUpdater):
-    Method androidx.work.testing.TestListenableWorkerBuilder.setForegroundUpdater has changed return type from androidx.work.testing.TestListenableWorkerBuilder to androidx.work.testing.TestListenableWorkerBuilder<W>
-ChangedType: androidx.work.testing.TestListenableWorkerBuilder#setId(java.util.UUID):
-    Method androidx.work.testing.TestListenableWorkerBuilder.setId has changed return type from androidx.work.testing.TestListenableWorkerBuilder to androidx.work.testing.TestListenableWorkerBuilder<W>
-ChangedType: androidx.work.testing.TestListenableWorkerBuilder#setInputData(androidx.work.Data):
-    Method androidx.work.testing.TestListenableWorkerBuilder.setInputData has changed return type from androidx.work.testing.TestListenableWorkerBuilder to androidx.work.testing.TestListenableWorkerBuilder<W>
-ChangedType: androidx.work.testing.TestListenableWorkerBuilder#setNetwork(android.net.Network):
-    Method androidx.work.testing.TestListenableWorkerBuilder.setNetwork has changed return type from androidx.work.testing.TestListenableWorkerBuilder to androidx.work.testing.TestListenableWorkerBuilder<W>
-ChangedType: androidx.work.testing.TestListenableWorkerBuilder#setProgressUpdater(androidx.work.ProgressUpdater):
-    Method androidx.work.testing.TestListenableWorkerBuilder.setProgressUpdater has changed return type from androidx.work.testing.TestListenableWorkerBuilder to androidx.work.testing.TestListenableWorkerBuilder<W>
-ChangedType: androidx.work.testing.TestListenableWorkerBuilder#setRunAttemptCount(int):
-    Method androidx.work.testing.TestListenableWorkerBuilder.setRunAttemptCount has changed return type from androidx.work.testing.TestListenableWorkerBuilder to androidx.work.testing.TestListenableWorkerBuilder<W>
-ChangedType: androidx.work.testing.TestListenableWorkerBuilder#setTags(java.util.List<java.lang.String>):
-    Method androidx.work.testing.TestListenableWorkerBuilder.setTags has changed return type from androidx.work.testing.TestListenableWorkerBuilder to androidx.work.testing.TestListenableWorkerBuilder<W>
-ChangedType: androidx.work.testing.TestListenableWorkerBuilder#setTriggeredContentAuthorities(java.util.List<java.lang.String>):
-    Method androidx.work.testing.TestListenableWorkerBuilder.setTriggeredContentAuthorities has changed return type from androidx.work.testing.TestListenableWorkerBuilder to androidx.work.testing.TestListenableWorkerBuilder<W>
-ChangedType: androidx.work.testing.TestListenableWorkerBuilder#setTriggeredContentUris(java.util.List<android.net.Uri>):
-    Method androidx.work.testing.TestListenableWorkerBuilder.setTriggeredContentUris has changed return type from androidx.work.testing.TestListenableWorkerBuilder to androidx.work.testing.TestListenableWorkerBuilder<W>
-ChangedType: androidx.work.testing.TestListenableWorkerBuilder#setWorkerFactory(androidx.work.WorkerFactory):
-    Method androidx.work.testing.TestListenableWorkerBuilder.setWorkerFactory has changed return type from androidx.work.testing.TestListenableWorkerBuilder to androidx.work.testing.TestListenableWorkerBuilder<W>
diff --git a/work/workmanager/api/api_lint.ignore b/work/workmanager/api/api_lint.ignore
index 9622774..a1d408b 100644
--- a/work/workmanager/api/api_lint.ignore
+++ b/work/workmanager/api/api_lint.ignore
@@ -99,5 +99,9 @@
     Should avoid odd sized primitives; use `int` instead of `byte` in parameter value in androidx.work.Data.Builder.putByte(String key, byte value)
 
 
+NullableCollection: androidx.work.Data#getStringArray(String):
+    Return type of method androidx.work.Data.getStringArray(String) is a nullable collection (`java.lang.String[]`); must be non-null
+
+
 StaticFinalBuilder: androidx.work.WorkRequest.Builder:
     Builder must be final: androidx.work.WorkRequest.Builder