Skip to content

Releases: nvm-sh/nvm

v0.31.1

10 May 05:11
ec2f450
Compare
Choose a tag to compare

New Stuff

  • nvm uninstall: Check installation dir permissions before uninstalling; display "fix" commands (#847)
  • nvm alias: colorize output to match nvm ls
  • nvm alias: colorize output when creating aliases
  • nvm ls/nvm alias/nvm ls-remote: only colorize when colors are supported

Fixes

  • don’t use bash == in conditionals
  • nvm run: pass through --silent on bare nvm run
  • nvm exec: show “io.js” for io.js versions
  • set -e: ensure nvm_version returning 3, and nvm_alias returning 2, doesn’t terminate the process
  • nvm alias: explicitly forbid user aliases in subdirs
  • read exits 1 when .nvmrc lacks a trailing newline; avoid that
  • set -x: avoid an unbound variable
  • deactivate: unset $NVM_BIN and $NVM_PATH (#1033)

Performance

  • nvm alias: slightly speed up alias resolution
  • Use awk to improve version comparison performance

Robustness

  • add a missing command to a sed call

Misc

  • Various README tweaks
  • Various testing improvements
  • Prefer nvm --help over nvm help

v0.31.0

15 Feb 17:21
Compare
Choose a tag to compare

New Stuff

  • install: After installing, ensure that a default is set.
  • install: added optional sha256 support (#981)

Fixes

  • nvm-exec: properly exit when failing; improve error messages, suppress nvm use --help output (#997)
  • internal nvm_format_version should only return 3 version groups
  • Use env bash instead of /bin/bash in a few places (#1004)
  • Do not modify args of sourcing script when parsing --install/--no-use arg (#1011, #976)

Docs

  • Document how to reload nvm after upgrading (#1007)

v0.30.2

21 Jan 08:32
Compare
Choose a tag to compare

New Stuff

  • Support the --no-use argument when sourcing, on shells that support that (#972)

Fixes

  • handle unbound shell variables (#868)
  • install.sh: honor PROFILE var (#957, #888, #830)
  • nvm debug was printing a red herring error message in non-zsh

Docs

  • Add manual upgrade instructions to README.markdown (#968)

v0.30.1

28 Dec 20:47
Compare
Choose a tag to compare

Fix

  • nvm install -s: fix some shell syntax errors
  • install.sh: quote $DETECTED_PROFILE for when usernames have spaces (#952)

Refactor

  • Create nvm_get_make_jobs to abstract out “-j” logic

v0.30.0

28 Dec 07:30
Compare
Choose a tag to compare

New Stuff

  • nvm install -s now uses more CPUs, and supports a -j option to override the default (#752)

Fixes

  • Check $# before trying to check $1. Avoids failure due to nounset bash option (#868, #873)
  • Ensure that npm doesn't print out excess data, regardless of the user's log level (#881)
  • Fix npm version output for nvm run and nvm exec
  • Add prompt when there is no binary for node version greater than v1.0.0 (#899)
  • nvm unalias: Provide a restore command when unaliasing (#916)
  • nvm install: incorrect check for "$NVM_DIR/nvm.sh" (#887)
  • Fix nvm-exec for commands including spaces (#950, #903)

Refactors

  • Use nvm_ls_remote_index_tab for listing nodejs.org versions (unblocks #870)
  • Replace backticks with $() command substitution (#875)
  • improved bootstrap time (#860, #927)

Tests

  • Print out curl and wget versions inside travis-ci
  • temporarily disable WITHOUT_CURL tests. (nodejs/build#233)
  • update nodejs.org-dist-index.tab and related test (#945)
  • Add workaround for Travis CI environment issue (travis-ci/travis-ci#5363)

Docs

  • Note compatibility issue with set -e (#865)
  • README: Add link to a dedicated nvm wrapper for fish shell (#876)
  • stable → node (#892)
  • update version numbers in the readme; add default alias info
  • improve manual install instructions
  • Add nodist, another Windows alternative (#908)
  • remove nvmw (#938)
  • remove note about "global install", since nvm is not intended for multiuser installs.
  • talk about FreeBSD support (#901)
  • inform OSX users that XCode doesn't need to be installed (#921, #925)

v0.29.0

09 Oct 08:55
Compare
Choose a tag to compare

Fixes

  • Protect against cat clobbering in nvm alias (#858)
  • Fix nvm ls when $NVM_DIR has spaces in it (#861)
  • Make sure nvm debug doesn't use an overridden sed
  • nvm exec: don't fall back to .nvmrc when the provided version is not installed

Enhancements

  • Ensure nvm use output shows up after prefix check passes
  • [installing] echo the URL that the tarball is being downloaded from
  • nvm run: use common code path for "ensure version installed"
  • Use xz tarballs if available (#823)
    • This saves ~25% bandwidth while downloading node installers for io.js v2.3.2 and later, and node v4.0 and later.

Documentation

  • indicate that the install script is also for updating (#859)

v0.28.0

02 Oct 08:52
Compare
Choose a tag to compare

New Stuff

  • Fix support for installing node on SmartOS (#854)

Enhancements

  • Sort nvm ls results by semver version, so the order goes: "unmerged node", "iojs", "merged node"

Debugging

  • Refactored and added some info to nvm debug

v0.27.1

27 Sep 13:41
Compare
Choose a tag to compare

Install script fix

  • Prevent the install script from exiting on errors; errors are a normal part of the script (#853)

v0.27.0

26 Sep 17:21
Compare
Choose a tag to compare

Better node 4+ support!

  • Separate code paths for "merged" node
  • Clearer error messages
  • Sort nvm ls-remote output so the order is: "pre-merged", "iojs", "post-merged".

Installing from source?

io.js and node v4.0+ still do not yet support installing from source. This isn't because it's hard to implement, it's because the tests for it time out on travis-ci. I don't want to add critical functionality without tests. I'm still trying to get this implemented and tested.

Release candidates?

io.js and node v4.0+ release candidate support is coming. It will not be enabled by default: you'll have to export an explicit environment variable to turn it on. However, this will allow node core developers, and module developers, to test upcoming releases easily on travis-ci and locally. Keep an eye out for it!

Having an npm prefix now errors out properly!

Essentially, the "prefix" option in npm breaks nvm, because global modules won't be stored within $NVM_DIR. nvm will now refuse to function if you have this set, eliminating much confusion!

  • Ensure that if npm config get prefix is set to something outside nvm, that nvm use refuses to work (#606)

Other Enhancements

  • Allow --silent option to nvm use to be in any position
  • Print the npm version when using nvm exec or nvm run.
  • Add support for --silent to nvm run and nvm exec (#842)

Fixes

  • Use NVM_VERSION instead of VERSION when sourcing to be a bit less intrusive (#820)
  • When no io.js versions are installed, show N/A, not io.js-, as the resolved default alias (#822)
  • Fix install script to not lie and claim to be auto-sourcing nvm.sh (#826, #827)
  • Use a tighter grep to avoid dnvm.sh conflicts (#838)

Documentation

  • Add nvm help documentation for nvm exec

v0.26.1

23 Aug 04:01
Compare
Choose a tag to compare

Road to Post-Merger Node Support

  • Ensure after node v4.0 is released, stable will simply refer to the latest node.
  • Still TODO: use io.js installation code path for node versions > v1.0

Fixes

  • Prefixing more commands with command to bypass aliases (#804, #805)
  • Fixing an overzealous command-ification (#808)