Skip to content

Releases: configcat/react-sdk

v4.6.1

06 Sep 16:01
c3f024a
Compare
Choose a tag to compare

Improvements:

Bug fixes:

  • Check cache expiration in every poll iteration, not just the first one in Auto Polling mode to reduce network traffic when the SDK uses a shared cache (including LocalStorage cache used by instances of a browser app running in multiple browser tabs). (configcat/common-js#106)
  • Synchronize in-memory cache with the external cache in every poll iteration, not just the first one in Auto Polling mode regardless of offline mode to keep in-memory cache up-to-date when the SDK uses a shared cache.
  • Protect poll iterations with try-catch so a potential exception doesn't stop the polling loop in Auto Polling mode.

v4.6.0

02 Apr 15:32
c388ffe
Compare
Choose a tag to compare

Improvements:

  • Add React Native sample app.

Bug fixes:

  • Fix regression that made the SDK unusable in React Native apps. (#52)

v4.5.0

27 Mar 11:33
4f495a1
Compare
Choose a tag to compare

Improvements:

  • Make adjustments to prevent issues (#7, #40) when the SDK is used in SSR applications, e.g. in Next.JS. (This does not mean though that the React SDK can work in server context, it still only supports client context, i.e. browsers.) (#51)
  • Add Next.js sample app.

v4.4.0

21 Mar 12:25
b4a597b
Compare
Choose a tag to compare

Improvements:

  • Make naming of UserComparator members consistent. (configcat/common-js#102)
  • Make line terminator character sequence configurable in log messages.
  • Adjust the terminology used in JSDoc comments to the main documentation.
  • Minor performance improvements.

Bug fixes:

  • Align evaluation logging and evaluator error reporting in some edge cases where the config JSON contains errors.
  • Correct grammar mistakes in error messages.

Breaking changes:

  • Change the name of some UserComparator members: Is(Not)OneOf -> TextIs(Not)OneOf, SensitiveIs(Not)OneOf -> SensitiveTextIs(Not)OneOf, (Not)ContainsAnyOf -> Text(Not)ContainsAnyOf. (Low impact expected.)

v4.3.0

16 Jan 16:53
b471acb
Compare
Choose a tag to compare

New features/improvements:

  • Add an optional parameter named watchChanges to createFlagOverridesFromMap which controls whether the client should detect changes to the flag override map after client initialization. (configcat/common-js#101)

Bug fixes:

  • Reference a fixed version of configcat-common to avoid issues in case the "pubternal" API of configcat-common changes. (#48)

v4.2.0

09 Jan 11:30
9c29bc4
Compare
Choose a tag to compare

Improvements:

  • Upgrade to configcat-common v9.1.0.
  • Send ETag as a query string parameter when running in browser (because browsers don't send it automatically in every case).
  • Upon client initialization test for the availability of the local storage and use LocalStorageCache only if it's available. Otherwise, use the default (in-memory) cache implementation.
  • Don't swallow exceptions which are thrown in the LocalStorageCache.get/set methods so the outer exception handlers can catch and log them.

v4.1.0

20 Dec 16:19
e017412
Compare
Choose a tag to compare

Fixed a cache issue with non Latin 1 characters in the config.json.

v4.0.0

24 Nov 15:21
98eeeec
Compare
Choose a tag to compare

New features and improvements:

  • Add support for the new Config JSON v6 format: update the config model and implement new features in setting evaluation logic. (configcat/common-js#96)
  • Overhaul setting evaluation-related logging and make it consistent across SDKs.
  • Performance improvements to setting evaluation (building of evaluation log is expensive, so it is skipped when info level logging is turned off).

Bug fixes:

  • Hook event handlers which close over the client instance should not prevent the client from being collected by the GC when user has no more references to the client instance. (configcat/common-js#97)
  • Prevent potential issues with weak references when awaiting IConfigCatClient.waitForReady. Also, make observable if the initial cache sync-up fails.

Breaking changes (listed in the order of expected impact):

  • Rename the matchedEvaluationRule property to matchedTargetingRule and the matchedEvaluationPercentageRule property to matchedPercentageOption in IEvaluationDetails.
  • Throw Error when the SDK key passed to ConfigCatClient.get is in invalid format (unless the client is set up to use local-only flag override behavior).
  • Remove the deprecated ClientReadyState enum (it was renamed to ClientCacheState).
  • Change config model (IConfig and related interfaces/enums).
  • Slightly change the behavior of the ClientReady hook in Auto Poll mode to fire after the completion of the first fetch operation - regardless of success or failure - to make the behavior consistent with other SDKs. (configcat/common-js#94)

v3.1.1

04 Aug 17:08
a922b94
Compare
Choose a tag to compare

Improvements:

  • For better compatibility, restrict the TypeScript language features used to those which are available in v4.1 by downgrading the TypeScript compiler version.

v3.1.0

26 Jul 15:08
b278e4f
Compare
Choose a tag to compare

New features and improvements:

  • Provide a way to synchronously evaluate of feature flags/settings: consumers can create a snapshot of the client by IConfigCatClient.snapshot(), which captures the client's state (including the latest config fetched), then, using the returned object, they can execute synchronous evaluation operations.
  • Add a state parameter to the clientReady hook, by means of which consumers can get information about the initialization state of the client.
  • Minor performance improvements.

Bug fixes:

  • Fix error logging of getValueAsync/getValueDetailsAsync calls.
  • Fix JSDoc documentation of Comparator.Contains/NotContains.