launchdarkly-js-client-sdk
Advanced tools
Changelog
[2.17.1] - 2020-03-06
waitForInitialization()
and provided an error handler for the promise that was returned by that method. While that is correct behavior if the application did call waitForInitialization()
(any promise that might be rejected should have an error handler attached), it is inappropriate if the application did not call waitForInitialization()
at all-- which is not mandatory, since the application could use events instead, or waitUntilReady()
, or might simply not care about waiting for initialization. This has been fixed so that no such promise is created until the first time the application calls waitForInitialization()
; subsequent calls to the same method will return the same promise (since initialization can only happen once).on
or off
while handling an event. This has been fixed so that all event handlers that were defined at the time the event was fired will be called; any changes made will not take effect until the next event.Changelog
[2.17.0] - 2020-02-14
Note: if you are using the LaunchDarkly Relay Proxy to forward events, update the Relay to version 5.10.0 or later before updating to this Node SDK version.
diagnosticOptOut
option, or configured with diagnosticRecordingInterval
.hash
parameter while changing the current user with identify()
, the SDK was not using the new hash
value when recomputing the stream URL, causing the stream to fail. (Thanks, andrao!)LICENSE.txt
file was accidentally replaced with an incomplete license in an earlier release. The standard Apache 2.0 license file has been restored. (#202)Changelog
[2.16.3] - 2020-02-05
js-sdk-common
is still an exact version dependency so that each release of js-client-sdk
has well-defined behavior for that internal code.@babel/polyfill
. (Thanks, bdwain!)Changelog
[2.16.2] - 2020-01-27
beforeunload
event, or if a nonstandard URL scheme caused the browser to launch an external app), the SDK could be left in a state where all of its HTTP requests would be made synchronously. This has been fixed so the only synchronous request the SDK makes is when it needs to flush events during a beforeunload
. (Thanks, edvinerikson!)Changelog
[2.16.1] - 2020-01-15
Note: If you use the Relay Proxy, and have configured it to forward events, please update it to version 5.9.4 or later before using this version of the browser SDK. Otherwise you may encounter CORS errors in the browser.
Changelog
[2.16.0] - 2019-12-16
eventCapacity
: the maximum number of analytics events (not counting evaluation counters) that can be held at once, to prevent the SDK from consuming unexpected amounts of memory in case an application generates events unusually rapidly. In JavaScript code this would not normally be an issue, since the SDK flushes events every two seconds by default, but you may wish to increase this value if you will intentionally be generating a high volume of custom or identify events. The default value is 100.wrapperName
and wrapperVersion
: used by the React SDK, and potentially by third-party libraries, to identify a JS SDK instance that is being used with a wrapper API.baseUri:3
or sendEvents:"no"
. For boolean properties, the SDK will still interpret the value in terms of truthiness, which was the previous behavior. For all other types, since there's no such commonly accepted way to coerce the type, it will fall back to the default setting for that property; previously, the behavior was undefined but most such mistakes would have caused the SDK to throw an exception at some later point.identify
, the current user (as reported by getUser()
) was being updated before the SDK had received the new flag values for that user, causing the client to be temporarily in an inconsistent state where flag evaluations would be associated with the wrong user in analytics events. Now, the current-user state will stay in sync with the flags and change only when they have finished changing. (Thanks, edvinerikson!)samplingInterval
configuration property was deprecated in the code in the previous minor version release, and in the changelog, but the deprecation notice was accidentally omitted from the documentation comments. It is hereby deprecated again.Changelog
[2.15.2] - 2019-11-15
version
property as "2.14.1". This property will now once again be consistent with the actual release version.Changelog
[2.15.1] - 2019-11-06
typedoc
was mistakenly added in the 2.15.0 release. This has been removed.Changelog
[2.15.0] - 2019-11-05
launchdarkly-js-sdk-common
package has been moved out of this repository into js-sdk-common
, and will now be versioned separately. Applications should never refer to the common package directly; it is brought in automatically by launchdarkly-js-client-sdk
. Changes made in the common code that affect JS SDK functionality will be noted in the main changelog here.example
directory, which may be useful for testing not only of the JS SDK but of feature flag evaluation in general.beforeunload
event handler no longer calls close
on the client, which was causing the SDK to become unusable if the page did not actually close after this event fired (for instance if the browser navigated to a URL that launched an external application, or if another beforeunload
handler cancelled leaving the page). Instead, it now only flushes events. There is also an unload
handler that flushes any additional events that might have been created by any code that ran during the beforeunload
stage. (#181)Object.assign
that caused errors in Internet Explorer unless a polyfill for that function was present. These were removed earlier in the 2.1.1 release, but had been mistakenly added again.samplingInterval
configuration property is deprecated and will be removed in a future version. The intended use case for the samplingInterval
feature was to reduce analytics event network usage in high-traffic applications. This feature is being deprecated in favor of summary counters, which are meant to track all events.Changelog
[2.14.0] - 2019-10-10
LDClient.track()
.createConsoleLogger()
function now has an optional second parameter for customizing the log prefix.launchdarkly-react-client-sdk
package is no longer part of this monorepo. It is now in its own repository, react-client-sdk
. Future updates to the LaunchDarkly React interface will be tracked there.Note that the React SDK code has moved to its own repository, react-client-sdk
. The 2.13.0 release was the last one that had the React wrapper code in the same repository, and from this point on the React package will be versioned separately.