Skip to content

Releases: nvm-sh/nvm

v0.40.4

29 Jan 22:19
Immutable release. Only release title and notes can be modified.
v0.40.4
62387b8

Choose a tag to compare

Bug Fixes

  • sanitize NVM_AUTH_HEADER in wget path
  • nvm_has_colors: also check if stdout is a terminal
  • nvm_strip_path: avoid gawk-specific RT variable for mawk compatibility
  • nvm_get_default_packages: use portable awk patterns
  • nvm_install_source: explicitly set SHELL=/bin/sh for make
  • install.sh: do not log when user has requested no profile modifications (#2131)
  • nvm exec: Do a version check on nvm-exec (#3308)
  • Reject bare LTS codenames in nvm install (#3718)
  • prevent sed errors when pattern contains #
  • install.sh: Force remote name of cloned repo to be 'origin' (#3654)
  • sh lacks -O; thanks shellcheck
  • show system Node.js version in nvm ls (#1287)

Docs

  • [readme] add missing colon (#3516)
  • [readme] add background on io.js (#3641)
  • [readme] fix typo (#3687)
  • [readme] update installation by docker to v0.40.3 (#3590)

Tests

  • [actions] add permissions to GHA workflow
  • Improve uninstall error message for missing versions (#3768)
  • [Tests] add retry logic (#2232)
  • [Tests] add a timeout
  • [actions] add a finisher to lint
  • [actions] migrate Travis CI tests to GitHub Actions
  • [Tests] mock node in nvm_die_on_prefix test
  • [Tests] clean up .nvmrc after nvm-exec test
  • [Tests] set $_ before sourcing nvm.sh in fast tests
  • [actions] update outdated GitHub Actions versions (#3762)
  • [actions] fix WSL tests: properly handle Debian apt sources issue
  • [actions] fix workflow permissions; add codeQL
  • [actions] temporary fix for WSL issue
  • [actions] add new github asset domain to harden-runner
  • [actions] Fix Cygwin workflow HOME variable and add debug output (#3611)

Misc

  • Migrate GitHub Copilot instructions to AGENTS.md and CLAUDE.md (#3655)
  • [security] add security escalation policy (#3658)
  • [meta] Add comprehensive .github/copilot-instructions.md for better AI code assistance (#3609)
  • [meta] update security policy; add IRP
  • [Dev Deps] update markdown-link-check, semver

v0.40.3

23 Apr 23:36
v0.40.3
977563e

Choose a tag to compare

Fixes

  • nvm_install_latest_npm: fix node version detection (#3564)

v0.40.2

11 Mar 20:43
v0.40.2
ffec9fe

Choose a tag to compare

New Stuff

  • install.sh: add $ZDOTDIR to zsh search (#3458)

Fixes

  • reinstall-packages: do not reinstall corepack (#3544)
  • avoid bash-specific syntax (#3499)
  • install-latest-npm: npm v11 is out
  • nvm_install_latest_npm: avoid unbound variable (#3447)
  • give a more helpful message when lts alias is mistakenly used (#3441)
  • nvm ls, nvm alias, nvm install: error when an LTS name is invalid
  • nvm_normalize_lts: error when an LTS name is not lowercase (#3417)

Documentation

  • [readme] update link
  • [readme] fix --no-use example (#3479)
  • [readme] update copyright notice (#3507)
  • [readme] note zsh-nvm's AUTO_USE option (#2670)
  • [readme] add note about reloading zshrc after editing (#3052)
  • [readme] Update shell profile file install notes (#2241)
  • [readme] add docker tips (#2318)
  • [readme] remove avn from readme (#3469)
  • [readme] fnm -> nvm.fish (#2541)

Refactors

  • prefer case over if/else chains
  • combine sed -e invocations/arguments

Tests

  • nvm exec/nvm run: add --silent tests (#1259)
  • [actions] release test needs git tags
  • migrate installation_iojs test suite to GitHub Actions (#3476)
  • Migrate slow test suite from Travis CI (#3470)
  • temporarily skip this failing travis test to unblock progress
  • [actions] TOC: use latest LTS node
  • install.sh: clean up nvm_detect_profile tests
  • nvm_detect_profile: refactor (#3467)
  • run urchin tests on pull requests (#3466)
  • update mocks
  • ensure that unit tests use only mocked LTS names
  • [actions] use node/install instead of node/run

Meta

  • disable blank issues
  • update issue template
  • add DCO (#3456)
  • Rename .github/ISSUE_TEMPLATE.md to .github/ISSUE_TEMPLATE/ISSUE_TEMPLATE.md (#3454)

v0.40.1

27 Aug 20:45
v0.40.1
179d450

Choose a tag to compare

Fixes

  • nvm_download: ensure all args are quoted
  • --save: avoid a conflict with set -e
  • nvm_has_colors: avoid an aliased tput
  • declare an unbound variable
  • nvm install -b: do not attempt to download source on a failed binary download with -b
  • nvm install -b: when no binary is available, fail and output a clear message

Refactors

  • --save: clean up some usage
  • install.sh: fix node capitalization

Tests

  • set proper permissions on test files
  • move sourcing suite to GHA
  • fix nvm ls-remote unit test

v0.40.0

30 Jul 20:18
v0.40.0
deac4e0

Choose a tag to compare

New Stuff

  • nvm use/nvm install: add --save option (#2869)
  • Add support for NVM_AUTH_HEADER env var (#3380)
  • allow .nvmrc files to support comments

Fixes

  • nvm_get_default_packages: use awk for more reliable file processing
  • Fix issue where zsh global aliases would break nvm help (#3394)
  • install-latest-npm: npm ^8.7 breaks npm ls with file: deps

Refactors

  • nvm_has_colors: also check the env var

Docs

  • [readme] add OpenJS Ecosystem Sustainability Program partner (#2232)
  • [readme] update CII badge URLs
  • [readme] Fix uninstall instructions (#3286)
  • [readme] Fix typo in WSL section of README (#3295)
  • [Docs] add nvm unload to uninstall nvm instructions (#3267)
  • [security] fix typo in threat model

Tests

  • ignore travis-ci env vars; improve debug output
  • [debug] adding logging to makefile
  • only install python 2.7 if not already installed
  • use a better JSON parsing implementation
  • ensure travis can access public repo submodules
  • [actions] improve default action permissions
  • [actions] update vampire/setup-wsl action
  • [actions] finisher tweaks
  • [actions] update action versions to use node 20 (#3299)
  • [Dev Deps] update markdown-link-check, semver

v0.39.7

06 Dec 05:51
v0.39.7
bab86d5

Choose a tag to compare

Fixes

v0.39.6

05 Dec 06:04
v0.39.6
c73009f

Choose a tag to compare

New Stuff

  • nvm_resolve_alias: only resolve one line of a multiline alias file
  • aliases: skip leading blank lines in alias file

Fixes

  • nvm_get_mirror: ensure only a valid URL is allowed
  • avoid overridden hash
  • install.sh: when NVM_INSTALL_GITHUB_REPO is set, issue a warning (#2868)
  • nvm_get_mirror: disallow some non-URL characters
  • nvm_get_arch: proper value for alpine linux (#3212)
  • nvm_normalize_lts: switch from expr to case

Robustness

  • nvm_list_aliases: avoid overwritten sort

Performance

  • nvm_check_file_permissions: do not traverse into symlinks

Dockerfile

  • Remove apt src disabling, no longer needed (#3199)
  • [Fix] add missing leading slash in path (#3195)

Documentation

  • [readme] fix level of headings (#3230)
  • [readme] add section on bare nvm install (#3221)
  • [readme] missing parenthesis (#3215)
  • [readme] update M1 to “Apple Silicon” because of M2 and M3; fix typos (#3242)
  • [readme] rearrange install args (#3222)
  • [readme] reorganize “deeper shell integration” instructions (#1569)
  • [security] add prose explaining OpenSSF CII Best Practices badge results
  • [security] add threat model

Tests

  • temporarily allow cygwin tests to fail
  • temporarily allow WSL tests to fail
  • ensure windows tests install a node that actually works
  • update test mocks (new LTS, iron)
  • switch cygwin mirror
  • fix filename typo (#3217)

v0.39.5

22 Aug 04:13
v0.39.5
c92adb3

Choose a tag to compare

Fixes

  • nvm_strip_path: Preserve leading/trailing colons (#3145)
  • allow checksums to pass with a leading backslash
  • nvm install-latest-npm: ensure npm 10 does not install on unsupported nodes

Docs

  • [readme] add examples of setting specific versions as default (#3151)

Tests

  • add some nvm_do_install tests
  • a cleaner name for the windows tests

v0.39.4

25 Jul 01:33
v0.39.4
8fbf8ab

Choose a tag to compare

Fixes

  • fix node download link for armv8l (#3102)
  • nvm exec: no longer error with '-q: invalid option' for zsh users (#2800)
  • nvm_print_npm_version: if npm exists but its node crashes, do not print the npm version
  • nvm_ls_current: when node is present but crashes immediately, echo "none"
  • fix directory traversal when workdir path is not readable (#3080)
  • recognize 32Bit docker container and use x86 arch (#3051)
  • Remove unneeded call to ls in nvm_arch (#3012)

Perf

  • Improve performance of listing aliases (#3060)

Docker

  • Update base image from Ubuntu 20.04 to 22.04, cc #2877 (#3078)

Docs

  • [readme] add nvshim tool alongside avn (#2193)
  • [readme] fix typo in resolv.conf filename (#3135)
  • [readme] Update logo header (#3123)
  • [readme] Add instructions on how to install without editing shell config (#3100)
  • [readme] cdnvm function: fix shellcheck errors (#3082)
  • [readme] Update Travis CI badge and link url (#3077)

Miscellaneous

  • [meta] Remove unavailable testing script (#3105)
  • [Dev Deps] update markdown-link-check, semver
  • [actions] allow nvm to be installed

Tests

  • add unit tests for nvm_download_artifact
  • npm bin has been removed
  • downgrade python to v2 on travis (#3067)
  • move install script tests to github actions
  • improve debug output on failure
  • force the NVM_DIR to the expected location, for tests
  • Update urchin repository link (#2989)

v0.39.3

23 Dec 20:59
v0.39.3
552db40

Choose a tag to compare

Fixes

  • nvm install-latest-npm: npm v6.14.18 can not be installed from npm < v4.4.4
  • ensure this variable is bound
  • debug: correct mistaken -V to --version from #2922
  • debug: awk: not an option: --version (#2922)
  • grep: warning: stray \ before / (#2919)
  • improve backward compatibility for non-gnu awk (#2917)
  • fix nvm install error unknown condition: -ne (#2915)

Tests

  • update test mocks (#2933)
  • move installation_node tests back to xenial
  • move tests that fail on focal to a separate suite that runs on xenial
  • update travis to use focal
  • [actions] fix latest-npm tests so they use this repo’s nvm instead of the last published one
  • fix nvm_list_aliases test to use mocks for LTS aliases

Docs

  • [meta] Improve contributors documentation (#2791)
  • [Docs] added WSL troubleshooting with solution to (6) Could not resolve host: raw.githubusercontent.com (#2961)

Refactors

  • add nvm_wrap_with_color_code; allow no color code