Releases: statsig-io/python-sdk
Releases · statsig-io/python-sdk
v0.16.6 - No longer overwriting global logging class
- Remove call to
logging.setLoggerClass
which was overwriting the global logger
v0.16.5 - Prevent reinitialization of Statsig
Being defensive about how many times initialize here
v0.16.4 - Fix TypeError on logger message format
String formatting was causing issues in celery with django environment. Removed as it was not necessary.
v0.16.3 - Remove python root logger override
No longer overrides the default level of the python root logger.
v0.16.1 - Add additional debugging logs on log_event failures and retries
Also limit a single failure to 10 retries
v0.16.0 - New API for manual exposure logging + more
- New StatsigOptions:
init_timeout
- Maximum number of seconds before initialize will timeout
logging_interval
- Number of seconds to wait in between logging each batch of events - New API:
check_gate_with_exposure_logging_disabled
get_config_with_exposure_logging_disabled
get_experiment_with_exposure_logging_disabled
get_layer_with_exposure_logging_disabled
manually_log_gate_exposure
manually_log_config_exposure
manually_log_experiment_exposure
manually_log_layer_parameter_exposure
- Allow passing enums in user fields
- Print logs limited to print every 2 minutes for the same warning/error
- Print initialize and syncing progress with timestamps
v0.15.0 - new APIs to remove local overrides
Added a few new APIs to help removing local overrides for better testing experiences:
# If the user_id is None, the override for all users for the gate/config/experiment will be removed
def remove_gate_override(gate: str, user_id: Optional[str] = None)
def remove_config_override(config: str, user_id: Optional[str] = None)
def remove_experiment_override(experiment: str, user_id: Optional[str] = None)
def remove_all_overrides()
v0.14.1 - Add logic to revive background threads
In some cases, the config sync and logger threads were being killed. v0.14.1 Adds a check that respawns threads that have been killed.
v0.14.0 - Evaluation Details, ID List Threadpooling
Adds EvaluationDetails to exposure events;
- These will be surfaced on console.statsig.com and can be used to diagnose why certain values were given to a user
- Values include (Cache, Network, Unrecognized, Uninitialized, Bootstrap, DataAdapter)
Adds Thread Pool for ID List:
- In resource constrained environment, too many thread calls were leading to issues. To alleviate this, all ID list syncing is now done in a thread pool. Pool size can be configured via StatsigOptions.idlists_thread_limit
v1.13.0 - Adds DataStoreAdapters
- You can now use Redis to bootstrap Statsig via the RedisDataStore or build your own data store that inherits from the IDataStore class
- Adds evaluated_keys to ClientInitializeResponse so newer client SDKs can be bootstrapped with safeguards