Releases: launchdarkly/android-client-sdk
Releases · launchdarkly/android-client-sdk
2.8.5
[2.8.5] - 2019-07-29
Added:
- Added a CircleCI badge to the project readme.
Fixed
- Fix a bug introduced in 2.8.0 that could cause the SDK to enter a bad state where it would no longer connect to the flag stream if
identify()was called rapidly. - Reverted an unintentional behavior change introduced in 2.8.0 when
LDClient.initis given zero as the timeout argument. Before 2.8.0, this would not wait for initialization and return the client immediately. For 2.8.0-2.8.4 this was changed to wait indefinitely for initialization, 2.8.5 restores the earlier behavior.
2.8.4
2.8.3
2.8.2
2.8.1
[2.8.1] - 2019-05-06
Changed
- Changed the artifact id from
com.launchdarkly:launchdarkly-android-clienttocom.launchdarkly:launchdarkly-android-client-sdk - Changed repository references to use the new URL
There are no other changes in this release. Substituting com.launchdarkly:launchdarkly-android-client version 2.8.0 with com.launchdarkly:launchdarkly-android-client-sdk version 2.8.1 will not affect functionality.
2.8.0
[2.8.0] - 2019-05-03
Added
LDAllFlagsListenerinterface that can be registered to aLDClientinstance. The SDK will call the listener'sonChangemethod whenever it receives an update, passing a list of any flag keys that were updated to the listener.- Class
ConnectionInformationthat contains information about the current status of the SDK. This class can be retrieved with the methodgetConnectionInformationon aLDClientinstance and contains information on the current connectivity mode, timestamps of most recent successful and unsuccessful connections to LaunchDarkly, as well as information on the most recent connection failure (if any). LDStatusListenerinterface that can be registered to aLDClientinstance. The interface has a methodonConnectionModeChangedthat will be called when theLDClientinstance transitions between connectivity modes (due to foreground status changes, network connectivity changing, or explicitly being set). The listener also has a methodonInternalFailurethat will be called when the instance experiences a failure updating it's flag store. The SDK is expected to recover from these failures, the listener is supplied to allow more informed monitoring of any underlying reasons the flag store may be not up to date.- Demo of new
ConnectionInformationfunctionality to example application.
Removed
- Internal usages of Guava
Fixed
- Potential issue that could cause dropping of flag updates if SDK received updates in close succession.
- SDK will no longer assume that the application is started in the foreground, which can be untrue if started by Android's ActivityManager in response to a broadcast.
2.7.0
[2.7.0] - 2019-04-02
Added
- The new configuration option
setEvaluationReasons(true)causes LaunchDarkly to report information about how each feature flag value was determined; you can access this information with the new client methodsboolVariationDetail,stringVariationDetail, etc. The new methods return an object that contains both the flag value and a "reason" object which will tell you, for instance, if the user was individually targeted for the flag or was matched by one of the flag's rules, or if the flag returned the default value due to an error. For more information, see the SDK Reference Guide on evaluation reasons. - The new client method
getVersion()returns the version string of the SDK.
Fixed
- Bug causing
boolVariation,intVariation, andfloatVariationto always returnnulliffallbackargument wasnull. - Potential issue where environment versions for flag updates could compare incorrectly due to floating point coercion.
- Summary events for unknown flags (flags evaluated without any stored value, variation, or version) now include the returned value as intended.
- Inaccurate events caused by data for flag version and variation being unsynchronized with flag value.
- Bug causing some events to be dropped from summary counts due to data race in sending and updating summary events.
- Potential
ClassCastExceptioncrash on some devices due to old version of OkHttp. - Improved documentation comments throughout.
- Crash on migration when no primary mobile key is specified.
Removed
- CircleCI V1 config file
2.6.0
[2.6.0] - 2019-01-29
Added:
- Support for connecting to multiple environments through LDClient interface.
- Security provider hot patch for devices without support for TLSv1.2 (requires Google Play Services to be successful).
Changed:
- Use Timber formatting instead of String concatenation in logging.
- Replace Log calls with Timber in example app.
Fixed:
- Client now parses and stores flag version information correctly in polling mode, allowing these fields to be included in feature and summary events.
- Prevent example app from permanently closing LDClient on first backgrounding.
Removed:
- Support for Android Ice Cream Sandwich, 4.0.3, API 15
2.5.4
[2.5.4] - 2018-10-25
Changed
- Outbound HTTP requests now have an authentication scheme token in
Authorizationrequest headers
Fixed
- Polling for flag updates might block the main thread
- Refactored map synchronization to avoid crashes in apps build with Gradle 3.3.0-alpha11
- Restored support for network connectivity detection in Android 7.0+ devices