All notable changes to this project will be documented in this file.
- Added support for additional Data API servers across the world for even faster network requests.
- Increased limit for requests to Data API: rate limits
- Added
get_visitor_warehouse_audience
method to retrieve all data associated with a visitor's warehouse audiences and adds it to the visitor.
- You should no longer create a new
KameleoonClient
instance explicitly. To get an instance ofKameleoonClient
, callKameleoonClientFactory.create
instead. - A new
KameleoonClient
instance does not await full initialization anymore. Instead, newwait_init
andwait_init_async
methods allow you to check whether the client has been successfully initialized before executing other operations. - Renamed
get_feature_all_variables
method toget_feature_variation_variables
- Removed all deprecated methods and errors related to experiments:
- Methods:
trigger_experiment
get_variation_associated_data
get_experiment_list
get_experiment_list_for_visitor
- Error types:
ExperimentConfigurationNotFound
NotTargeted
NotAllocated
SiteCodeDisabled
- Methods:
- Removed additional deprecated methods:
obtain_visitor_code
obtain_variation_associated_data
obtain_experiment_list
obtain_feature_variable
obtain_feature_list
obtain_feature_all_variables
retrieve_data_from_remote_source
- Changed
KameleoonClientConfig
(previously namedKameleoonClientConfiguration
):- Renamed
KameleoonClientConfiguration
toKameleoonClientConfig
- Added required parameters
client_id
andclient_secret
(ConfigCredentialsInvalid
is raised unlessclient_id
andclient_secret
are specified and non-empty) - Removed
visitor_data_maximum_size
parameter - Added
session_duration_minute
parameter - Added
top_level_domain
parameter - Renamed
actions_configuration_refresh_interval
parameter torefresh_interval_minute
- Renamed
default_timeout
parameter todefault_timeout_millisecond
- Renamed
- Changed data:
Browser
:- Changed
browser_type
,version
fields to read-only
- Changed
Conversion
:- Changed
goal_id
,revenue
,negative
fields to read-only
- Changed
CustomData
:- Changed
id
field to read-only - Changed the data type of the
id
field toint
- Removed the deprecated
value
constructor parameter
- Changed
Device
:- Changed
device_type
field to read-only
- Changed
PageView
:- Changed
url
,title
,referrers
fields to read-only
- Changed
UserAgent
:- Changed
value
field to read-only - Removed
get_value
method
- Changed
- Changed the
cookies
parameter type inget_visitor_code
toDict[str, Morsel[str]]
. - Changed errors:
- Added new exception
FeatureEnvironmentDisabled
indicating that the feature flag is disabled for certain environments. The following methods can throw the new exception: - Added
SiteCodeIsEmpty
exception, which theKameleoonClientFactory.create
method raises if the specified site code parameter is empty. - Renamed error types:
ConfigurationNotFoundException
toConfigFileNotFound
CredentialsNotFoundException
toConfigCredentialsInvalid
VisitorCodeNotValid
toVisitorCodeInvalid
FeatureConfigurationNotFound
toFeatureNotFound
VariationConfigurationNotFound
toFeatureVariationNotFound
KameleoonException
toKameleoonError
- Added new exception
- Implemented
KameleoonClientFactory
to manageKameleoonClient
instances: - Added
set_legal_consent
method to determine the types of 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.
- Added
get_remote_visitor_data
method to fetch a visitor's remote data (with an optional capability to add the fetched data to the visitor) - Added
get_remote_visitor_data_async
method as an asynchronous variant ofget_remote_visitor_data
method
- Fixed an issue where the SDK wouldn't send tracking data if multi-threading was enabled.
- Added
get_remote_data_async
method as an asynchronous variant ofget_remote_data
method - Added new conditions for targeting:
Visitor Code
SDK Language
Explicit Trigger
Page Title & Page Url
Browser
Device
Conversion
- Added a new method:
get_engine_tracking_code
which can be used to simplify utilization of hybrid mode
- Renaming of methods:
obtain_feature_variable
->get_feature_variable
retrieve_data_from_remote_source
->get_remote_date
- The method
obtain_feature_variable
has been updated to only accept astr
type for thefeature_key
argument. Previously, it accepted bothstr
andint
types as aUnion[str, int]
argument, but this functionality is now deprecated. - Added possibility for
CustomData
to use variable argument list of values
- Added support of new feature flag rules:
get_feature_variation_key
get_feature_variable
get_feature_all_variables
activate_feature
->is_feature_active
- Renaming of methods (old methods warn you on using and will be removed later)
obtain_visitor_code
->get_visitor_code
obtain_variation_associated_data
->get_variation_associated_data
,obtain_feature_all_variables
->get_feature_all_variables
,obtain_experiment_list
->get_experiment_list
&get_experiment_list_for_visitor
,obtain_feature_list
->get_feature_list
&get_active_feature_list_for_visitor
,
- Renaming of exceptions:
NotActivated
->NotAllocated
- Added possibility to set
UserAgent
. - Removed
blocking
parameter (blocking mode)KameleoonClient
init method
- Added update campaigns and feature flag configurations instantaneously with Real-Time Streaming Architecture:
Documentation
orProduct Updates
- Added a new method
on_update_configuration
to handle events when configuration data is updated in real time. - Significantly improved configuration load time
- Fixed an issue which can be a reason if crash during initialization.
- Added support for Experiment & Exclusive Campaign conditions. Related to
trigger_experiment
- Added method to obtain a list of feature flags:
obtain_feature_list
- Added method to obtain a list of experiments:
obtain_experiment_list
client_id and client_secret
is deprecated and not required anymore.- Added method to obtain all variables for feature flag:
obtain_feature_all_variables
- Added KameleoonData
Device
data. Possible values are: PHONE, TABLET, DESKTOP. - Removed KameleoonData
Interest
- Added support of
is among the values
operator for Custom Data
- Fixed crash when passing invalid credentials
client_id and client_secret
- Added timeout for all network requests
- Added
multi_threading
parameter to work in multi-threading environment. By default SDK works in a single thread to avoid GIL's performance issues.
- Removed extra logging
- Updated package's dependencies
- Added
configuration_object
parameter as a way to setup KameleoonClient
- Fixed issue when
add_data
accepts only first one parameter and ignores others
- Added method for retrieving data from remote source:
retrieve_data_from_remote_source
- Added support of multi-environment for feature flags, Related to
activate_feature
,obtain_feature_variable
- Added checking for status of site_code (Enable / Disable). Related to
activate_feature
,trigger_experiment
- Added scheduling functionality for
activate_feature
- Fixed issues in
activate_feature
,trigger_experiment
,obtain_feature_variable
- Added WSGI middleware