Android changelog

2020-04-30: V4.9.1

  • Self-managed support added

2019-09-16: V4.8.0

  • API version 1.8.0

  • Values are base64 - fixing " and () bug

  • Changes to API calls, using Cloudfront

2019-06-12: V4.6.4

  • Removed the need for proguard

  • Fixed concat bug

2019-03-21: V4.6.1

  • Rox.setup accepts rollout key as a parameter (overriding the manifest one)

2019-01-17: V4.6.0

  • Non-public fields are also registered inside the container (for Scala compatibility)

  • Rox.reset() function was added (See documentation for details)

2018-11-28: V4.3.0

  • Added push updates support

2018-11-08: V4.2.0

  • Added a search bar to the flags view

2018-08-20: V4.1.0

  • Encrypted in operator - you can now use in operator and the data will be passed to the clients encrypted

  • API version 1.7.0

2018-07-22: V4.0.0 - Impression analytics

  • Adding overrides API

  • Android/Fire TV support for flags view

  • Allow users to overrides rox. custom properties

  • Impression visibility

2018-05-09: V3.0.0 - Flag Dependencies

  • flag dependency support

  • add isArchive to flag impression handler

  • fixed org.json build warnings

  • fixed unsafeUrl lint warning

  • fixed error in failed debug log messages

2018-02-21: V2.0.2

  • Allow setting custom platform via withPlatform to RoxOptions.Builder

2018-02-21: V1.2.6

  • Allow setting custom platform via withPlatform to RoxOptions.Builder

2018-02-15: V2.0.1

  • Fixed critical bug - crash on API 23 and lower

2018-01-03: V2.0.0

  • Added impression Handler on RoxOptions - allowing to hook custom action (e.g. analytic reporting) when a flag value is evaluated

  • Added withSyncCompletionHandler on RoxOptions - get an update once configuration is processes on the device

  • Flag freeze level - allow specifying the freezing level of a flag, till this version the flag value remained consistent from the time it was evaluated till the application goes into the foreground or a unfreeze was called. Now have three different freeze level:

    • .none - The flag is constantly evaluated every time it is called

    • .untilForeground (default) - Once the flag is evaluated its value is persistent until the next foreground/ unfreeze event

    • .untilLaunch - Once the flag is evaluated its value is persistent till the app is terminated You can control the value of a specific flag via its constructor or globally by using RoxOptions.withFreeze method

  • Namespace is moved to register - instead of registering the container and placing the namespace inside the container object we move the container to the register function

  • Embedded configuration - uses a gradle plugin to pull the experiment configuration on build time, the experiment configuration is packed inside the APK and released as part of the app. This allows zero time experiment correctness (without waiting for the network)

2017-10-26: V1.1.6

  • Fix - flags view with many flags issues

  • Removed sync function

  • Just in time flags evaluation

  • Added Rox Logger for Android platform

  • Added unfreeze when activating reset all

  • Dynamic API Improvements

  • Supply a custom Logger

  • Migrate usage from HashMap to ConcurrentHash

  • Removed Optional which is not supported in old android versions

2017-09-28: V1.1.3

  • Removed os_name from android device properties

  • Introducing thread pools with names and configured amount of threads

  • Added support for server context

  • Poll fetch config and fetch

  • Adding dynamic API