kinde_flutter_sdk 2.1.0 copy "kinde_flutter_sdk: ^2.1.0" to clipboard
kinde_flutter_sdk: ^2.1.0 copied to clipboard

The Kinde SDK For Flutter.

Changelog #

2.1.0 - 2026-05-26 #

Added #

  • configureLogging({required bool enabled}) static method on KindeFlutterSdk to toggle SDK logging at runtime
  • KindeEndSessionRequest class for customizing logout/end-session requests
  • Automatic refresh-token interceptor improvements for more reliable token renewal

Changed #

  • Logging now defaults to enabled only in debug mode (previously always on)
  • Converted the package from a Flutter plugin to a pure Dart package by removing unused native plugin boilerplate (the removed Android/iOS/macOS/web native classes were stock template stubs and were never part of the public API)

Fixed #

  • Logout no longer fails with a 414 Request-URI Too Large error: the end-session request now sends client_id instead of id_token_hint

Removed (non-functional) #

  • Dropped declared support for Linux and Windows from pubspec.yaml. These platforms only ever shipped non-functional plugin stubs (the SDK is implemented entirely in Dart), so no working functionality is removed.
    • Note: if your app declares Windows or Linux build targets and depends on this SDK, flutter pub get may now report that the package does not support those platforms even though Kinde was never functional there.

2.0.0 - 2025-12-11 #

Breaking Changes #

Platform Requirements

  • Android minimum SDK version increased from 16 (Android 4.1) to 24 (Android 7.0)
    • Required by Flutter 3.35.6
    • Update android/app/build.gradle to set minSdkVersion 24
  • iOS minimum version increased from 9.0 to 13.0
    • Required by Flutter 3.35.6
    • Update ios/Podfile to set platform :ios, '13.0'
  • macOS minimum version increased from 10.14 to 10.15
    • Required by Flutter 3.35.6
    • Update macos/Podfile to set platform :osx, '10.15'

SDK Requirements

  • Dart SDK requirement changed from >=2.17.0 <3.0.0 to >=3.9.2 <4.0.0
  • Flutter SDK requirement changed from >=3.0.0 to >=3.35.6

Storage Implementation

  • Removed Hive dependency in favor of Flutter Secure Storage
  • SDK automatically migrates existing tokens on first launch
  • Applications with custom Hive storage implementations must migrate manually

Added #

  • Self-serve portal API for authenticated user account management
    • New SelfServePortalApi class with generatePortalUrl method
    • Support for portal navigation targeting via subnav parameter
    • Return URL configuration for post-portal redirects
    • New PortalLink model for portal URL responses
  • Token caching and automatic refresh functionality
    • Secure token persistence across application sessions using Flutter Secure Storage
    • Background token refresh with configurable buffer (10 seconds before expiry)
    • Automatic state restoration on application restart
    • Platform-specific secure storage implementation (Android EncryptedSharedPreferences, iOS Keychain, Web IndexedDB)
  • Billing and monetization parameters
    • planInterest parameter for pricing plan specification in authentication flows
    • pricingTableKey parameter for pricing table integration
    • Support in login(), register(), and createOrg() methods
  • Comprehensive error handling system
    • Enhanced KindeError class with detailed error context
    • Expanded KindeErrorCode enum with descriptive error codes
    • 186 additional unit tests for error handling scenarios
  • Platform modernization support
    • Flutter 3.35.6 compatibility
    • Dart 3.9.2 language feature support (pattern matching, enhanced null safety, records)
    • Updated Android toolchain (Kotlin 1.9.24, Gradle 8.0, AGP 8.5.2)
    • Updated iOS and macOS platform configurations

Changed #

  • Upgraded Dart SDK requirement from >=2.17.0 <3.0.0 to >=3.9.2 <4.0.0
  • Upgraded Flutter SDK requirement from >=3.0.0 to >=3.35.6
  • Updated core dependencies:
    • flutter_appauth from ^7.0.0 to ^8.0.3
    • flutter_secure_storage from ^8.0.0 to ^9.0.0
    • path_provider from ^2.0.15 to ^2.1.4
    • dio from ^5.0.0 to ^5.7.0
    • mockito from ^5.4.2 to ^5.4.4
    • shared_preferences from ^2.3.1 to ^2.3.2
    • pubspec_parse from ^1.2.1 to ^1.3.0
    • built_value from ^8.9.5 to ^8.9.2
  • Updated development dependencies:
    • flutter_lints from ^2.0.0 to ^3.0.0
    • built_value_generator from >=8.4.0 <9.0.0 to ^8.9.2
    • build_runner from any to ^2.4.13
    • test from ^1.16.0 to ^1.25.8
  • Android platform modernization:
    • Kotlin version from 1.7.10 to 1.9.24
    • Gradle from 7.5 to 8.0
    • Android Gradle Plugin from 7.2.0 to 8.5.2
    • compileSdkVersion from 31 to 34
    • Java from 1.8 to 17 LTS
    • Migrated to Gradle's declarative plugins DSL
  • Enhanced authentication flow with improved null safety and pattern matching
  • Improved storage abstraction with KindeSecureStorageInterface
  • Modernized code patterns to utilize Dart 3.x language features
  • Updated logout() method signature to accept optional timeout parameter and macosLogoutWithoutRedirection flag

Removed #

  • Hive and Hive Flutter dependencies (replaced with Flutter Secure Storage)

Fixed #

  • Added macosLogoutWithoutRedirection flag for direct HTTP logout on macOS
  • Improved error handling with KindeError wrapping and stack traces
  • Fixed macOS build target compatibility issues
  • Fixed Android Gradle migration compatibility
  • Fixed example application scheme configurations across all platforms
  • Fixed typo in generatePortalUrl parameter documentation

Security #

  • Enhanced secure storage implementation with platform-specific encryption
  • Improved token handling and refresh mechanisms
  • Updated to latest stable versions of security-critical dependencies

1.1.1 #

  • New release

1.1.0 #

  • Added missing built_collection dependency
  • Fixed package validation issues
  • Updated dependencies

1.0.3 #

  • Added support for lang, connectionId and loginHunt auth params

1.0.2 #

  • Removed unsupported platforms (web and desktop)

1.0.1 #

  • Fix error with https

1.0.0 #

  • First release

For more information, visit the Kinde Flutter SDK documentation.