Releases: statsig-io/java-server-sdk
1.35.0 - Persisted evaluation with experiment filtering Disable OkHttp Library level retry
New Features
- Persisted evaluation with experiment filtering
Fixes
- Avoid memory leak by disable OkHttp level retry
Included In This Release
Full Changelog: 1.34.0...1.35.0
1.34.0 - Support Override-related APIs with UserID and CustomIDs, Add Sampling to Exposure Events
New Features
- Added Sampling to Gate/Config/Layer non-analytical exposure events
- We now support
overrideGate
,overrideLayer
,overrideConfig
,removeGateOverride
,removeConfigOverride
removeLayerOverride
with a new parameter calledforID
so that end users can override / remove a override for a specific user.forID
can beuserID
field on theStatsigUser
object orcustomIDs
on theStatsigUser
Object
Example
StatsigUser sampleUser = new StatsigUser("userId123");
Statsig.overrideGate("test_gate", false, sampleUser.getUserID());
Map<String, String> customIDs = Map.of("customid", "1017");
sampleUser.setCustomIDs(customIDs);
Statsig.overrideGate("test_gate", false, "1017");
Improvements
- N / A
Fixes
- N / A
Included In This Release
Full Changelog: 1.32.2...1.34.0
1.33.0 - Support Override-related APIs with UserID and CustomIDs
New Features
- We now support
overrideGate
,overrideLayer
,overrideConfig
,removeGateOverride
,removeConfigOverride
removeLayerOverride
with a new parameter calledforID
so that end users can override / remove a override for a specific user.
-forID
can beuserID
field on theStatsigUser
object orcustomIDs
on theStatsigUser
Object
Example
StatsigUser sampleUser = new StatsigUser("userId123");
Statsig.overrideGate("test_gate", false, sampleUser.getUserID());
Map<String, String> customIDs = Map.of("customid", "1017");
sampleUser.setCustomIDs(customIDs);
Statsig.overrideGate("test_gate", false, "1017");
Included In This Release
- dd147ff Weihao Ding
- feat: support overrides with user/custom IDs (#405)
Full Changelog: 1.32.2...1.33.0
1.32.2 - Changed LockableArray into ConcurrentQueue to Prevent Blocking Issue
New Features
- N / A
Improvements
- Changed
lockableArray
intoConcurrentQueue
to prevent potential blocking issue when flushing exposure events
Fixes
- N / A
Included In This Release
Full Changelog: 1.32.1...1.32.2
1.32.1 - Add More Info into Exposure Metadata, Fix the returnType for getOnDeviceEvalInitializeResponse
Improvements
- Added downloadConfigSpec version and the passed rule id into Exposure Metadata
Fixes
- Fixed the return type for api
getOnDeviceEvalInitializeResponse
when bootstrap local-eval SDK.
Included In This Release
Full Changelog: 1.32.0...1.32.1
1.32.0 - Manually Sync Config Spec
New Features
- New api
syncConfigSpecs
allows users to manually trigger the synchronization of config specs in cases where the initial SDK initialization has failed and you want to retry.
Return Type: CompletableFuture<ConfigSyncDetails>
Example usage:
CompletableFuture<ConfigSyncDetails> future = Statsig.syncConfigSpecs();
ConfigSyncDetails configSyncDetails = future.get();
configSyncDetails.getDuration();
configSyncDetails.getConfigSpecReady();
configSyncDetails.getFailureDetails();
configSyncDetails.getLcut();
Included In This Release
Full Changelog: 1.31.0...1.32.0
1.31.0 - New Api getOnDeviceEvalInitializeResponse, Add IDType to GCIR Response and Option to Enforce Overrides for Persistent Evaluations
New Features
- New api
getOnDeviceEvalInitializeResponse
returns aMap<String, Any>
for bootstrapping on-device evaluation sdk
Improvements
- Update the getEvaluations format
- Adds idType to the
gcir
response - Adds options to enforce overrides for persistent evaluations
Included In This Release
Full Changelog: 1.30.0...1.31.0
1.30.0 - Support TLS for GRPC
New Features
- Support TLS for GRPC, see instructions here https://docs.statsig.com/server/concepts/forward_proxy#statsig-forward-proxy
Fixes
- Remove manually append v1 in the path
Included In This Release
Full Changelog: 1.29.0...1.30.0
1.29.0 - Enforce targeting for persisted assignments & Improved formatting for SSR
Improvements
- Allow checking targeting gate before serving persisted assignment via the option
enforceTargeting
onPersistentAssignemntOptions
- Support new client initialize format for SSR
getEvaluationsForUser
. Not yet compatible with all client SDKs
Included In This Release
Full Changelog: 1.28.0...1.29.0
1.28.0 - [Breaking Change] getFeatureGate Api for Multi-instance usage, Better logging
New Features
- Exposed
getFeatureGate
api to multi-instance Java/kotlin usage.
Breaking change
- Custom Logger Integration Update:
If you're using a custom logger via theStatsigOptions
configuration, this release introduces breaking changes in how logging is handled.
Specific Changes:
New methods:
debug(String message)
info(String message)
setLogLevel(LogLevel level)
enum LogLevel { NONE, DEBUG, INFO, WARN, ERROR};
Renamed method:
warning(String message) → warn(String message)
Included In This Release
Full Changelog: 1.27.4...1.28.0