Releases: Kameleoon/client-swift
Releases · Kameleoon/client-swift
iOS (Swift) SDK 4.2.0
Features
- Added a privacy manifest file in accordance with the new Apple privacy policy.
iOS (Swift) SDK 4.1.4
Bug Fixes
- Fixed and issue that hides fields of external
Types.Variation
class.
iOS (Swift) SDK 4.1.3
Bug Fixes
- Fixed a critical issue that could lead to application crashes during startup.
iOS (Swift) SDK 4.1.2
Features
- Added support for additional Data API servers across the world for even faster network requests.
iOS (Swift) SDK 4.1.1
Bug Fixes
- Stability and performance improvements.
iOS (Swift) SDK 4.1.0
Features
- [
addData
] method now accepts an array of[KameleoonData]
. Variadic parameters are still supported. - Added method
getRemoteVisitorData
fetches the remote visitor's data (with an optional capability to add the data for the visitor): - Added a new parameter
completion
to some methods to replace the deprecatedcompletionHandler
. Thecompletion
parameter now represents theResult
value. Methods with thecompletion
parameter no longer throw errors directly. Instead, the.failure
case contains information about issues that occurred during the request. The change is related to the following methods:getVisitorWarehouseAudience(warehouseKey:customDataIndex:completion:)
instead ofgetVisitorWarehouseAudience(warehouseKey:customDataIndex:completionHandler:)
getRemoteData(key:completion:)
instead ofgetRemoteData(key:completionHandler:)
iOS (Swift) SDK 4.0.0
Breaking changes
- The minimum supported iOS version has been increased to 12.0.
- Removed the
visitorCode
parameter from all methods that accepted it. You must now specify the visitor code during initialization. As a result, aKameleoonClient
instance only works for a single visitor: - Removed all methods and errors related to experiments:
- Methods:
triggerExperiment
getVariationAssociatedData
getExperimentList
- Error types:
experimentNotFound
notTargeted
notAllocated
siteCodeDisabled
- Methods:
- Removed the
activateFeature
method that was deprecated in 3.x versions. - Changed the following classes, methods, fields and exceptions:
- Methods:
- Renamed
getFeatureAllVariables
togetFeatureVariationVariables
.
- Renamed
- Fields:
- Renamed
value
tovalues
inCustomData.init
. - Renamed
refreshIntervalMinutes
torefreshIntervalMinute
inKameleoonClientConfig
. - Renamed
refresh_interval_minutes
torefresh_interval_minute
in the configuration file. - Renamed
sitecode
tositeCode
inKameleoonClientFactory.create
- Renamed
- Exceptions:
- Removed
KameleoonError.credentialsNotFound
(clientId
andclientSecret
credentials are now optional). - Renamed
KameleoonError.configurationInvalid
toKameleoonError.dataFileInvalid
. - Renamed
KameleoonError.visitorCodeNotValid
toKameleoonError.visitorCodeInvalid
. - Renamed
KameleoonError.featureFlagNotFound
toKameleoonError.Feature.notFound
. - Renamed
KameleoonError.variationNotFound
toKameleoonError.Feature.variationNotFound
. - Renamed
KameleoonError.variableNotFound
toKameleoonError.Feature.variableNotFound
.
- Removed
- Methods:
- Added new exception
KameleoonError.Feature.environmentDisabled
indicating that the feature flag is disabled for certain environments. The following methods can throw the new exception: - Added new exception
KameleoonError.siteCodeIsEmpty
for methodKameleoonClientFactory.create
indicating that the provided sitecode is empty. - Changed the data type of the
revenue
value fromFloat
toDouble
in two methods:Conversion
init methodtrackConversion
method
Features
- Added
setLegalConsent
method to determine the types data Kameleoon includes in tracking requests. This helps you adhere to legal and regulatory requirements while responsibly managing visitor data. You can find more information in the Consent management policy. KameleoonClientFactory.create
method acceptsvisitorCode
as a parameter to use for all SDK methods. If you omit thevisitorCode
, the SDK generates a new visitor code value that it uses until you overwrite it. To overwrite avisitorCode
, provide it as a parameter explicitly to the method. The method throwsKameleoonError.visitorCodeInvalid
if the providedvisitorCode
is invalid (empty or longer than 255 characters).- Added new configuration fields to
KameleoonClientConfig
and external configuration file:dataExpirationIntervalMinute
(data_expiration_interval_minute
) specifies the time (in minutes) that the SDK retains the visitor's data on the device. By default, the TTL (time to live) isDate.distantFuture
.defaultTimeoutMillisecond
(default_timeout_millisecond
) designates the predefined timeout for network requests.
- Changed the
key
parameter in thegetRemoteData
method from required to optional. If you don't provide akey
parameter, the SDK uses thevisitorCode
specified during initialization.
iOS (Swift) SDK 3.1.0
Features
- Added
getVisitorWarehouseAudience
method to retrieve all data associated with a visitor's warehouse audiences and adds it to the visitor.
iOS (Swift) SDK 3.0.6
Features
Changed the KameleoonClientConfig
parameters clientId
and clientSecret
and the external configuration file parameters, client_id
and client_secret
from required to optional. This means you can now successfully initialize a configuration without providing credentials. Previously, you would receive a credentialsNotFound
exception.
iOS (Swift) SDK 3.0.5
- Added new conditions for targeting:
- Visitor Code
- SDK Language
- Device
- Conversion