Skip to content

Latest commit

 

History

History
54 lines (45 loc) · 3.21 KB

File metadata and controls

54 lines (45 loc) · 3.21 KB

Changes

5.0 (core), 4.x (clients)

  • addition of the environmentId and strategyId (if any) for features from the usage API

  • simplificiation of the polling active/rest so it is more testable, common functionality removed from RestApi clients in each supported platform to make them easier to implement. This is a breaking change in the client/core contract so we have bumped the version.

  • addition of external sources of features using RawUpdateFeatureListener and sources

  • addition of a standard Redis and Yaml backing stores

  • support for empty repository for local development (no edge or api keys)

  • separation of Usage classes into interface and implementation. Although this is a breaking change, I have decided not to 5.0 it as it is so recent.

  • addition of a generic Conversion utility to allow to guess the type coming from an external system for yaml and 3rd party external support

  • a new ExtendedFeatureValueInterceptor that passes the whole feature you are trying to intercept plus the repository to aid in operation. Existing FeatureValueInterceptors still work but are deprecated

  • addition of change detection for supporting pipeline releases, so we can have Gitlab do releases.

  • addition of Claude Code support

4.2

  • Minor patch update to fix a close-out issue with the polling API

4.1

  • The separation of client libraries into support for Jersey 2, Jersey 3 and OKHTTP - with all SDK api clients (SSE, REST and the TestApi) included.

  • The addition of the Usage API to give pluggable analytics, with the addition of support for OpenTelemetry tracking and Segment Tracking.

3.3

  • Support array values in client side evaluation. This was rolled out to the other SDKs but not Java. The SDK can now be given an array of attributes and compare them against an array of values in a Strategy.

3.2

  • Percentage calculator was not consistent from run to run, meaning percentage values could be evaluated differently between runs.

3.1

  • New Edge APIs required some changes to polling and internal classes.

2.8

  • When using a Client Evaluated Feature context, the client was not getting reused if you used the default mechanism. Now the close() method for the context does nothing, and you need to issue a close on the EdgeFeatureHubConfig itself. Server Evaluated Feature contexts remain the same and you should close them individually as they have their own connections.

  • The Android client would not attempt to connect unless it had an attribute set when operating in Server Evaluated Feature mode. Now when a context change is requested and it has never triggered a request, it will always do so.

  • Some internal classes have changed packages (FeatureValueType, some others)

  • Some libraries have been upgraded

  • The client now tells the server what client it is using, which version of the client and which version of the server API it expects.

  • The client has been compiled against the new 1.1.3 API but does not currently use its functionality.

2.3

  • Expose analytic collector, readyness listener, readyness state, and value interceptor properties on the FeatureHubConfig

  • Respect context when using feature listeners

2.2

  • fixed issue where no header for server eval context was causing NPE at times.