diff --git a/CHANGELOG.md b/CHANGELOG.md index a0d6a6d6b..240b68eb8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,16 @@ # Optimizely Objective-C SDK Changelog +## 2.1.6 +January 25th, 2019 + +This includes a fix for revenue and metrics. Numbers 0 and 1 were evaluated as false and true causing us to drop them from the event. + +### New Features +* No new features for this patch release. + +### Bug Fixes: +* Check for BOOL type but allow number values 0 and 1 in revenue and metrics to go to results. + ## 2.1.5 December 6th, 2018 diff --git a/OptimizelySDKCore.podspec b/OptimizelySDKCore.podspec index 3bbf16b8c..0318f6e13 100644 --- a/OptimizelySDKCore.podspec +++ b/OptimizelySDKCore.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "OptimizelySDKCore" - s.version = "2.1.5" + s.version = "2.1.6" s.summary = "Optimizely server-side testing core framework." s.homepage = "http://developers.optimizely.com/server/reference/index.html?language=objectivec" s.license = { :type => "Apache License, Version 2.0", :file => "LICENSE" } diff --git a/OptimizelySDKCore/OptimizelySDKCore.xcodeproj/project.pbxproj b/OptimizelySDKCore/OptimizelySDKCore.xcodeproj/project.pbxproj index 6af02c6ab..5636d680e 100644 --- a/OptimizelySDKCore/OptimizelySDKCore.xcodeproj/project.pbxproj +++ b/OptimizelySDKCore/OptimizelySDKCore.xcodeproj/project.pbxproj @@ -2240,7 +2240,7 @@ OPTIMIZELY_SDK_VERSION = "$(OPTIMIZELY_SDK_VERSION_MAJOR).$(OPTIMIZELY_SDK_VERSION_MINOR).$(OPTIMIZELY_SDK_VERSION_PATCH)$(OPTIMIZELY_SDK_VERSION_SUFFIX)"; OPTIMIZELY_SDK_VERSION_MAJOR = 2; OPTIMIZELY_SDK_VERSION_MINOR = 1; - OPTIMIZELY_SDK_VERSION_PATCH = 5; + OPTIMIZELY_SDK_VERSION_PATCH = 6; OPTIMIZELY_SDK_VERSION_SUFFIX = ""; PRODUCT_MODULE_NAME = "$(PRODUCT_NAME)"; SDKROOT = iphoneos; @@ -2530,7 +2530,7 @@ OPTIMIZELY_SDK_VERSION = "$(OPTIMIZELY_SDK_VERSION_MAJOR).$(OPTIMIZELY_SDK_VERSION_MINOR).$(OPTIMIZELY_SDK_VERSION_PATCH)$(OPTIMIZELY_SDK_VERSION_SUFFIX)"; OPTIMIZELY_SDK_VERSION_MAJOR = 2; OPTIMIZELY_SDK_VERSION_MINOR = 1; - OPTIMIZELY_SDK_VERSION_PATCH = 5; + OPTIMIZELY_SDK_VERSION_PATCH = 6; OPTIMIZELY_SDK_VERSION_SUFFIX = ""; PRODUCT_MODULE_NAME = "$(PRODUCT_NAME)"; SDKROOT = iphoneos; diff --git a/OptimizelySDKDatafileManager.podspec b/OptimizelySDKDatafileManager.podspec index 652e6ef91..0409e510e 100644 --- a/OptimizelySDKDatafileManager.podspec +++ b/OptimizelySDKDatafileManager.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "OptimizelySDKDatafileManager" - s.version = "2.1.5" + s.version = "2.1.6" s.summary = "Optimizely server-side testing datafile manager framework." s.homepage = "http://developers.optimizely.com/server/reference/index.html?language=objectivec" s.license = { :type => "Apache License, Version 2.0", :file => "LICENSE" } @@ -16,5 +16,5 @@ Pod::Spec.new do |s| s.framework = "Foundation" s.requires_arc = true s.xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => "OPTIMIZELY_SDK_VERSION=@\\\"#{s.version}\\\"" } - s.dependency 'OptimizelySDKShared', '2.1.5' + s.dependency 'OptimizelySDKShared', "2.1.6" end diff --git a/OptimizelySDKDatafileManager/OptimizelySDKDatafileManager.xcodeproj/project.pbxproj b/OptimizelySDKDatafileManager/OptimizelySDKDatafileManager.xcodeproj/project.pbxproj index 9435222cf..8bd35270c 100644 --- a/OptimizelySDKDatafileManager/OptimizelySDKDatafileManager.xcodeproj/project.pbxproj +++ b/OptimizelySDKDatafileManager/OptimizelySDKDatafileManager.xcodeproj/project.pbxproj @@ -815,7 +815,7 @@ OPTIMIZELY_SDK_VERSION = "$(OPTIMIZELY_SDK_VERSION_MAJOR).$(OPTIMIZELY_SDK_VERSION_MINOR).$(OPTIMIZELY_SDK_VERSION_PATCH)$(OPTIMIZELY_SDK_VERSION_SUFFIX)"; OPTIMIZELY_SDK_VERSION_MAJOR = 2; OPTIMIZELY_SDK_VERSION_MINOR = 1; - OPTIMIZELY_SDK_VERSION_PATCH = 5; + OPTIMIZELY_SDK_VERSION_PATCH = 6; OPTIMIZELY_SDK_VERSION_SUFFIX = ""; SDKROOT = iphoneos; SWIFT_VERSION = 4.2; @@ -886,7 +886,7 @@ OPTIMIZELY_SDK_VERSION = "$(OPTIMIZELY_SDK_VERSION_MAJOR).$(OPTIMIZELY_SDK_VERSION_MINOR).$(OPTIMIZELY_SDK_VERSION_PATCH)$(OPTIMIZELY_SDK_VERSION_SUFFIX)"; OPTIMIZELY_SDK_VERSION_MAJOR = 2; OPTIMIZELY_SDK_VERSION_MINOR = 1; - OPTIMIZELY_SDK_VERSION_PATCH = 5; + OPTIMIZELY_SDK_VERSION_PATCH = 6; OPTIMIZELY_SDK_VERSION_SUFFIX = ""; SDKROOT = iphoneos; SWIFT_VERSION = 4.2; diff --git a/OptimizelySDKEventDispatcher.podspec b/OptimizelySDKEventDispatcher.podspec index 79f6599ab..470162937 100644 --- a/OptimizelySDKEventDispatcher.podspec +++ b/OptimizelySDKEventDispatcher.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "OptimizelySDKEventDispatcher" - s.version = "2.1.5" + s.version = "2.1.6" s.summary = "Optimizely server-side testing event dispatcher framework." s.homepage = "http://developers.optimizely.com/server/reference/index.html?language=objectivec" s.license = { :type => "Apache License, Version 2.0", :file => "LICENSE" } @@ -16,5 +16,5 @@ Pod::Spec.new do |s| s.framework = "Foundation" s.requires_arc = true s.xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => "OPTIMIZELY_SDK_VERSION=@\\\"#{s.version}\\\"" } - s.dependency 'OptimizelySDKShared', '2.1.5' + s.dependency 'OptimizelySDKShared', "2.1.6" end diff --git a/OptimizelySDKEventDispatcher/OptimizelySDKEventDispatcher.xcodeproj/project.pbxproj b/OptimizelySDKEventDispatcher/OptimizelySDKEventDispatcher.xcodeproj/project.pbxproj index 9be532909..985a2642d 100644 --- a/OptimizelySDKEventDispatcher/OptimizelySDKEventDispatcher.xcodeproj/project.pbxproj +++ b/OptimizelySDKEventDispatcher/OptimizelySDKEventDispatcher.xcodeproj/project.pbxproj @@ -687,7 +687,7 @@ OPTIMIZELY_SDK_VERSION = "$(OPTIMIZELY_SDK_VERSION_MAJOR).$(OPTIMIZELY_SDK_VERSION_MINOR).$(OPTIMIZELY_SDK_VERSION_PATCH)$(OPTIMIZELY_SDK_VERSION_SUFFIX)"; OPTIMIZELY_SDK_VERSION_MAJOR = 2; OPTIMIZELY_SDK_VERSION_MINOR = 1; - OPTIMIZELY_SDK_VERSION_PATCH = 5; + OPTIMIZELY_SDK_VERSION_PATCH = 6; OPTIMIZELY_SDK_VERSION_SUFFIX = ""; SDKROOT = iphoneos; SWIFT_VERSION = 4.2; @@ -760,7 +760,7 @@ OPTIMIZELY_SDK_VERSION = "$(OPTIMIZELY_SDK_VERSION_MAJOR).$(OPTIMIZELY_SDK_VERSION_MINOR).$(OPTIMIZELY_SDK_VERSION_PATCH)$(OPTIMIZELY_SDK_VERSION_SUFFIX)"; OPTIMIZELY_SDK_VERSION_MAJOR = 2; OPTIMIZELY_SDK_VERSION_MINOR = 1; - OPTIMIZELY_SDK_VERSION_PATCH = 5; + OPTIMIZELY_SDK_VERSION_PATCH = 6; OPTIMIZELY_SDK_VERSION_SUFFIX = ""; SDKROOT = iphoneos; SWIFT_VERSION = 4.2; diff --git a/OptimizelySDKShared.podspec b/OptimizelySDKShared.podspec index c7513d067..5a797a415 100644 --- a/OptimizelySDKShared.podspec +++ b/OptimizelySDKShared.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "OptimizelySDKShared" - s.version = "2.1.5" + s.version = "2.1.6" s.summary = "Optimizely server-side testing shared framework." s.homepage = "http://developers.optimizely.com/server/reference/index.html?language=objectivec" s.license = { :type => "Apache License, Version 2.0", :file => "LICENSE" } @@ -18,5 +18,5 @@ Pod::Spec.new do |s| s.ios.library = "sqlite3" s.requires_arc = true s.xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => "OPTIMIZELY_SDK_VERSION=@\\\"#{s.version}\\\"" } - s.dependency 'OptimizelySDKCore', '2.1.5' + s.dependency 'OptimizelySDKCore', "2.1.6" end diff --git a/OptimizelySDKShared/OptimizelySDKShared.xcodeproj/project.pbxproj b/OptimizelySDKShared/OptimizelySDKShared.xcodeproj/project.pbxproj index 431491907..0b49cf948 100644 --- a/OptimizelySDKShared/OptimizelySDKShared.xcodeproj/project.pbxproj +++ b/OptimizelySDKShared/OptimizelySDKShared.xcodeproj/project.pbxproj @@ -1130,7 +1130,7 @@ OPTIMIZELY_SDK_VERSION = "$(OPTIMIZELY_SDK_VERSION_MAJOR).$(OPTIMIZELY_SDK_VERSION_MINOR).$(OPTIMIZELY_SDK_VERSION_PATCH)$(OPTIMIZELY_SDK_VERSION_SUFFIX)"; OPTIMIZELY_SDK_VERSION_MAJOR = 2; OPTIMIZELY_SDK_VERSION_MINOR = 1; - OPTIMIZELY_SDK_VERSION_PATCH = 5; + OPTIMIZELY_SDK_VERSION_PATCH = 6; OPTIMIZELY_SDK_VERSION_SUFFIX = ""; SDKROOT = iphoneos; SWIFT_VERSION = 4.2; @@ -1203,7 +1203,7 @@ OPTIMIZELY_SDK_VERSION = "$(OPTIMIZELY_SDK_VERSION_MAJOR).$(OPTIMIZELY_SDK_VERSION_MINOR).$(OPTIMIZELY_SDK_VERSION_PATCH)$(OPTIMIZELY_SDK_VERSION_SUFFIX)"; OPTIMIZELY_SDK_VERSION_MAJOR = 2; OPTIMIZELY_SDK_VERSION_MINOR = 1; - OPTIMIZELY_SDK_VERSION_PATCH = 5; + OPTIMIZELY_SDK_VERSION_PATCH = 6; OPTIMIZELY_SDK_VERSION_SUFFIX = ""; SDKROOT = iphoneos; SWIFT_VERSION = 4.2; diff --git a/OptimizelySDKTVOS.podspec b/OptimizelySDKTVOS.podspec index 61d83028b..378587e2b 100644 --- a/OptimizelySDKTVOS.podspec +++ b/OptimizelySDKTVOS.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "OptimizelySDKTVOS" - s.version = "2.1.5" + s.version = "2.1.6" s.summary = "Optimizely server-side testing framework for tvOS." s.homepage = "http://developers.optimizely.com/server/reference/index.html?language=objectivec" s.license = { :type => "Apache License, Version 2.0", :file => "LICENSE" } @@ -16,7 +16,7 @@ Pod::Spec.new do |s| s.framework = "Foundation" s.requires_arc = true s.xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => "OPTIMIZELY_SDK_VERSION=@\\\"#{s.version}\\\"" } - s.dependency 'OptimizelySDKEventDispatcher', '2.1.5' - s.dependency 'OptimizelySDKUserProfileService', '2.1.5' - s.dependency 'OptimizelySDKDatafileManager', '2.1.5' + s.dependency 'OptimizelySDKEventDispatcher', "2.1.6" + s.dependency 'OptimizelySDKUserProfileService', "2.1.6" + s.dependency 'OptimizelySDKDatafileManager', "2.1.6" end diff --git a/OptimizelySDKTVOS/OptimizelySDKTVOS.xcodeproj/project.pbxproj b/OptimizelySDKTVOS/OptimizelySDKTVOS.xcodeproj/project.pbxproj index 5cc9ef96a..e16081db1 100644 --- a/OptimizelySDKTVOS/OptimizelySDKTVOS.xcodeproj/project.pbxproj +++ b/OptimizelySDKTVOS/OptimizelySDKTVOS.xcodeproj/project.pbxproj @@ -672,7 +672,7 @@ OPTIMIZELY_SDK_VERSION = "$(OPTIMIZELY_SDK_VERSION_MAJOR).$(OPTIMIZELY_SDK_VERSION_MINOR).$(OPTIMIZELY_SDK_VERSION_PATCH)$(OPTIMIZELY_SDK_VERSION_SUFFIX)"; OPTIMIZELY_SDK_VERSION_MAJOR = 2; OPTIMIZELY_SDK_VERSION_MINOR = 1; - OPTIMIZELY_SDK_VERSION_PATCH = 5; + OPTIMIZELY_SDK_VERSION_PATCH = 6; OPTIMIZELY_SDK_VERSION_SUFFIX = ""; SDKROOT = appletvos; SWIFT_VERSION = 4.2; @@ -773,7 +773,7 @@ OPTIMIZELY_SDK_VERSION = "$(OPTIMIZELY_SDK_VERSION_MAJOR).$(OPTIMIZELY_SDK_VERSION_MINOR).$(OPTIMIZELY_SDK_VERSION_PATCH)$(OPTIMIZELY_SDK_VERSION_SUFFIX)"; OPTIMIZELY_SDK_VERSION_MAJOR = 2; OPTIMIZELY_SDK_VERSION_MINOR = 1; - OPTIMIZELY_SDK_VERSION_PATCH = 5; + OPTIMIZELY_SDK_VERSION_PATCH = 6; OPTIMIZELY_SDK_VERSION_SUFFIX = ""; SDKROOT = appletvos; SWIFT_VERSION = 4.2; diff --git a/OptimizelySDKUniversal/OptimizelySDKUniversal.xcodeproj/project.pbxproj b/OptimizelySDKUniversal/OptimizelySDKUniversal.xcodeproj/project.pbxproj index 60c62d3d0..e30bd00b2 100644 --- a/OptimizelySDKUniversal/OptimizelySDKUniversal.xcodeproj/project.pbxproj +++ b/OptimizelySDKUniversal/OptimizelySDKUniversal.xcodeproj/project.pbxproj @@ -1963,7 +1963,7 @@ OPTIMIZELY_SDK_VERSION = "$(OPTIMIZELY_SDK_VERSION_MAJOR).$(OPTIMIZELY_SDK_VERSION_MINOR).$(OPTIMIZELY_SDK_VERSION_PATCH)$(OPTIMIZELY_SDK_VERSION_SUFFIX)"; OPTIMIZELY_SDK_VERSION_MAJOR = 2; OPTIMIZELY_SDK_VERSION_MINOR = 1; - OPTIMIZELY_SDK_VERSION_PATCH = 5; + OPTIMIZELY_SDK_VERSION_PATCH = 6; OPTIMIZELY_SDK_VERSION_SUFFIX = ""; RESOURCES_TARGETED_DEVICE_FAMILY = ""; SDKROOT = iphoneos; @@ -2036,7 +2036,7 @@ OPTIMIZELY_SDK_VERSION = "$(OPTIMIZELY_SDK_VERSION_MAJOR).$(OPTIMIZELY_SDK_VERSION_MINOR).$(OPTIMIZELY_SDK_VERSION_PATCH)$(OPTIMIZELY_SDK_VERSION_SUFFIX)"; OPTIMIZELY_SDK_VERSION_MAJOR = 2; OPTIMIZELY_SDK_VERSION_MINOR = 1; - OPTIMIZELY_SDK_VERSION_PATCH = 5; + OPTIMIZELY_SDK_VERSION_PATCH = 6; OPTIMIZELY_SDK_VERSION_SUFFIX = ""; RESOURCES_TARGETED_DEVICE_FAMILY = ""; SDKROOT = iphoneos; diff --git a/OptimizelySDKUniversal/generated-frameworks/Release-iOS-universal-SDK/OptimizelySDKiOS.framework.zip b/OptimizelySDKUniversal/generated-frameworks/Release-iOS-universal-SDK/OptimizelySDKiOS.framework.zip index e50a821ba..adf5b3b6f 100644 Binary files a/OptimizelySDKUniversal/generated-frameworks/Release-iOS-universal-SDK/OptimizelySDKiOS.framework.zip and b/OptimizelySDKUniversal/generated-frameworks/Release-iOS-universal-SDK/OptimizelySDKiOS.framework.zip differ diff --git a/OptimizelySDKUniversal/generated-frameworks/Release-iOS-universal-SDK/OptimizelySDKiOS.framework/Info.plist b/OptimizelySDKUniversal/generated-frameworks/Release-iOS-universal-SDK/OptimizelySDKiOS.framework/Info.plist index db46cf7c2..dc01e8340 100644 Binary files a/OptimizelySDKUniversal/generated-frameworks/Release-iOS-universal-SDK/OptimizelySDKiOS.framework/Info.plist and b/OptimizelySDKUniversal/generated-frameworks/Release-iOS-universal-SDK/OptimizelySDKiOS.framework/Info.plist differ diff --git a/OptimizelySDKUniversal/generated-frameworks/Release-iOS-universal-SDK/OptimizelySDKiOS.framework/OptimizelySDKiOS b/OptimizelySDKUniversal/generated-frameworks/Release-iOS-universal-SDK/OptimizelySDKiOS.framework/OptimizelySDKiOS index 7ffe4ece9..b118759a5 100755 Binary files a/OptimizelySDKUniversal/generated-frameworks/Release-iOS-universal-SDK/OptimizelySDKiOS.framework/OptimizelySDKiOS and b/OptimizelySDKUniversal/generated-frameworks/Release-iOS-universal-SDK/OptimizelySDKiOS.framework/OptimizelySDKiOS differ diff --git a/OptimizelySDKUniversal/generated-frameworks/Release-tvOS-universal-SDK/OptimizelySDKTVOS.framework.zip b/OptimizelySDKUniversal/generated-frameworks/Release-tvOS-universal-SDK/OptimizelySDKTVOS.framework.zip index ea5916807..cb3745171 100644 Binary files a/OptimizelySDKUniversal/generated-frameworks/Release-tvOS-universal-SDK/OptimizelySDKTVOS.framework.zip and b/OptimizelySDKUniversal/generated-frameworks/Release-tvOS-universal-SDK/OptimizelySDKTVOS.framework.zip differ diff --git a/OptimizelySDKUniversal/generated-frameworks/Release-tvOS-universal-SDK/OptimizelySDKTVOS.framework/Info.plist b/OptimizelySDKUniversal/generated-frameworks/Release-tvOS-universal-SDK/OptimizelySDKTVOS.framework/Info.plist index 645cf721c..1e6983219 100644 Binary files a/OptimizelySDKUniversal/generated-frameworks/Release-tvOS-universal-SDK/OptimizelySDKTVOS.framework/Info.plist and b/OptimizelySDKUniversal/generated-frameworks/Release-tvOS-universal-SDK/OptimizelySDKTVOS.framework/Info.plist differ diff --git a/OptimizelySDKUniversal/generated-frameworks/Release-tvOS-universal-SDK/OptimizelySDKTVOS.framework/OptimizelySDKTVOS b/OptimizelySDKUniversal/generated-frameworks/Release-tvOS-universal-SDK/OptimizelySDKTVOS.framework/OptimizelySDKTVOS index e9acd53ab..59fff9749 100755 Binary files a/OptimizelySDKUniversal/generated-frameworks/Release-tvOS-universal-SDK/OptimizelySDKTVOS.framework/OptimizelySDKTVOS and b/OptimizelySDKUniversal/generated-frameworks/Release-tvOS-universal-SDK/OptimizelySDKTVOS.framework/OptimizelySDKTVOS differ diff --git a/OptimizelySDKUniversal/unexported_symbols.txt b/OptimizelySDKUniversal/unexported_symbols.txt index fe97d9166..e69de29bb 100644 --- a/OptimizelySDKUniversal/unexported_symbols.txt +++ b/OptimizelySDKUniversal/unexported_symbols.txt @@ -1,23 +0,0 @@ -_BUCKETING_ID_TEMPLATE -_DEFAULT_HOST -_DecisionSourceExperiment -_DecisionSourceRollout -_FeatureVariableTypeBoolean -_FeatureVariableTypeDouble -_FeatureVariableTypeInteger -_FeatureVariableTypeString -_HASH_SEED -_MAX_HASH_VALUE -_MAX_TRAFFIC_VALUE -_MurmurHash3_x64_128 -_MurmurHash3_x86_128 -_MurmurHash3_x86_32 -_dispatchEventQueue -_eventsStorageQueue -_flushEventsQueue -_isNull -_kClientEngine -_kDefaultDatafileFetchInterval_s -_kExpectedDatafileVersion -_kReservedAttributePrefix -_networkTasksQueue diff --git a/OptimizelySDKUserProfileService.podspec b/OptimizelySDKUserProfileService.podspec index ad314d6a2..413a364d4 100644 --- a/OptimizelySDKUserProfileService.podspec +++ b/OptimizelySDKUserProfileService.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "OptimizelySDKUserProfileService" - s.version = "2.1.5" + s.version = "2.1.6" s.summary = "Optimizely server-side testing user profile framework." s.homepage = "http://developers.optimizely.com/server/reference/index.html?language=objectivec" s.license = { :type => "Apache License, Version 2.0", :file => "LICENSE" } @@ -16,5 +16,5 @@ Pod::Spec.new do |s| s.framework = "Foundation" s.requires_arc = true s.xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => "OPTIMIZELY_SDK_USER_PROFILE_VERSION=@\\\"#{s.version}\\\"" } - s.dependency 'OptimizelySDKShared', '2.1.5' + s.dependency 'OptimizelySDKShared', "2.1.6" end diff --git a/OptimizelySDKUserProfileService/OptimizelySDKUserProfileService.xcodeproj/project.pbxproj b/OptimizelySDKUserProfileService/OptimizelySDKUserProfileService.xcodeproj/project.pbxproj index f7c23486b..67b5be052 100644 --- a/OptimizelySDKUserProfileService/OptimizelySDKUserProfileService.xcodeproj/project.pbxproj +++ b/OptimizelySDKUserProfileService/OptimizelySDKUserProfileService.xcodeproj/project.pbxproj @@ -775,7 +775,7 @@ OPTIMIZELY_SDK_VERSION = "$(OPTIMIZELY_SDK_VERSION_MAJOR).$(OPTIMIZELY_SDK_VERSION_MINOR).$(OPTIMIZELY_SDK_VERSION_PATCH)$(OPTIMIZELY_SDK_VERSION_SUFFIX)"; OPTIMIZELY_SDK_VERSION_MAJOR = 2; OPTIMIZELY_SDK_VERSION_MINOR = 1; - OPTIMIZELY_SDK_VERSION_PATCH = 5; + OPTIMIZELY_SDK_VERSION_PATCH = 6; OPTIMIZELY_SDK_VERSION_SUFFIX = ""; SDKROOT = iphoneos; SWIFT_VERSION = 4.2; @@ -842,7 +842,7 @@ OPTIMIZELY_SDK_VERSION = "$(OPTIMIZELY_SDK_VERSION_MAJOR).$(OPTIMIZELY_SDK_VERSION_MINOR).$(OPTIMIZELY_SDK_VERSION_PATCH)$(OPTIMIZELY_SDK_VERSION_SUFFIX)"; OPTIMIZELY_SDK_VERSION_MAJOR = 2; OPTIMIZELY_SDK_VERSION_MINOR = 1; - OPTIMIZELY_SDK_VERSION_PATCH = 5; + OPTIMIZELY_SDK_VERSION_PATCH = 6; OPTIMIZELY_SDK_VERSION_SUFFIX = ""; SDKROOT = iphoneos; SWIFT_VERSION = 4.2; diff --git a/OptimizelySDKiOS.podspec b/OptimizelySDKiOS.podspec index 42b43a36c..b80d2f809 100644 --- a/OptimizelySDKiOS.podspec +++ b/OptimizelySDKiOS.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "OptimizelySDKiOS" - s.version = "2.1.5" + s.version = "2.1.6" s.summary = "Optimizely server-side testing framework for iOS." s.homepage = "http://developers.optimizely.com/server" s.license = { :type => "Apache License, Version 2.0", :file => "LICENSE" } @@ -15,7 +15,7 @@ Pod::Spec.new do |s| s.framework = "Foundation" s.requires_arc = true s.xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => "OPTIMIZELY_SDK_VERSION=@\\\"#{s.version}\\\"" } - s.dependency 'OptimizelySDKEventDispatcher', '2.1.5' - s.dependency 'OptimizelySDKUserProfileService', '2.1.5' - s.dependency 'OptimizelySDKDatafileManager', '2.1.5' + s.dependency 'OptimizelySDKEventDispatcher', "2.1.6" + s.dependency 'OptimizelySDKUserProfileService', "2.1.6" + s.dependency 'OptimizelySDKDatafileManager', "2.1.6" end diff --git a/OptimizelySDKiOS/OptimizelySDKiOS.xcodeproj/project.pbxproj b/OptimizelySDKiOS/OptimizelySDKiOS.xcodeproj/project.pbxproj index e57b4e4f2..014d0da77 100644 --- a/OptimizelySDKiOS/OptimizelySDKiOS.xcodeproj/project.pbxproj +++ b/OptimizelySDKiOS/OptimizelySDKiOS.xcodeproj/project.pbxproj @@ -666,7 +666,7 @@ OPTIMIZELY_SDK_VERSION = "$(OPTIMIZELY_SDK_VERSION_MAJOR).$(OPTIMIZELY_SDK_VERSION_MINOR).$(OPTIMIZELY_SDK_VERSION_PATCH)$(OPTIMIZELY_SDK_VERSION_SUFFIX)"; OPTIMIZELY_SDK_VERSION_MAJOR = 2; OPTIMIZELY_SDK_VERSION_MINOR = 1; - OPTIMIZELY_SDK_VERSION_PATCH = 5; + OPTIMIZELY_SDK_VERSION_PATCH = 6; OPTIMIZELY_SDK_VERSION_SUFFIX = ""; SDKROOT = iphoneos; SWIFT_VERSION = 4.2; @@ -768,7 +768,7 @@ OPTIMIZELY_SDK_VERSION = "$(OPTIMIZELY_SDK_VERSION_MAJOR).$(OPTIMIZELY_SDK_VERSION_MINOR).$(OPTIMIZELY_SDK_VERSION_PATCH)$(OPTIMIZELY_SDK_VERSION_SUFFIX)"; OPTIMIZELY_SDK_VERSION_MAJOR = 2; OPTIMIZELY_SDK_VERSION_MINOR = 1; - OPTIMIZELY_SDK_VERSION_PATCH = 5; + OPTIMIZELY_SDK_VERSION_PATCH = 6; OPTIMIZELY_SDK_VERSION_SUFFIX = ""; SDKROOT = iphoneos; SWIFT_VERSION = 4.2; diff --git a/README.md b/README.md index c16d977d1..04697ae7e 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ Please note below that _\_ is used to represent the platform on which #### Cocoapod 1. Add the following lines to the _Podfile_:
     ```use_frameworks!```
-    ```pod 'OptimizelySDK', '2.1.5'```
+    ```pod 'OptimizelySDK', '2.1.6'```
 
2. Run the following command:
``` pod install ```
@@ -36,7 +36,7 @@ Further installation instructions for Cocoapods: https://guides.cocoapods.org/us #### Carthage 1. Add the following lines to the _Cartfile_:
 
-github "optimizely/objective-c-sdk" "v2.1.5"
+github "optimizely/objective-c-sdk" "v2.1.6"
 
2. Run the following command:
```carthage update```
diff --git a/Scripts/test_all.sh b/Scripts/test_all.sh index ee7ee89b4..5a777a3cf 100755 --- a/Scripts/test_all.sh +++ b/Scripts/test_all.sh @@ -4,31 +4,31 @@ echo 'Testing OptimizelySDKUserProfileServiceiOS' xcrun xcodebuild -workspace OptimizelySDK.xcworkspace -scheme OptimizelySDKUserProfileServiceiOS -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 6,OS=9.2' \ test echo 'Testing OptimizelySDKUserProfileServiceTVOS' -xcrun xcodebuild -workspace OptimizelySDK.xcworkspace -scheme OptimizelySDKUserProfileServiceTVOS -sdk appletvsimulator -destination 'platform=tvOS Simulator,name=Apple TV,OS=12.0' \ +xcrun xcodebuild -workspace OptimizelySDK.xcworkspace -scheme OptimizelySDKUserProfileServiceTVOS -sdk appletvsimulator -destination 'platform=tvOS Simulator,name=Apple TV,OS=12.1' \ test echo 'Testing OptimizelySDKSharediOS' xcrun xcodebuild -workspace OptimizelySDK.xcworkspace -scheme OptimizelySDKSharediOS -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 6,OS=9.2' \ test echo 'Testing OptimizelySDKSharedTVOS' -xcrun xcodebuild -workspace OptimizelySDK.xcworkspace -scheme OptimizelySDKSharedTVOS -sdk appletvsimulator -destination 'platform=tvOS Simulator,name=Apple TV,OS=12.0' \ +xcrun xcodebuild -workspace OptimizelySDK.xcworkspace -scheme OptimizelySDKSharedTVOS -sdk appletvsimulator -destination 'platform=tvOS Simulator,name=Apple TV,OS=12.1' \ test echo 'Testing OptimizelySDKCoreiOS' xcrun xcodebuild -workspace OptimizelySDK.xcworkspace -scheme OptimizelySDKCoreiOS -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 6,OS=9.2' \ test echo 'Testing OptimizelySDKCoretvOS' -xcrun xcodebuild -workspace OptimizelySDK.xcworkspace -scheme OptimizelySDKCoreTVOS -sdk appletvsimulator -destination 'platform=tvOS Simulator,name=Apple TV,OS=12.0' \ +xcrun xcodebuild -workspace OptimizelySDK.xcworkspace -scheme OptimizelySDKCoreTVOS -sdk appletvsimulator -destination 'platform=tvOS Simulator,name=Apple TV,OS=12.1' \ test echo 'Testing OptimizelySDKDatafileManageriOS' xcrun xcodebuild -workspace OptimizelySDK.xcworkspace -scheme OptimizelySDKDatafileManageriOS -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 6,OS=9.2' \ test echo 'Testing OptimizelySDKDatafileManagerTVOS' -xcrun xcodebuild -workspace OptimizelySDK.xcworkspace -scheme OptimizelySDKDatafileManagerTVOS -sdk appletvsimulator -destination 'platform=tvOS Simulator,name=Apple TV,OS=12.0' \ +xcrun xcodebuild -workspace OptimizelySDK.xcworkspace -scheme OptimizelySDKDatafileManagerTVOS -sdk appletvsimulator -destination 'platform=tvOS Simulator,name=Apple TV,OS=12.1' \ test echo 'Testing OptimizelySDKEventDispatcheriOS' xcrun xcodebuild -workspace OptimizelySDK.xcworkspace -scheme OptimizelySDKEventDispatcheriOS -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 6,OS=9.2' \ test echo 'Testing OptimizelySDKEventDispatcherTVOS' -xcrun xcodebuild -workspace OptimizelySDK.xcworkspace -scheme OptimizelySDKEventDispatcherTVOS -sdk appletvsimulator -destination 'platform=tvOS Simulator,name=Apple TV,OS=12.0' \ +xcrun xcodebuild -workspace OptimizelySDK.xcworkspace -scheme OptimizelySDKEventDispatcherTVOS -sdk appletvsimulator -destination 'platform=tvOS Simulator,name=Apple TV,OS=12.1' \ test echo 'Testing OptimizelySDKiOS' xcrun xcodebuild -workspace OptimizelySDK.xcworkspace -scheme OptimizelySDKiOS -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 6,OS=9.2' \ @@ -37,9 +37,9 @@ echo 'Testing OptimizelySDKiOSUniversal' xcrun xcodebuild -workspace OptimizelySDK.xcworkspace -scheme OptimizelySDKiOSUniversal -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 6,OS=9.2' \ test echo 'Testing OptimizelySDKTVOS' -xcrun xcodebuild -workspace OptimizelySDK.xcworkspace -scheme OptimizelySDKTVOS -sdk appletvsimulator -destination 'platform=tvOS Simulator,name=Apple TV,OS=12.0' \ +xcrun xcodebuild -workspace OptimizelySDK.xcworkspace -scheme OptimizelySDKTVOS -sdk appletvsimulator -destination 'platform=tvOS Simulator,name=Apple TV,OS=12.1' \ test # Xcode IDE is happy with OptimizelySDKTVOSUniversal , we don't know what's up with our *.sh . echo 'Testing OptimizelySDKTVOSUniversal' -xcrun xcodebuild -workspace OptimizelySDK.xcworkspace -scheme OptimizelySDKTVOSUniversal -sdk appletvsimulator -destination 'platform=tvOS Simulator,name=Apple TV,OS=12.0' \ +xcrun xcodebuild -workspace OptimizelySDK.xcworkspace -scheme OptimizelySDKTVOSUniversal -sdk appletvsimulator -destination 'platform=tvOS Simulator,name=Apple TV,OS=12.1' \ test diff --git a/Scripts/update_version.sh b/Scripts/update_version.sh new file mode 100755 index 000000000..01bb00a72 --- /dev/null +++ b/Scripts/update_version.sh @@ -0,0 +1,142 @@ +#!/bin/bash + +# update_version.sh +# +# This script consistently updates the SDK version numbers in several places: +# 1. {XcodeProject}/{XcodeProject}.xcodeproj/project.pbxproj +# 2. {XcodeProject}.podspec +# +# Usage: +# $ ./update_version.sh [releaseSDKVersion] +# + + +#---------------------------------------------------------------------------------- +# set the release SDK version +#---------------------------------------------------------------------------------- +if [ "$#" -eq "1" ]; +then + releaseSDKVersion="$1" +else +read -p "Enter the new SDK release version (ex: 2.1.4): " releaseSDKVersion; +fi + +varComps=( ${releaseSDKVersion//./ } ) + +if (( ${#varComps[@]} != 3 )); then + printf "\n[ERROR] Invalid target version number: ${releaseSDKVersion} \n" + exit 1 +fi + +vMajor=${varComps[0]} +vMinor=${varComps[1]} +vPatch=${varComps[2]} + +printf "\nRelease SDK Version: ${releaseSDKVersion} \n" + +cd "$(dirname $0)/.." + +#---------------------------------------------------------------------------------- +# 1. update the SDK version in all xcode project settings +#---------------------------------------------------------------------------------- +# SDK submodules + universal +mods=(OptimizelySDKCore \ + OptimizelySDKShared \ + OptimizelySDKDatafileManager \ + OptimizelySDKEventDispatcher \ + OptimizelySDKUserProfileService \ + OptimizelySDKiOS \ + OptimizelySDKTVOS \ + OptimizelySDKUniversal) +numMods=${#mods[@]} + +printf "\n\nReplacing OPTIMIZELY_SDK_VERSION in Xcode Build Settings to the target version.\n" + +for (( i = 0; i < ${numMods}; i++ )) +do + curMod=${mods[i]} + curPbxProjPath=${curMod}/${curMod}.xcodeproj/project.pbxproj + printf "\t[${curMod}] Updating .pbxproj to ${releaseSDKVersion}.\n" + + sed -i '' -e "s/\(OPTIMIZELY_SDK_VERSION_MAJOR[ ]*\)=.*;/\1= ${vMajor};/g" ${curPbxProjPath} + sed -i '' -e "s/\(OPTIMIZELY_SDK_VERSION_MINOR[ ]*\)=.*;/\1= ${vMinor};/g" ${curPbxProjPath} + sed -i '' -e "s/\(OPTIMIZELY_SDK_VERSION_PATCH[ ]*\)=.*;/\1= ${vPatch};/g" ${curPbxProjPath} +done + +printf "Verifying OPTIMIZELY_SDK_VERSION from Xcode Build Settings.\n"; + +for (( i = 0; i < ${numMods}; i++ )) +do + curMod=${mods[i]} + curProjPath=${curMod}/${curMod}.xcodeproj + + OPTIMIZELY_SDK_VERSION=$(Xcodebuild -project ${curProjPath} -showBuildSettings | sed -n 's/OPTIMIZELY_SDK_VERSION = \(.*\)/\1/p' | sed 's/ //g'); + + if [ "${OPTIMIZELY_SDK_VERSION}" == "${releaseSDKVersion}" ] + then + printf "\t[${curMod}] OPTIMIZELY_SDK_VERSION in xcode settings verified: ${releaseSDKVersion}/${OPTIMIZELY_SDK_VERSION}\n" + else + printf "\n[ERROR][${curMod}] OPTIMIZELY_SDK_VERSION mismatch: (releaseSDKVersion/OPTIMIZELY_SDK_VERSION) = ${releaseSDKVersion}/${OPTIMIZELY_SDK_VERSION}\n"; + exit 1 + fi + +done + + +#---------------------------------------------------------------------------------- +# 2. update the SDK version in all podspecs +#---------------------------------------------------------------------------------- +podSpecs=(OptimizelySDKCore.podspec \ + OptimizelySDKShared.podspec \ + OptimizelySDKDatafileManager.podspec \ + OptimizelySDKEventDispatcher.podspec \ + OptimizelySDKUserProfileService.podspec \ + OptimizelySDKiOS.podspec \ + OptimizelySDKTVOS.podspec) +numPodSpecs=${#podSpecs[@]}; + +printf "\n\nReplacing all versions in *.podspec files\n" + +for (( i = 0; i < ${numPodSpecs}; i++ )); +do + curPodSpec=${podSpecs[i]} + + printf "\t[${curPodSpec}] Updating podspec to ${releaseSDKVersion}.\n" + sed -i '' -e "s/\(s\.version[ ]*\)=[ ]*\".*\"/\1= \"${releaseSDKVersion}\"/g" ${curPodSpec} + sed -i '' -e "s/\(s\.dependency[ ]*[\'\"]OptimizelySDK.*[\'\"].*\,\)[ ]*[\'\"].*[\'\"]/\1 \"${releaseSDKVersion}\"/g" ${curPodSpec} +done + +# pod-spec-lint cannot be run here due to dependency issues +# all podspecs will be validated anyway when uploading to CocoaPods repo + +printf "Verifying *.podspec files\n" + +countChanges=0 + +for (( i = 0; i < ${numPodSpecs}; i++ )) +do + curPodSpec=${podSpecs[i]} + + vm=$(sed -n "s/s\.version.*=.*\"\(.*\)\"/\1/p" ${curPodSpec} | sed "s/ //g" ) + if [ "${vm}" == "${releaseSDKVersion}" ]; then countChanges=$(( countChanges + 1 )); fi + + deps=$(sed -n "s/s\.dependency.*OptimizelySDK.*\"\(.*\)\"/\1/p" ${curPodSpec} | sed "s/ //g" ) + deps=( ${deps//\n/ } ) + for (( j = 0; j < ${#deps[@]}; j++ )); do + if [ "${deps[j]}" == "${releaseSDKVersion}" ]; then countChanges=$(( countChanges + 1 )); fi + done + + printf "\t[${curPodSpec}] Verified podspec: ${releaseSDKVersion}\n" +done + +# check total 17 (= 7 + 10) places replaced +expTotalCount=17 +if (( ${countChanges} == ${expTotalCount} )) +then + printf "Verified successfully! (podspec version updated in ${expTotalCount} places) \n" +else + printf "\n[ERROR] podspec version update failed (count=${countChanges}). check it out! \n" + exit 1 +fi + +printf "\n\n[SUCCESS] All release-skd-version settings have been updated successfully!\n\n\n"