Skip to content

Commit 190a5a2

Browse files
authored
Merge pull request #796 from splitio/release/3.5.2
Release 3.5.2
2 parents 5da188e + bb0a86e commit 190a5a2

33 files changed

+935
-42
lines changed

.github/workflows/sonar.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ on:
44
pull_request:
55
branches:
66
- "**"
7+
push:
8+
branches:
9+
- master
710

811
# Cancel in-progress runs when a new workflow with the same group is triggered
912
concurrency:
@@ -13,7 +16,7 @@ concurrency:
1316
jobs:
1417
build-and-collect-coverage:
1518
name: Build & Collect Coverage
16-
runs-on: macos-latest
19+
runs-on: macos-15-xlarge
1720
timeout-minutes: 15
1821
steps:
1922
- name: Checkout
@@ -28,7 +31,7 @@ jobs:
2831
-project Split.xcodeproj \
2932
-scheme Split \
3033
-testPlan "SplitiOSFull" \
31-
-destination 'platform=iOS Simulator,OS=18.4,name=iPhone 16 Pro Max' \
34+
-destination 'platform=iOS Simulator,OS=18.5,name=iPhone 16' \
3235
-enableCodeCoverage YES \
3336
-resultBundlePath build/Logs/Test/TestResults.xcresult \
3437
-derivedDataPath build

CHANGES.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
3.5.2: (Dec 18, 2025)
2+
- Fixed issue where targeting rules cache integrity could be lost if a SQLite write failed.
3+
14
3.5.1: (Dec 17, 2025)
25
- Fixed issue in encryption mode where SDK cache functionality could not be recovered if the encryption key was removed.
36

Split.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Pod::Spec.new do |s|
22
s.name = 'Split'
33
s.module_name = 'Split'
4-
s.version = '3.5.1'
4+
s.version = '3.5.2'
55
s.summary = 'iOS SDK for Split'
66
s.description = <<-DESC
77
This SDK is designed to work with Split, the platform for controlled rollouts, serving features to your users via the Split feature flag to manage your complete customer experience.

Split.xcodeproj/project.pbxproj

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -539,7 +539,6 @@
539539
95649FBA2603F89E006D5E0C /* SplitsBgSyncWorkerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95649FB92603F89E006D5E0C /* SplitsBgSyncWorkerTest.swift */; };
540540
95649FBE260405C7006D5E0C /* MySegmentsBgSyncWorkerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95649FBD260405C7006D5E0C /* MySegmentsBgSyncWorkerTest.swift */; };
541541
9566744729F03662001B4FA5 /* DbCipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95715A8229D23F9600A1B2F9 /* DbCipher.swift */; };
542-
CD311117BB394A70AD6057CD04272DF2 /* DbEncryptionManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A0EA0213A424C098E507B2544F5CD6F /* DbEncryptionManager.swift */; };
543542
9566744829F03675001B4FA5 /* SplitEncryptionLevel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95715A8029D22C1B00A1B2F9 /* SplitEncryptionLevel.swift */; };
544543
956816BE2836C91B00206FC5 /* UniqueKeyTracker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 956816BD2836C91B00206FC5 /* UniqueKeyTracker.swift */; };
545544
9569E1CB2784C00B006FC7E5 /* TelemetryConfigHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9569E1CA2784C00B006FC7E5 /* TelemetryConfigHelper.swift */; };
@@ -1093,6 +1092,14 @@
10931092
C526DE4C2D9B09EB0051DAB8 /* ImpressionsPropertiesE2ETest.swift in Sources */ = {isa = PBXBuildFile; fileRef = C526DE4B2D9B09EB0051DAB8 /* ImpressionsPropertiesE2ETest.swift */; };
10941093
C52C57292EEB41350064D049 /* EncryptionKeyValidationIntegrationTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = C52C57282EEB41350064D049 /* EncryptionKeyValidationIntegrationTest.swift */; };
10951094
C52C572B2EEB41450064D049 /* EncryptionKeyValidationTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = C52C572A2EEB41450064D049 /* EncryptionKeyValidationTest.swift */; };
1095+
C53207E72EF44A0700418BB1 /* DbEncryptionManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A0EA0213A424C098E507B2544F5CD6F /* DbEncryptionManager.swift */; };
1096+
C53207E92EF44A2100418BB1 /* PersistenceBreakerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C53207E82EF44A2100418BB1 /* PersistenceBreakerTests.swift */; };
1097+
C53207EB2EF44A2F00418BB1 /* PersistenceBreaker.swift in Sources */ = {isa = PBXBuildFile; fileRef = C53207EA2EF44A2F00418BB1 /* PersistenceBreaker.swift */; };
1098+
C53207EC2EF44A2F00418BB1 /* PersistenceBreaker.swift in Sources */ = {isa = PBXBuildFile; fileRef = C53207EA2EF44A2F00418BB1 /* PersistenceBreaker.swift */; };
1099+
C53207EE2EF452C000418BB1 /* CoreDataHelperStub.swift in Sources */ = {isa = PBXBuildFile; fileRef = C53207ED2EF452C000418BB1 /* CoreDataHelperStub.swift */; };
1100+
C53207F12EF456AF00418BB1 /* CoreDataHelperTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C53207F02EF456AF00418BB1 /* CoreDataHelperTests.swift */; };
1101+
C53207F42EF45BC600418BB1 /* PersistentSplitsStorageTransactionalTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C53207F22EF45BC600418BB1 /* PersistentSplitsStorageTransactionalTests.swift */; };
1102+
C53207F52EF45BC600418BB1 /* SplitsPersistenceBreakerIntegrationTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = C53207F32EF45BC600418BB1 /* SplitsPersistenceBreakerIntegrationTest.swift */; };
10961103
C539CAB62D88C1F10050C732 /* RuleBasedSegment.swift in Sources */ = {isa = PBXBuildFile; fileRef = C539CAB52D88C1F10050C732 /* RuleBasedSegment.swift */; };
10971104
C539CABE2D88C7410050C732 /* PersistentRuleBasedSegmentsStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = C539CABC2D88C7410050C732 /* PersistentRuleBasedSegmentsStorage.swift */; };
10981105
C539CABF2D88C7410050C732 /* RuleBasedSegmentsStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = C539CABD2D88C7410050C732 /* RuleBasedSegmentsStorage.swift */; };
@@ -1196,6 +1203,7 @@
11961203
C5E9675F2D3849BE00112DAC /* RolloutDefinitionsCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5E9675E2D3849BE00112DAC /* RolloutDefinitionsCache.swift */; };
11971204
C5E967602D3849BE00112DAC /* RolloutDefinitionsCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5E9675E2D3849BE00112DAC /* RolloutDefinitionsCache.swift */; };
11981205
C5E967622D395DAA00112DAC /* RolloutCacheManagerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5E967612D395DAA00112DAC /* RolloutCacheManagerTest.swift */; };
1206+
CD311117BB394A70AD6057CD04272DF2 /* DbEncryptionManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A0EA0213A424C098E507B2544F5CD6F /* DbEncryptionManager.swift */; };
11991207
/* End PBXBuildFile section */
12001208

12011209
/* Begin PBXContainerItemProxy section */
@@ -1572,6 +1580,7 @@
15721580
59FB7C34220329B900ECC96A /* SplitFactoryBuilderTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SplitFactoryBuilderTests.swift; sourceTree = "<group>"; };
15731581
59FB7C3B2203795F00ECC96A /* LocalhostSplitsParser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocalhostSplitsParser.swift; sourceTree = "<group>"; };
15741582
59FB7C3D22037B9400ECC96A /* SpaceDelimitedLocalhostSplitsParser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpaceDelimitedLocalhostSplitsParser.swift; sourceTree = "<group>"; };
1583+
5A0EA0213A424C098E507B2544F5CD6F /* DbEncryptionManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DbEncryptionManager.swift; sourceTree = "<group>"; };
15751584
5B279CF82E340FB900B73A36 /* splitschanges_no_segments.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = splitschanges_no_segments.json; sourceTree = "<group>"; };
15761585
5B343EAC2E26E937006BEBE7 /* StorageHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StorageHelper.swift; sourceTree = "<group>"; };
15771586
5B91B8382DDE4A30000510F0 /* SplitDTOTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SplitDTOTests.swift; sourceTree = "<group>"; };
@@ -1758,7 +1767,6 @@
17581767
956D17D0260D266E0037F575 /* SplitsChangesCheckerTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SplitsChangesCheckerTest.swift; sourceTree = "<group>"; };
17591768
956D17D6260D28320037F575 /* MySegmentsChangeChecker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MySegmentsChangeChecker.swift; sourceTree = "<group>"; };
17601769
95715A8029D22C1B00A1B2F9 /* SplitEncryptionLevel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SplitEncryptionLevel.swift; sourceTree = "<group>"; };
1761-
5A0EA0213A424C098E507B2544F5CD6F /* DbEncryptionManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DbEncryptionManager.swift; sourceTree = "<group>"; };
17621770
95715A8229D23F9600A1B2F9 /* DbCipher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DbCipher.swift; sourceTree = "<group>"; };
17631771
95715A8429D353C100A1B2F9 /* DbCipherTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DbCipherTest.swift; sourceTree = "<group>"; };
17641772
95715A9429DB0ED800A1B2F9 /* InitDbCipherTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InitDbCipherTest.swift; sourceTree = "<group>"; };
@@ -2000,6 +2008,12 @@
20002008
C526DE4B2D9B09EB0051DAB8 /* ImpressionsPropertiesE2ETest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImpressionsPropertiesE2ETest.swift; sourceTree = "<group>"; };
20012009
C52C57282EEB41350064D049 /* EncryptionKeyValidationIntegrationTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EncryptionKeyValidationIntegrationTest.swift; sourceTree = "<group>"; };
20022010
C52C572A2EEB41450064D049 /* EncryptionKeyValidationTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EncryptionKeyValidationTest.swift; sourceTree = "<group>"; };
2011+
C53207E82EF44A2100418BB1 /* PersistenceBreakerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PersistenceBreakerTests.swift; sourceTree = "<group>"; };
2012+
C53207EA2EF44A2F00418BB1 /* PersistenceBreaker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PersistenceBreaker.swift; sourceTree = "<group>"; };
2013+
C53207ED2EF452C000418BB1 /* CoreDataHelperStub.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreDataHelperStub.swift; sourceTree = "<group>"; };
2014+
C53207F02EF456AF00418BB1 /* CoreDataHelperTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreDataHelperTests.swift; sourceTree = "<group>"; };
2015+
C53207F22EF45BC600418BB1 /* PersistentSplitsStorageTransactionalTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PersistentSplitsStorageTransactionalTests.swift; sourceTree = "<group>"; };
2016+
C53207F32EF45BC600418BB1 /* SplitsPersistenceBreakerIntegrationTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SplitsPersistenceBreakerIntegrationTest.swift; sourceTree = "<group>"; };
20032017
C539CAB52D88C1F10050C732 /* RuleBasedSegment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RuleBasedSegment.swift; sourceTree = "<group>"; };
20042018
C539CABC2D88C7410050C732 /* PersistentRuleBasedSegmentsStorage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PersistentRuleBasedSegmentsStorage.swift; sourceTree = "<group>"; };
20052019
C539CABD2D88C7410050C732 /* RuleBasedSegmentsStorage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RuleBasedSegmentsStorage.swift; sourceTree = "<group>"; };
@@ -2637,6 +2651,7 @@
26372651
3B6DEF0720EA6AE40067435E /* Storage */ = {
26382652
isa = PBXGroup;
26392653
children = (
2654+
C53207EA2EF44A2F00418BB1 /* PersistenceBreaker.swift */,
26402655
C5A501C72D88A15600206F82 /* RuleBasedSegments */,
26412656
955E122F2BFBC90700AE6D10 /* HashedImpression */,
26422657
952E266E2833E4210015D633 /* UniqueKeys */,
@@ -2676,6 +2691,10 @@
26762691
5905D4E3255B2373006DA3B1 /* Storage */ = {
26772692
isa = PBXGroup;
26782693
children = (
2694+
C53207F22EF45BC600418BB1 /* PersistentSplitsStorageTransactionalTests.swift */,
2695+
C53207F32EF45BC600418BB1 /* SplitsPersistenceBreakerIntegrationTest.swift */,
2696+
C53207F02EF456AF00418BB1 /* CoreDataHelperTests.swift */,
2697+
C53207E82EF44A2100418BB1 /* PersistenceBreakerTests.swift */,
26792698
C52C572A2EEB41450064D049 /* EncryptionKeyValidationTest.swift */,
26802699
599407DF22403BE9003B85CC /* SplitsStorageTrafficTypesTests.swift */,
26812700
59F65F002562FF71005FE8C9 /* EventDaoTest.swift */,
@@ -2719,6 +2738,7 @@
27192738
5905D4E6255B23C8006DA3B1 /* Storage */ = {
27202739
isa = PBXGroup;
27212740
children = (
2741+
C53207ED2EF452C000418BB1 /* CoreDataHelperStub.swift */,
27222742
C539CAC22D88C7570050C732 /* PersistentRuleBasedSegmentsStorageStub.swift */,
27232743
C539CAC32D88C7570050C732 /* RuleBasedSegmentsStorageStub.swift */,
27242744
C5A501D82D88A7E900206F82 /* RuleBasedSegmentDaoStub.swift */,
@@ -4416,6 +4436,7 @@
44164436
5905D4D82555FE74006DA3B1 /* SplitDatabase.swift in Sources */,
44174437
952FA12B2A2E593900264AB5 /* SplitComponentCatalog.swift in Sources */,
44184438
5BD767402E64B6F800F9EFBD /* FallbackTreatmentsCalculator.swift in Sources */,
4439+
C53207EB2EF44A2F00418BB1 /* PersistenceBreaker.swift in Sources */,
44194440
59B2042724F4171E0092F2E9 /* SyncUpdateWorker.swift in Sources */,
44204441
955428D6256810D300331356 /* ImpressionDao.swift in Sources */,
44214442
950B7417268F4716005FD649 /* ImpressionsMode.swift in Sources */,
@@ -4622,6 +4643,7 @@
46224643
952E26752833FF3F0015D633 /* UniqueKeyDaoStub.swift in Sources */,
46234644
59ED408F24F06EC100EF7B09 /* TimersManagerTest.swift in Sources */,
46244645
59D84BE7221AE775003DA248 /* LocalhostManagerTests.swift in Sources */,
4646+
C53207F12EF456AF00418BB1 /* CoreDataHelperTests.swift in Sources */,
46254647
C539CAE22D9477770050C732 /* PropertyValidatorStub.swift in Sources */,
46264648
955B596C2816BC0C00D105CD /* MultiClientEvaluationTest.swift in Sources */,
46274649
59FB7C35220329B900ECC96A /* SplitFactoryBuilderTests.swift in Sources */,
@@ -4656,6 +4678,7 @@
46564678
9502B7B42837E70200B779C0 /* UniqueTrackerTest.swift in Sources */,
46574679
952BF5F8278DF57D00FF6181 /* TelemetryIntegrationTest.swift in Sources */,
46584680
59F4AAA124FFC94100A1C69A /* NotificationManagerKeeperTest.swift in Sources */,
4681+
C53207E92EF44A2100418BB1 /* PersistenceBreakerTests.swift in Sources */,
46594682
955E12372BFCDEAC00AE6D10 /* HashedImpressionDaoMock.swift in Sources */,
46604683
95ABF4FC29369B73006ED016 /* TelemetrySynchronizerStub.swift in Sources */,
46614684
5BF52DF92DE4B8D400FEDAFE /* PrerequisitesMatcherTest.swift in Sources */,
@@ -4759,6 +4782,8 @@
47594782
592C6AC4211B718E002D120C /* RegexTest.swift in Sources */,
47604783
9500D9922C56F9BA00383593 /* HostDomainFilterTests.swift in Sources */,
47614784
95F3F0282590D81B00084AF8 /* ImpressionsRecorderWorkerTests.swift in Sources */,
4785+
C53207F42EF45BC600418BB1 /* PersistentSplitsStorageTransactionalTests.swift in Sources */,
4786+
C53207F52EF45BC600418BB1 /* SplitsPersistenceBreakerIntegrationTest.swift in Sources */,
47624787
955E12312BFBEA8600AE6D10 /* HashedImpressionDaoTest.swift in Sources */,
47634788
95342E992A4C71300045B201 /* FeatureFlagsPayloadDecoderMock.swift in Sources */,
47644789
9577A8472683B8C800D92AE1 /* HttpImpressionsCountRecorderTests.swift in Sources */,
@@ -4809,6 +4834,7 @@
48094834
5982D938219F57BE00230F44 /* FileHelper.swift in Sources */,
48104835
95B180272763DA0E002DC9DF /* HttpTelemetryConfigRecorderTest.swift in Sources */,
48114836
C5977C202BF29F5B003E293A /* EqualToSemverMatcherTest.swift in Sources */,
4837+
C53207EE2EF452C000418BB1 /* CoreDataHelperStub.swift in Sources */,
48124838
C5A7D5532DD672CF0081D190 /* RuleBasedSegmentsIntegrationTest.swift in Sources */,
48134839
59ED408424EAB8C900EF7B09 /* PushNotificationManagerTest.swift in Sources */,
48144840
95F7BC292C46A4C800C5F2E4 /* SecurityHelper.swift in Sources */,
@@ -5181,7 +5207,8 @@
51815207
95B02D9B28D0BDC30030EC8B /* DataResult.swift in Sources */,
51825208
958AD2132CA457C100E3DD43 /* RetryableSegmentsSyncWorker.swift in Sources */,
51835209
9566744729F03662001B4FA5 /* DbCipher.swift in Sources */,
5184-
CD311117BB394A70AD6057CD04272DF2 /* DbEncryptionManager.swift in Sources */,
5210+
C53207E72EF44A0700418BB1 /* DbEncryptionManager.swift in Sources */,
5211+
C53207EC2EF44A2F00418BB1 /* PersistenceBreaker.swift in Sources */,
51855212
95B02D9C28D0BDC30030EC8B /* ServiceEndpoints.swift in Sources */,
51865213
95B02D9D28D0BDC30030EC8B /* Endpoint.swift in Sources */,
51875214
95B02D9E28D0BDC30030EC8B /* EndpointFactory.swift in Sources */,

Split/Api/SplitDatabaseHelper.swift

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,13 @@ struct SplitDatabaseHelper {
9191
DefaultFlagSetsCache(setsInFilter: splitClientConfig.bySetsFilter()?.values.asSet())
9292
let persistentSplitsStorage = DefaultPersistentSplitsStorage(database: splitDatabase)
9393
let generalInfoStorage = openGeneralInfoStorage(database: splitDatabase)
94-
let splitsStorage = openSplitsStorage(database: splitDatabase, flagSetsCache: flagSetsCache, generalInfoStorage: generalInfoStorage)
94+
95+
// Create shared persistence breaker for targeting rules (splits + RBS)
96+
let targetingRulesPersistenceBreaker = DefaultPersistenceBreaker()
97+
let splitsStorage = openSplitsStorage(database: splitDatabase,
98+
flagSetsCache: flagSetsCache,
99+
generalInfoStorage: generalInfoStorage,
100+
persistenceBreaker: targetingRulesPersistenceBreaker)
95101

96102
let persistentImpressionsStorage = openPersistentImpressionsStorage(database: splitDatabase)
97103
let impressionsStorage = openImpressionsStorage(persistentStorage: persistentImpressionsStorage)
@@ -139,7 +145,8 @@ struct SplitDatabaseHelper {
139145
hashedImpressionsStorage: hashedImpressionsStorage,
140146
generalInfoStorage: generalInfoStorage,
141147
ruleBasedSegmentsStorage: ruleBasedSegmentsStorage,
142-
persistentRuleBasedSegmentsStorage: persistentRuleBasedSegmentsStorage)
148+
persistentRuleBasedSegmentsStorage: persistentRuleBasedSegmentsStorage,
149+
targetingRulesPersistenceBreaker: targetingRulesPersistenceBreaker)
143150
}
144151

145152
static func openDatabase(dataFolderName: String,
@@ -158,9 +165,11 @@ struct SplitDatabaseHelper {
158165
}
159166

160167
static func openSplitsStorage(database: SplitDatabase,
161-
flagSetsCache: FlagSetsCache, generalInfoStorage: GeneralInfoStorage) -> SplitsStorage {
168+
flagSetsCache: FlagSetsCache, generalInfoStorage: GeneralInfoStorage,
169+
persistenceBreaker: PersistenceBreaker) -> SplitsStorage {
162170
return DefaultSplitsStorage(persistentSplitsStorage: openPersistentSplitsStorage(database: database),
163-
flagSetsCache: flagSetsCache, GeneralInfoStorage: generalInfoStorage)
171+
flagSetsCache: flagSetsCache, generalInfoStorage: generalInfoStorage,
172+
persistenceBreaker: persistenceBreaker)
164173
}
165174

166175
static func openPersistentMySegmentsStorage(database: SplitDatabase) -> PersistentMySegmentsStorage {

Split/Common/Utils/Version.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import Foundation
1010
class Version {
1111
private static let kSdkPlatform: String = "ios"
1212

13-
private static let kVersion = "3.5.1"
13+
private static let kVersion = "3.5.2"
1414

1515
static var semantic: String {
1616
return kVersion

Split/Network/Sync/SyncCommons.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ struct SplitStorageContainer {
2626
let generalInfoStorage: GeneralInfoStorage
2727
let ruleBasedSegmentsStorage: RuleBasedSegmentsStorage
2828
let persistentRuleBasedSegmentsStorage: PersistentRuleBasedSegmentsStorage
29+
let targetingRulesPersistenceBreaker: PersistenceBreaker
2930
}
3031

3132
protocol ImpressionLogger {

0 commit comments

Comments
 (0)