Skip to content

Releases: nvm-sh/nvm

v0.40.1

27 Aug 20:45
v0.40.1
179d450
Compare
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
Compare
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
Compare
Choose a tag to compare

Fixes

v0.39.6

05 Dec 06:04
v0.39.6
c73009f
Compare
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
Compare
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
Compare
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
Compare
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

v0.39.2

13 Oct 23:26
v0.39.2
0ccd099
Compare
Choose a tag to compare

Fixes

  • --help: proper default NVM_COLORS info
  • nvm install-latest-npm: ensure npm 9 does not install on unsupported nodes
  • install.sh: support ~/.zprofile (#2892, #2868, #2232)
  • Don't override Mac M1 architecture for node ^14.17 (#2777)
  • nvm install: show proper version in .nvmrc install instructions (#2770)
  • install.sh: error out if the install instructions are not followed (#2742)
  • install: better error message when xcode command line tools are needed
  • avoid OpenBSD nvm install error when /sbin/init doesn't exist (#2698)
  • set -E: Add test for node install on Bash with an ERR trap and set -E
  • add missing local (handle nonexisting /sbin/init a bit more cleanly) (#2678)
  • Update nvm_extract_tarball to support OpenBSD (#2693)

Performance

  • nvm_print_versions: re-implement using awk

Robustness

  • avoid a clobbered ls (#2727)

Refactors

  • nvm install/nvm_install_default_packages: move "get" logic inside helper
  • add nvm_extract_tarball to consolidate extraction logic

Docs / Read Me

  • Update Alpine Linux Section (#2896)
  • optimize calling of nvm version in zsh (#2874)
  • Fix Ansible Linting Errors (#2861)
  • cdnvm(): handle failed dir change (#2840)
  • Fix Git Install instruction list structure (#2823)
  • add logo
  • minor cleanup
  • Add note about creating .bashrc file as well as .bash_profile (#2729)
  • fish: send output from load_nvm to /dev/stderr (#2783)
  • fix fish load_nvm variable interpolations (#2776)
  • Correct typos in "Macs with M1 chip" section (#2760)
  • HTTP => HTTPS (#2735, #2713)
  • clarify instructions for running Node on M1 Mac (#2675)

Dockerfile

  • Update base image from Ubuntu 18.04 to 20.04, cc #2877 (#2882)

Misc

  • [meta] Update CODE_OF_CONDUCT to current version (#2790)

Tests

  • update test mocks
  • github actions removed homebrew and broke shellcheck (#2907)
  • node 18 no longer builds in travis-ci (#2907)

v0.39.1

17 Dec 22:58
v0.39.1
9600617
Compare
Choose a tag to compare

New Stuff

  • Add OpenBSD support (#1062)

Fixes

  • ls-remote/install: support lts/-X patterns in installs
  • ls-remote/install: properly handle lts/x patterns
  • nvm alias/nvm_list_aliases: support lts/ aliases
  • nvm_get_download_slug: better architecture selection for M1 Macs
  • install: fix method=script install condition (#2668)
  • install: properly check for curl/wget
  • install script: Add --no-pager option to git branch (#2637)

Refactors

  • create nvm_normalize_lts helper
  • [shellcheck] apply v0.8.0 updates

Docs

  • [readme] Balance the if statement in bash example (#2658)
  • [readme] Describe another failure case for installing node versions from source on mac arm64 machines (#2653)

Tests

  • [actions] add step security runner (#2659)
  • [Tests] update test mocks
  • [Tests] nvm_get_download_slug: add unit tests (#2657, #2232)
  • [Tests] fix windows WSL tests
  • [Dev Deps] update doctoc, markdown-link-check

v0.39.0

07 Oct 17:35
v0.39.0
5b3d188
Compare
Choose a tag to compare

New Stuff

  • maybe support Windows with WSL, MSYS, Cygwin (#2391)

Fixes

  • nvm install-latest-npm: ensure npm 8 does not install on unsupported nodes
  • nvm_die_on_prefix: filter prefixed env vars on name only, ignoring values (#2368)
  • set -a: when this option is set, some sh shells break
  • bash_completion: be robust when cd is overridden (#2585)
  • nvm_die_on_prefix: avoid grepping env functions in bash (2dad045, #2606)
  • reinstall-packages: handle global symlink locations properly
  • nvm_ls_remote_index_tab: handle long version lists (#2581)
  • nvm ls/nvm alias/nvm_list_aliases: zsh: when no LTS aliases, no error
  • install: Detect correct profile based on $SHELL var (#2556)
  • nvm_get_arch: suppress error output if /sbin does not exist
  • bash_completion: check if compinit is called before calling it (#2490)
  • nvm_get_arch: Rasbperry Pi: armv7l with arm64 kernel, get correct arch (#2469)
  • install script: check the proper version; fetch tags also (#9)

Robustness

  • avoid IFS shenanigans: quote arg count/return codes

Refactors

  • Use awk for path stripping (#1360)
  • [shellcheck] disable additional -x warning from v0.7.2
  • [shellcheck] update for new warnings in v0.7.2

Dockerfile

  • Update dated base image from Ubuntu 16.04 to 18.04 (#2571)

Docs

  • [readme] link "Windows WSL" down to the "important notes" section (#2502)
  • [readme] Add bash_completion in "manual install" section (#2620)
  • [readme] Use absolute URL for #606 in README.md (#1656)
  • [readme] Add quick intro to nvm (#1343)
  • [readme] Add info to restart bash if verification not working in verification section (#1749)
  • [readme] Avoid infinite loop in cdnvm() (#2605)
  • [readme] remove duplicate word 'run' (#2609)
  • [readme] updated automatic call script for bash (#2604)
  • [readme] fixed small typo afew to a few (#2517)
  • [readme] fix typo regarding docker image base in Dockerfile (#2573)
  • [readme] move License and Copyright notice sections to the bottom
  • [readme] remove redundant "license" section text in favor of LICENSE.md
  • [readme] Improve README about Macs with M1 chips (#2479)

Meta Stuff

  • add project charter and governance
  • add OpenJS Foundation copyright notices/links
  • add SECURITY.md

Tests

  • use a matrix on the nvm install-latest-npm tests
  • blacklist expired LetsEncrypt CA (#2623)
  • Add markdown-link-check script
  • nvm install-latest-npm: node < 0.10 breaks with npm with dropped support for TLS < 1.2
  • Print shell version in Travis CI (#1471)
  • [actions] restrict permissions for GITHUB_TOKEN (#2584)
  • postcss v7.0.36 stopped working on node 0.10; downgrade to v4
  • update mocks
  • disable fail-fast
  • [actions] fix typo in dockerfile_lint job
  • [actions] use node/install instead of node/run
  • [actions] adjust shellcheck/windows tests to9 have a final "done" job
  • Add unit tests for nvm_is_version_installed
  • node-gyp v8 breaks a test

New Contributors