diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index af8a5a0..06f43d4 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -12,7 +12,7 @@ This is a **Flutter SDK** wrapping native Optimizely SDKs for iOS and Android. - **Dart/Flutter**: Cross-platform API layer (>=2.16.2, Flutter >=3.44.0) - **Swift**: iOS native bridge (Swift 5.0, iOS 15.0+) - **Kotlin/Java**: Android native bridge (Kotlin 2.1.0, Android 5.0+) -- **Native SDKs**: OptimizelySwiftSDK 6.0.1 (iOS), android-sdk 5.4.0 (Android) +- **Native SDKs**: OptimizelySwiftSDK 6.1.0 (iOS), android-sdk 5.5.0 (Android) ## Folder Structure diff --git a/CHANGELOG.md b/CHANGELOG.md index 282cced..14ddefd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # Optimizely Flutter SDK Changelog +## 4.1.0 +October 30th, 2026 + +### Changed + +**Local Holdouts: rule evaluation continues after a holdout hit**: +When a user matches a local holdout on a rule, the SDK now excludes the user from that rule only +and continues evaluating the remaining rules, instead of returning the holdout variation and skipping +the rest of the flag. Each local holdout hit sends its own holdout impression event (using the +existing event format), regardless of `sendFlagDecisions`. Global holdouts are unchanged. + + ## 4.0.1 October 29th, 2026 diff --git a/README.md b/README.md index d91914d..4157242 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ Other Flutter platforms are not currently supported by this SDK. To add the flutter-sdk to your project dependencies, include the following in your app's pubspec.yaml: ``` - optimizely_flutter_sdk: ^4.0.1 + optimizely_flutter_sdk: ^4.1.0 ``` Then run diff --git a/android/build.gradle b/android/build.gradle index 7b2dd86..5acb05c 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -69,7 +69,7 @@ dependencies { implementation 'org.slf4j:slf4j-api:2.0.7' implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:2.1.0" - implementation "com.optimizely.ab:android-sdk:5.4.0" + implementation "com.optimizely.ab:android-sdk:5.5.0" implementation 'com.fasterxml.jackson.core:jackson-databind:2.17.2' implementation ('com.google.guava:guava:19.0') { exclude group:'com.google.guava', module:'listenablefuture' diff --git a/ios/optimizely_flutter_sdk/Package.swift b/ios/optimizely_flutter_sdk/Package.swift index 75fbd67..dffdc91 100644 --- a/ios/optimizely_flutter_sdk/Package.swift +++ b/ios/optimizely_flutter_sdk/Package.swift @@ -10,7 +10,7 @@ let package = Package( ], dependencies: [ .package(name: "FlutterFramework", path: "../FlutterFramework"), - .package(url: "https://github.com/optimizely/swift-sdk.git", exact: "6.0.1") + .package(url: "https://github.com/optimizely/swift-sdk.git", exact: "6.1.0") ], targets: [ .target( diff --git a/lib/package_info.dart b/lib/package_info.dart index 2052201..d7b8cb6 100644 --- a/lib/package_info.dart +++ b/lib/package_info.dart @@ -3,5 +3,5 @@ class PackageInfo { static const String name = 'optimizely_flutter_sdk'; - static const String version = '4.0.1'; + static const String version = '4.1.0'; } diff --git a/pubspec.yaml b/pubspec.yaml index f6795a8..c38c838 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: optimizely_flutter_sdk description: This repository houses the Flutter SDK for use with Optimizely Feature Experimentation, Optimizely Full Stack (legacy), and Optimizely Rollouts. -version: 4.0.1 +version: 4.1.0 homepage: https://github.com/optimizely/optimizely-flutter-sdk environment: