Skip to main content

Overview

To simplify your application logic and integration with the Knot Flutter SDK, Version 1.0 includes a number of breaking changes that may affect the way your integration works or behaves. The new version includes a number of significant improvements:
  1. Enhanced speed and stability in loading merchant flows.
  2. More streamlined initialization of the SDK.
  3. Simplified event handling, more informative event messaging, and uniform naming conventions for easier debugging.
  4. Improved maintainability and foundations for new feature compatibility.

Breaking Changes

Configuring and opening the Knot SDK has changed significantly in Flutter Version 1.0 and requires some refactoring in order to initialize the SDK with a session. Events and Errors now provide additional values to debug with.

Session Initialization

Changes
  • .openCardOnFileSwitcher is replaced with a more flexible .open.
  • The open action now requires a KnotConfiguration which is now Knot.open(knotConfiguration).
Before
Dart
After
Dart

Event Handling

Changes
  • The onEvent type now provides the environment and product the event originanted from.
  • The KnotError type provides improved error descriptions and product type.
  • The KnotSuccess type now provides a product type and a metaData map.
Before
Dart
After
Dart
Event Names The SDK now maps raw event names to standardized event names for easier handling.

Error Handling

Error handling has been improved with more structured and meaningful error messages. Changes
  • Errors are now encapsulated in the KnotError enum.
  • Each error has a human-readable description (errorDescription) and a unique error code (errorCode).
  • Improved clarity and consistency across error messages.
Before
Dart
After
Dart
Error Types The Knot SDK provides predefined error cases for you to handle based on your own needs.

Closing the SDK

Most apps do not use the explicit close method, as it is infrequently applicable to the integration with the Knot SDK.
Changes
  • Closing the SDK is now statically accessed via _knotapiFlutterPlugin.close() as opposed to _knotapiFlutterPlugin.closeKnotSDK().
Before
Dart
After
Dart