Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update circuit to v0.24.0 #309

Open
wants to merge 1 commit into
base: modern
Choose a base branch
from
Open

Update circuit to v0.24.0 #309

wants to merge 1 commit into from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented May 28, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
com.slack.circuit:circuitx-gesture-navigation 0.20.0 -> 0.24.0 age adoption passing confidence
com.slack.circuit:circuit-retained 0.20.0 -> 0.24.0 age adoption passing confidence
com.slack.circuit:circuit-runtime 0.20.0 -> 0.24.0 age adoption passing confidence
com.slack.circuit:circuit-overlay 0.20.0 -> 0.24.0 age adoption passing confidence
com.slack.circuit:circuit-foundation 0.20.0 -> 0.24.0 age adoption passing confidence

Release Notes

slackhq/circuit (com.slack.circuit:circuitx-gesture-navigation)

v0.24.0

Compare Source

2024-09-16

  • New: Add code gen support for kotlin-inject + kotlin-inject-anvil. See the code gen docs for usage instructions. We've also added a sample project.
  • New: presenterTestOf() and Presenter.test() functions now return a new CircuitReceiveTurbine interface. This interface slightly but importantly modifies the behavior of awaitItem() by making it only emit changed items rather than every item. If you do want to assert the equivalent state is emitted across recompositions, you can use awaitUnchanged().
  • New: Promote LocalBackStack to public API.
  • Behavior change: Due to the above-documented change to awaitItem(), you may need to update tests that previously assumed duplicate emissions.
  • Update to Kotlin 2.0.20.
  • Change: Switch to stdlib's implementation of Uuid. This release now requires Kotlin 2.0.20 or later.
  • Add sample test to demonstrate rememberAnsweringNavigator result handling.
  • Update to kotlinx.coroutines 1.9.0.
  • Update to compose-bom 2024.09.01.
  • Update to kotlinx.collections.immutable 0.3.8.
  • Update to androidx.activity 1.9.2.
  • Update to androidx.lifecycle 2.8.5.
  • Update to kotlin 2.0.20.
  • Build against KSP 2.0.20-1.0.25.

v0.23.1

Compare Source

2024-07-30

  • New: Promote NoOpRetainedStateRegistry to public API for use in testing and previews.
  • New: Add CircuitPreview helper function for composable previews that contain Circuit content.
  • Enhancement: When running under LocalInspectionMode, Circuit's default onUnavailableContent now shows a simpler non-intrusive placeholder UI instead.
  • Enhancement: Support secondary injected constructors in code gen.
  • Fix: Fix non-dismissable BottomSheetOverlay crash when invoking back-press.
  • Update to Kotlin 2.0.10.
  • Update to androidx.annotation 1.8.2.
  • Build against KSP 2.0.10-1.0.24.

v0.23.0

Compare Source

2024-07-30

  • New: Add macOS, windows, linux, tvOS, and watchOS targets to Circuit's runtime and retained artifacts.
  • New: Add macOS targets to Circuit's UI, backstack, overlay, test, circuitx (except gesture nav), and foundation artifacts.
  • Slightly optimize pausableState #​1455.
  • Change: OverlayHost.showFullScreenOverlay now returns the PopResult? that was popped by the screen.
  • Change: Remove backstack dependency from circuit-runtime. It was unnecessary and also accidentally imposed Compose UI on the runtime/presenter artifacts.
  • Change: Make Overlay a fun interface.
  • Breaking Change: Change OverlayEffect to use a new OverlayScope API that implements both CoroutineScope and OverlayHost, making both contexts available in the lambda.
  • Update KSP to 2.0.0-1.0.24.
  • Update androidx.activity to 1.9.1.
  • Update androidx.lifecycle to 2.8.4.
  • Update androidx.annotation to 1.8.1.
  • Update KotlinPoet 1.18.1.
  • Update Compose Multiplatform to 1.6.11.

Special thanks to @​aschulz90 and @​chrisbanes for contributing to this release!

v0.22.2

Compare Source

2024-06-04

  • Fix: Fix pausableState recomposition loops by avoiding backward snapshot writes.
  • New: Add Circuit.presentWithLifecycle flag to enable/disable automatic pausableState use. This is enabled by default.
  • Update Compose Multiplatform to 1.6.11.
  • Update androidx.lifecycle to 2.8.1.
  • Update androidx.appcompat to 1.7.0.

Special thanks to @​chrisbanes, @​adamp, and Chuck Jazdzewski for contributing to this release and helping us find a runtime fix for the pausableState issue!

v0.22.1

Compare Source

2024-05-28

  • Fix: Fix rememberRetained implicitly requiring LocalContext where it used to no-op.
  • Update Molecule to 2.0.0.

v0.22.0

Compare Source

2024-05-28

  • Update to Kotlin 2.0.0.
  • Update to KSP 2.0.0-1.0.21.
  • Update Compose Multiplatform to 1.6.10.
  • Switch to the compose compiler shipped with Kotlin.

This release is otherwise identical to 0.21.0, just updated to Kotlin 2.0.

v0.21.2

Compare Source

  • Fix: Fix pausableState recomposition loops by avoiding backward snapshot writes.
  • New: Add Circuit.presentWithLifecycle flag to enable/disable automatic pausableState use. This is enabled by default.

Full Changelog: slackhq/circuit@0.21.1...0.21.2

v0.21.1

Compare Source

  • Fix: Fix rememberRetained implicitly requiring LocalContext where it used to no-op (#​1438)
What's Changed

Full Changelog: slackhq/circuit@0.21.0...0.21.1

v0.21.0

Compare Source

2024-05-28

  • New: Add WASM targets.
  • New: Add FakeNavigator functions to check for the lack of pop/resetRoot events.
  • New: Add FakeNavigator constructor param to add additional screens to the backstack.
  • New: Add support for static UIs. In some cases, a UI may not need a presenter to compute or manage its state. Examples of this include UIs that are stateless or can derive their state from a single static input or an input [Screen]'s properties. In these cases, make your screen implement the StaticScreen interface. When a StaticScreen is used, Circuit will internally allow the UI to run on its own and won't connect it to a presenter if no presenter is provided.
  • New: Add RecordLifecycle and LocalRecordLifecycle composition local, allowing UIs and presenters to observe when they are 'active'. Currently, a record is considered 'active' when it is the top record on the back stack.
  • New: Add a rememberRetainedSaveable variant that participates in both RetainedStateRegistry and SaveableStateRegistry restoration, allowing layered state persistence.
    • The logic is the following upon rememberRetainedSaveable entering composition:
      • consume from both RetainedStateRegistry and SaveableStateRegistry, if available
      • if the retained value is available, use that
      • otherwise, if the saveable restored value is available, use that
      • otherwise, re-initialize the value
    • There is also an overload of rememberRetained that explicitly requires a Saver parameter.
  • Behaviour Change: Presenters are now 'paused' when inactive and replay their last emitted CircuitUiState when they are not active. Presenters can opt-out of this behavior by implementing NonPausablePresenter.
  • Behaviour Change: NavigatorImpl.goTo no longer navigates if the Screen is equal to Navigator.peek().
  • Behaviour Change: Presenter.present is now annotated with @ComposableTarget("presenter"). This helps prevent use of Compose UI in the presentation logic as the compiler will emit a warning if you do. Note this does not appear in the IDE, so it's recommended to use allWarningsAsErrors to fail the build on this event.
  • Behaviour Change: Guard against Navigator.goTo() calls to the same current screen.
  • Change: Navigator.goTo now returns a Bool indicating navigation success.
  • Change: Move iOS GestureNavigationDecoration impl to commonMain and rename to CupertinoGestureNavigationDecoration.
  • Change: Target jvmTarget 1.8 in core libraries.
  • Fix: Fix saveable state being restored when using reset root navigation events.
  • Deprecation: FakeNavigator.assertIsEmpty and expectNoEvents (use the specific event type methods instead)
  • Mark Presenter.Factory as @Stable.
  • Mark Ui.Factory as @Stable.
  • Mark CircuitContext as @Stable.
  • Mark EventListener as @Stable.
  • Mark EventListener.Factory as @Stable.
  • [samples] Improve interop sample significantly.
  • Update Kotlin to 1.9.24.
  • Update KSP to 1.9.24-2.0.20.
  • Update compose-compiler to 1.5.14.
  • Update KotlinPoet to 1.17.0.
  • Update androidx.lifecycle to 2.8.0.
  • Update Molecule to 1.4.3.
  • Update androidx.annotation to 1.8.0.
  • Update kotlinx.coroutines to 1.8.1.
  • Update Compose Multiplatform to 1.6.2.
  • Update Compose UI to 1.6.7.
  • Update Compose Runtime to 1.6.7.
  • Update Compose Animation to 1.6.7.
  • Update Compose Material to 1.6.7.
  • Update androidx.core to 1.13.1.
  • Update androidx.activity to 1.9.0.
  • Update dagger to 2.51.1.
  • Update uuid to 0.8.4.

Special thanks to @​chrisbanes, @​alexvanyo, @​eboudrant, @​edenman, and @​JustinBis 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 these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot requested a review from r0adkll as a code owner May 28, 2024 07:49
@renovate renovate bot added the renovate Automated PR from renovate bot label May 28, 2024
@renovate renovate bot enabled auto-merge (squash) May 28, 2024 07:49
Copy link

github-actions bot commented May 28, 2024

Messages
📖 This PR has been checked by Danger

Generated by 🚫 Danger Kotlin against a5504d9

@renovate renovate bot changed the title Update circuit to v0.21.0 Update circuit to v0.22.0 May 28, 2024
@renovate renovate bot changed the title Update circuit to v0.22.0 Update circuit to v0.22.1 May 29, 2024
@renovate renovate bot force-pushed the renovate/circuit branch 7 times, most recently from 0fce516 to f1f8a33 Compare June 4, 2024 16:58
@renovate renovate bot changed the title Update circuit to v0.22.1 Update circuit to v0.22.2 Jun 4, 2024
@renovate renovate bot force-pushed the renovate/circuit branch 4 times, most recently from 501e13f to 255d46d Compare June 13, 2024 22:02
@renovate renovate bot force-pushed the renovate/circuit branch 6 times, most recently from 2bbc0cb to 7c279db Compare June 27, 2024 04:46
@renovate renovate bot force-pushed the renovate/circuit branch 4 times, most recently from c3aabc8 to 71df052 Compare July 9, 2024 12:23
@renovate renovate bot force-pushed the renovate/circuit branch 5 times, most recently from b2d69a3 to 6139178 Compare July 18, 2024 13:59
@renovate renovate bot force-pushed the renovate/circuit branch 2 times, most recently from 3fc1914 to 3262bd5 Compare July 24, 2024 21:57
@renovate renovate bot changed the title Update circuit to v0.22.2 Update circuit to v0.23.0 Jul 31, 2024
@renovate renovate bot force-pushed the renovate/circuit branch 2 times, most recently from e5deee7 to b52a909 Compare August 13, 2024 21:40
@renovate renovate bot changed the title Update circuit to v0.23.0 Update circuit to v0.23.1 Aug 13, 2024
@renovate renovate bot force-pushed the renovate/circuit branch 5 times, most recently from b0dd6af to ad6db82 Compare September 1, 2024 13:19
@renovate renovate bot force-pushed the renovate/circuit branch 5 times, most recently from 1c8d3ad to 3ee56c3 Compare September 5, 2024 19:12
@renovate renovate bot force-pushed the renovate/circuit branch 3 times, most recently from b4b0ab7 to a5504d9 Compare September 13, 2024 19:53
@renovate renovate bot changed the title Update circuit to v0.23.1 Update circuit to v0.24.0 Sep 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
renovate Automated PR from renovate bot
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants