Releases: statsig-io/java-server-sdk
v0.11.0 - 2 API changes related to experiment
- Added a new API
getExperimentWithExposureLoggingDisabled. This does the same thing withgetExperiment, except for that it does not log an exposure for the user. - Added logic to
getExperimentInLayerForUserso that it takes overrides into account.
v0.10.0 - add API getExperimentInLayerForUser
- Added a new API
getExperimentInLayerForUser(user: StatsigUser, layerName: String, disableExposure: Boolean = false): DynamicConfig, which returns aDynamicConfigobject representing the experiment's config that the user is in within the specified layer. - If the user is NOT allocated to any experiment, then the
getName()function on theDynamicConfigobject will be an empty String. - by default this function will log an exposure for the experiment the user is in. This can be disabled by setting the 3rd parameter
disableExposureto true. - The API is also available as
getExperimentInLayerForUserAsyncfor Java.
v0.9.2 - support for ID lists and more
- added support for ID lists, see here on how to create one
- added a new
getExposureMetadata()function toDynamicConfigclass for Statsig users to get metadata needed to log their own exposure events.
v0.8.2 group percentage to _getExperimentGroups API
We are changing the _getExperimentGroups API due to customer request in this release. Instead of returning a Map<String, String>, it now returns a Map<String, Map<String, Any>>, where the value has 2 keys - "value" and "percent" - representing the name + values of the parameters (as a json string), and the split % for the group (as a Double).
Note that groups will include special groups like "Disabled", "Targeting" and "Layer Assignment", please ignore all these groups that are not your actual experiment groups as these are for internal evaluation purposes only.
v0.8.1 Add temporary _getExperimentGroups API
Given an experiment name, _getExperimentGroups returns a Map<String, String> where the keys are experiment group names, and the value is a json string representing a dictionary of parameter names and values.
NOTE:
Experiments have some internal groups that will be returned in this metadata. They represent different reasons why a user might be in the experiment, but are not actual groups. These include the below today:
'Disabled', 'Default','Not started','Launched','Targeting','Allocation',
v0.8.0 - Minor API Breaking Change (StatsigServer -> Statsig) + Internal Improvements
Breaking change introduced in v0.8.0:
- StatsigServer becomes Statsig
- The currently undocumented instance of a StatsigServer:
- ServerDriver becomes StatsigServer
- Created via ServerDriver.create()
v0.8.0 also contains some internal improvements with coroutines and structure of the SDK
Align evaluation behavior for string based operators
We are aligning the behavior for all string based operators in this release so that we try to convert accidentally provided incorrect types to strings and evaluate instead of returning false by default.
Adding support for a new operator
Added support for "string contains none" operator.
Moved exposure logging for "fetch from server" fallback case from SDK to statsig server