Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions splitio/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
# 1.0.0 (Aug 14, 2025)
- Updated Android SDK to `5.3.1` & iOS SDK to `3.3.2`
- Added support for rule-based segments. These segments determine membership at runtime by evaluating their configured rules against the user attributes provided to the SDK.
- Added support for feature flag prerequisites. This allows customers to define dependency conditions between flags, which are evaluated before any allowlists or targeting rules.
- Added two new configuration options to control the behavior of the persisted rollout plan cache. Use `rolloutCacheConfiguration` in the config.
- Added a new optional argument to the client `getTreatment` methods to allow passing additional evaluation options, such as a map of properties to append to the generated impressions sent to Split backend. Read more in our docs.
- Added support for the new impressions tracking toggle available on feature flags, both respecting the setting and including the new field being returned on SplitView type objects. Read more in our docs.

# 1.0.0-rc.1 (Aug 14, 2025)

# 0.2.0 (Nov 6, 2024)
* Added support for targeting rules based on large segments.
* BREAKING CHANGE (for Split Proxy users):
Expand Down
71 changes: 47 additions & 24 deletions splitio/example/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -75,30 +75,35 @@ packages:
description: flutter
source: sdk
version: "0.0.0"
flutter_web_plugins:
dependency: transitive
description: flutter
source: sdk
version: "0.0.0"
leak_tracker:
dependency: transitive
description:
name: leak_tracker
sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0"
sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de"
url: "https://pub.dev"
source: hosted
version: "10.0.9"
version: "11.0.2"
leak_tracker_flutter_testing:
dependency: transitive
description:
name: leak_tracker_flutter_testing
sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573
sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1"
url: "https://pub.dev"
source: hosted
version: "3.0.9"
version: "3.0.10"
leak_tracker_testing:
dependency: transitive
description:
name: leak_tracker_testing
sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1"
url: "https://pub.dev"
source: hosted
version: "3.0.1"
version: "3.0.2"
lints:
dependency: transitive
description:
Expand Down Expand Up @@ -127,10 +132,10 @@ packages:
dependency: transitive
description:
name: meta
sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c
sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394"
url: "https://pub.dev"
source: hosted
version: "1.16.0"
version: "1.17.0"
path:
dependency: transitive
description:
Expand Down Expand Up @@ -166,28 +171,38 @@ packages:
path: ".."
relative: true
source: path
version: "1.0.0-rc.1"
version: "1.0.0"
splitio_android:
dependency: transitive
description:
path: "../../splitio_android"
relative: true
source: path
version: "1.0.0-rc.1"
name: splitio_android
sha256: "344bf82de6694cffb8dd80a96ee734e31bb838d2b4693fb046e0fc98e31512ca"
url: "https://pub.dev"
source: hosted
version: "1.0.0"
splitio_ios:
dependency: transitive
description:
path: "../../splitio_ios"
relative: true
source: path
version: "1.0.0-rc.1"
name: splitio_ios
sha256: "1c078bc49bf7b30df6ca50accb6a9eecf592ec607e20e77b1c6ecdabc7a44dc9"
url: "https://pub.dev"
source: hosted
version: "1.0.0"
splitio_platform_interface:
dependency: transitive
description:
path: "../../splitio_platform_interface"
name: splitio_platform_interface
sha256: "8bcb1cab9f5fffb7b79cfeeaf6c80d82f8ede55c8d6ca7578ec78653f3f9e499"
url: "https://pub.dev"
source: hosted
version: "2.0.0"
splitio_web:
dependency: transitive
description:
path: "../../splitio_web"
relative: true
source: path
version: "2.0.0-rc.1"
version: "1.0.0"
stack_trace:
dependency: transitive
description:
Expand Down Expand Up @@ -224,18 +239,18 @@ packages:
dependency: transitive
description:
name: test_api
sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd
sha256: ab2726c1a94d3176a45960b6234466ec367179b87dd74f1611adb1f3b5fb9d55
url: "https://pub.dev"
source: hosted
version: "0.7.4"
version: "0.7.7"
vector_math:
dependency: transitive
description:
name: vector_math
sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b
url: "https://pub.dev"
source: hosted
version: "2.1.4"
version: "2.2.0"
vm_service:
dependency: transitive
description:
Expand All @@ -244,6 +259,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "15.0.0"
web:
dependency: transitive
description:
name: web
sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27"
url: "https://pub.dev"
source: hosted
version: "0.5.1"
sdks:
dart: ">=3.7.0-0 <4.0.0"
dart: ">=3.8.0-0 <4.0.0"
flutter: ">=3.18.0-18.0.pre.54"
Binary file added splitio/example/web/favicon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added splitio/example/web/icons/Icon-192.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added splitio/example/web/icons/Icon-512.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added splitio/example/web/icons/Icon-maskable-192.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added splitio/example/web/icons/Icon-maskable-512.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
39 changes: 39 additions & 0 deletions splitio/example/web/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<!DOCTYPE html>
<html>
<head>
<!--
If you are serving your web app in a path other than the root, change the
href value below to reflect the base path you are serving from.

The path provided below has to start and end with a slash "/" in order for
it to work correctly.

For more details:
* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base

This is a placeholder for base href that will be replaced by the value of
the `--base-href` argument provided to `flutter build`.
-->
<base href="$FLUTTER_BASE_HREF">

<meta charset="UTF-8">
<meta content="IE=Edge" http-equiv="X-UA-Compatible">
<meta name="description" content="A new Flutter project.">

<!-- iOS meta tags & icons -->
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="apple-mobile-web-app-title" content="splitio_example">
<link rel="apple-touch-icon" href="icons/Icon-192.png">

<!-- Favicon -->
<link rel="icon" type="image/png" href="favicon.png"/>

<title>splitio_example</title>
<link rel="manifest" href="manifest.json">
<!-- <script type="text/javascript" src="//cdn.split.io/sdk/split-browser-1.6.0.full.min.js"></script> -->
</head>
<body>
<script src="flutter_bootstrap.js" async></script>
</body>
</html>
35 changes: 35 additions & 0 deletions splitio/example/web/manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
"name": "splitio_example",
"short_name": "splitio_example",
"start_url": ".",
"display": "standalone",
"background_color": "#0175C2",
"theme_color": "#0175C2",
"description": "A new Flutter project.",
"orientation": "portrait-primary",
"prefer_related_applications": false,
"icons": [
{
"src": "icons/Icon-192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "icons/Icon-512.png",
"sizes": "512x512",
"type": "image/png"
},
{
"src": "icons/Icon-maskable-192.png",
"sizes": "192x192",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "icons/Icon-maskable-512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
}
]
}
16 changes: 8 additions & 8 deletions splitio/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
publish_to: none # TODO
name: splitio
description: Official plugin for split.io, the platform for controlled rollouts, which serves features to your users via feature flags to manage your complete customer experience.
version: 1.0.0-rc.1
version: 1.0.0
homepage: https://split.io/
repository: https://github.com/splitio/flutter-sdk-plugin/tree/main/splitio/

Expand All @@ -16,16 +15,17 @@ flutter:
default_package: splitio_android
ios:
default_package: splitio_ios
web:
default_package: splitio_web

dependencies:
flutter:
sdk: flutter
splitio_android: # ^1.0.0-rc.1
path: ../splitio_android
splitio_ios: # ^1.0.0-rc.1
path: ../splitio_ios
splitio_platform_interface: # ^2.0.0-rc.1
path: ../splitio_platform_interface
splitio_android: ^1.0.0
splitio_ios: ^1.0.0
splitio_web: # ^1.0.0
path: ../splitio_web # @TODO remove when splitio_web is published
splitio_platform_interface: ^2.0.0
dev_dependencies:
flutter_test:
sdk: flutter
Expand Down
5 changes: 5 additions & 0 deletions splitio_android/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
# 1.0.0 (Aug 14, 2025)
- Updated Android SDK to `5.3.1`.

# 1.0.0-rc.1 (Aug 14, 2025)

# 0.2.0 (Nov 6, 2024)
* Updated Android SDK to `5.0.0`

Expand Down
5 changes: 2 additions & 3 deletions splitio_android/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: splitio_android
description: The official Android implementation of splitio Flutter plugin.
repository: https://github.com/splitio/flutter-sdk-plugin/tree/main/splitio_android
version: 1.0.0-rc.1
version: 1.0.0

environment:
sdk: ">=2.16.2 <4.0.0"
Expand All @@ -19,8 +19,7 @@ flutter:
dependencies:
flutter:
sdk: flutter
splitio_platform_interface: # ^2.0.0-rc.1
path: ../splitio_platform_interface
splitio_platform_interface: ^2.0.0

dev_dependencies:
flutter_test:
Expand Down
5 changes: 5 additions & 0 deletions splitio_ios/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
# 1.0.0 (Aug 14, 2025)
- iOS SDK to `3.3.2`

# 1.0.0-rc.1 (Aug 14, 2025)

# 0.2.0 (Nov 6, 2024)
* Updated iOS SDK to `3.0.0`

Expand Down
5 changes: 2 additions & 3 deletions splitio_ios/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: splitio_ios
description: The official iOS implementation of splitio Flutter plugin.
repository: https://github.com/splitio/flutter-sdk-plugin/tree/main/splitio_ios
version: 1.0.0-rc.1
version: 1.0.0

environment:
sdk: ">=2.16.2 <4.0.0"
Expand All @@ -18,8 +18,7 @@ flutter:
dependencies:
flutter:
sdk: flutter
splitio_platform_interface: # ^2.0.0-rc.1
path: ../splitio_platform_interface
splitio_platform_interface: ^2.0.0

dev_dependencies:
flutter_test:
Expand Down
4 changes: 4 additions & 0 deletions splitio_platform_interface/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# 2.0.0 (Aug 14, 2025)

# 2.0.0-rc.1 (Aug 14, 2025)

# 1.5.0 (Oct 18, 2024)
* Added certificate pinning functionality. This feature allows you to pin a certificate to the SDK, ensuring that the SDK only communicates with servers that present this certificate. Read more in our documentation.

Expand Down
2 changes: 1 addition & 1 deletion splitio_platform_interface/lib/split_view.dart
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ class SplitView {
this.impressionsDisabled = false,
this.prerequisites = const <Prerequisite>{}]);

static SplitView? fromEntry(Map<dynamic, dynamic?>? entry) {
static SplitView? fromEntry(Map<dynamic, dynamic>? entry) {
if (entry == null || entry.isEmpty) {
return null;
}
Expand Down
2 changes: 1 addition & 1 deletion splitio_platform_interface/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: splitio_platform_interface
description: A common platform interface for the splitio plugin.
# NOTE: We strongly prefer non-breaking changes, even at the expense of a
# less-clean API. See https://flutter.dev/go/platform-interface-breaking-changes
version: 2.0.0-rc.1
version: 2.0.0
repository: https://github.com/splitio/flutter-sdk-plugin/tree/main/splitio_platform_interface

environment:
Expand Down
29 changes: 29 additions & 0 deletions splitio_web/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Miscellaneous
*.class
*.log
*.pyc
*.swp
.DS_Store
.atom/
.buildlog/
.history
.svn/

# IntelliJ related
*.iml
*.ipr
*.iws
.idea/

# The .vscode folder contains launch configuration and tasks you configure in
# VS Code which you may wish to be included in version control, so this line
# is commented out by default.
#.vscode/

# Flutter/Dart/Pub related
# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock.
/pubspec.lock
**/doc/api/
.dart_tool/
.packages
build/
Loading