Note: Since 6.0.1 onwards, we moved the changelog into the release notes of each version. You will find hte details here https://github.com/Unleash/unleash-client-java/releases
- Make connect and read timeouts configurable for both toggle fetching and metrics posting
- Remove deprecated
no.finn.unleash
package - feat: Added support for providing custom ToggleFetcher through a UnleashToggleFetcherFactory (A Function<UnleashConfig, ToggleFetcher>). Two fetchers are now included, one using java.net.http and one using OkHttp, if you want to use the OkHttp one, your project will need to add a dependency on
<dependency><groupId>com.squareup.okhttp3</groupId><artifactId>okhttp</artifactId><version>4.9+</version></dependency>
- feat: Adds support for more constraint operators (String, Number, Semver, Dates)
- fix: Bootstrap no longer fails hard when passed invalid json. It now returns an empty list of features if the bootstrap json could not be parsed.
- chore: Refactor package names. Moving from
no.finn.unleash
toio.getunleash
to reflect where development is taking place.
- feat: Add support for custom stickiness (#132)
- feat: Add support for leveraging namePrefix in Java SDK (#135)
- feat: Adding support for custom proxy (#137)
- fix: Make sure empty bootstrap path does not crash app
- feat: Default to trying UNLEASH_BOOTSTRAP_FILE environment variable for finding bootstrap
- feat: Add support for filtering by namePrefix
- feat: Add ability to bootstrap features from files via UNLEASH_BOOTSTRAP_FILE (#129)
- feat: Add ability to provide bootstrap via custom ToggleBootstrapProvider (#129)
- feat: Add ability to disable metrics via UnleashContext (#125)
- fix: Add logging for when a matching strategy is not found (#123)
- fix: Add Nullable annotations where applicable
- feat: Switched to slf4j-api logging
- feat: add support for filtering on project (Enterprise only)
- fix: BREAKING CHANGE UnleashConfig constructor is now private.
- fix: Use UnleashConfig.Builder to get instance of UnleashConfig
- feat: Add annotations to indicate null and nonnull method signatures, also supports Kotlin
- feat: Added 'more' method to Unleash API to place advanced usecases like evaluating all toggles at once and manually incrementing usage counts
- feat: Add warning when a matching strategy for a toggle can't be found
- fix: follow redirect once (#115)
- chore(deps): bump version.log4j2 from 2.11.2 to 2.13.3 (#109)
- Correct README typo (#112)
- fix: license year and company
- fix: Make ToggleCollection constructor public
- fix: add a custom http headers provider for unleash config
- fix: add shutdown method to enable graceful termination of Unleash
- feat: Add support for fallback-action
- fix: NullPointerException when no variants defined
- fix: FakeUnleash resetAll should also reset variants
- fix: Change log-level to info for missing local backup
- feat: Add support for http proxies with basic authentication (#91)
- fix: support integration tests for strategy constraints
- fix: Support custom context fields in spec-tests
- fix: Make
getFeatures
andgetToggle
public in ToggleCollection - fix: add logs for redirect location response
- feat: Add support for static context fields (#82)
- feat: add constraint support (#83)
- fix: Bump log4j to version 2.11.2.
- fix: Add TypeAdapter for AtomicLong to not break metrics for users with old gson on classpath
- fix: Make metric counting fully thread-safe
- fix: MetricsBucket MUST be threadsafe.
- fix: Make sure that etag field is never null
- fix: Only set etag if it is not empty. Sending empty
if-none-match
seem to cause issues with AWS load balancer.
- feat: Added subscriber API
- fix: Stop logging 304-response as warn
- feat: Implement support for variants
- fix: instanceId cannot be null.
- LogManager.getLogger() not supported on jdk11
- Add option
synchronousFetchOnInitialisation
to force an inital api-update on init.
- Expose list of feature names
- Introduced UNAVAILABLE as possible status in FeatureToggleResponse
- This version requires
unleash-server
v3 or higher. - Switch hashing to MurmurHash (Unleash/unleash#247)
- Update API endoint paths for Unleash 3.x (#40)
- Add sdkVersion in client-register call
- Exposing the Feature Toggle Definition via the
getFeatureToggleDefinition
method on DefaultUnleash to make it easier to extend it with new functionality.
- Added options for defining custom headers.
- Default instanceId should include hostname.
- Includes implementation of pre-defined activation strategies.
- applicationHostname
- gradualRolloutRandom
- gradualRolloutSessionId
- gradualRolloutUserId
- remoteAddress
- userWithId
- Implements support for unleash-context to simplify usage of strategies.
- Support multiple strategies. This makes it easy to use multiple activation strategies in combination.
- Client metrics. Gives details about what toggles a specific client application uses, how many times a toggle was evaluated to true / false.
- Client registration. This gives insight about connected clients, instances, strategies they support.
- Initial public release