Skip to content

Latest commit

 

History

History
263 lines (220 loc) · 22.6 KB

CHANGELOG.md

File metadata and controls

263 lines (220 loc) · 22.6 KB

Changelog

All notable changes to this project will be documented in this file.

4.5.0 - 2024-09-11

Features

  • Enhanced logging:
  • Enhanced tracking to consolidate multiple requests into a single one, combining visitor information and sending it once per interval.
  • Added a new variation of the flush(instant: Bool) with instant parameter. If the parameter's value is true the visitor's data is tracked instantly. Otherwise, the visitor's data will be tracked with next tracking interval. Default value of the parameter is false.
  • Added new configuration parameter trackingIntervalMillisecond (tracking_interval_millisecond) to KameleoonClientConfig and the configuration file, which is used to set interval for tracking requests. Default value is 1000 milliseconds.

4.4.3 - 2024-08-13

Features

  • Added the visitorCode a computed property, which returns the unique visitor code used within KameleoonClient.

4.4.2 - 2024-07-16

Bug fixes

  • Resolved an issue where the isFeatureActive method would return false instead of throwing KameleoonError.sdkNotReady or KameleoonError.Feature.notFound errors.

4.4.1 - 2024-07-15

Bug Fixes

  • Stability and performance improvements.

4.4.0 - 2024-07-03

Features

The Likelihood to convert targeting condition is now available. Pre-loading the data is required using getRemoteVisitorData with the kcs parameter set to true.

4.3.0 - 2024-05-22

Features

  • Added a new optional parameter isUniqueIdentifier (is_unique_identifier) that provides additional capabilities with cross-device experimentation for the KameleoonClientConfig and external configuration file.
  • New targeting conditions are now available (some of them may require getRemoteVisitorData pre-loaded data)
    • Operating System
    • IP Geolocation
    • Kameleoon Segment
    • Target Feature Flag
    • Time since First Visit
    • Time since Last Visit
    • Number of Visits Today
    • Total Number of Visits
    • New or Returning Visitor
  • New Kameleoon Data types were introduced:
  • Changed parameters types for objects / methods:
    • trackConversion: revenue changed from Double? to Double. Also, revenue is now optional.
    • Conversion: revenue changed from Double? to Double, and negative changed from Bool? to Bool.

Bug Fixes

  • Stability and performance improvements.

4.2.0 - 2024-04-22

Features

4.1.4 - 2024-04-17

Bug Fixes

  • Fixed an issue where fields of the external Types.Variation class were hidden.

4.1.3 - 2024-03-20

Bug Fixes

  • Fixed a critical issue that could lead to application crashes during startup.

4.1.2 - 2024-02-16

Features

  • Added support for additional Data API servers across the world for even faster network requests.

4.1.1 - 2024-02-02

Bug Fixes

  • Stability and performance improvements.

4.1.0 - 2024-01-17

Features

  • addData method now accepts an array of Array<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 deprecated completionHandler. The completion parameter now represents the Result value. Methods with the completion 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:

4.0.0 - 2023-12-29

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, a KameleoonClient 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
  • Removed the activateFeature method that was deprecated in 3.x versions.
  • Changed the following classes, methods, fields and exceptions:
    • Methods:
    • Fields:
    • Exceptions:
      • Removed KameleoonError.credentialsNotFound (clientId and clientSecret credentials are now optional).
      • Renamed KameleoonError.configurationInvalid to KameleoonError.dataFileInvalid.
      • Renamed KameleoonError.visitorCodeNotValid to KameleoonError.visitorCodeInvalid.
      • Renamed KameleoonError.featureFlagNotFound to KameleoonError.Feature.notFound.
      • Renamed KameleoonError.variationNotFound to KameleoonError.Feature.variationNotFound.
      • Renamed KameleoonError.variableNotFound to KameleoonError.Feature.variableNotFound.
  • 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 method KameleoonClientFactory.create indicating that the provided sitecode is empty.
  • Changed the data type of the revenue value from Float to Double in two methods:

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 accepts visitorCode as a parameter to use for all SDK methods. If you omit the visitorCode, the SDK generates a new visitor code value that it uses until you overwrite it. To overwrite a visitorCode, provide it as a parameter explicitly to the method. The method throws KameleoonError.visitorCodeInvalid if the provided visitorCode 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) is Date.distantFuture.
    • defaultTimeoutMillisecond (default_timeout_millisecond) designates the predefined timeout for network requests.
  • Changed the key parameter in the getRemoteData method from required to optional. If you don't provide a key parameter, the SDK uses the visitorCode specified during initialization.

3.1.0 - 2023-10-19

Features

  • Added getVisitorWarehouseAudience method to retrieve all data associated with a visitor's warehouse audiences and adds it to the visitor.

3.0.6 - 2023-08-29

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.

3.0.5 - 2023-07-17

  • Added new conditions for targeting:

3.0.4 - 2023-06-30

  • Improved initialization process: The SDK no longer requires an explicit request for the data configuration during initialization. In the event of a failure, the SDK automatically uses the configuration stored in the device’s cache, where available, to ensure seamless operation.
  • Improved the handling of internet connection loss for the Real-Time Streaming Architecture: We have resolved a critical issue related to the Real-Time Streaming Architecture. Previously, when the user’s device lost internet connection, the SDK was unable to receive configuration data until the next application launch. With this update, the SDK can now successfully retrieve the required configuration data once the connection is restored without restarting the application.

3.0.3 - 2023-06-08

  • Fixed an issue where the SDK might not successfully subscribe for real-time configuration updates.

3.0.2 - 2023-05-26

  • Minor improvements

3.0.1 - 2023-04-26

  • Minor bug fixing

3.0.0 - 2023-03-24

2.1.3 - 2022-09-06

2.1.2 - 2022-08-16

2.1.1 - 2022-06-14

2.1.0 - 2022-05-13

Unsupported versions:

2.0.15 - 2022-04-12 [Deprecated]

2.0.14 - 2022-02-10 [Deprecated]

2.0.13 - 2021-12-10 [Deprecated]

  • Fixed issue with overlapping periods for scheduling. Related to activateFeature
  • Fixed issue with multiple adding CustomData with different values. Related to addData

2.0.12 - 2021-10-26 [Deprecated]

  • Added scheduling functionality for activateFeature
  • Fixed a issue with segment conditions, when only the first condition was taken into account and others are ignored. Also fixed issue when is higher than and is lower than had wrong result. Related to activateFeature and triggerExperiment

2.0.11 - 2021-08-31 [Deprecated]

  • Fixed error with variation id for triggerExperiment for returning visitors
  • Fixed when obtainFeatureVariable & obtainVariationAssociatedData throws wrong exception types
  • Adding URI encoding for CustomData & PageView

2.0.10 - 2021-07-12 [Deprecated]

  • Improving SDK stability
  • Added VisitorCodeTooLong exception when exceeding the limit of 255 chars

2.0.9 - 2021-07-08 [Deprecated]

  • Increased limitation for visitorCode to 255 chars

2.0.8 - 2021-06-25 [Deprecated]

  • Fix ObtainFeatureVariable method. Now it returns boolean, string, number and JSON object

2.0.7 - 2021-06-17 [Deprecated]

  • Improving SDK stability

2.0.6 - 2021-06-07 [Deprecated]

  • Fix activateFeature issue

2.0.5 - 2021-05-24 [Deprecated]

  • Added Kameleoon-Client header to tracking calls

2.0.4 - 2021-05-01 [Deprecated]

  • Fix empty targeting data

2.0.3 - 2021-03-15 [Deprecated]

  • Rename kameleoon factory, configurations and file names

2.0.2 [Deprecated]

  • Rename kameleoon client

2.0.1 [Deprecated]

  • Fix URL for data tracking

2.0.0 [Deprecated]

  • Create new kameleoonClient SDK