axeptio_sdk
Axeptio flutter sdk for presenting cookies consent to the user.
3.0.0
axeptio/flutter-sdk
What this package is like to depend on
Last release 3 months ago
29 Apr 2026
Ships fairly regularly
a new release about every 6 weeks
Nearly every release is documented
notes for 16 of 16 stable releases
Nothing withdrawn
no release was ever pulled
2 years old
20 releases · first in 2024
7 releases in the last 12 months
see the full history below
Release timeline
20 releases · May 2024 to Apr 2026Releases
latest 20-
3.0.029 Apr 2026Release notes
Open source →🚨 Breaking Changes
navigatorKeyis now required for the consent UI to function. Set it before callinginitialize:AxeptioSdk.navigatorKey = GlobalKey<NavigatorState>(); // Pass it to MaterialApp: MaterialApp(navigatorKey: AxeptioSdk.navigatorKey, ...)- Native iOS and Android Axeptio SDKs have been removed. Consent is now managed entirely through a pure Flutter WebView implementation. No Maven credentials or CocoaPods setup is required.
- The
_ax_tokenSharedPreferences key is replaced byAX_CLIENT_TOKEN. Existing stored tokens are read transparently during migration. MethodChannelAxeptioSdkremoved from public API (was deprecated)showConsentScreen()/setupUI()now throwAxeptioNotInitializedExceptioninstead of returning silentlyAxeptioEventListenerhas newonErrorcallback for async error notification
✨ New Features
- Native iOS WKWebView: Replace
webview_flutterwith native WKWebView PlatformView for reliable JS injection timing - Android consent webview: Add Android support using
webview_flutterwith JS channel bridge and polyfill - Typed exception hierarchy:
AxeptioNotInitializedException,AxeptioConsentException,AxeptioNetworkException,AxeptioStorageException— replaces 27 silent error sites - JS bridge message parser: Critical consent parsing logic extracted into testable
JsBridgeMessageParserwith per-event schema validation - WebView network failure detection:
onWebResourceError/onHttpErrorrouted throughAxeptioEventListener.onError
🔧 Fixes
- Inject localStorage values in
onPageStarted(before page scripts run) instead ofonPageFinished appendAxeptioTokenURLnow only appendsaxeptio_token, notclientId/cookiesVersionshowConsentScreennow awaits until the consent screen is dismissedAxeptioSdk.navigatorKeysetter rejectsnull(throwsArgumentError)- Transparent route overlay for consent webview on both platforms
- Handle unsupported platforms (web, macOS, Linux, Windows) with error callback and route close
- Defer Google Mobile Ads initialization in example app to prevent Dart event loop freeze
- Use nonPersistent data store on iOS for fresh consent state each load
- Restrict WebView navigation to consent host only (matching iOS behavior)
- Reset script injection flag on each navigation for proper re-injection
🗑 Removed
- Deleted deprecated
MethodChannelAxeptioSdk(210 lines) - Deleted native event stream handlers (iOS/Android) and
ModelHelperstub
-
3.0.0-beta.202 Apr 2026 pre-releaseRelease notes
Open source →3.0.0-beta.2
✨ New Features
- Native iOS WKWebView: Replace
webview_flutterwith native WKWebView PlatformView for reliable JS injection timing - Android consent webview: Add Android support using
webview_flutterwith JS channel bridge and polyfill
🔧 Fixes
- Transparent route overlay for consent webview on both platforms
- Handle unsupported platforms (web, macOS, Linux, Windows) with error callback and route close
- Defer Google Mobile Ads initialization in example app to prevent Dart event loop freeze
- Use nonPersistent data store on iOS for fresh consent state each load
- Restrict WebView navigation to consent host only (matching iOS behavior)
- Reset script injection flag on each navigation for proper re-injection
📊 Quality
- 378 tests, 95.1% coverage
- Native iOS WKWebView: Replace
-
3.0.0-beta.128 Mar 2026 pre-releaseRelease notes
Open source →v3.0.0-beta.1
First beta of the v3 pure Flutter WebView implementation, including SDK hardening.
Highlights
- Pure Flutter WebView — native iOS/Android SDKs replaced with WebView-based consent UI
- Typed exception hierarchy —
AxeptioNotInitializedException,AxeptioConsentException,AxeptioNetworkException,AxeptioStorageException - JS bridge hardening — message parser extracted and validated per-event schema
- Network failure detection — WebView errors surfaced via
AxeptioEventListener.onError - 343 tests, 94%+ coverage
Breaking Changes
navigatorKeymust be set beforeinitialize()- Native SDKs removed — no Maven/CocoaPods setup needed
MethodChannelAxeptioSdkremoved from public APIshowConsentScreen()/setupUI()throw instead of returning silently- Token key migrated from
_ax_tokentoAX_CLIENT_TOKEN(transparent)
See CHANGELOG.md for full details.
-
2.0.1927 Oct 2025Release notes
Open source → -
2.0.1802 Sep 2025Release notes
Open source →What's Changed
- feat: Implement Flutter-native GVL service with comprehensive vendor management
Full Changelog: 2.0.17...2.0.18
Release notes
Open source →✨ New Features
- Flutter-Native GVL Service: Complete Global Vendor List integration implemented in pure Dart/Flutter
loadGVL(): Download and cache IAB Global Vendor List from https://static.axept.io/gvl/vendor-list.jsongetVendorName(vendorId): Get individual vendor name by ID with intelligent fallbacksgetVendorNames(vendorIds[]): Get multiple vendor names efficientlygetVendorConsentsWithNames(): Enhanced consent data combining platform consent with GVL namesunloadGVL(),clearGVL(): Memory and cache management for GVL dataisGVLLoaded(),getGVLVersion(): Status and version information
- VendorInfo Model: Comprehensive vendor information class with purposes, features, and metadata
- Smart Caching: 7-day local storage with SharedPreferences and automatic cache invalidation
- Zero Native Dependencies: Pure Flutter implementation eliminates platform-specific GVL code
🎛️ Enhanced Example App
- Advanced GVL Management UI: Comprehensive interface for testing all GVL features
- Real-time Vendor Analytics: Live vendor consent visualization with names
- Interactive Controls: Load/unload/clear GVL operations with status feedback
- Performance Monitoring: GVL loading status, version tracking, and error reporting
🧪 Testing Improvements
- 100% Test Success Rate: All 163 tests passing with real GVL API integration
- Real Data Testing: Tests use actual GVL data (1372+ vendors) instead of mocks
- Comprehensive Coverage: Unit, integration, and error handling tests for all GVL features
🔧 Technical Architecture
- HTTP Client Integration: Direct API calls with proper error handling and timeouts
- Memory Optimization: Efficient loading and unloading of large vendor datasets (1372+ vendors)
- Platform Interface Cleanup: Removed complex GVL method signatures from native bridges
- Backward Compatibility: All existing APIs maintained, zero breaking changes
📚 Documentation
- Enhanced README with GVL integration examples
- Comprehensive API documentation for all new methods
- Example app serves as complete integration reference
-
2.0.1701 Sep 2025Release notes
Open source →What's Changed
- feat: comprehensive test coverage improvements for SDK reliability
- feat(example): implement comprehensive TCF vendor management UI (MSK-89)
Full Changelog: 2.0.16...2.0.17
Release notes
Open source →- Update example app with improved user interface and functionality.
- Enhance configuration screen with better validation and user feedback.
- Improve vendor data service with real-time updates and analytics.
- Add comprehensive TCF vendor management UI with detailed consent tracking.
- Enhanced debug information display with proper scrolling and formatting.
-
2.0.1629 Aug 2025Release notes
Open source →What's Changed
- docs: update README table of contents structure and formatting
- fix: resolve vendor API bridge implementation and iOS type casting issues
- fix: implement tag-driven version publishing workflow
- feat(ci): implement manual workflow dispatch for publishing
Full Changelog: 2.0.10...2.0.16
Release notes
Open source →- Implement manual workflow dispatch for publishing workflows.
- Add comprehensive changelog validation to prevent publishing without documentation.
- Align dry-run-publish.yml to use release tag logic instead of pubspec.yaml.
- Update release process to require manual workflow execution for better control.
-
2.0.1529 Aug 2025Release notes
Open source →- Fix iOS bridge type casting issue for vendor consent APIs.
- Resolve 'String' is not subtype of 'Map<dynamic, dynamic>' error in getVendorConsents.
- Add proper handling for [Int: Bool] dictionary conversion in iOS sanitizeForFlutter.
- Improve method channel bridge reliability for TCF vendor APIs.
-
2.0.908 Aug 2025Release notes
Open source →- Update iOS Axeptio SDK to 2.0.13 and Android SDK to 2.0.7.
- Expose method to fetch vendor consent debug info.
Release notes
Open source →- Update iOS Axeptio SDK to 2.0.13 and Android SDK to 2.0.7.
- Expose method to fetch vendor consent debug info.
-
2.0.811 Jul 2025Release notes
Open source →- Improved sample app to enable immediate testing of an existing project
- fix an iOS mapping
-
2.0.701 May 2025 -
2.0.306 Feb 2025 -
2.0.217 Jan 2025 -
2.0.118 Dec 2024Release notes
Open source →Update to Axeptio SDK 2.0.1 Clearing consent and partial consent bug fix.
-
2.0.004 Nov 2024 -
1.3.116 Sep 2024 -
1.2.119 Aug 2024 -
1.2.017 Jun 2024 -
1.0.0-alpha224 May 2024 pre-release -
1.0.0-alpha23 May 2024 pre-release