PackageTrack
Sign in Get early access

optimizely_flutter_sdk

This repository houses the Flutter SDK for use with Optimizely Feature Experimentation, Optimizely Full Stack (legacy), and Optimizely Rollouts.

3.6.0 15K downloads/mo #2473 most downloaded on pub.dev optimizely/optimizely-flutter-sdk

What this package is like to depend on

Last release 1 months ago

09 Jul 2026

Release timing varies

gaps range from 2 weeks to 7 months

Nearly every release is documented

notes for 14 of 14 stable releases

Nothing withdrawn

no release was ever pulled

4 years old

20 releases · first in 2022

9 releases in the last 12 months

see the full history below

Release timeline

20 releases · Oct 2022 to Jul 2026
2023 2024 2025 2026
Release Pre-release

Releases

latest 20
  1. 3.6.0 09 Jul 2026
    Release notes

    3.6.0

    July 9, 2026

    Dependency Updates

    • Bumped iOS OptimizelySwiftSDK from 5.3.0 to 5.4.2 and Android android-sdk from 5.2.0 to 5.3.0 (#113)

    The native SDK bump includes the following changes:

    New Features

    • Local Holdouts: Added support for Local Holdouts, enabling holdout experiments to be scoped to specific feature flags rather than applied globally. Local Holdouts let you measure the true incremental impact of individual features by holding out a subset of users from specific rollouts while still serving them other experiences. See Holdouts docs for more information.

    Enhancements

    • Block ODP identify event for single identifier

    Bug Fixes

    • Defer NWPathMonitor creation to avoid crash during multi-SDK startup
    • Prevent EXC_BAD_ACCESS from premature URLSession deallocation
    • Replace non-numeric holdout placeholder IDs in event-construction tests
    • Normalize campaign_id, variation_id, and entity_id on decision events
    • Use attribute id instead of key for CMAB prediction requests
    Open source →
    Release notes

    July 9th, 2026

    Dependency Updates

    • Bumped iOS OptimizelySwiftSDK from 5.3.0 to 5.4.2 and Android android-sdk from 5.2.0 to 5.3.0 (#113)

    The native SDK bump includes the following changes:

    New Features

    • Local Holdouts: Added support for Local Holdouts, enabling holdout experiments to be scoped to specific feature flags rather than applied globally. Local Holdouts let you measure the true incremental impact of individual features by holding out a subset of users from specific rollouts while still serving them other experiences. See Holdouts docs for more information.

    Enhancements

    • Block ODP identify event for single identifier

    Bug Fixes

    • Defer NWPathMonitor creation to avoid crash during multi-SDK startup
    • Prevent EXC_BAD_ACCESS from premature URLSession deallocation
    • Replace non-numeric holdout placeholder IDs in event-construction tests
    • Normalize campaign_id, variation_id, and entity_id on decision events
    • Use attribute id instead of key for CMAB prediction requests
    Open source →
  2. 3.5.0 15 May 2026
    Release notes

    3.5.0

    May 13, 2026

    New Features

    Feature Rollout: Introduced Feature Rollout capabilities. Feature Rollouts represent a new experiment type merging Targeted Delivery simplicity with A/B test measurement capabilities.
    See Feature Rollout docs for more information.

    Dependency Updates

    • Bumped iOS OptimizelySwiftSDK from 5.2.1 to 5.3.0

    • Bumped Android android-sdk from 5.1.1 to 5.2.0

    • Bump native SDKs for feature rollout support (#111)

    Open source →
    Release notes

    May 13, 2026

    New Features

    Feature Rollout: Introduced Feature Rollout capabilities. Feature Rollouts represent a new experiment type merging Targeted Delivery simplicity with A/B test measurement capabilities. See Feature Rollout docs for more information.

    Dependency Updates

    • Bumped iOS OptimizelySwiftSDK from 5.2.1 to 5.3.0

    • Bumped Android android-sdk from 5.1.1 to 5.2.0

    • Bump native SDKs for feature rollout support (#111)

    Open source →
  3. 3.4.3 04 May 2026
    Release notes

    3.4.3

    May 01, 2026

    Bug Fixes

    • Guard static MethodChannel from multi-engine overwrite (#103)
    • Guard detachFromEngine from multi-engine channel teardown (#105)
    Open source →
    Release notes

    May 01, 2026

    Bug Fixes

    • Guard static MethodChannel from multi-engine overwrite (#103)
    • Guard detachFromEngine from multi-engine channel teardown (#105)
    Open source →
  4. 3.4.2 25 Mar 2026
    Release notes

    3.4.2

    March 25th, 2026

    Bug Fixes

    • Ensure FlutterResult and invokeMethod are always called on main thread (#98)
    Open source →
    Release notes

    March 25, 2026

    Bug Fixes

    • Ensure FlutterResult and invokeMethod are always called on main thread (#98)
    Open source →
  5. 3.4.1 28 Jan 2026
    Release notes

    3.4.1

    January 28th, 2026

    Enhancements

    • Exclude CMAB decision from UPS (#96)
    Open source →
    Release notes

    January 28th, 2026

    Enhancements

    • Exclude CMAB decision from UPS (#96)
    Open source →
  6. 3.4.0 07 Jan 2026
    Release notes

    January 7th, 2026

    New Features

    • CMAB (Contextual Multi-Armed Bandit) Support (#94)
      • Added CmabConfig class for CMAB initialization with configurable cache settings and custom prediction endpoints.
      • Added decideAsync() methods to OptimizelyUserContext for asynchronous CMAB decision-making.
      • New CMAB-specific decide options: ignoreCmabCache, resetCmabCache, invalidateUserCmabCache
    • Add Holdout support for feature experimentation.
    • Add Multi-Region Support for Data Hosting.

    Bug Fixes

    • Nested Object Support in Event Metadata for Swift (#92)
      • Enhanced event metadata handling to support complex nested objects in iOS/Swift.
    Open source →
    Release notes

    January 7th, 2026

    New Features

    • CMAB (Contextual Multi-Armed Bandit) Support (#94)
      • Added CmabConfig class for CMAB initialization with configurable cache settings and custom prediction endpoints.
      • Added decideAsync() methods to OptimizelyUserContext for asynchronous CMAB decision-making.
      • New CMAB-specific decide options: ignoreCmabCache, resetCmabCache, invalidateUserCmabCache
    • Add Holdout support for feature experimentation.
    • Add Multi-Region Support for Data Hosting.

    Bug Fixes

    • Nested Object Support in Event Metadata for Swift (#92)
      • Enhanced event metadata handling to support complex nested objects in iOS/Swift.
    Open source →
  7. 3.3.0 29 Oct 2025
    Release notes

    October 29th, 2025

    • Android custom logger support added (#90)
    Open source →
    Release notes

    October 29th, 2025

    New Feature

    • Android custom logger support added (#90)
    Open source →
  8. 3.2.0 24 Oct 2025
    Release notes

    October 24th, 2025

    • Swift custom logger support added (#88)
    Open source →
    Release notes

    October 24th, 2025

    New Feature

    • Swift custom logger support added (#88)
    Open source →
  9. 3.1.0 09 Oct 2025
    Release notes

    October 9th, 2025

    This minor release added the following support:

    • Android 15 support (#84)
    • Update AGP version to 8.7.0
    • Update gradle version to 8.10.2
    • Update kotlin version to 2.1.0
    Open source →
    Release notes

    October 9th, 2025

    This minor release added the following support:

    • Android 15 support (#84)
    • Update AGP version to 8.7.0
    • Update gradle version to 8.10.2
    • Update kotlin version to 2.1.0
    Open source →
  10. 3.0.1 17 Jun 2025
    Release notes

    Jun 4th, 2025

    Functionality Enhancements

    • Add experiment id and variation id added into decision notification payload (#80)
    Open source →
    Release notes

    Jun 4th, 2025

    Functionality Enhancements

    • Add experiment id and variation id added into decision notification payload (#80)
    Open source →
  11. 3.0.0 28 Nov 2024
    Release notes

    November 28th, 2024

    Breaking Changes

    • VUID configuration is now independent of ODP (#78)
    • When VUID is disabled:
      • vuid is not generated or saved.
      • client-initialized event will not auto fired on SDK init.
      • vuid is not included in the odp events as a default attribute.
      • createUserContext() will be rejected if userId is not provided.
    Open source →
  12. 2.0.1 26 Jul 2024
    Release notes

    July 25, 2024

    Bug Fixes

    • Migration of flutter's gradle plugins (#74).
    Open source →
  13. 2.0.0 29 Jan 2024
    Release notes

    January 23, 2024

    New Features

    The 2.0.0 release introduces a new primary feature, Advanced Audience Targeting enabled through integration with Optimizely Data Platform (ODP) (#52, #57, #72).

    You can use ODP, a high-performance Customer Data Platform (CDP), to easily create complex real-time segments (RTS) using first-party and 50+ third-party data sources out of the box. You can create custom schemas that support the user attributes important for your business, and stitch together user behavior done on different devices to better understand and target your customers for personalized user experiences. ODP can be used as a single source of truth for these segments in any Optimizely or 3rd party tool.

    With ODP accounts integrated into Optimizely projects, you can build audiences using segments pre-defined in ODP. The SDK will fetch the segments for given users and make decisions using the segments. For access to ODP audience targeting in your Feature Experimentation account, please contact your Customer Success Manager.

    This version includes the following changes:

    • New API added to OptimizelyUserContext:

      • fetchQualifiedSegments(): this API will retrieve user segments from the ODP server. The fetched segments will be used for audience evaluation. The fetched data will be stored in the local cache to avoid repeated network delays.

      • When an OptimizelyUserContext is created, the SDK will automatically send an identify request to the ODP server to facilitate observing user activities.

    • New APIs added to OptimizelyFlutterSdk:

      • sendOdpEvent(): customers can build/send arbitrary ODP events that will bind user identifiers and data to user profiles in ODP.

      • createUserContext() with anonymous user IDs: user-contexts can be created without a userId. The SDK will create and use a persistent VUID specific to a device when userId is not provided.

    For details, refer to our documentation pages:

    Bug Fixes

    • Crash fixed, fetchQualifiedSegments without options (#64).
    • Fix proguard for logback and dart version (#68).

    Functionality Enhancements

    • Add specific client name support to track event (#72).
    • Update Github Issue Templates (#65).
    • Add configurable log level support (#63).
    Open source →
  14. 2.0.0-beta 22 Sep 2023 pre-release
    Release notes

    September 21, 2023

    New Features

    • Add ODP for iOS (#52).
    • Add ODP for Android (#57).

    Bug Fixes

    • Crash fixed, fetchQualifiedSegments without options (#64).

    Functionality Enhancements

    • Update Github Issue Templates (#65).
    • Add configurable log level support (#63).
    Open source →
  15. 1.0.1 09 May 2023
    Release notes

    May 8, 2023

    Official General Availability (GA) release

    Bug Fixes

    • Fix "no serializer found" error (#51).
    Open source →
  16. 1.0.1-beta 13 Mar 2023 pre-release
    Release notes

    March 10, 2022

    • We updated our README.md and other non-functional code to reflect that this SDK supports both Optimizely Feature Experimentation and Optimizely Full Stack. (#44).
    Open source →
  17. 1.0.0-beta 03 Nov 2022 pre-release
    Release notes

    November 3, 2022

    Beta release of the Optimizely X Full Stack Flutter SDK.

    New Features

    • Following are the api's added in Flutter SDK:

      • activate
      • getVariation
      • getForcedVariation
      • setForcedVariation
      • getOptimizelyConfig
      • createUserContext
      • close
    • Following are the notification listener's added in Flutter SDK:

      • addActivateNotificationListener
      • addDecisionNotificationListener
      • addTrackNotificationListener
      • addLogEventNotificationListener
      • addConfigUpdateNotificationListener
      • removeNotificationListener
      • clearNotificationListeners
      • clearAllNotificationListeners
    • Following are the api's added in UserContext:

      • getUserId
      • getAttributes
      • setAttributes
      • trackEvent
      • decide
      • decideForKeys
      • decideAll
      • setForcedDecision
      • getForcedDecision
      • removeForcedDecision
      • removeAllForcedDecisions
    Open source →
  18. 0.1.2-beta 28 Oct 2022 pre-release

    Nothing published for this version

  19. 0.1.1-beta 26 Oct 2022 pre-release

    Nothing published for this version

  20. 0.1.0-beta 06 Oct 2022 pre-release

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive