Skip to content

Releases: statsig-io/android-sdk

4.45.6 - non-string metadata, diagnostic improvements

11 Mar 19:56
d959528

Choose a tag to compare

New Features

  • DynamicConfig, Layer, and ParameterStore now have a getIfPresent() accessor for cases where no default return values are desired.

Improvements

  • Additional diagnostic logging
  • Option to include some network connectivity metadata along with logged events. (Available for raw logs, but won't be visible on the Statsig console just yet).

Fixes

  • Mismatched exposures in storage experiment

Included In This Release

  • 3b32975 kevin-statsig
    • add log event failure internal exception (#469)
  • bd1e2fa kevin-statsig
    • update sdkExperiment exposure logic (#470)
  • 0398fc5 kevin-statsig
    • add getifpresent to dynamic configs, param stores, and layers (#467)
  • 50c9c72 kevin-statsig
    • network connectivity data for logevent (#466)
  • d1b3def kevin-statsig
    • Tweaks to non-string event metadata (#465)
  • d743d79 sroyal-statsig
    • Allow Non String Event Metadata (#464)
  • 5d55eab kevin-statsig
    • use SystemClock.elapsedTime for intervals (#463)

Full Changelog: 4.45.5...4.45.6

4.45.5 - DoH fail-fast, logging, customer-integrated rollouts

20 Feb 22:09
3661f15

Choose a tag to compare

New Features

  • Added infrastructure for validating sdk changes (storage improvements) via a combination of Statsig sdk config and customer-controlled gate.

Improvements

  • Initialize() and initializeAsync() failure details added to logcat.

Fixes

  • Updated DoH fallback logic to occur more eagerly, which should prevent rare cases where initialization times out before the fallback to system DNS is attempted

Included In This Release

  • 7730138 kevin-statsig
    • add DoH timeout and disable retries (#461)
  • ba6695c kevin-statsig
    • include failure details in logcat (#460)
  • 2d20829 kevin-statsig
    • add customer integrated sdk flags (#458)

Full Changelog: 4.45.4...4.45.5

4.45.4 - system fallback for DoH failures

10 Feb 19:57
6ed07b4

Choose a tag to compare

Improvements

  • When DNS-over-HTTPS fails to resolve a hostname, fall back to the System DNS configuration

Fixes

  • Resolves most cases where android-sdk v4.45.1 and below could successfully initialize but v4.45.2 and v4.45.3 could not

Included In This Release

  • 5084296 kevin-statsig
    • add system fallback to doh dns (#457)

Full Changelog: 4.45.3...4.45.4

4.45.3 - a few new functions

05 Feb 21:44
a518b32

Choose a tag to compare

New Features

  • StatsigOptions.setTier() now also accepts String
  • ParameterStore now includes a getKeys() function, in line with the Statsig iOS SDK.
  • Added interceptors to StatsigOptions, for injecting okHttp Interceptor instances to capture Statsig network calls

Improvements

  • Code cleanups and improved unit test reliability
  • Refactored storage layer. A DataStore-backed replacement is available (behind a test hook) but disabled by default

Included In This Release

  • b164420 kevin-statsig
    • add getkeys to parameterstore (#455)
  • 3369f35 kevin-statsig
    • storage flagging update (#454)
  • a3c35d6 kevin-statsig
    • clear more stuff in tests (#453)
  • cdec5fe kevin-statsig
    • fix lint errors (#451)
  • 2572d73 kevin-statsig
    • allow external okhttp interceptors (#450)
  • e6124c8 kevin-statsig
    • add setCustomTier to StatsigOptions (#449)
  • 903d503 kevin-statsig
    • remove http cache from tests (#445)
  • 71f36ad kevin-statsig
    • optimize android-sdk imports (#444)
  • 879cfdc kevin-statsig
    • actually fix timeout test (#448)

Full Changelog: 4.45.2...4.45.3

4.45.2 - Reworked networking

31 Jan 01:58
7f5dae2

Choose a tag to compare

Improvements

  • Leverage OkHttp for network calls with DoH DNS resolution
  • Added manufacturer to diagnostic metadata
  • Added abstraction layer for local storage handling. Will allow for storage migrations in future releases

Fixes

  • DoH makes android-sdk less likely to fail network initialization in several scenarios we've seen in the wild.

Additional Notes:

  • There was a merge order mixup that made it into the public repo. The released binary on Maven includes only the changes here in the release notes.

Included In This Release

  • 195f119 kevin-statsig
    • update test delay to run better on github (#437)
  • 98d6eef kevin-statsig
    • delete urlconnectionprovider (#435)
  • fff2ccc kevin-statsig
    • KeyValueStorage interface integration (#434)
  • 5103f20 kevin-statsig
    • ErrorBoundary update and test fixes (#433)
  • b9fa701 kevin-statsig
    • keyvalue storage interface and legacy impl (#432)
  • 5c496d2 kevin-statsig
    • expose httpclient init (#430)
  • 476c1f3 kevin-statsig
    • use okhttp for network (#429)
  • 50393a4 kevin-statsig
    • sanity check unit test for evaluatorutils (#425)
  • 3c448a2 kevin-statsig
    • add manufacturer to statsig metadata (#424)

Full Changelog: 4.45.1...4.45.2

4.45.1 - improved Gson performance

13 Nov 23:55
c911d42

Choose a tag to compare

Improvements

  • Updated Gson calls to use a single instance - should improve overall sdk memory usage and reduce latency
  • Additional data included in network calls for better diagnosing a specific endpoint problem

Fixes

  • Updated visibility of some members that were intended to be private
  • Adjusted property name to not apply @VisibleForTesting to a getter intended for public use.

Included In This Release

  • d084793 kevin-statsig
    • onDeviceEvalAdapter is public and should not need external gson (#422)
  • 4e6d4c6 kevin-statsig
    • Ensure only single Gson instance is used throughout the SDK (#420)
  • ab3f2d6 kevin-statsig
    • keep a reference to sharedPrefs (#419)
  • 6ac7d95 kevin-statsig
    • include stableID in init headers (#418)
  • 9e0b102 kevin-statsig
    • suppress deprecation warning (#417)
  • 81c406d kevin-statsig
    • privatize companion objects/tags (#416)
  • b6e92c6 kevin-statsig
    • hide statsigclient companion object/tag
  • e878b46 kevin-statsig
    • rename backing property

Full Changelog: 4.45.0...4.45.1

4.45.0 - getStatsigMetadata() and IStatsigLifetimeCallback

05 Nov 21:22
54cb5e2

Choose a tag to compare

New Features

  • Added getStatsigMetadata() to provide external visibility of metadata used by the SDK
  • Added IStatsigLifetimeCallback to StatsigOptions - it holds callback functions that may occur over the lifetime of the SDK.
  • IStatsigLifetimeCallback offers onValuesUpdated() which fires in situations where gate, experiment, or config values have changed for the current user.

Improvements

  • Code cleanups

Included In This Release

  • 074806a kevin-statsig
    • remove redundant lollipop check (#413)
  • 0139ccb kevin-statsig
    • expose statsigmetadata (#412)
  • 1efcf7c kevin-statsig
    • compiler warnings cleanup (#411)
  • 44ba146 kevin-statsig
    • callback for autoupdate (#398)
  • 3a9f8c3 kevin-statsig
    • skip config cache for publishing releases (#409)

Full Changelog: 4.44.4...4.45.0

4.44.4 - lower kotlin requirements

29 Oct 18:51
6f3b535

Choose a tag to compare

Fixes

  • kotlin version set back to 1.9.x (increased kotlin version requirements will come in a later, breaking change)

Included In This Release

  • fbe1286 kevin-statsig
    • lower kotlin versioning (#407)
  • 45bb8b4 kevin-statsig
    • update tests.yml (#406)
  • ba666c2 kevin-statsig
    • build optimizations (#401)
  • 1282150 kevin-statsig
    • leak less test state (#405)

Full Changelog: 4.44.3...4.44.4

4.44.3 - lower compileSDK requirements

27 Oct 18:51
b992807

Choose a tag to compare

Fixes

  • v4.44.2 included a dependency that required a higher compileSDK target (36) than intended (34).

Included In This Release

  • 87d9855 kevin-statsig
    • lower sdk requirements (#403)
  • b3c4b3c kevin-statsig
    • update gradle validation in maven workflow (#402)
  • e1e8fa5 kevin-statsig
    • update gradle validation in maven workflow

Full Changelog: 4.44.2...4.44.3

4.44.2 - fix: handling empty Dynamic Configs

22 Oct 20:50
6d53ace

Choose a tag to compare

Improvements

  • Additional debugging info in logcat (particularly for initialization paths)
  • Reworked gradle configuration (now in Kotlin)
  • Updated Android SDK minimums to current Play Store recommendations (min sdk 21)
  • Linted and reformatted Kotlin code

Fixes

  • Mitigations to decrease potential for ANR's
  • Corrected handling of empty dictionaries when getting Dynamic Configs

Included In This Release

  • 08e6d73 kevin-statsig
    • coroutine cleanup (#399)
  • 9a8999b Kevin Maurin
    • coroutine cleanup
  • fb3cf9e kevin-statsig
    • include loggingEnabled in diagnostic logs (#397)
  • adb9cc3 Kevin Maurin
    • include loggingEnabled in diagnostic logs
  • 93ca6e4 kevin-statsig
    • fix no-such-element exception (#396)
  • 05a7d7a Kevin Maurin
    • fix android kong performance test
  • 5123b04 kevin-statsig
    • more informative init logging (#395)
  • e72dbfa Kevin Maurin
    • more informative init logging
  • 58ff21a kevin-statsig
    • apply ktLint formatter (#394)
  • 0fb5b56 Kevin Maurin
    • apply ktLint formatter
  • c162087 kevin-statsig
    • API and test cleanup (#393)
  • 45c719e Kevin Maurin
    • API and test cleanup
  • 5bbe42f kevin-statsig
    • finishing touches for android build migration (#392)
  • a32ac4f Kevin Maurin
    • finishing touch for kong
  • 556c61a kevin-statsig
    • Merge pull request #389 from statsig-io/10-10-sanitize_autovalueupdateinterval_on_entry
  • 93e6c9d kevin-statsig
    • re-sync lint baseline (#391)
  • 19edc52 Kevin Maurin
    • re-sync lint baseline
  • 22f4a69 kevin-statsig
    • update gradle and dependencies (#387)
  • 7854475 Kevin Maurin
    • update gradle and dependencies
  • 4a1fadf kevin-statsig
    • dependency inject url connection creation (#390)
  • a644138 Kevin Maurin
    • sanitize autoValueUpdateInterval on entry
  • 243698e Kevin Maurin
    • dependency inject url connection creation
  • cf2bbd8 kevin-statsig
    • warning logs for re-initializing StatsigClient (#388)
  • 7403855 Kevin Maurin
    • warning logs for re-initializing StatsigClient
  • 333240f kevin-statsig
    • add a test manifest and update targetSdk (#386)
  • 73c1114 Kevin Maurin
    • add a test manifest and update targetSdk
  • 8a5cf05 kevin-statsig
    • misc cleanup (#385)
  • cd23cbb Kevin Maurin
    • misc cleanup
  • 276d876 kevin-statsig
    • broader logs for android-sdk (#384)
  • 466f808 kevin-statsig
    • update debug logging (#383)

Full Changelog: 4.44.1...4.44.2