diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a2d5fff..8c561b7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,12 +11,12 @@ jobs: name: Build Android runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.5.2 - - uses: actions/setup-java@v3.11.0 + - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 with: distribution: 'temurin' - java-version: '11' - - uses: subosito/flutter-action@v2.10.0 + java-version: '17' + - uses: subosito/flutter-action@v2 with: channel: 'stable' - name: Build example app APK @@ -26,12 +26,12 @@ jobs: name: Test Android runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.5.2 - - uses: actions/setup-java@v3.11.0 + - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 with: distribution: 'temurin' - java-version: '11' - - uses: subosito/flutter-action@v2.10.0 + java-version: '17' + - uses: subosito/flutter-action@v2 with: channel: 'stable' - name: Run Pub Get @@ -41,13 +41,25 @@ jobs: - name: Run Android test run: cd splitio/example/android/; ./gradlew :splitio:testReleaseUnitTest; + build-ios: + name: Build iOS + runs-on: [ macos-latest ] + + steps: + - uses: actions/checkout@v4 + - uses: subosito/flutter-action@v2 + with: + channel: 'stable' + - name: Run Build iOS + run: cd splitio/example/ios; flutter build ios --no-codesign; + test-ios: name: Test iOS runs-on: [ macos-latest ] steps: - - uses: actions/checkout@v3.5.2 - - uses: subosito/flutter-action@v2.10.0 + - uses: actions/checkout@v4 + - uses: subosito/flutter-action@v2.1.0 with: channel: 'stable' - name: Run Build iOS @@ -56,7 +68,7 @@ jobs: - name: Select Xcode uses: maxim-lobanov/setup-xcode@v1 with: - xcode-version: 13.2.1 + xcode-version: 15.1.0 - name: ios - run: cd splitio_ios/example/ios; xcodebuild test -workspace "Runner.xcworkspace" -scheme "Runner" -destination "platform=iOS Simulator,name=iPhone 12,OS=latest" CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO ONLY_ACTIVE_ARCH=NO; + run: cd splitio_ios/example/ios; xcodebuild test -workspace "Runner.xcworkspace" -scheme "Runner" -destination "platform=iOS Simulator,name=iPhone 15,OS=17.4" CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO ONLY_ACTIVE_ARCH=NO; diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b8eb93c..eb7e486 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,11 +9,11 @@ jobs: name: Test dart runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: actions/setup-java@v2 + - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 with: distribution: 'temurin' - java-version: '11' + java-version: '17' - uses: subosito/flutter-action@v2 with: channel: 'stable' diff --git a/.github/workflows/update-license-year.yml b/.github/workflows/update-license-year.yml new file mode 100644 index 0000000..ef86df4 --- /dev/null +++ b/.github/workflows/update-license-year.yml @@ -0,0 +1,45 @@ +name: Update License Year + +on: + schedule: + - cron: "0 3 1 1 *" # 03:00 AM on January 1 + +permissions: + contents: write + pull-requests: write + +jobs: + test: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Set Current year + run: "echo CURRENT=$(date +%Y) >> $GITHUB_ENV" + + - name: Set Previous Year + run: "echo PREVIOUS=$(($CURRENT-1)) >> $GITHUB_ENV" + + - name: Update LICENSE + uses: jacobtomlinson/gha-find-replace@v3 + with: + find: ${{ env.PREVIOUS }} + replace: ${{ env.CURRENT }} + include: "**/LICENSE" + regex: false + + - name: Commit files + run: | + git config user.name 'github-actions[bot]' + git config user.email 'github-actions[bot]@users.noreply.github.com' + git commit -m "Updated License Year" -a + + - name: Create Pull Request + uses: peter-evans/create-pull-request@v5 + with: + token: ${{ secrets.GITHUB_TOKEN }} + title: Update License Year + branch: update-license diff --git a/splitio/CHANGELOG.md b/splitio/CHANGELOG.md index 65f5688..e2f3f04 100644 --- a/splitio/CHANGELOG.md +++ b/splitio/CHANGELOG.md @@ -1,3 +1,17 @@ +# 0.1.9 (May 22, 2024) +* Added support for targeting rules based on semantic versions (https://semver.org/). +* Added special impression label "targeting rule type unsupported by sdk" when the matcher type is not supported by the SDK, which returns 'control' treatment. +* Updated iOS SDK to `2.25.0` & Android SDK to `4.1.0` + +# 0.1.9-rc.1 (May 22, 2024) + +# 0.1.8 (Feb 7, 2024) +* Updated iOS SDK to `2.24.3` & Android SDK to `4.0.0` + +# 0.1.7+1-rc.2 (Feb 7, 2024) + +# 0.1.7+1-rc.1 (Feb 7, 2024) + # 0.1.7 (Nov 9, 2023) * Added support for Flag Sets, which enables grouping feature flags and interacting with the group rather than individually (more details in our documentation): * Added new variations of the get treatment methods to support evaluating flags in given flag set/s. diff --git a/splitio/LICENSE b/splitio/LICENSE index 54326b0..68e2d99 100644 --- a/splitio/LICENSE +++ b/splitio/LICENSE @@ -176,7 +176,7 @@ END OF TERMS AND CONDITIONS - Copyright © 2023 Split Software, Inc. + Copyright © 2024 Split Software, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/splitio/example/android/app/build.gradle b/splitio/example/android/app/build.gradle index 0e0c772..e231f55 100644 --- a/splitio/example/android/app/build.gradle +++ b/splitio/example/android/app/build.gradle @@ -25,8 +25,8 @@ apply plugin: 'com.android.application' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" android { - compileSdkVersion flutter.compileSdkVersion + compileSdk flutter.compileSdkVersion compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 @@ -48,6 +48,8 @@ android { signingConfig signingConfigs.debug } } + + namespace 'io.split.splitio_example' } flutter { diff --git a/splitio/example/android/app/src/debug/AndroidManifest.xml b/splitio/example/android/app/src/debug/AndroidManifest.xml index 2aa7fd2..f880684 100644 --- a/splitio/example/android/app/src/debug/AndroidManifest.xml +++ b/splitio/example/android/app/src/debug/AndroidManifest.xml @@ -1,5 +1,4 @@ - + diff --git a/splitio/example/android/app/src/main/AndroidManifest.xml b/splitio/example/android/app/src/main/AndroidManifest.xml index db67ecb..61f82a9 100644 --- a/splitio/example/android/app/src/main/AndroidManifest.xml +++ b/splitio/example/android/app/src/main/AndroidManifest.xml @@ -1,5 +1,4 @@ - + + diff --git a/splitio/example/android/build.gradle b/splitio/example/android/build.gradle index 0822484..45f577c 100644 --- a/splitio/example/android/build.gradle +++ b/splitio/example/android/build.gradle @@ -5,7 +5,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:7.4.2' + classpath 'com.android.tools.build:gradle:8.4.0' } } diff --git a/splitio/example/android/gradle.properties b/splitio/example/android/gradle.properties index 94adc3a..b9a9a24 100644 --- a/splitio/example/android/gradle.properties +++ b/splitio/example/android/gradle.properties @@ -1,3 +1,6 @@ org.gradle.jvmargs=-Xmx1536M android.useAndroidX=true android.enableJetifier=true +android.defaults.buildfeatures.buildconfig=true +android.nonTransitiveRClass=false +android.nonFinalResIds=false diff --git a/splitio/example/android/gradle/wrapper/gradle-wrapper.properties b/splitio/example/android/gradle/wrapper/gradle-wrapper.properties index bfd9890..2a0fcc1 100644 --- a/splitio/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/splitio/example/android/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip diff --git a/splitio/example/ios/Flutter/AppFrameworkInfo.plist b/splitio/example/ios/Flutter/AppFrameworkInfo.plist index 9625e10..7c56964 100644 --- a/splitio/example/ios/Flutter/AppFrameworkInfo.plist +++ b/splitio/example/ios/Flutter/AppFrameworkInfo.plist @@ -21,6 +21,6 @@ CFBundleVersion 1.0 MinimumOSVersion - 11.0 + 12.0 diff --git a/splitio/example/ios/Podfile b/splitio/example/ios/Podfile index 313ea4a..2c068c4 100644 --- a/splitio/example/ios/Podfile +++ b/splitio/example/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -platform :ios, '11.0' +platform :ios, '12.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/splitio/example/ios/Podfile.lock b/splitio/example/ios/Podfile.lock index 51ab010..6d9b1ac 100644 --- a/splitio/example/ios/Podfile.lock +++ b/splitio/example/ios/Podfile.lock @@ -1,9 +1,9 @@ PODS: - Flutter (1.0.0) - - Split (2.21.0) - - splitio_ios (0.3.0): + - Split (2.25.0) + - splitio_ios (0.5.0): - Flutter - - Split (~> 2.21.0) + - Split (~> 2.25.0) DEPENDENCIES: - Flutter (from `Flutter`) @@ -20,10 +20,10 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/splitio_ios/ios" SPEC CHECKSUMS: - Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 - Split: e4324a8fe3fcb19c36a9e4fd84a893fc6d4bbeb0 - splitio_ios: 8293cb4e46661f9403f92a0d143c5bf6ad5053d4 + Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 + Split: 268875814285de6ab6cd25744e170b407651a080 + splitio_ios: f6af0613ceedf0c037673afe256479bb0f6fc6ec -PODFILE CHECKSUM: 7368163408c647b7eb699d0d788ba6718e18fb8d +PODFILE CHECKSUM: 4e8f8b2be68aeea4c0d5beb6ff1e79fface1d048 -COCOAPODS: 1.11.3 +COCOAPODS: 1.15.0 diff --git a/splitio/example/ios/Runner.xcodeproj/project.pbxproj b/splitio/example/ios/Runner.xcodeproj/project.pbxproj index a69a7aa..be642f5 100644 --- a/splitio/example/ios/Runner.xcodeproj/project.pbxproj +++ b/splitio/example/ios/Runner.xcodeproj/project.pbxproj @@ -164,7 +164,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 1300; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1510; ORGANIZATIONNAME = ""; TargetAttributes = { 97C146ED1CF9000F007C117D = { @@ -351,7 +351,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -428,7 +428,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -477,7 +477,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; diff --git a/splitio/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/splitio/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 087c2dd..e0c9630 100644 --- a/splitio/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/splitio/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.0-0 <4.0.0" - flutter: ">=2.5.0" + dart: ">=3.3.0 <4.0.0" + flutter: ">=3.18.0-18.0.pre.54" diff --git a/splitio/pubspec.yaml b/splitio/pubspec.yaml index 8f2c101..3321ac4 100644 --- a/splitio/pubspec.yaml +++ b/splitio/pubspec.yaml @@ -1,6 +1,6 @@ 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: 0.1.7 +version: 0.1.9 homepage: https://split.io/ repository: https://github.com/splitio/flutter-sdk-plugin/tree/main/splitio/ @@ -19,8 +19,8 @@ flutter: dependencies: flutter: sdk: flutter - splitio_android: ^0.1.7 - splitio_ios: ^0.1.7 + splitio_android: ^0.1.9 + splitio_ios: ^0.1.9 splitio_platform_interface: ^1.4.0 dev_dependencies: diff --git a/splitio_android/CHANGELOG.md b/splitio_android/CHANGELOG.md index f1df5f4..6e0142e 100644 --- a/splitio_android/CHANGELOG.md +++ b/splitio_android/CHANGELOG.md @@ -1,3 +1,15 @@ +# 0.1.9 (May 22, 2024) +* Updated Android SDK to `4.1.0` + +# 0.1.9-rc.1 (May 22, 2024) + +# 0.1.8 (Feb 7, 2024) +* Updated Android SDK to `4.0.0` + +# 0.1.7+1-rc.2 (Feb 7, 2024) + +# 0.1.7+1-rc.1 (Feb 7, 2024) + # 0.1.7 (Nov 9, 2023) * Updated Android SDK to `3.4.0` diff --git a/splitio_android/LICENSE b/splitio_android/LICENSE index 54326b0..68e2d99 100644 --- a/splitio_android/LICENSE +++ b/splitio_android/LICENSE @@ -176,7 +176,7 @@ END OF TERMS AND CONDITIONS - Copyright © 2023 Split Software, Inc. + Copyright © 2024 Split Software, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/splitio_android/android/build.gradle b/splitio_android/android/build.gradle index a2871bd..06f53d7 100644 --- a/splitio_android/android/build.gradle +++ b/splitio_android/android/build.gradle @@ -8,7 +8,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:7.0.0' + classpath 'com.android.tools.build:gradle:8.4.0' } } @@ -30,16 +30,17 @@ android { } defaultConfig { - minSdk 16 + minSdkVersion 19 consumerProguardFiles 'split-proguard-rules.pro' } dependencies { - implementation 'io.split.client:android-client:3.4.0' - implementation 'com.squareup.okhttp3:okhttp:3.12.13' + implementation 'io.split.client:android-client:4.1.0' testImplementation 'junit:junit:4.13.2' testImplementation 'org.mockito:mockito-core:3.12.4' } + + namespace 'io.split.splitio' } diff --git a/splitio_android/android/gradle/wrapper/gradle-wrapper.properties b/splitio_android/android/gradle/wrapper/gradle-wrapper.properties index 8049c68..17655d0 100644 --- a/splitio_android/android/gradle/wrapper/gradle-wrapper.properties +++ b/splitio_android/android/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/splitio_android/android/src/main/AndroidManifest.xml b/splitio_android/android/src/main/AndroidManifest.xml index a1bff08..a2f47b6 100644 --- a/splitio_android/android/src/main/AndroidManifest.xml +++ b/splitio_android/android/src/main/AndroidManifest.xml @@ -1,3 +1,2 @@ - + diff --git a/splitio_android/android/src/main/java/io/split/splitio/SplitFactoryProviderImpl.java b/splitio_android/android/src/main/java/io/split/splitio/SplitFactoryProviderImpl.java index 973f840..15dff79 100644 --- a/splitio_android/android/src/main/java/io/split/splitio/SplitFactoryProviderImpl.java +++ b/splitio_android/android/src/main/java/io/split/splitio/SplitFactoryProviderImpl.java @@ -5,14 +5,11 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import java.io.IOException; -import java.net.URISyntaxException; -import java.util.concurrent.TimeoutException; - import io.split.android.client.SplitClientConfig; import io.split.android.client.SplitFactory; import io.split.android.client.SplitFactoryBuilder; import io.split.android.client.api.Key; +import io.split.android.client.exceptions.SplitInstantiationException; import io.split.android.client.utils.logger.Logger; class SplitFactoryProviderImpl implements SplitFactoryProvider { @@ -45,7 +42,7 @@ private SplitFactory getInstance() { if (mSplitFactory == null) { try { mSplitFactory = SplitFactoryBuilder.build(mApiKey, mKey, mSplitClientConfig, mContext); - } catch (IOException | InterruptedException | TimeoutException | URISyntaxException e) { + } catch (SplitInstantiationException e) { Logger.e("Failed to create SplitFactory", e.getLocalizedMessage()); } } diff --git a/splitio_android/android/src/main/java/io/split/splitio/SplitWrapperImpl.java b/splitio_android/android/src/main/java/io/split/splitio/SplitWrapperImpl.java index 4e765ef..1adef4e 100644 --- a/splitio_android/android/src/main/java/io/split/splitio/SplitWrapperImpl.java +++ b/splitio_android/android/src/main/java/io/split/splitio/SplitWrapperImpl.java @@ -9,6 +9,7 @@ import java.util.List; import java.util.Map; import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; import io.split.android.client.SplitClient; import io.split.android.client.SplitFactory; @@ -16,7 +17,6 @@ import io.split.android.client.api.Key; import io.split.android.client.api.SplitView; import io.split.android.client.shared.UserConsent; -import io.split.android.client.utils.ConcurrentSet; import io.split.android.grammar.Treatments; class SplitWrapperImpl implements SplitWrapper { @@ -25,7 +25,7 @@ class SplitWrapperImpl implements SplitWrapper { private final Set mUsedKeys; SplitWrapperImpl(@NonNull SplitFactoryProvider splitFactoryProvider) { - this(splitFactoryProvider, new ConcurrentSet<>()); + this(splitFactoryProvider, Collections.newSetFromMap(new ConcurrentHashMap<>())); } @VisibleForTesting diff --git a/splitio_android/pubspec.yaml b/splitio_android/pubspec.yaml index 3bcabde..277dfec 100644 --- a/splitio_android/pubspec.yaml +++ b/splitio_android/pubspec.yaml @@ -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: 0.1.7 +version: 0.1.9 environment: sdk: ">=2.16.2 <4.0.0" diff --git a/splitio_ios/CHANGELOG.md b/splitio_ios/CHANGELOG.md index 09be62b..515ca93 100644 --- a/splitio_ios/CHANGELOG.md +++ b/splitio_ios/CHANGELOG.md @@ -1,3 +1,13 @@ +# 0.1.9 (May 22, 2024) +* Updated iOS SDK to `2.25.0` + +# 0.1.9-rc.1 (May 22, 2024) + +# 0.1.8 (Feb 7, 2024) +* Updated iOS SDK to `2.24.3` + +# 0.1.7+1-rc.1 (Feb 7, 2024) + # 0.1.7 (Nov 9, 2023) * Updated iOS SDK to `2.23.0` diff --git a/splitio_ios/LICENSE b/splitio_ios/LICENSE index 54326b0..68e2d99 100644 --- a/splitio_ios/LICENSE +++ b/splitio_ios/LICENSE @@ -176,7 +176,7 @@ END OF TERMS AND CONDITIONS - Copyright © 2023 Split Software, Inc. + Copyright © 2024 Split Software, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/splitio_ios/example/ios/Flutter/AppFrameworkInfo.plist b/splitio_ios/example/ios/Flutter/AppFrameworkInfo.plist index 8d4492f..7c56964 100644 --- a/splitio_ios/example/ios/Flutter/AppFrameworkInfo.plist +++ b/splitio_ios/example/ios/Flutter/AppFrameworkInfo.plist @@ -21,6 +21,6 @@ CFBundleVersion 1.0 MinimumOSVersion - 9.0 + 12.0 diff --git a/splitio_ios/example/ios/Podfile.lock b/splitio_ios/example/ios/Podfile.lock index 6f6ec46..522e427 100644 --- a/splitio_ios/example/ios/Podfile.lock +++ b/splitio_ios/example/ios/Podfile.lock @@ -1,9 +1,9 @@ PODS: - Flutter (1.0.0) - - Split (2.23.0) - - splitio_ios (0.4.0): + - Split (2.25.0) + - splitio_ios (0.5.0): - Flutter - - Split (~> 2.23.0) + - Split (~> 2.25.0) DEPENDENCIES: - Flutter (from `Flutter`) @@ -20,10 +20,10 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/splitio_ios/ios" SPEC CHECKSUMS: - Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 - Split: 8140864905cd12cb66e2cf31e6ba9052d09c086b - splitio_ios: 1c1d7cd88e6756b3b40cf37cdf8610b8720164b0 + Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 + Split: 268875814285de6ab6cd25744e170b407651a080 + splitio_ios: f6af0613ceedf0c037673afe256479bb0f6fc6ec PODFILE CHECKSUM: aed42fc5c94ade572556b7ed357c5c57f1bd83a2 -COCOAPODS: 1.11.3 +COCOAPODS: 1.15.0 diff --git a/splitio_ios/example/ios/Runner.xcodeproj/project.pbxproj b/splitio_ios/example/ios/Runner.xcodeproj/project.pbxproj index 7f3b9bb..667bff1 100644 --- a/splitio_ios/example/ios/Runner.xcodeproj/project.pbxproj +++ b/splitio_ios/example/ios/Runner.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 51; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -231,7 +231,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 1300; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1510; ORGANIZATIONNAME = ""; TargetAttributes = { 97C146ED1CF9000F007C117D = { @@ -309,10 +309,12 @@ }; 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); name = "Thin Binary"; outputPaths = ( @@ -379,6 +381,7 @@ }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); @@ -487,7 +490,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -564,7 +567,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -613,7 +616,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; diff --git a/splitio_ios/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/splitio_ios/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 087c2dd..e0c9630 100644 --- a/splitio_ios/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/splitio_ios/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIViewControllerBasedStatusBarAppearance + CADisableMinimumFrameDurationOnPhone + + UIApplicationSupportsIndirectInputEvents + diff --git a/splitio_ios/example/ios/SplitTests/SplitTests.swift b/splitio_ios/example/ios/SplitTests/SplitTests.swift index c01d314..7f378bb 100644 --- a/splitio_ios/example/ios/SplitTests/SplitTests.swift +++ b/splitio_ios/example/ios/SplitTests/SplitTests.swift @@ -334,7 +334,6 @@ class SplitFactoryStub: SplitFactory { } class SplitClientStub: SplitClient { - var destroyCalled: Bool = false var methodCalls = [ "getTreatment": false, @@ -407,8 +406,20 @@ class SplitClientStub: SplitClient { return [:] } + func on(event: SplitEvent, runInBackground: Bool, execute action: @escaping SplitAction) { + if event == .sdkReady { + sdkReadyEventAction = action + } + } + + func on(event: SplitEvent, queue: DispatchQueue, execute action: @escaping SplitAction) { + if event == .sdkReady { + sdkReadyEventAction = action + } + } + func on(event: SplitEvent, execute action: @escaping SplitAction) { - if event == SplitEvent.sdkReady { + if event == .sdkReady { sdkReadyEventAction = action } } diff --git a/splitio_ios/example/pubspec.lock b/splitio_ios/example/pubspec.lock index ead8f9f..6f5b775 100644 --- a/splitio_ios/example/pubspec.lock +++ b/splitio_ios/example/pubspec.lock @@ -5,58 +5,58 @@ packages: dependency: transitive description: name: async - url: "https://pub.dartlang.org" + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + url: "https://pub.dev" source: hosted - version: "2.8.2" + version: "2.11.0" boolean_selector: dependency: transitive description: name: boolean_selector - url: "https://pub.dartlang.org" + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" characters: dependency: transitive description: name: characters - url: "https://pub.dartlang.org" - source: hosted - version: "1.2.0" - charcode: - dependency: transitive - description: - name: charcode - url: "https://pub.dartlang.org" + sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" + url: "https://pub.dev" source: hosted - version: "1.3.1" + version: "1.3.0" clock: dependency: transitive description: name: clock - url: "https://pub.dartlang.org" + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.1.1" collection: dependency: transitive description: name: collection - url: "https://pub.dartlang.org" + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + url: "https://pub.dev" source: hosted - version: "1.15.0" + version: "1.18.0" cupertino_icons: dependency: "direct main" description: name: cupertino_icons - url: "https://pub.dartlang.org" + sha256: e35129dc44c9118cee2a5603506d823bab99c68393879edb440e0090d07586be + url: "https://pub.dev" source: hosted version: "1.0.5" fake_async: dependency: transitive description: name: fake_async - url: "https://pub.dartlang.org" + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.1" flutter: dependency: "direct main" description: flutter @@ -66,7 +66,8 @@ packages: dependency: "direct dev" description: name: flutter_lints - url: "https://pub.dartlang.org" + sha256: b543301ad291598523947dc534aaddc5aaad597b709d2426d3a0e0d44c5cb493 + url: "https://pub.dev" source: hosted version: "1.0.4" flutter_test: @@ -74,48 +75,78 @@ packages: description: flutter source: sdk version: "0.0.0" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" + url: "https://pub.dev" + source: hosted + version: "10.0.4" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" + url: "https://pub.dev" + source: hosted + version: "3.0.3" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" + url: "https://pub.dev" + source: hosted + version: "3.0.1" lints: dependency: transitive description: name: lints - url: "https://pub.dartlang.org" + sha256: a2c3d198cb5ea2e179926622d433331d8b58374ab8f29cdda6e863bd62fd369c + url: "https://pub.dev" source: hosted version: "1.0.1" matcher: dependency: transitive description: name: matcher - url: "https://pub.dartlang.org" + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + url: "https://pub.dev" source: hosted - version: "0.12.11" + version: "0.12.16+1" material_color_utilities: dependency: transitive description: name: material_color_utilities - url: "https://pub.dartlang.org" + sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + url: "https://pub.dev" source: hosted - version: "0.1.3" + version: "0.8.0" meta: dependency: transitive description: name: meta - url: "https://pub.dartlang.org" + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" + url: "https://pub.dev" source: hosted - version: "1.7.0" + version: "1.12.0" path: dependency: transitive description: name: path - url: "https://pub.dartlang.org" + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + url: "https://pub.dev" source: hosted - version: "1.8.0" + version: "1.9.0" plugin_platform_interface: dependency: transitive description: name: plugin_platform_interface - url: "https://pub.dartlang.org" + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" + url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.8" sky_engine: dependency: transitive description: flutter @@ -125,72 +156,81 @@ packages: dependency: transitive description: name: source_span - url: "https://pub.dartlang.org" + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + url: "https://pub.dev" source: hosted - version: "1.8.1" + version: "1.10.0" splitio_ios: dependency: "direct main" description: path: ".." relative: true source: path - version: "0.1.2" + version: "0.1.9" splitio_platform_interface: dependency: transitive description: - path: "../../splitio_platform_interface" - relative: true - source: path - version: "1.0.0" + name: splitio_platform_interface + sha256: eb0ec278e782bb403856f0921d2023ed8ed1a9e97eafb0f3de5cc4a107d1e04f + url: "https://pub.dev" + source: hosted + version: "1.4.0" stack_trace: dependency: transitive description: name: stack_trace - url: "https://pub.dartlang.org" + sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.11.1" stream_channel: dependency: transitive description: name: stream_channel - url: "https://pub.dartlang.org" + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.2" string_scanner: dependency: transitive description: name: string_scanner - url: "https://pub.dartlang.org" + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.2.0" term_glyph: dependency: transitive description: name: term_glyph - url: "https://pub.dartlang.org" + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.2.1" test_api: dependency: transitive description: name: test_api - url: "https://pub.dartlang.org" + sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" + url: "https://pub.dev" source: hosted - version: "0.4.8" - typed_data: + version: "0.7.0" + vector_math: dependency: transitive description: - name: typed_data - url: "https://pub.dartlang.org" + name: vector_math + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" source: hosted - version: "1.3.0" - vector_math: + version: "2.1.4" + vm_service: dependency: transitive description: - name: vector_math - url: "https://pub.dartlang.org" + name: vm_service + sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" + url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "14.2.1" sdks: - dart: ">=2.16.2 <3.0.0" - flutter: ">=2.5.0" + dart: ">=3.3.0 <4.0.0" + flutter: ">=3.18.0-18.0.pre.54" diff --git a/splitio_ios/ios/splitio_ios.podspec b/splitio_ios/ios/splitio_ios.podspec index 7371662..9fcdaeb 100644 --- a/splitio_ios/ios/splitio_ios.podspec +++ b/splitio_ios/ios/splitio_ios.podspec @@ -4,7 +4,7 @@ # Pod::Spec.new do |s| s.name = 'splitio_ios' - s.version = '0.4.0' + s.version = '0.5.0' s.summary = 'split.io official Flutter plugin.' s.description = <<-DESC split.io official Flutter plugin. @@ -15,7 +15,7 @@ split.io official Flutter plugin. s.source = { :path => '.' } s.source_files = 'Classes/**/*' s.dependency 'Flutter' - s.dependency 'Split', '~> 2.23.0' + s.dependency 'Split', '~> 2.25.0' s.platform = :ios, '9.0' # Flutter.framework does not contain a i386 slice. diff --git a/splitio_ios/pubspec.yaml b/splitio_ios/pubspec.yaml index 7e46f71..151c673 100644 --- a/splitio_ios/pubspec.yaml +++ b/splitio_ios/pubspec.yaml @@ -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: 0.1.7 +version: 0.1.9 environment: sdk: ">=2.16.2 <4.0.0" diff --git a/splitio_platform_interface/LICENSE b/splitio_platform_interface/LICENSE index 54326b0..68e2d99 100644 --- a/splitio_platform_interface/LICENSE +++ b/splitio_platform_interface/LICENSE @@ -176,7 +176,7 @@ END OF TERMS AND CONDITIONS - Copyright © 2023 Split Software, Inc. + Copyright © 2024 Split Software, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.