Skip to content

Releases: cap-js-community/feature-toggle-library

v1.2.5

20 Feb 13:47
Compare
Choose a tag to compare

Fixed

  • core: if a ./default-env.json file was present and NODE_ENV !== "production", we had assumed that cf env variables
    VCAP_APPLCATION and VCAP_SERVICES are always present in the file. now this is more resilient.

  • core: [regression] initialize timing was noticeably slower, because the initial connection check was running with the
    default reconnect strategy that takes 2000ms. now the reconnect strategy is disabled for the initial connection check.

v1.2.4

19 Feb 09:56
Compare
Choose a tag to compare

Changed

  • cds-plugin: change default service access role to internal-user (fixes #90).
  • redis: changed dependency from redis to @redis/client.

Added

  • core: [undocumented] plugin-config/initialize support multiple configuration files.

  • redis: [undocumented] cds-config/initialize take redis credentials and client options for fine-tuning or as an
    alternative to VCAP_SERVICES (brought up by #92).

    the cds-config approach is consistent with the redis integration of other cap-js-community projects, see event-queue, websocket.

v1.2.3

05 Feb 12:11
Compare
Choose a tag to compare

Added

  • cds-plugin: added explicit implementation for FeatureService.
  • enable node v22 voters.

Fixed

  • cds-plugin: allow feature toggles to initialize with no configured toggles.
  • use proper cds syntax to get service operations (by johannes-vogel).

v1.2.2

14 Nov 09:12
Compare
Choose a tag to compare

Changed

  • the initialization log of the library will now show the unique name used. this name is used to derive both the redis
    storage key and pub/sub channel.

Fixed

  • internal naming cleanup and consistency work.

v1.2.1

30 Sep 12:57
Compare
Choose a tag to compare

Changed

  • cds-plugin: service endpoint /rest/feature/redisRead will return server in-memory changes in NO_REDIS mode in
    order to be consistent with /rest/feature/redisUpdate.

Added

  • cds-plugin: added cds.test() basic request/response tests for service.

Fixed

  • cds-plugin: service endpoint /rest/feature/redisRead works without http errors in NO_REDIS mode.

v1.2.0

25 Sep 12:39
Compare
Choose a tag to compare

⚠️ This release contains two minor breaking changes.

Changed

  • The main class of the library is no longer explicitly exported. You can access it implicitly as constructor of the
    exported class instance.

    // before
    const { FeatureToggles } = require("@cap-js-community/feature-toggle-library");
    const myToggles = new FeatureToggles({ uniqueName: "snowflake" });
    
    // after
    const toggles = require("@cap-js-community/feature-toggle-library");
    const FeatureToggles = toggles.constructor;
    const myToggles = new FeatureToggles({ uniqueName: "snowflake" });
  • cds-plugin: rewrote /rest/feature/redisRead endpoint to show all Redis maintained toggle values, including those of
    toggles that are not configured. The endpoint no longer refreshes the server-local toggle state. Consequently, it
    will work with read access privileges, since it can no longer modify the server-local state (fixes #69).

Added

  • added remoteOnly option for /rest/feature/redisUpdate endpoint and the changeFeatureValue() API. With this
    option, you can clean up Redis maintained values that are no longer configured (fixes #69).
  • cds-plugin: better detection of serve mode following changes in @sap/cds
    v8.2.3

Fixed

  • multiple, even concurrent, calls of initializeFeatures() will only ever trigger one execution of the underlying
    initialization.

v1.1.7

17 Sep 14:36
Compare
Choose a tag to compare

Fixed

  • setting a root value with the option { clearSubScopes: true } only deleted the root and scoped values, but did
    not set the new root value.

v1.1.6

23 Jul 15:12
Compare
Choose a tag to compare

Fixed

  • cds-plugin: fix uniqueName configuration processing
  • more consistent scope preference order when 2 out of 4 scopes are set

v1.1.5

06 Jun 13:11
Compare
Choose a tag to compare

Changed

  • fallback value null is no longer allowed (fixes #62).
  • change handlers no longer receive null as new values, they get the actual new value for the relevant scope instead
    (fixes #64).

Fixed

  • cds-plugin: unify and fix syntax of context.error and context.reject for cds service.
  • change processing is more resilient. for redis message with multiple changes, if one change fails, then subsequent
    changes will still be processed.

v1.1.4

08 Apr 13:37
Compare
Choose a tag to compare

Added

  • docs: basic documentation for newest cds-plugin features.
  • cds-plugin: better access control (fixes #57).

Fixed

  • redis: better integration mode, will not log a connection error if redis is not present.