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.1.8 release #184

Merged
merged 265 commits into from
Aug 23, 2022
Merged

prepare 3.1.8 release #184

merged 265 commits into from
Aug 23, 2022

Conversation

LaunchDarklyReleaseBot
Copy link
Contributor

[3.1.8] - 2022-08-23

Changed:

  • Changed throttling/jitter logic that used java.util.Random to use java.security.SecureRandom. Even though in this case it is not being used for any cryptographic purpose, but only to produce a pseudo-random delay, static analysis tools may still report every use of java.util.Random as a security risk by default. The purpose of this change is simply to avoid such warnings; it has no practical effect on the behavior of the SDK.

Fixed:

  • The map of existing LDClient instances was not being cleared after calling close(). (#108)
  • Fixed a bug that caused an ExecutorService object to be unnecessarily created when flush() was called.
  • The SDK did not correctly persist versioning information when a flag was deleted or archived. In an edge case where flag updates are received out of order, this could cause a deleted flag to appear to be undeleted.
  • Setting baseUri or streamUri to a URI with a trailing slash could cause requests to fail. Now the SDK works correctly regardless of whether these URIs have a trailing slash or not.
  • The SDK was including "anonymous": false in analytics event data for users where the anonymous property had not been set at all. In the current user model, "anonymous": false is subtly different from not setting the property (flag rules referencing anonymous will only work if it is explicitly set), so the event data should accurately represent this by omitting the property if it was omitted.
  • Fixed a bug that could cause a NullPointerException when calling variation methods, in an edge case where the SDK received inconsistent data of a kind that the LaunchDarkly services would not normally send (an evaluation result with a value but no variation). This should not be possible in practice, but could happen in test scenarios.

torchhound and others added 30 commits October 2, 2018 18:22
…fy method for multi-environment, not sure about SettableFuture null vs null for return type of Future<Void>, both type check and pass tests
…maryKey separation everywhere but the builder. Add getRequestBuilderFor a specific environment. Add static method to LDClient to get all environment names so that environments can be iterated over. Add accessor to retrieve LDClient specific UserManager. Iterate over all environments in PollingUpdater. Add environment argument to UserManager constructor, removing singleton and creating replacing init with newInstance static method.
…Manager may not be able to do the same so removed the environment from the constructor.
…imaryInstance null when offline in init, fixed primaryEnvironmentName being added to secondaryMobileKeys
…y cleared once all environments have a copy in LDClient
…ersion, replaced with method that returns requested instance
Relates to #60

Cleaned up timber logging messages to use string formatting rather than concatenation. Log messages should remain the same as before.
Also replaced Log with Timber in the example app.
Added version and flagVersion retrieval from ping events if available
Fix crash when example app is backgrounded twice.
attempt a provider update when TLSv1.2 is not available.
* fix(SharedPreferences): added more SharedPreferences first time migration and differentiated SharedPreferences by mobile key

* fix(UserLocalSharePreference.java): added missing mobileKey additions to getSharedPreferences, cleaned up debugging code
aengelberg and others added 25 commits August 19, 2022 14:47
remove short publishing timeout, use defaults of 60 retries & 10 seconds
don't create a new executor just to trigger a flush
# Conflicts:
#	testharness-suppressions.txt
fix URL path concatenation to avoid double slashes
fix NPE in edge case where variation is null but value isn't
…ct-tests-31-33

disable contract tests for API 31/33
use SecureRandom instead of Random, just to make scanners happier
* clean up instances map on close

* improve atomicity of access to instances, ensure they can't be modified via closed clients

* update more methods that iterate over instances
…-close-client

ensure timed-out clients get closed in contract tests
@LaunchDarklyReleaseBot LaunchDarklyReleaseBot merged commit 27e0703 into main Aug 23, 2022
@LaunchDarklyReleaseBot LaunchDarklyReleaseBot deleted the release-3.1.8 branch August 23, 2022 20:18
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.