Skip to content

Releases: bluelinelabs/Conductor

4.0.0-preview-4

15 Aug 18:52
Compare
Choose a tag to compare

What's Changed

  • Fix issue with child controllers frozen at detach time not re-attaching

Full Changelog: 4.0.0-preview-3...4.0.0-preview-4

4.0.0-preview-3

14 Jun 14:45
Compare
Choose a tag to compare

What's Changed

  • Fix ConcurrentModificationException when manipulating backstack during instantiation by @EricKuck in 4d4d8bf

Full Changelog: 4.0.0-preview-2...4.0.0-preview-3

4.0.0-preview-2

24 Mar 15:54
Compare
Choose a tag to compare

Conductor 4.0's second public preview

Updates from preview-1

  • Removed LifecycleController and merged lifecycle support into the main Controller class
  • Activity-hosted Routers now default to PopRootControllerMode.NEVER, which has always been the suggested setting.
  • Removed first-party support for AutoDispose
  • Added a back handling demo to the demo app

Predictive back opt-in updates

Changes needed to fully support predictive back gestures in your app:

  • Call setOnBackPressedDispatcherEnabled(true) on your Activity's Router.
  • Remove the override of onBackPressed() from the Activity. No replacement is needed.
  • Opt in to predictive back gestures in your manifest file as shown here.
  • Replace any override of handleBack(), which is now deprecated, with an OnBackPressedCallback. Example callback:
    onBackPressedDispatcher?.addCallback(lifecycleOwner, object : OnBackPressedCallback(enabled = true) {
      override fun handleOnBackPressed() {
        println("back handled")
      }
    })

4.0-preview-1

22 Mar 16:27
Compare
Choose a tag to compare

Conductor 4.0's first public preview

Conductor 4.0 is coming soon. It is already being used in production with many, many millions of users. It is, however, not guaranteed to be API stable. As such, it is being released as a preview rather than a standard release. Preview in this context is not a commentary on stability. It is considered to be up to the same quality standards as the current 3.x stable release.

Other than some Kotlin migrations and dependency updates, there are two primary changes in this release:

Support for predictive back gestures

This is an opt-in change. If no changes are made in your codebase, you shouldn't experience any functionality changes.

Changes needed to fully support predictive back gestures in your app:

  • Call both setPopRootControllerMode(PopRootControllerMode.NEVER) and setOnBackPressedDispatcherEnabled(true) on your Activity's Router.
  • Remove the override of onBackPressed() from the Activity. No replacement is needed.
  • Opt in to predictive back gestures in your manifest file as shown here
  • Replace any override of handleBack(), which is now deprecated, with an OnBackPressedCallback. Example callback:
    // "this" must be a LifecycleOwner
    onBackPressedDispatcher?.addCallback(this, object : OnBackPressedCallback(enabled = true) {
      override fun handleOnBackPressed() {
        println("back handled")
      }
    })

AndroidX backing

This is an opt-out change, and is enabled by default. Conductor has historically relied on platform Fragments to receive lifecycle events. This has resulted in a few shortcomings as functionality has been added to AndroidX Fragments, but is only available in newer API versions for the platform versions. Conductor will now automatically use AndroidX backing under two conditions: your Activity extends FragmentActivity and allowExperimentalAndroidXBacking = false is not passed into the Conductor.attachRouter method.

3.2.0

30 Jan 16:57
Compare
Choose a tag to compare

What's Changed

  • Don't pop the final controller in pager adapters. Fixes #681 by @EricKuck in #682
  • Make change start/end callbacks when parent controller is popped. Fixes #683 by @EricKuck in #684

Full Changelog: 3.1.9...3.2.0

3.1.9

14 Dec 01:14
Compare
Choose a tag to compare

What's Changed

  • Update ancestor change listeners to prevent memory leak by @EricKuck in #680

Full Changelog: 3.1.8...3.1.9

3.1.8

14 Jun 14:40
Compare
Choose a tag to compare

Full Changelog: 3.1.7...3.1.8

3.1.7

14 Jun 14:41
Compare
Choose a tag to compare

What's Changed

Full Changelog: 3.1.6...3.1.7

3.1.6

14 Jun 14:41
Compare
Choose a tag to compare

What's Changed

  • Convert dependencies to version catalogs by @EricKuck in #675
  • Add leak detection for destroyed controller views by @pyricau in #676

New Contributors

Full Changelog: 3.1.5...3.1.6

3.1.5

14 Jun 14:41
Compare
Choose a tag to compare

What's Changed

  • Fix issue where child controllers may not get their onPause event soon enough by @EricKuck in #672
  • Set awaitingParentAttach to false on detach, even if not currently attached by @EricKuck in #673
  • Fix edge case NPE when the user hits the back button very rapidly during state restoration by @EricKuck in #674

Full Changelog: 3.1.4...3.1.5