This repository has been archived by the owner on May 30, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 56
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
avoid exception with semver operators and non-strings
don't include exception in error reason JSON rep
# Conflicts: # src/main/java/com/launchdarkly/client/EvaluationReason.java
…infinite-ttl"" This reverts commit 2567c8a.
…tf-4.x # Conflicts: # src/main/java/com/launchdarkly/client/Components.java # src/main/java/com/launchdarkly/client/LDConfig.java # src/main/java/com/launchdarkly/client/RedisFeatureStore.java # src/main/java/com/launchdarkly/client/RedisFeatureStoreBuilder.java # src/main/java/com/launchdarkly/client/integrations/Redis.java # src/main/java/com/launchdarkly/client/integrations/RedisDataStoreBuilder.java # src/test/java/com/launchdarkly/client/LDClientEvaluationTest.java # src/test/java/com/launchdarkly/client/LDClientEventTest.java # src/test/java/com/launchdarkly/client/LDClientTest.java # src/test/java/com/launchdarkly/client/RedisFeatureStoreTest.java # src/test/java/com/launchdarkly/client/integrations/RedisFeatureStoreBuilderTest.java # src/test/java/com/launchdarkly/client/integrations/RedisFeatureStoreTest.java
(5.0 - #1) increase the minimum Java version all the way to 8!
(5.0) update to latest Guava
(5.0) remove joda-time, use Java 8 Date API
(5.0) use lambdas instead of anonymous classes for simple interfaces
# Conflicts: # src/main/java/com/launchdarkly/client/DefaultEventProcessor.java # src/test/java/com/launchdarkly/client/DefaultEventProcessorTest.java
normalize OS name in diagnostic data
(4.x) add getters for all properties on EvaluationReason; deprecate subclasses
# Conflicts: # src/main/java/com/launchdarkly/client/EvaluationReason.java # src/test/java/com/launchdarkly/client/EvaluationReasonTest.java
(4.x) add scoped configuration for HTTP options
Java SDK should only log exception stacktraces at debug level
# Conflicts: # gradle.properties
# Conflicts: # src/main/java/com/launchdarkly/client/EvaluationReason.java # src/main/java/com/launchdarkly/client/LDConfig.java # src/test/java/com/launchdarkly/client/EvaluationReasonTest.java
5.0 (#1): remove deprecated HTTP config properties
…eleted-flag 5.0: fix NPE from allFlagsState when there's a deleted flag
…ntext 5.0 (#2): don't keep the entire LDConfig instance around after creating LDClient
(5.0 - #1) use non-nullable integers in EvaluationDetail and events
…default (5.0) don't serialize -1 variation index in FeatureFlagsState
(5.0) remove a few more unnecessary Guava usages
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
[5.0.0-rc1] - 2020-04-29
This beta release is being made available for testing and user feedback, due to the large number of changes from Java SDK 4.x. Features are still subject to change in the final 5.0.0 release. Until the final release, the beta source code will be on the 5.x branch. Javadocs can be found on javadoc.io.
This is a major rewrite that introduces a cleaner API design, adds new features, and makes the SDK code easier to maintain and extend. See the Java 4.x to 5.0 migration guide for an in-depth look at the changes in this version; the following is a summary.
Added:
FlagChangeListener
andLDClient.registerFlagChangeListener()
.LDUser
has changed, usingFlagValueChangeListener
andComponents.flagValueMonitoringListener()
.LDClient.getDataStoreStatusProvider()
.UserAttribute
class provides a less error-prone way to refer to user attribute names in configuration, and can also be used to get an arbitrary attribute from a user.LDGson
andLDJackson
classes allow SDK classes like LDUser to be easily converted to or from JSON using the popular Gson and Jackson frameworks.Changed:
com.launchdarkly.sdk
andcom.launchdarkly.sdk.server
.com.launchdarkly.sdk.server.integrations
andcom.launchdarkly.sdk.server.interfaces
.java.time.Duration
is now used for configuration properties that represent an amount of time, instead of using a number of milliseconds or seconds.EvaluationDetail.getVariationIndex()
now returnsint
instead ofInteger
.EvaluationReason
is now a single concrete class rather than an abstract base class.FeatureStore
and UpdateProcessor have been renamed toDataStore
andDataSource
. The factory interfaces for these components now receive SDK configuration options in a different way that does not expose other components' configurations to each other.PersistentDataStore
interface for creating your own database integrations has been simplified by moving all of the serialization and caching logic into the main SDK code.Removed:
LDConfig.Builder()
methods, which have been replaced by the modular configuration syntax that was already added in the 4.12.0 and 4.13.0 releases. See the migration guide for details on how to update your configuration code if you were using the older syntax.If you want to test this release and you are using Consul, DynamoDB, or Redis as a persistent data store, you will also need to update to version 2.0.0-rc1 of the Consul integration, 3.0.0-rc1 of the DynamoDB integration, or 1.0.0-rc1 of the Redis integration (previously the Redis integration was built in; now it is a separate module).