launchdarkly / node-server-sdk

LaunchDarkly Server-side SDK for Node
Other
79 stars 65 forks source link

Old SDK version is installed by default due to incorrect `latest` tag #247

Closed zacharyliu closed 2 years ago

zacharyliu commented 2 years ago

Is this a support request? No

Describe the bug Running npm install launchdarkly-node-server-sdk installs the older major version (v5.14.6), not the current major version (v6.4.0). This is likely because the latest tag on NPM incorrectly points to v5.14.6.

To reproduce npm install launchdarkly-node-server-sdk

Expected behavior npm install should install the newest stable version of the library, matching the current documentation.

Logs

$ npm i launchdarkly-node-server-sdk
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.

added 50 packages, and audited 51 packages in 4s

3 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

$ npm ls launchdarkly-node-server-sdk
tmp.PLiGJmgE@ /private/var/folders/1j/8jhzmpm50kb_04kh4zn3k_vc0000gn/T/tmp.PLiGJmgE
└── launchdarkly-node-server-sdk@5.14.6

SDK version 5.14.6

Language version, developer tools npm 8.5.5

OS/platform macOS 12.3.1

Additional context https://docs.npmjs.com/cli/v8/commands/npm-dist-tag#purpose

By default, the latest tag is used by npm to identify the current version of a package, and npm install (without any @ or @ specifier) installs the latest tag. Typically, projects only use the latest tag for stable release versions, and use other tags for unstable versions such as prereleases.

eli-darkly commented 2 years ago

Very sorry for the error - what happened was that the 5.14.6 patch was released from the 5.x maintenance branch without specifically telling NPM not to update the latest tag. It's now fixed.