Releases: slackhq/circuit
0.20.0
- New: Enable
RememberObserver
to work withrememberRetained
. - New: Add
Navigator.popRoot()
. extension (#1274) - Behavior change: Add a key to
CircuitContent
to keepUi
andPresenter
consistent. We already did this for presenters, this just makes it consistent for both. - [circuitx-android] Implement
ToastEffect
. - Fix: Fix
rememberImpressionNavigator()
not delegatingPopResult
. - Fix: Navigator - Pass
PopResult
toonRootPop()
. - Fix: Check
canRetainCheck
when savingRetainedStateRegistry
. - Enhancement: Improve error messaging when using assisted inject.
- Force
com.google.guava:listenablefuture
to1.0
to avoid conflicts with Guava. - Update compose-compiler to
1.5.10.1
. - Update coroutines to
1.8.0
. - Update to Compose Multiplatform
1.6.1
. - Update Android compose dependencies to
1.6.3
. - Update molecule to
1.4.1
. - Update dagger to
2.51
. - Update turbine to
1.1.0
. - Update uuid to
0.8.3
. - Update kotlin to
1.9.23
. - Update KSP to
1.9.23-1.0.19
.
Special thanks to @chrisbanes, @aschulz90, and @alexvanyo for contributing to this release!
What's Changed
- Add maxConcurrentDevices property by @ZacSweers in #1206
- Update lint to 8.4 alphas by @ZacSweers in #1207
- Update plugin emulatorWtf to v0.16.2 by @slack-oss-bot in #1211
- Update kotlinx.coroutines to v1.8.0 by @slack-oss-bot in #1212
- Enable RememberObserver to work with rememberRetained by @chrisbanes in #1210
- Update dependency com.google.truth:truth to v1.4.1 by @slack-oss-bot in #1213
- Update dependency org.jetbrains.compose.compiler:compiler to v1.5.8.1 by @slack-oss-bot in #1214
- Update roborazzi to v1.10.0 by @slack-oss-bot in #1216
- Update dependency me.saket.telephoto:zoomable-image-coil to v0.8.0 by @slack-oss-bot in #1215
- Update roborazzi to v1.10.1 by @slack-oss-bot in #1218
- Update dependency mkdocs-material to v9.5.10 by @slack-oss-bot in #1217
- Link post on EventListener by @ZacSweers in #1221
- Implement ToastEffect by @ZacSweers in #1223
- Update dependency future to v1 by @slack-oss-bot in #1232
- Update dependency androidx.test.uiautomator:uiautomator to v2.3.0 by @slack-oss-bot in #1231
- Update dependency androidx.compose:compose-bom to v2024.02.01 by @slack-oss-bot in #1230
- Update dependency androidx.compose.foundation:foundation to v1.6.2 by @slack-oss-bot in #1229
- Update dependency androidx.compose.compiler:compiler to v1.5.10 by @slack-oss-bot in #1228
- Update compose.ui to v1.6.2 by @slack-oss-bot in #1226
- Update dependency androidx.compose.animation:animation to v1.6.2 by @slack-oss-bot in #1227
- Update compose.runtime to v1.6.2 by @slack-oss-bot in #1225
- Update compose.material to v1.6.2 by @slack-oss-bot in #1224
- Update coil to v2.6.0 by @slack-oss-bot in #1234
- Update dependency mkdocs-material to v9.5.11 by @slack-oss-bot in #1233
- Update to CM 1.6 by @ZacSweers in #1209
- Update dagger to v2.51 by @slack-oss-bot in #1235
- Update molecule to v1.4.0 by @slack-oss-bot in #1238
- Update dependency dev.chrisbanes.material3:material3-window-size-class-multiplatform to v0.5.0 by @slack-oss-bot in #1237
- Update dependency com.jakewharton.mosaic to v0.11.0 by @slack-oss-bot in #1236
- Update molecule to v1.4.1 by @slack-oss-bot in #1240
- Fix rememberImpressionNavigator() not delegating PopResult by @aschulz90 in #1244
- Update coil3 to v3.0.0-alpha05 by @slack-oss-bot in #1241
- Update coil3 to v3.0.0-alpha06 by @slack-oss-bot in #1248
- Update dependency app.cash.paparazzi to v1.3.3 by @slack-oss-bot in #1255
- Update dependency python-dateutil to v2.9.0.post0 by @slack-oss-bot in #1251
- Update dependency com.google.truth:truth to v1.4.2 by @slack-oss-bot in #1249
- Update dependency mkdocs-material to v9.5.12 by @slack-oss-bot in #1242
- Update agp to v8.3.0 by @slack-oss-bot in #1250
- Add a
key
to CircuitContent to keep UI and Presenter consistent by @stagg in #1254 - Improve error messaging when using assisted inject by @ZacSweers in #1246
- Navigator - Pass
PopResult
toonRootPop
by @stagg in #1256 - Update dependency pymdown-extensions to v10.7.1 by @slack-oss-bot in #1258
- Update dependency org.jetbrains.dokka to v1.9.20 by @slack-oss-bot in #1257
- Update ktor to v2.3.9 by @slack-oss-bot in #1259
- Update dependency mkdocs-material to v9.5.13 by @slack-oss-bot in #1261
- Update dependency androidx.datastore:datastore-preferences to v1.1.0-beta02 by @slack-oss-bot in #1269
- Update dependency androidx.browser:browser to v1.8.0 by @slack-oss-bot in #1271
- Update dependency androidx.compose:compose-bom to v2024.02.02 by @slack-oss-bot in #1268
- Update compose.material to v1.6.3 by @slack-oss-bot in #1262
- Update dependency androidx.compose.animation:animation to v1.6.3 by @slack-oss-bot in #1265
- Update compose.ui to v1.6.3 by @slack-oss-bot in #1264
- Update dependency androidx.compose.foundation:foundation to v1.6.3 by @slack-oss-bot in #1266
- Update compose.runtime to v1.6.3 by @slack-oss-bot in #1263
- Update dependency androidx.compose.material3:material3 to v1.2.1 by @slack-oss-bot in #1267
- Update dependency app.cash.turbine:turbine to v1.1.0 by @slack-oss-bot in #1273
- Navigator popRoot extension by @stagg in #1274
- Update dependency co.touchlab.skie to v0.6.2 by @slack-oss-bot in #1277
- Check canRetainCheck when saving RetainedStateRegistry by @chrisbanes in #1276
- Update kotlin and KSP to v1.9.23 by @slack-oss-bot in #1270
- Update dependency org.jetbrains.compose.compiler:compiler to v1.5.10 by @slack-oss-bot in #1275
- Make RememberObservers in nested registries work by @chrisbanes in #1281
- Navigator - Change popRoot to keep the top screen as the root screen by @stagg in #1283
- Update dependency org.jetbrains.compose.compiler:compiler to v1.5.10.1 by @slack-oss-bot in #1278
- Update okio to v3.9.0 by @slack-oss-bot in #1280
- Update dependency com.vanniktech.maven.publish to v0.28.0 by @slack-oss-bot in #1279
- Update compose.jb to v1.6.1 by @slack-oss-bot in #1284
- Update dependency Markdown to v3.6 by @slack-oss-bot in #1286
- Update dependency com.benasher44:uuid to v0.8.3 by @slack-oss-bot in #1287
- Update dependency mkdocs-material to v9.5.14 by @slack-oss-bot in #1290
- Update roborazzi to v1.11.0 by @slack-oss-bot in #1291
- Use alternate guava workaround to avoid listenablefuture:9999.0 version dependency by @alexvanyo in #1289
New Contributors
- @aschulz90 made their first contribution in #1244
Full Changelog: 0.19.1...0.20.0
0.19.1
This is a small bug fix release focused SaveableBackStack
consistency and FakeNavigator
API improvements.
- Fix
FakeNavigator.awaitNextScreen()
not suspending. - Fix
FakeNavigator.resetRoot()
not returning the actual popped screens. - Make
Navigator.peekBackStack()
andNavigator.resetRoot()
returnImmutableList
. - Make
BackStack.popUntil()
return theImmutableList
of the popped records. - Support
FakeNavigator.peekBackStack()
return theImmutableList
of the popped records. - Strongly pop events and resetRoot events in
FakeNavigator
. This should offer much more information about the events. - Use a real
BackStack
instance inFakeNavigator
+ allow for specifying a user-provided instance. - Require an initial root screen to construct
FakeNavigator
unless using a customBackStack
.- Note this slightly changes semantics, as now the root screen will not be recorded as the first
goTo
event.
- Note this slightly changes semantics, as now the root screen will not be recorded as the first
- Require an initial root screen (or list of screens) for
rememberSaveableBackStack()
. - Expose a top-level non-composable
Navigator()
factory function.
What's Changed
- Update dependency mkdocs-material to v9.5.9 by @slack-oss-bot in #1194
- Update okio to v3.8.0 by @slack-oss-bot in #1195
- Update dependency com.slack.eithernet:eithernet to v1.8.1 by @slack-oss-bot in #1198
- Significantly improve FakeNavigator + small API updates around it and Navigator by @ZacSweers in #1196
- Update baseline profiles by @slack-oss-bot in #1205
Full Changelog: 0.19.0...0.19.1
0.19.0
What's Changed
Navigation with results
This release introduces support for inter-screen navigation results. This is useful for scenarios where you want to pass data back to the previous screen after a navigation event, such as when a user selects an item from a list and you want to pass the selected item back to the previous screen.
var photoUrl by remember { mutableStateOf<String?>(null) }
val takePhotoNavigator = rememberAnsweringNavigator<TakePhotoScreen.Result>(navigator) { result ->
photoUrl = result.url
}
// Elsewhere
takePhotoNavigator.goTo(TakePhotoScreen)
// In TakePhotoScreen.kt
data object TakePhotoScreen : Screen {
@Parcelize
data class Result(val url: String) : PopResult
}
class TakePhotoPresenter {
@Composable fun present(): State {
// ...
navigator.pop(result = TakePhotoScreen.Result(newFilters))
}
}
See the new section in the navigation docs for more details, as well as updates to the Overlays docs that help explain when to use an Overlay
vs navigating to a Screen
with a result.
Support for multiple back stacks
This release introduces support for saving/restoring navigation state on root resets (aka multi back stack). This is useful for scenarios where you want to reset the back stack to a new root but still want to retain the previous back stack's state, such as an app UI that has a persistent bottom navigation bar with different back stacks for each tab.
This works by adding two new optional saveState
and restoreState
parameters to Navigator.resetRoot()
.
navigator.resetRoot(HomeNavTab1, saveState = true, restoreState = true)
// User navigates to a details screen
navigator.push(EntityDetails(id = foo))
// Later, user clicks on a bottom navigation item
navigator.resetRoot(HomeNavTab2, saveState = true, restoreState = true)
// Later, user switches back to the first navigation item
navigator.resetRoot(HomeNavTab1, saveState = true, restoreState = true)
// The existing back stack is restored, and EntityDetails(id = foo) will be top of
// the back stack
There are times when saving and restoring the back stack may not be appropriate, so use this feature only when it makes sense. A common example where it probably does not make sense is launching screens which define a UX flow which has a defined completion, such as onboarding.
New Tutorial!
On top of Circuit's existing docs, we've added a new tutorial to help you get started with Circuit. It's a step-by-step guide that walks you through building a simple inbox app using Circuit, intended to serve as a sort of small code lab that one could do in 1-2 hours. Check it out here.
Overlay Improvements
- New: Promote
AlertDialogOverlay
,BasicAlertDialogOverlay
, andBasicDialogOverlay
tocircuitx-overlay
. - New: Add
OverlayEffect
tocircuit-overlay
. This offers a simple composable effect to show an overlay and await a result.OverlayEffect(state) { host -> val result = host.show(AlertDialogOverlay(...)) // Do something with the result }
- Add
OverlayState
andLocalOverlayState
tocircuit-overlay
. This allows you to check the current overlay state (UNAVAILABLE
,HIDDEN
, orSHOWING
). - Mark
OverlayHost
as@ReadOnlyOverlayApi
to indicate that it's not intended for direct implementation by consumers. - Mark
Overlay
as@Stable
.
Misc
- Make
NavEvent.screen
public. - Change
Navigator.popUntil
to be exclusive. - Add
Navigator.peek()
to peek the top screen of the back stack. - Add
Navigator.peekBackStack()
to peek the top screen of the back stack. - Align spelling of back stack parameters across all APIs to
backStack
. - Refreshed iOS Counter sample using SPM and SKIE.
- Convert STAR sample to KMP. Starting with Android and Desktop.
- Fix baseline profiles packaging. Due to a bug in the baseline profile plugin, we were not packaging the baseline profiles in the artifacts. This is now fixed.
- Mark
BackStack.Record
as@Stable
. - Fix an infinite loop in the
onRootPop
of the AndroidrememberCircuitNavigator
. - Update the default decoration to better match the android 34 transitions.
- Update androidx.lifecycle to
2.7.0
. - Update to compose multiplatform to
1.5.12
. - Update to compose to
1.6.1
. - Update to compose-bom to
2024.02.00
. - Update compose-compiler to
1.5.9
. - Update AtomicFu to
0.23.2
. - Update Anvil to
2.4.9
. - Update KotlinPoet to
1.16.0
. - Compile against KSP
1.9.22-1.0.17
.
Special thanks to @milis92, @ChrisBanes, and @vulpeszerda for contributing to this release!
New Contributors
- @milis92 made their first contribution in #1116
- @vulpeszerda made their first contribution in #1160
Full Changelog: 0.18.2...0.19.0
0.18.2
- Fix: Fix lifetime of
Record
s'ViewModelStores
. This fully fixes #1065. - Update Molecule to
1.3.2
. - Update Jetbrains' compose-compiler to
1.5.7.1
.
Special thanks to @dandc87 for contributing to this release!
What's Changed
- Fall back to emulator runners on CI for external PRs by @ZacSweers in #1093
- Update dependency org.jetbrains.compose.compiler:compiler to v1.5.7 by @slack-oss-bot in #1084
- Introduce compose-lints by @ZacSweers in #1094
- Update dependency app.cash.molecule:molecule-runtime to v1.3.2 by @slack-oss-bot in #1095
- Update leakcanary to v2.13 by @slack-oss-bot in #1096
- Update agp to v8.2.1 by @slack-oss-bot in #1098
- Fix lifetime of Records' ViewModelStores by @dandc87 in #1097
Full Changelog: 0.18.1...0.18.2
0.18.1
Happy new year!
- Fix: Fix popped Record's
ProvidedValues
lifetime. See #1065 for more details. - Fix: Fix
GestureNavDecoration
dropping saveable/retained state on back gestures. See #1089 for more details.
Special thanks to @chrisbanes and @dandc87 for contributing to this release!
What's Changed
- Update dependency pymdown-extensions to v10.7 by @slack-oss-bot in #1087
- Fix popped Record's ProvidedValues lifetime by @dandc87 in #1086
- Merge copies of TestCountPresenter / Ui / Content to new shared module by @chrisbanes in #1088
- Fix GestureNavDecoration dropping saveable/retained state on back gestures by @chrisbanes in #1089
New Contributors
Full Changelog: 0.18.0...0.18.1
0.18.0
- New: Support animating an overlay out after returning a result with
AnimatedOverlay
. - Fix: Fix dropping back stack retained state on Android Activity rotations.
- Enhancement: Add ability to customize
ModalBottomSheet
appearance inBottomSheetOverlay
. - Update Kotlin to
1.9.22
. - Update KSP to
1.9.22-1.0.16
. - Update Dagger to
2.50
. - Update kotlinx-collections-immutable to
0.3.7
. - Update AndroidX Activity to
1.8.2
.
Special thanks to @chrisbanes, @chriswiesner, and @bryanstern for contributing to this release!
What's Changed
- Update dependency mkdocs-material to v9.5.0 by @slack-oss-bot in #1047
- Update dependency androidx.compose.compiler:compiler to v1.5.6 by @slack-oss-bot in #1045
- Update dependency mkdocs-material to v9.5.1 by @slack-oss-bot in #1049
- Update dependency mkdocs-material to v9.5.2 by @slack-oss-bot in #1050
- Update dependency com.autonomousapps.dependency-analysis to v1.28.0 by @slack-oss-bot in #1051
- Update androidx.activity to v1.8.2 by @slack-oss-bot in #1052
- Update dependency androidx.activity:activity-compose to v1.8.2 by @slack-oss-bot in #1053
- Update roborazzi to v1.7.0 by @slack-oss-bot in #1057
- Update dependency org.jetbrains.kotlinx:kotlinx-collections-immutable to v0.3.7 by @slack-oss-bot in #1060
- Update dependency androidx.annotation:annotation to v1.7.1 by @slack-oss-bot in #1054
- Update dependency androidx.test.uiautomator:uiautomator to v2.3.0-beta01 by @slack-oss-bot in #1055
- Update dependency com.squareup.okio:okio to v3.7.0 by @slack-oss-bot in #1061
- Update ksp to v1.9.21-1.0.16 by @slack-oss-bot in #1056
- Update actions/upload-artifact action to v4 by @slack-oss-bot in #1058
- Update okhttp monorepo to v5.0.0-alpha.12 by @slack-oss-bot in #1062
- Fix dropping back stack retained state on Android Activity rotations by @chrisbanes in #1063
- Update dependency androidx.compose.compiler:compiler to v1.5.7 by @slack-oss-bot in #1067
- Update dagger to v2.50 by @slack-oss-bot in #1068
- Update dependency com.google.truth:truth to v1.2.0 by @slack-oss-bot in #1069
- Add ability to customize ModalBottomSheet appearance in BottomSheetOverlay by @chriswiesner in #1059
- Update dependency com.vanniktech.maven.publish to v0.26.0 by @slack-oss-bot in #1070
- Migrate NavigableCircuitRetainedStateTest to Robolectric by @chrisbanes in #1071
- Run CI on macOS to cover iOS targets too by @ZacSweers in #1073
- Integrate emulator.wtf for instrumentation tests by @ZacSweers in #1072
- Tweak BackStackRecordLocalProvider to get it building on iOS again by @chrisbanes in #1076
- Update kotlin monorepo to v1.9.22 by @slack-oss-bot in #1078
- Support animating an overlay out after returning a result by @bryanstern in #1066
- Update dependency mkdocs-material to v9.5.3 by @slack-oss-bot in #1079
- Update dependency org.jline:jline to v3.25.0 by @slack-oss-bot in #1080
- Update dependency pymdown-extensions to v10.6 by @slack-oss-bot in #1083
- Update ksp to v1.9.22-1.0.16 by @slack-oss-bot in #1081
- Update dependency org.jsoup:jsoup to v1.17.2 by @slack-oss-bot in #1085
New Contributors
- @chriswiesner made their first contribution in #1059
Full Changelog: 0.17.1...0.18.0
0.17.1
- Enhancement: Commonize
SaveableStateRegistryBackStackRecordLocalProvider
to be supported across all currently supported platforms. - Fix: Fix
LocalBackStackRecordLocalProviders
always returning a new composition local. - Update
androidx.compose.compiler:compiler
to1.5.5
- Update KotlinPoet to
1.15.3
- Update Dagger to
2.49
Special thanks to @alexvanyo for contributing to this release.
What's Changed
- Update dependency tornado to v6.4 by @slack-oss-bot in #1026
- Update dependency androidx.datastore:datastore-preferences to v1.1.0-alpha07 by @slack-oss-bot in #1028
- Update dependency androidx.compose.compiler:compiler to v1.5.5 by @slack-oss-bot in #1027
- Update actions/setup-java action to v4 by @slack-oss-bot in #1030
- Update kotlinpoet to v1.15.2 by @slack-oss-bot in #1033
- Update dependency gradle to v8.5 by @slack-oss-bot in #1029
- Update agp to v8.2.0 by @slack-oss-bot in #1034
- Commonize SaveableStateRegistryBackStackRecordLocalProvider by @alexvanyo in #1037
- Update dagger to v2.49 by @slack-oss-bot in #1040
- Update benchmark to v1.2.2 by @slack-oss-bot in #1038
- Update sqldelight to v2.0.1 by @slack-oss-bot in #1039
- Update dependency termcolor to v2.4.0 by @slack-oss-bot in #1041
- Update dependency com.autonomousapps.dependency-analysis to v1.27.0 by @slack-oss-bot in #1042
- Update kotlinpoet to v1.15.3 by @slack-oss-bot in #1043
Full Changelog: 0.17.0...0.17.1
0.17.0
New: circuitx-effects artifact
The circuitx-effects artifact provides some effects for use with logging/analytics. These effects
are typically used in Circuit presenters for tracking impressions
and will run only once until
forgotten based on the current circuit-retained strategy.
dependencies {
implementation("com.slack.circuit:circuitx-effects:<version>")
}
Docs: https://slackhq.github.io/circuit/circuitx/#effects
New: Add codegen mode to support both Anvil and Hilt
Circuit's code gen artifact now supports generating for Hilt projects. See the docs for usage instructions: https://slackhq.github.io/circuit/code-gen/
Misc
- Decompose various
CircuitContent
internals likerememberPresenter()
,rememberUi
, etc for reuse. - Make
CircuitContent()
overload that accepts a pre-constructed presenter/ui parameters public to allow for more control over content. - [samples] Update README to include the interop sample.
- [samples] Various bugfixes to samples.
- [docs] Link sources in kdocs.
- [docs] Nest CircuitX artifacts in kdocs ToC.
- Update uuid to
0.8.2
. - Update KotlinPoet to
1.15.1
. - Update to Compose Multiplatform
1.5.11
. - Update to Kotlin
1.9.21
. - Update to KSP
1.9.21-1.0.15
. - Update to compose-compiler (multiplatform)
1.5.4
. - Update to Molecule
1.3.1
.
Special thanks to @jamiesanson, @frett, and @bryanstern for contributing to this release!
What's Changed
- Update dependency com.benasher44:uuid to v0.8.2 by @slack-oss-bot in #990
- Update dependency pymdown-extensions to v10.4 by @slack-oss-bot in #991
- Update dependency com.jakewharton.mosaic to v0.10.0 by @slack-oss-bot in #992
- Update androidx.activity to v1.8.1 by @slack-oss-bot in #994
- Update benchmark to v1.2.1 by @slack-oss-bot in #995
- Update dependency androidx.activity:activity-compose to v1.8.1 by @slack-oss-bot in #996
- Update dependency com.autonomousapps.dependency-analysis to v1.26.0 by @slack-oss-bot in #998
- Update dependency androidx.browser:browser to v1.7.0 by @slack-oss-bot in #997
- Update agp to v8.1.4 by @slack-oss-bot in #999
- Interop sample updates by @stagg in #1000
- Update dependency mkdocs-material to v9.4.9 by @slack-oss-bot in #1001
- Update dependency me.saket.telephoto:zoomable-image-coil to v0.7.1 by @slack-oss-bot in #1002
- Update dependency Pygments to v2.17.1 by @slack-oss-bot in #1003
- Update dependency mkdocs-material to v9.4.10 by @slack-oss-bot in #1005
- Link sources in kdocs by @ZacSweers in #1007
- Update dependency Pygments to v2.17.2 by @slack-oss-bot in #1009
- Update dependency mkdocs-material-extensions to v1.3.1 by @slack-oss-bot in #1010
- Update kotlinpoet to v1.15.1 by @slack-oss-bot in #1004
- Add codegen mode to support both Anvil and Hilt by @jamiesanson in #963
- Update dependency mkdocs-material to v9.4.11 by @slack-oss-bot in #1011
- Update dependency mkdocs-material to v9.4.12 by @slack-oss-bot in #1014
- Update compose.jb to v1.5.11 by @slack-oss-bot in #1013
- Update kotlin monorepo to v1.9.21 by @slack-oss-bot in #1012
- Update dependency org.jetbrains.compose.compiler:compiler to v1.5.4 by @slack-oss-bot in #1015
- Better name handling for nested projects in dokka by @ZacSweers in #1016
- Update dependency app.cash.molecule:molecule-runtime to v1.3.1 by @slack-oss-bot in #1017
- Update dependency pymdown-extensions to v10.5 by @slack-oss-bot in #1018
- Update dependency mkdocs-material to v9.4.14 by @slack-oss-bot in #1020
- Update dependency org.jsoup:jsoup to v1.17.1 by @slack-oss-bot in #1021
- Update dependency io.gitlab.arturbosch.detekt to v1.23.4 by @slack-oss-bot in #1019
- CircuitX - ImpressionEffect by @stagg in #1008
- Update dependency dev.zacsweers.moshix to v0.25.1 by @slack-oss-bot in #1022
- Update ksp to v1.9.21-1.0.15 by @slack-oss-bot in #1023
- Update CONTRIBUTING to add kdoctor installation requirement. by @waylon-brown in #1025
- Decompose out multiple circuit internals for reuse + publicize CircuitContent by @ZacSweers in #1024
New Contributors
- @jamiesanson made their first contribution in #963
- @waylon-brown made their first contribution in #1025
Full Changelog: 0.16.1...0.17.0
0.16.1
- Fix: Fix retained value not recalculating if inputs changed.
- Build against KSP
1.9.20-1.0.14
.
What's Changed
- Update dependency androidx.datastore:datastore-preferences to v1.1.0-alpha06 by @slack-oss-bot in #979
- Update dependency androidx.test.uiautomator:uiautomator to v2.3.0-alpha05 by @slack-oss-bot in #980
- Update dependency com.android.tools:desugar_jdk_libs to v2.0.4 by @slack-oss-bot in #982
- Update dependency org.jline:jline to v3.24.1 by @slack-oss-bot in #981
- Update dependency mkdocs-material to v9.4.8 by @slack-oss-bot in #986
- Update dependency com.slack.eithernet:eithernet to v1.8.0 by @slack-oss-bot in #984
- Update ksp to v1.9.20-1.0.14 by @slack-oss-bot in #983
- Update agp to v8.1.3 by @slack-oss-bot in #987
- Fix retained value not recalculating if inputs changed by @stagg in #989
- Update dependency androidx.compose.compiler:compiler to v1.5.4 by @slack-oss-bot in #988
New Contributors
Full Changelog: 0.16.0...0.16.1
0.16.0
New: circut-retained
is now enabled by default
Following the discussion in #891 circut-retained
is automatically added in CircuitCompositionLocals
by default, we still allow overriding it with a no-op implementation. (#931)
Other Changes
- Update to Kotlin
1.9.20
. - Update Compose Multiplatform to
1.5.2
. - Update
agp
to8.1.2
. - Update
androidx.activity
to1.8.0
. - Update
benchmark
to1.2.0
. - Update
coil
to2.5.0
. - Update
compose.material3
to1.1.2
. - Update
compose.material
to1.5.4
. - Update
compose.runtime
to1.5.4
. - Update
compose.ui
to1.5.4
. - Update
roborazzi
to1.6.0
.
Whats Changed
- Update compose.material3 to v1.1.2 by @slack-oss-bot in (#893)
- Update dependency mkdocs-material-extensions to v1.2 by @slack-oss-bot in (#898)
- Update dependency me.saket.telephoto:zoomable-image-coil to v0.6.1 by @slack-oss-bot in (#897)
- Update dependency androidx.compose:compose-bom to v2023.09.01 by @slack-oss-bot in (#896)
- Update dependency androidx.activity:activity-ktx to v1.8.0-rc01 by @slack-oss-bot in (#895)
- Update dependency androidx.activity:activity-compose to v1.8.0-rc01 by @slack-oss-bot in (#894)
- Update benchmark to v1.2.0-rc01 by @slack-oss-bot in (#892)
- Update dependency mkdocs-material to v9.4.1 by @slack-oss-bot in (#899)
- Update dependency me.saket.telephoto:zoomable-image-coil to v0.6.2 by @slack-oss-bot in (#900)
- Update dependency mkdocs-material to v9.4.2 by @slack-oss-bot in (#901)
- Update compose.jb to v1.5.2 by @slack-oss-bot in (#902)
- Update dependency com.slack.eithernet:eithernet to v1.6.0 by @slack-oss-bot in (#904)
- Implement Context.findActivity() with tailrec by @ZacSweers in (#903)
- Update dependency androidx.compose.foundation:foundation to v1.5.2 by @slack-oss-bot in (#909)
- Update compose.ui to v1.5.2 by @slack-oss-bot in (#907)
- Update agp to v8.1.2 by @slack-oss-bot in (#912)
- Update dependency com.autonomousapps.dependency-analysis to v1.23.1 by @slack-oss-bot in (#913)
- Update dependency androidx.compose:compose-bom to v2023.09.02 by @slack-oss-bot in (#910)
- Update dependency androidx.compose.animation:animation to v1.5.2 by @slack-oss-bot in (#908)
- Update compose.runtime to v1.5.2 by @slack-oss-bot in (#906)
- Update compose.material to v1.5.2 by @slack-oss-bot in (#905)
- Update dependency com.autonomousapps.dependency-analysis to v1.24.0 by @slack-oss-bot in (#916)
- Update dependency io.reactivex.rxjava3:rxjava to v3.1.8 by @slack-oss-bot in (#915)
- Update dependency com.squareup.okio:okio to v3.6.0 by @slack-oss-bot in (#917)
- Update dependency com.github.ajalt.clikt:clikt to v4.2.1 by @slack-oss-bot in (#918)
- Update dagger to v2.48.1 by @slack-oss-bot in (#920)
- Update dependency mkdocs-material to v9.4.3 by @slack-oss-bot in (#919)
- Update dependency gradle to v8.4 by @slack-oss-bot in (#929)
- Update dependency androidx.compose.foundation:foundation to v1.5.3 by @slack-oss-bot in (#928)
- Update dependency androidx.compose.animation:animation to v1.5.3 by @slack-oss-bot in (#927)
- Update dependency androidx.activity:activity-compose to v1.8.0 by @slack-oss-bot in (#925)
- Update compose.runtime to v1.5.3 by @slack-oss-bot in (#923)
- Update compose.material to v1.5.3 by @slack-oss-bot in (#922)
- Update compose.ui to v1.5.3 by @slack-oss-bot in (#924)
- Remove custom activity dep by @slack-oss-bot in (#926)
- Add tests for code gen by @ZacSweers in (#930)
- Update gradle enterprise and redact local data by @ZacSweers in (#932)
- Include retained state registry setup in CircuitCompositionLocals by @ZacSweers in (#931)
- Update dependency androidx.compose:compose-bom to v2023.10.00 by @slack-oss-bot in (#938)
- Update androidx.activity to v1.8.0 by @slack-oss-bot in (#937)
- Update dependency org.jetbrains.kotlinx:kotlinx-collections-immutable to v0.3.6 by @slack-oss-bot in (#936)
- Update dependency mkdocs-material to v9.4.4 by @slack-oss-bot in (#935)
- Update compose.jb to v1.5.3 by @slack-oss-bot in (#934)
- Update benchmark to v1.2.0-rc02 by @slack-oss-bot in (#940)
- Update dependency Markdown to v3.5 by @slack-oss-bot in (#941)
- Update dependency com.autonomousapps.dependency-analysis to v1.25.0 by @slack-oss-bot in (#943)
- Update dependency mkdocs-material to v9.4.5 by @slack-oss-bot in (#945)
- Update dependency com.google.testparameterinjector:test-parameter-injector to v1.13 by @slack-oss-bot in (#947)
- Update roborazzi to v1.6.0 by @slack-oss-bot in (#946)
- Update dependency mkdocs-material to v9.4.6 by @slack-oss-bot in (#948)
- Update lint to latest by @ZacSweers in (#951)
- Add more controls for overrides by @ZacSweers in (#950)
- Update dependency mkdocs-material-extensions to v1.3 by @slack-oss-bot in (#953)
- Update dependency org.jetbrains.dokka to v1.9.10 by @slack-oss-bot in (#952)
- Use data object in more appropriate places by @ZacSweers in (#955)
- Update dependency androidx.compose.foundation:foundation to v1.5.4 by @slack-oss-bot in (#961)
- Update dependency androidx.compose.animation:animation to v1.5.4 by @slack-oss-bot in (#960)
- Update compose.ui to v1.5.4 by @slack-oss-bot in (#959)
- Update benchmark to v1.2.0 by @slack-oss-bot in (#956)
- Update dependency pymdown-extensions to v10.3.1 by @slack-oss-bot in (#965)
- Update dependency org.jsoup:jsoup to v1.16.2 by @slack-oss-bot in (#964)
- Update dependency androidx.compose:compose-bom to v2023.10.01 by @slack-oss-bot in (#962)
- Update compose.material to v1.5.4 by @slack-oss-bot in (#957)
- Update compose.runtime to v1.5.4 by @slack-oss-bot in (#958)
- Update dependency com.google.testparameterinjector:test-parameter-injector to v1.14 by @slack-oss-bot in (#967)
- Update dependency org.jline:jline to v3.24.0 by @slack-oss-bot in (#968)
- Update dependency mkdocs-material to v9.4.7 by @slack-oss-bot in (#969)
- Update dependency org.robolectric:robolectric to v4.11 by @slack-oss-bot in (#970)
- Update coil to v2.5.0 by @slack-oss-bot in (#973)
- Update dependency io.gitlab.arturbosch.detekt to v1.23.2 by @slack-oss-bot in (#971)
- Update to Kotlin 1.9.20 by @ZacSweers in (#889)
- Update dependency org.robolectric:robolectric to v4.11.1 by @slack-oss-bot in (#977)
- Update dependency app.cash.molecule:molecule-runtime to v1.3.0 by @slack-oss-bot in (#978)
- Update dependency mkdocs-macros-plugin to v1.0.5 by @slack-oss-bot in (#976)
- Update dependency io.gitlab.arturbosch.detekt to v1.23.3 by @slack-oss-bot in (#975)
- Update dependency Markdown to v3.5.1 by @slack-oss-bot in (#974)
Full Changelog: 0.15.0...0.16.0