Releases: launchdarkly/node-server-sdk
6.3.1
[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
[6.3.0] - 2022-02-18
Added:
TestData, in the new modulelaunchdarkly-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/integrationsis the new preferred module for importingFileDataSourceand theFileDataSourceOptionstype.
Deprecated:
- The
FileDataSourceandFileDataSourceOptionsexports from the main module are now deprecated.
6.2.3
[6.2.3] - 2022-02-04
Fixed:
- When using
allFlagsStateto 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
secondaryin 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
allFlagsStatemethod 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
6.2.1
[6.2.1] - 2021-12-10
Fixed:
- Replaced all uses of
for...infor iterating over arrays and properties to use other constructs such asfor...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 asArray. (Thanks, luke-schleicher!)
6.2.0
[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
[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
[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 fullLDLoggerimplementation.
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
redispackage. - 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.basicLoggerimplementation, which uses the same format as the previous default Winston configuration, so again there should be no visible difference. Note: If you are using thelaunchdarkly-node-server-sdk-dynamodborlaunchdarkly-node-server-consuldatabase 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 theyamlpackage in your project; the SDK will automatically detect its presence. - The
package-lock.jsonfile 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 topackage.jsonso 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
[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 fullLDLoggerimplementation.
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
redispackage. - 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.basicLoggerimplementation, which has the same behavior as the previous default Winston configuration. Note: If you are using thelaunchdarkly-node-server-sdk-dynamodborlaunchdarkly-node-server-consuldatabase 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 theyamlpackage in your project; the SDK will automatically detect its presence.
5.14.5
[5.14.5] - 2021-06-10
Fixed:
- Updated transitive dependency on the package
url-parsedue to a vulnerability warning.