Update dependency com.slack.circuit:circuit-foundation to v0.26.0 #1201
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.25.0
->0.26.0
Release Notes
slackhq/circuit (com.slack.circuit:circuit-foundation)
v0.26.0
Compare Source
2025-02-06
Happy new year!
Shared Elements API!
After a lot of iteration and work, this release adds support for Compose's new shared elements APIs.
These are still experimental and subject to change, both in Circuit and due to how the underlying
See this PR for full details as well as sample integrations: https://github.com/slackhq/circuit/pull/1550. Please share feedback in this discussion. More formal docs to come as well, we'll publish updates there!
For now, the easiest way to support shared element transitions is to wrap your content with a
SharedElementTransitionLayout
.SharedElementTransitionLayout
creates and provides aSharedElementTransitionScope
to content within it, and in turn exposes aSharedTransitionScope
for use with standard compose shared elements/bounds animations. This is supported inNavigableCircuitContent
and overlays.There is also a
PreviewSharedElementTransitionLayout
for help with Compose previews.Behaviour Changes:
rememberRetained
Previously,
rememberRetained
could sometimes restore values when a composable was re-added, depending on whether its parentRetainedStateRegistry
had been saved (#1783).Now,
rememberRetained
aligns withremember
andrememberSaveable
: if a composable is removed and later re-added, its value will not be restored unless it is explicitly saved and then restored via the registry.Update rememberRetained to allow CanRetainChecker to be updated in place.
Behaviour Change:
RetainedStateRegistry
saveAll
now returns the saved values.RetainedStateRegistry.Entry.unregister
now returns whether the unsaved valueProvider was actually removed.saveAll
andsaveValue
now skip storing child values whenCanRetainChecker
returnsfalse
.New:
RetainedStateHolder
Similar to
SaveableStateHolder
,RetainedStateHolder
provides a mechanism to maintain separateRetainedStateRegistry
entries for specific keys. This allows saving the state defined withrememberRetained
for a subtree before it is disposed, so that the subtree can later be recomposed with its state restored.Implementation Changes:
NavigableCircuitContent
RetainedStateRegistry
for each record has been changed to useRetainedStateHolder
instead.SaveableStateHolder
to release saved states of removed records.Misc
2025.01.01
.1.9.1
.1.10.0
.1.7.7
.1.7.3
.1.9.10
.1.9.10-1.0.29
.2.55
.2.0.0
.0.4.1
. Should still be compatible with square/anvil as well.0.1.2
. Should still be compatible with square/anvil as well.Special thanks to @vulpeszerda, @rharter, @alexvanyo, and @easyhooon for contributing to this release!
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.