Skip to content
This repository was archived by the owner on May 30, 2024. It is now read-only.

Releases: launchdarkly/node-server-sdk

6.3.1

10 Mar 21:56

Choose a tag to compare

[6.3.1] - 2022-03-10

Fixed:

  • Removed a transitive dependency on the package url-parse, which was flagged in CVE-2022-0686.

6.3.0

19 Feb 03:13

Choose a tag to compare

[6.3.0] - 2022-02-18

Added:

  • TestData, in the new module launchdarkly-node-server-sdk/integrations, is a new way to inject feature flag data programmatically into the SDK for testing—either with fixed values for each flag, or with targets and/or rules that can return different values for different users. Unlike the file data source, this mechanism does not use any external resources, only the data that your test code has provided.
  • launchdarkly-node-server-sdk/integrations is the new preferred module for importing FileDataSource and the FileDataSourceOptions type.

Deprecated:

  • The FileDataSource and FileDataSourceOptions exports from the main module are now deprecated.

6.2.3

04 Feb 23:40

Choose a tag to compare

[6.2.3] - 2022-02-04

Fixed:

  • When using allFlagsState to produce bootstrap data for the JavaScript SDK, the Node SDK was not returning the correct metadata for evaluations that involved an experiment. As a result, the analytics events produced by the JavaScript SDK did not correctly reflect experimentation results.
  • Referencing the user attribute secondary in a flag rule did not work.
  • When using semantic version comparison operators, if one of the values was not a string, instead of correctly causing only that comparison to fail, it made the whole flag evaluation fail.
  • The allFlagsState method was not logging any warning if it was called when the client was in an uninitialized state. It now logs a warning, consistent with the other SDKs.

6.2.2

04 Jan 20:22

Choose a tag to compare

[6.2.2] - 2022-01-04

Fixed:

  • Some unsupported options were accidentally being passed to http.request and https.request. This did not affect Node itself, but it could cause problems when using tools that modify HTTP behavior with an interceptor, as discussed here.

6.2.1

11 Dec 00:17

Choose a tag to compare

[6.2.1] - 2021-12-10

Fixed:

  • Replaced all uses of for...in for iterating over arrays and properties to use other constructs such as for...of. This makes the SDK more resilient in environments where application code or other libraries may have added new properties to the prototypes of standard JS types such as Array. (Thanks, luke-schleicher!)

6.2.0

22 Jul 22:00

Choose a tag to compare

[6.2.0] - 2021-07-22

Added:

  • The SDK now supports evaluation of Big Segments. An Early Access Program for creating and syncing Big Segments from customer data platforms is available to enterprise customers.

6.1.0

21 Jun 23:59

Choose a tag to compare

[6.1.0] - 2021-06-21

Added:

  • The SDK now supports the ability to control the proportion of traffic allocation to an experiment. This works in conjunction with a new platform feature now available to early access customers.

6.0.0

17 Jun 18:57

Choose a tag to compare

[6.0.0] - 2021-06-17

This major version release is for updating Node.js compatibility, simplifying the SDK's dependencies, and removing deprecated names.

Except for the dependency changes described below which may require minor changes in your build, and a minor new logging feature, usage of the SDK has not changed in this release. For more details about changes that may be necessary, see the 5.x to 6.0 migration guide.

Dropping support for obsolete Node.js versions makes it easier to maintain the SDK and keep its dependencies up to date. See LaunchDarkly's End of Life Policy regarding platform version support.

Simplifying dependencies reduces the size of the SDK bundle, as well as reducing potential compatibility problems and vulnerabilities. The total size of the SDK code plus its dependency tree, not including any of the optional database integrations, has been reduced by nearly 75%.

Added:

  • Added ld.basicLogger, allowing customization of the SDK's default logging behavior without having to provide a full LDLogger implementation.

Changed:

  • The minimum Node.js version is now 12.0.
  • Updated many dependencies to newer versions and/or more actively maintained packages.

Removed:

  • Removed the bundled Redis integration. This is now provided as a separate package, like the other database integrations; see node-server-sdk-redis. The main SDK package no longer has a dependency on the redis package.
  • Removed the dependency on Winston. You can still tell the SDK to use a Winston logger instance that you have created, just as before, so this change should not affect any applications that are using Winston. But the SDK no longer uses Winston to create a default logger if the application does not specify a logger; instead, it uses the ld.basicLogger implementation, which uses the same format as the previous default Winston configuration, so again there should be no visible difference. Note: If you are using the launchdarkly-node-server-sdk-dynamodb or launchdarkly-node-server-consul database integration packages, you should update them to the latest versions which have also had the Winston dependency removed.
  • Removed the dependency on yaml. This package was only used for the optional file data source functionality. You can still use YAML data files with the file data source if you explicitly install the yaml package in your project; the SDK will automatically detect its presence.
  • The package-lock.json file is no longer in source control. As this is a library project, the lockfile never affected application code that used the SDK, but only affected the SDK's CI build. It is preferable for the CI build to refer only to package.json so that it resolves dependencies the same way an application using the SDK would, rather than using pinned dependencies that an application would not use.

6.0.0-rc.1

16 Jun 00:50
782d3c5

Choose a tag to compare

6.0.0-rc.1 Pre-release
Pre-release

[6.0.0-rc.1] - 2021-06-15

This is a release candidate version corresponding to the current projected state of the 6.0.0 release. The final 6.0.0 release may include additional functionality or fixes.

The 6.0.0 major version release is for Node.js compatibility updates and simplifying the SDK's dependencies. Dropping support for obsolete Node.js versions makes it easier to maintain the SDK and keep its dependencies up to date. Simplifying dependencies reduces the size of the SDK bundle, and reduces potential compatibility problems in environments like AWS Lambda.

Added:

  • Added ld.basicLogger, allowing customization of the SDK's simple logging behavior without having to provide a full LDLogger implementation.

Changed:

  • The minimum Node.js version is now 12.0.
  • Updated many dependencies to newer versions and/or more actively maintained packages.

Removed:

  • All types and methods that were deprecated in previous releases have been removed.
  • Removed the bundled Redis integration. This is now provided as a separate package, like the other database integrations; see node-server-sdk-redis. The main SDK package no longer has a dependency on the redis package.
  • Removed the dependency on Winston. An application can still tell the SDK to use a Winston logger instance that the application has created, just as before, but the SDK no longer uses Winston to create a default logger if the application does not specify a logger. Instead, it uses the ld.basicLogger implementation, which has the same behavior as the previous default Winston configuration. Note: If you are using the launchdarkly-node-server-sdk-dynamodb or launchdarkly-node-server-consul database integration packages, you should update them to the latest versions which have also had the Winston dependency removed.
  • Removed the dependency on yaml. This package was only used for the optional file data source functionality. You can still use YAML data files with the file data source if you explicitly install the yaml package in your project; the SDK will automatically detect its presence.

5.14.5

10 Jun 23:25

Choose a tag to compare

[5.14.5] - 2021-06-10

Fixed: