Skip to content

Releases: statsig-io/java-server-sdk

v1.3.3 - Bug fix - Dont round fractional percengate rollouts

07 Feb 01:17
5476d1f
Compare
Choose a tag to compare

v1.2.2 fixed an issue where fractional percentage rollouts caused the SDK to drop the config definitions. In fixing this issue, we introduced a different bug which incorrectly rounds fractional percentage rollouts when evaluating them.

v1.3.2 - Add ErrorBoundary to all Try/Catches

26 Jan 02:01
Compare
Choose a tag to compare

All Try/Catches will now log to ErrorBoundary as well as to stdout.

v1.3.1 - [internal] adds back entity field on APIConfig

18 Jan 17:10
a10d7f5
Compare
Choose a tag to compare

entity field on APIConfig was added in 1.2.3, but missing when 1.3.0 was published. v1.3.1 fixes that.

v1.3.0 - Adds EvaluationDetails and internal improvements

17 Jan 23:32
a10d7f5
Compare
Choose a tag to compare

Refactored data into a spec store, added evaluation details (visible with checks in console), manual exposure logging APIs for java,

v1.2.3 - internal - expose entity type

17 Jan 23:15
625dadd
Compare
Choose a tag to compare
Merge pull request #15 from statsig-io/exposeentity

Add entity type to APIConfig

v1.2.2 - Patch an issue with partial percentage rollouts

12 Jan 05:13
0c965d8
Compare
Choose a tag to compare

Rollouts with fractions of a percentage could cause exceptions while downloading configs

v1.2.1 - Fixes rulesUpdatedCallback to send json string of specs

03 Jan 19:50
03f948d
Compare
Choose a tag to compare
Merge pull request #13 from statsig-io/pubcallback

Send back json string of config specs from rulesUpdatedCallback

v1.2.0 - Adds exposure logging disabled APIs and layer overrides

29 Nov 01:11
1f4ed96
Compare
Choose a tag to compare

Introduces the following new APIs

/**
 * Stores a local layer override
 *
 * @param layerName the layer to override
 * @param value the json value to override the config to
 */
overrideLayer(layerName: String, value: Map<String, Any>)
/**
 * Removes the given gate override
 *
 * @param gateName
 */
removeGateOverride(gateName: String)
 /**
   * Removes the given config override
   *
   * @param configName
   */
removeConfigOverride(configName: String) {
      if (checkInitialized()) {
          statsigServer.removeConfigOverride(configName)
      }
  }
/**
 * Removes the given layer override
 *
 * @param layerName
 */
removeLayerOverride(layerName: String)

Exposure Logging Disabled APIs

  /**
   * Get the boolean result of a gate, evaluated against a given user.
   * Does not trigger an exposure event.
   *
   * @param user A StatsigUser object used for evaluation
   * @param gateName The name of the gate being evaluated
   */
  suspend fun checkGateWithExposureLoggingDisabled(user: StatsigUser, gateName: String): Boolean

  // same, but java api
  checkGateWithExposureLoggingDisabledAsync(user: StatsigUser, gateName: String): CompletableFuture<Boolean>

  getConfigWithExposureLoggingDisabledAsync(
            user: StatsigUser,
            dynamicConfigName: String
        ): CompletableFuture<DynamicConfig> {

To trigger an exposure, call the non exposure logging disabled API, or use the manuallyLogGateExposure manuallyLogConfigExposure APIs

NOTE: layer exposure logging disabled checks and experiment exposure logging disabled checks already existed in the java server sdk

v1.1.0 - allow userID or customIDs, fix rulesUpdatedCallback for java clients,

17 Nov 22:19
9d6fd24
Compare
Choose a tag to compare
  • Create a StatsigUser object with either a user ID or set of customIDs - see https://docs.statsig.com/messages/serverRequiredUserID for why these are required

  • updates the rulesUpdatedCallback signature to support java clients without leaking kotlin Unit type

  • No longer throw on uninitialized to clean up the API signature. Will log and return default values.

  • fully remove the getLayerWithCustomExposureLogging APIs deprecated in 1.0.0

v1.0.0 - moving to mavenCentral and deprecating apis

08 Nov 22:21
0d54f8a
Compare
Choose a tag to compare

Removed getExperimentInLayerForUser and getLayerWithCustomExposureLogging APIs

The library will now only be available on mavenCentral.

To install the SDK, set the maven central repository

repositories {
    mavenCentral()
}

and add the dependency:

implementation 'com.statsig:serversdk:1.0.0'

You can find the most up to date versions here: https://central.sonatype.dev/artifact/com.statsig/serversdk/1.0.0/versions

NOTE: you can remove maven { url 'https://jitpack.io' } if statsig was the only library you got from jitpack