Skip to content

Releases: openMF/mifos-passcode-cmp

2.1.0

04 Apr 17:44
a77c7cb

Choose a tag to compare

What's Changed

Full Changelog: 2.0.5...breaking-changes

Breaking Changes

PasscodeManager API overhaul:

  • Constructor no longer takes CoroutineScope. Now takes isExternalAuthEnabled: Boolean parameter.
  • PasscodeAction sealed interface removed. Use direct methods instead:
    • passcodeManager.changePasscode()
    • passcodeManager.logOut()
    • passcodeManager.disableExternalAuth()
    • passcodeManager.notifyExternalAuthSuccess()
    • passcodeManager.setExternalAuthEnabled(enabled)
  • PasscodeEvent sealed interface removed. Use PasscodeResult via onResult callback.
  • trySendAction() removed.
  • rememberPasscodeManager() removed. Scope as a singleton via your DI framework.
  • .initialize() removed. Initialization happens in constructor.

PasscodeScreen signature changed:

  • 7 individual callbacks (onPasscodeConfirm, onForgotButton, onPasscodeCreation, onPasscodeChanged, onPasscodeRejected, onDisableExternalAuth, onExternalAuthError) replaced by single onResult: (PasscodeResult) -> Unit.
  • biometricButton parameter renamed to externalAuthButton.

PasscodeStorageAdapter:

  • saveRegistrationData(), loadRegistrationData(), deleteRegistrationData() are deprecated. Use BiometricStorageAdapter from the biometrics library instead.

Naming:

  • All Biometric* names in PasscodeAction, PasscodeEvent, PasscodeStep, PasscodeState renamed to External* equivalents (e.g. isBiometricEnabled -> isExternalAuthEnabled, DisableBiometrics -> DisableExternalAuth).

Migration

Before:

// Constructor
PasscodeManager(adapter, MainScope()).initialize(isExternalAuthEnabled)

// Sending actions
passcodeManager.trySendAction(PasscodeAction.ChangePasscode)
passcodeManager.trySendAction(PasscodeAction.BiometricUnlockSuccess)

// PasscodeScreen
PasscodeScreen(
    passcodeManager = passcodeManager,
    onPasscodeConfirm = { navigate(Home) },
    onPasscodeCreation = { navigate(Setup) },
    onForgotButton = { navigate(Login) },
    // ... 4 more callbacks
)

After:

// Constructor
PasscodeManager(adapter, isExternalAuthEnabled)

// Direct methods
passcodeManager.changePasscode()
passcodeManager.notifyExternalAuthSuccess()

// PasscodeScreen
PasscodeScreen(
    passcodeManager = passcodeManager,
    onResult = { result ->
        when (result) {
            PasscodeResult.Verified -> navigate(Home)
            PasscodeResult.Created -> navigate(Setup)
            PasscodeResult.Forgotten -> navigate(Login)
            PasscodeResult.Changed -> navigate(Home)
            PasscodeResult.ExternalAuthDisabled -> popBack()
            PasscodeResult.Rejected -> { }
        }
    },
)

Biometrics Library:

  • AuthenticationResult.UserCancelled added — when blocks on AuthenticationResult must handle this new variant.
  • RegistrationResult.UserCancelled added — when blocks on RegistrationResult must handle this new variant.

passcode-2.0.5, biometrics-2.0.4

19 Feb 10:52
e6f2917

Choose a tag to compare

What's Changed

Full Changelog: passcode-v2.0.4...2.0.5

passcode-2.0.4

25 Feb 06:24
b1c3239

Choose a tag to compare

What's Changed

Full Changelog: 2.0.3...passcode-v2.0.4

2.0.3

23 Feb 08:30
6e118cc

Choose a tag to compare

What's Changed

Full Changelog: Release...2.0.3

2.0.0

14 Feb 16:17
29ac50c

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 1.0.5...2.00

1.0.5: Merge pull request #4 from openMF/feat_sample

06 Apr 17:52
aad9743

Choose a tag to compare

Feature sample compose multiplatform project

1.0.4

30 Mar 20:24

Choose a tag to compare

Updated publish.yml