Flutter Plugin release notes
This section contains releases notes for the Flutter Plugin. In the release notes we mention new features and bug fixes.
3.5.0
Improvements
- [Android] Wrapper SDK now uses the latest Android Native SDK 13.2.0
- Wrapper SDK now supports 16KB page sizes for Android.
3.4.0
Features
- Support for browser identity providers (IDP) in the stateless registration flow.
Improvements
- [Android] Wrapper SDK now uses the latest Android Native SDK 13.1.0
- [iOS] Wrapper SDK now uses the latest iOS native SDK 12.6.0
- The minimum required Android OS version for the plugin is now 7.0 (API level 24).
3.3.0
Improvements
- [Android] Wrapper SDK now uses the latest Android Native SDK 13.0.0
- [iOS] Wrapper SDK now uses the latest iOS native SDK 12.5.0
startApplicationdoes no longer requires asecurityControllerClassNameparameter.
3.2.0
Features
- [iOS & Android] Support for ID Token and refresh stateless session features
- Added
getIdTokenmethod. - Added
refreshStatelessSessionmethod.
- Added
Improvements
- [Android] Added support for biometric authentication with Android BiometricPrompt. For information about how to implement the new authenticator, see biometric authentication. The previous fingerprint authentication process is now deprecated and removed.
- [Android] The wrapper SDK now uses the latest Android native SDK 12.2.1
- [iOS] The wrapper SDK now uses the latest iOS native SDK 12.4.0
3.1.2
Improvements
- [iOS] Replaced deprecated methods on ClientBuilder and deprecated ONGClient with SharedClient.
3.1.1
Improvements
- [iOS] Wrapper SDK now uses the latest iOS native SDK 12.3.6
3.1.0
Improvements
- [Android] Wrapper SDK now uses the latest Android Native SDK 12.0.0
- [iOS] Wrapper SDK now uses the latest iOS native SDK 12.3.4
- [iOS & Android] Support for stateless registration feature
- Added
registerStatelessUsermethod.
- Added
Note
With this update new fields were added to the config model class. You should update your SDK Configurator to version 5.3.0 or later.
3.0.3
Bugfixes
- [iOS] Fixed a bug where
ClosePinAuthenticationEventwouldn't be emitted, when user cancelled biometric authenticator registration.
3.0.2
Bugfixes
- [iOS] Fix a crash on iOS on failing resource requests.
3.0.1
Bugfixes
- Changed access modifier of a native api in order to hide it from the SDK user.
3.0.0
Improvements
-
General Documentation Improvements
- Added specific documentation for the call back functions which can be found in Callbacks
- Extended the documentation regarding certain user flows such as registration, authentication, OTP, and changePin
-
Increase iOS SDK version to 12.2.2
- Events are now propagated using streams.
- Previously events were thrown using the
OneginiEventListenerClass where a user would overwrite functions to handle events. This approach has been reworked to use aStreamControllerwhich can be listened to. EachListenerwill now have the ability to respond to aOWEventusing the globalowEventStreamController. startApplicationdoes no longer requires aOneginiListenerparameter.-
We removed the following deprecated events:
eventOtheropenPinAuthenticatoreventError
-
We have renamed the following events to better represent the event occurrence:
- changed
openPinRequestScreenintoOpenPinCreationEvent - changed
closePinintoClosePinCreationEvent - changed
openPinScreenAuthintoopenPinAuthenticationEvent - changed
closePinAuthintoclosePinAuthenticationEvent - changed
openFingerprintScreenintoopenFingerprintEvent - changed
closeFingerprintScreenintocloseFingerprintEvent - changed
eventInitCustomRegistrationintoinitCustomRegistrationEvent - changed
eventFinishCustomRegistrationintofinishCustomRegistrationEvent - changed
ReceivedFingerprintEventintoNextFingerprintAuthenticationAttempt - changed
NextAuthenticationAttemptEventintoNextPinAuthenticationAttemptEvent - changed
eventErrorinto several more specific events:PinNotAllowedEvent
- changed
-
Reworked functions that required
BuildContext. Now all functions are independent of this context and therefore will not require this parameter anymore. Reworked functions:handleRegisteredUserUrlgetIdentityProvidersauthenticateUserchangePinsetPreferredAuthenticator- Fingerprints's
acceptAuthenticationRequest - OTP's
acceptAuthenticationRequest - Pin Authentication's
acceptAuthenticationRequest - Pin Registration's
acceptAuthenticationRequest
-
Allow Absolute Paths for resource requests:
- Now it is possible to perform resource requests using multiple resource base urls besides the one that is defined within the tokenserver config file. This is possible as long as a valid certificate is included in the config for certificate pinning. Instructions on how to enable this can be found here.
-
Functions Rework: We reworked many functions and replaced their return values and required params
-
Introduced New Custom Objects
OWUserProfileOWCustomInfoOWIdentityProviderOWAuthenticator- Contains more information compared to the previous Authenticator objectOWAppToWebSingleSignOnOWRegistrationResponseOWAuthenticationAttemptResourceRequests
-
These functions now return or use the previously described objects:
registerUserauthenticateUsergetIdentityProvidersgetAuthenticatedUserProfilegetAppToWebSingleSignOngetUserProfiles
-
Updated functions to only resolve instead of returning an unneeded value:
setPreferredAuthenticatornow only resolves instead of returning booleanderegisterBiometricAuthenticatornow only resolves instead of returning booleanlogoutnow only resolves instead of returning booleanauthenticateDevicenow only resolves instead of returning booleanvalidatePinWithPolicynow only resolves instead of returning booleanauthenticateUserImplicitlynow only resolves instead of returning stringderegisterUsernow only resolves instead of returning boolean- removed
isDefaultfrom theuserProfileobject, which is replaced forOWUserProfile.
-
Updated parameters
handleRegisteredUserUrlnow takes a non-nullable string for the url- Custom registration's
submitSuccessActionnow does not require an Identity-provider ID - Custom registration's
submitErrorActionnow does not require an Identity-provider ID
-
Updated Errors
getAppToWebSingleSignOnnow returns actual underlying error code instead of generic error- iOS + Android:
registerAuthenticatorwill now give native errors instead of wrongly returning authenticatorNotFound when the authenticator is already registered. OneginiPinRegistrationCallback.acceptAuthenticationRequesthas been reworked and does not take a map anymore as a second argument but just a pin which is a String, the optionalisCustomAuthenticatorhas been removed
-
Reworked Resource requests - Renamed functions to better reflect functionality
getUnauthenticatedResourcetorequestResourceUnauthenticatedgetResourceAnonymoustorequestResourceAnonymousgetResourcetorequestResourceAuthenticatedgetResourceImplicittorequestResourceImplicit- Added generic function named
requestResource
-
Reworked error codes.
-
Reworked
mobileAuthWithOtp.- Users are now forced to "enroll" for mobile authentication before they can use OTP. Previously, this was done automatically through the SDK when trying to authenticate with OTP. The functionality to enroll is described in
enrollMobileAuthentication. - For consistency reasons we renamed
mobileAuthWithOtptohandleMobileAuthWithOtp handleMobileAuthWithOtpnow only resolves successfully with void instead ofString, seehandleMobileAuthWithOtp.- [bugfix] correctly throw an error when starting a second otp mobile authentication flow
- [bugfix] throw error on iOS when user is not authenticated
- Users are now forced to "enroll" for mobile authentication before they can use OTP. Previously, this was done automatically through the SDK when trying to authenticate with OTP. The functionality to enroll is described in
-
Reworked several authentication/authenticator methods
- Removed:
getRegisteredAuthenticatorsgetAllAuthenticatorsregisterAuthenticator
- Added:
deregisterBiometricAuthenticatorregisterBiometricAuthenticatorgetBiometricAuthenticatorgetPreferredAuthenticator
- Changed: (now using
OWAuthenticatorType)setPreferredAuthenticatorauthenticateUser
- Removed:
2.0.1
- Non functional changes.
2.0.0
Improvement
- [Android] Wrapper SDK now uses the latest Android Native SDK 11.9.0
- [iOS] Wrapper SDK now uses the latest iOS native SDK 12.1.0
- [iOS & Android] The Error Structure has been reworked and extended, the updated documentation containing the details can be found in the chapter Error handling. This rework introduces:
- More consistency between iOS and Android errors using our Flutter Plugin.
- More specific error codes to give more details on what the error caused.
- Consistent usage of the details property of
PlatformExceptionscontaining an overview and potentially additional information regarding the error. - Change of error codes
- [iOS & Android] Full support for Registration with Custom IdP.
- [iOS & Android] Renamed
fetchUserProfilestogetUserProfilesto better reflect the functionality from the function. - [iOS & Android] Support for multiple registered users on one device.
- [iOS & Android] Reworked
deregisterUserfunction and updated the documentation. - [iOS & Android] Added
getAccessTokengetAuthenticatedUserProfile and getRedirectUrl methods.
BugFix
- [iOS] deregisterUser now successfully deregisters the profile based on the given Id instead of the first registered user on the device.
- [iOS] authenticateUser will now properly return an error when an unregistered or unknown authenticatorId is given instead of starting pin authentication.
1.2.0 Jan 18, 2023
- Updated the Android SDK version version to 11.8.1. See the release notes and upgrade notes for more information.
- [Breaking] Bump the compile- and target-SDK of the plugin to version 32 as a consequence of the new Android SDK version.
1.1.1, Oct 12, 2022
- Created a new
WrapperErrorwhich is thrown as aplatformExceptionwhen the native SDK returns a value that the wrapper did not expect which would previously cause atypeError. - Updated
registerAuthenticatorto returnFuture<void>instead ofFuture<String>. - Fixed a bug where
handleRegisteredProcessUrlwould never resolve. - Updated
getResourceAnonymous,getResource,getResourceImplicit,getUnauthenticatedResource, to return a -Future<String?>instead ofFuture<String>.
1.1.0, April 20, 2022
- Updated the iOS SDK to version 11.0.2. This is a major change in case of tampering protection mechanism.
- The
BuildContext?context param inauthenticateUsermethod is now nullable. - The
BuildContext?context param inacceptAuthenticationRequestmethod is now nullable.
1.0.8, March 11, 2022
- Updated the Android SDK to version 11.7.0.
1.0.7, March 3, 2022
- Fixed
authenticateDevicemethod for iOS - please make sure authenticate device method is called before fetching anonymous resources.
1.0.6, February 7, 2022
- Updated Android SDK to version 11.6.1
1.0.5, December 3, 2021
- Fixed object type of result authenticateUser method.
1.0.4, November 19, 2021
- Fixes and improvements.
1.0.3, October 21, 2021
- Bump Android SDK to 11.4.0.
- Modified
buildContextto be nullable in all API calls.
1.0.2, August 4, 2021
- Updated OneginiSDK to version 11.3.0 (android platform).
1.0.1, June 9, 2021
- Resolved an obfuscation issue (android platform).
1.0.0, June 8, 2021
- Release version.
1.0.0-dev.2, June 7, 2021
- Added a required param
profileIdto thederegisterUsermethod
1.0.0-dev.1, May 13, 2021
- The OneWelcome Flutter plugin is a plugin that allows you to utilize the Onegini Mobile SDKs in your Flutter applications.