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

Conversation

@LaunchDarklyCI
Copy link
Contributor

[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.

eli-darkly and others added 30 commits May 13, 2019 17:17
…ulnerability with 'extend' (#140)

* bump request to resolve a security vulnerability with extend

* remove incorrect build step

* update language
# Conflicts:
#	package-lock.json
#	package.json
update doc comment for track() with metricValue
Migrate to ES2015 syntax and add linting
# Conflicts:
#	feature_store_event_wrapper.js
@eli-darkly eli-darkly requested a review from bwoskow-ld June 17, 2021 18:36
@LaunchDarklyCI LaunchDarklyCI merged commit 8e144b9 into master Jun 17, 2021
@LaunchDarklyCI LaunchDarklyCI deleted the release-6.0.0 branch June 17, 2021 18:52
LaunchDarklyReleaseBot pushed a commit that referenced this pull request Dec 10, 2021
…om-errors

explicitly enable jsdom types in TypeScript build to avoid errors when jsdom is referenced for some reason
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants