Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

prepare 3.3.1 release #201

Merged
merged 325 commits into from
Dec 21, 2022
Merged

prepare 3.3.1 release #201

merged 325 commits into from
Dec 21, 2022

Conversation

LaunchDarklyReleaseBot
Copy link
Contributor

[3.3.1] - 2022-12-21

Fixed:

  • If the application is in the background when the SDK is started, the SDK will go into polling mode and immediately make a flag data request to LaunchDarkly. Previously, in this scenario the first poll would not happen until the background poll interval elapsed, so the SDK would effectively never have flag data at initialization time for an app or service that started in the background.

gwhelanLD and others added 30 commits February 16, 2019 00:12
…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.
eli-darkly and others added 25 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
Copy link
Contributor

@louis-launchdarkly louis-launchdarkly left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The change should be good, there is one contract test that is failing, looks like a one-off failure?

@LaunchDarklyReleaseBot LaunchDarklyReleaseBot deleted the release-3.3.1 branch December 21, 2022 23:43
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.

8 participants