Skip to content

0.18.0 iOS + Android

Compare
Choose a tag to compare
@hvge hvge released this 06 Apr 12:43
· 725 commits to develop since this release

Common changes

⚠️ [ IMPORTANT ] This release of SDK requires PowerAuth Server version 0.18.x and greater to work properly.

Android Changes

  • ActivationStatus object has now convenience method getRemainingAttempts() to get remaining authentication attempts.
  • PowerAuthSDK has new getter getActivationIdentifier() returning activation identifier or null, if there's no activation.
  • Updated networking model classes to io.getlime.security:powerauth-restful-model:0.18.0.

IOS Changes

  • ⚠️ [ IMPORTANT ] PowerAuth SDK is now distributed as framework with dynamic library (check #81, #91 for reasons why we changed that). To migrate your existing codes, you have following options:
    1. Recommended solution: You have to properly import PowerAuth2 in your swift sources, to make library available for your code. After this change, the bridging header is no longer required.
    2. Not recommended, but quick fix: If you're still using bridging header, then change PowerAuth SDK import to #import <PowerAuth2/PowerAuth2.h>
  • ⚠️ [ IMPORTANT ] You can now instantiate PowerAuthSDK with provided PA2KeychainConfiguration & PA2ClientConfiguration configurations and each SDK instance has its own copy of configurations, which are immutable. This change has following implications:
    • Changing config's .sharedInstace() no longer affects previously constructed PowerAuthSDK objects. If your code depending on shared configs, you have to configure those before you instantiate PowerAuthSDK object.
    • Interfaces added to PowerAuthSDK:
      • new properties keychainConfiguration & clientConfiguration contains configurations used during the SDK object creation
      • new constructor: PowerAuthSDK(configuration:, keychainConfiguration:, clientConfiguration:)
      • new shared instance initialization: PowerAuthSDK.initSharedInstance(, keychainConfiguration:, clientConfiguration:)
  • 🔺Now it's possible to debug PowerAuth2 library when it's integrated as cocoa pod.
  • Several previously public interfaces are now private. This change is mostly about SDK's internal networking, but in case of problems, please check issue #24 for details.
  • All public methods, constants or properties with Touch ID in naming are now deprecated:
    • Use PA2Keychain.canUseBiometricAuthentication instead of PA2Keychain.canUseTouchId()
    • Use PowerAuthAuthentication.biometryPrompt instead of PowerAuthAuthentication.touchIdPrompt
    • Use PA2ErrorCodeBiometryNotAvailable as a replacement for PA2ErrorCodeTouchIDNotAvailable
    • Use PA2ErrorCodeBiometryCancel as a replacement for PA2ErrorCodeTouchIDCancel
    • There's new PA2Keychain.supportedBiometricAuthentication property to determine supported biometry type.
    • All public and private PA2Keychain methods with "useTouchId" in prototype are now renamed to "useBiometry"
  • PA2ActivationStatus object has now convenience property remainingAttempts to get remaining authentication attempts.
  • PowerAuthSDK has new property activationIdentifier, returning activation identifier or nil, if there's no activation.
  • pod PowerAuth2-Debug is now deprecated and 0.18.0 is the last released version.

watchOS Changes

We're releasing pod PowerAuth2ForWatch together with its IOS counterpart and therefore the library version has been also increased. This SDK release has no functional changes to previous version.