Skip to content

Conversation

@LaunchDarklyReleaseBot
Copy link
Contributor

[3.5.0] - 2022-12-22

Added:

  • StreamingDataSourceBuilder.streamEvenInBackground, an option for allowing the SDK to maintain a streaming data connection even when the application is in the background.

gwhelanLD and others added 30 commits February 19, 2019 04:55
…rializer/deserializers to classes in gson package and create one for PUT responses. Removed BaseUserSharedPreferences.
…s to synchronize to prevent data race on sending, updating, and clearing event store. Move SummaryEventSharedPreferences and UserSummaryEventSharedPreferences out of response package.
# Conflicts:
#	launchdarkly-android-client/src/main/java/com/launchdarkly/android/LDClient.java
* Changed shared preferences store system to user a single FlagStore
system that holds all the information on a flag to prevent issues
arising from unsynchronized separate stores for flag meta-data and
values.

* Abstract FlagStoreManager from FlagStore, new FlagStoreFactory class so manager can construct FlagStores of unknown type. Reformatted interfaces. Removed unused imports.

* Handle null case in allFlags, actually commit changes to UserManager.

* Hopefully fix edge cases in summary event reporting to pass testing.

* Hopefully fix edge cases in summary event reporting to pass testing.

* Simplify getFeaturesJsonObject as no longer using -1 as placeholder for null for variations.

* Make Flag non-mutable. Move GsonCache to gson package, move custom serializer/deserializers to classes in gson package and create one for PUT responses. Removed BaseUserSharedPreferences.

* Send summary event even if stored flag doesn't exist.

* Move sendSummaryEvent update code to UserSummaryEventSharedPreferences to synchronize to prevent data race on sending, updating, and clearing event store. Move SummaryEventSharedPreferences and UserSummaryEventSharedPreferences out of response package.

* Update SharedPrefsFlagStore to hold StoreUpdatedListener in weak reference. Fix various warnings.

* Migration code for upcoming flagstore.

* Remove couple of debug messages.

* Handle todos.

* Revert to old String behavior for allFlags, initialize WeakReference in SharedPrefsFlagStore.

* Better implementation of EvaluationReason serialization type adapter.

* Remove isUnknown argument from SummaryEventSharedPreferences methods. Use Runnable instead of Callable in UserManager to avoid useless return nulls. Rename FlagStoreFactoryInterface to FlagStoreFactory.

* Statically initialize Gson instance in GsonCache.

* Make Gson instance in GsonCache final on principle.
# Conflicts:
#	launchdarkly-android-client/src/main/java/com/launchdarkly/android/LDClient.java
#	launchdarkly-android-client/src/main/java/com/launchdarkly/android/SummaryEventSharedPreferences.java
#	launchdarkly-android-client/src/main/java/com/launchdarkly/android/UserManager.java
#	launchdarkly-android-client/src/main/java/com/launchdarkly/android/UserSummaryEventSharedPreferences.java
#	launchdarkly-android-client/src/main/java/com/launchdarkly/android/flagstore/sharedprefs/SharedPrefsFlagStoreFactory.java
#	launchdarkly-android-client/src/main/java/com/launchdarkly/android/flagstore/sharedprefs/SharedPrefsFlagStoreManager.java
#	launchdarkly-android-client/src/main/java/com/launchdarkly/android/gson/EvaluationReasonSerialization.java
#	launchdarkly-android-client/src/main/java/com/launchdarkly/android/gson/GsonCache.java
add methods to get value with explanation; refactor existing variation methods
fix/expand doc comments for public methods
)

Add `unsafeReset()` method to close and clear instances for re-initializing client between tests. Update LDClientTest to call `unsafeReset()` before tests.
…ring (#112)

* Rename tests to not start with capitals
* Reindent MultiEnvironmentLDClientTest to be consistent
* Optimize imports
* Move TLS patch into TLSUtils
* Make setModernTlsVersionsOnSocket private and remove redundant null check
* Remove code duplication in LDClient track overloaded methods.
* Remove validateParameter in LDClient that was using a NullPointerException as a null test.
* Simplify Debounce to use listener instead of callback.
- Use android test orchestrator to run tests isolated from each other. This prevents the issues testing singletons. Also enabled option to clear package data between runs allowing more extensive flagstore testing.
- Remove unsafe reset as it was added only for allowing testing the LDClient singleton.
- Tests for new FlagStore code.
- Convenience test FlagBuilder
- Fix Migration to not turn all flags into Strings
- Fix issue with clearAndApplyFlagUpdates not generating correct events for listeners.
…115)

If a Json flag is requested with stringVariation it will serialize it to a String. Json flags will also be serialized to Strings for the map returned by allFlags()
eli-darkly and others added 27 commits November 10, 2022 16:51
…-config

# Conflicts:
#	launchdarkly-android-client-sdk/src/main/java/com/launchdarkly/sdk/android/LDClient.java
…erformance issue) (#279)

* don't keep summary event counters in SharedPreferences

* don't create a summary event if there's no data
…builder

(non-U2C, for 3.x) add sub-configuration builder for events
…nfig

(non-U2C, for 3.x) add configuration builders for polling/streaming
(non-U2C, for 3.x) add configuration builder for HTTP
(non-U2C, for 3.x) add configuration builder for service endpoints
@LaunchDarklyReleaseBot LaunchDarklyReleaseBot deleted the release-3.5.0 branch December 23, 2022 01:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants