All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Unreleased (date goes here)
10.1.0 (2024-11-09)
--cleanup
option to delete cached version after install for a one-shot install (#818)download
command to download Node.js version into cache (#821)- document using
--download
with run/exec/which in README - support trailing comments in
.nvmrc
file (#820) - mask password in download URL when displayed (#815)
- removed stale code (#817)
10.0.0 (2024-09-06)
The major version bump is due to using jq
in preference to node
for reading package.json
.
- if
jq
is available, usejq
for readingengines
frompackage.json
instead of usingnode
(#810) - avoid a network lookup if auto or engine find a fully specified numeric version. (#813)
9.2.3 (2024-04-21)
- avoid problems with
curl
8.7.1 and--compressed
by removing option until fixed
9.2.2 (2024-04-21)
(No changes.)
9.2.1 (2024-02-25)
n doctor
works with customN_CACHE_PREFIX
- expand tests in
n doctor
for folder existence and permissions
9.2.0 (2023-10-15)
--offline
for resolving target version against cached downloads instead of internet lookup (#785)
9.1.0 (2023-04-15)
- check for possible problem with multiple
npm
locations when runningn doctor
(#764)
9.0.1 (2022-11-04)
Makefile
compatible with more flavours ofmake
(#745)- quote paths in
Makefile
in casePREFIX
contains spaces (#746)
9.0.0 (2022-07-16)
--preserve
preservescorepack
too (#736)
- optional
N_PRESERVE_COREPACK
to change default behaviour for preservingcorepack
(#736)
8.2.0 (2022-04-18)
- log before copying files during install (#720)
8.1.0 (2022-03-18)
- optional
N_CACHE_PREFIX
for separate location for downloaded files than install location (#717)
8.0.2 (2022-01-09)
- improved warning message when utility location hash may be holding old location to cover a wider range of shells including dash (#707)
8.0.1 (2021-12-04)
- improve error handling for tar extraction errors (#701)
- add tar flag for compatibility with tar builds which do not default to stdin (#697)
8.0.0 (2021-10-23)
- display error if version missing in version file for
n auto
andn engine
(rather than fallback to current) (#693)
7.5.0 (2021-09-26)
- support for Corepack (which was added to Node.js in v16.9.0)
7.4.1 (2021-09-11)
- run commands from correct directory after
--download
causes a download
7.4.0 (2021-09-10)
- support for
--download
option torun
andexec
to download the target version when needed (#685)
7.3.1 (2021-07-25)
- Improved README for new users missing expected folders in
/usr/local
(#679)
7.3.0 (2021-06-06)
- ls-remote supports
engine
andauto
labels (#675) - reduce
engine
andauto
logging with--quiet
(#675) - add WSL support to README (#676)
- support for Emacs up and down keys (
ctrl-p
andctrl-n
) (#669)
- diagnostic logging during processing of engine and auto written to stderr rather than stdout (#675)
7.2.2 (2021-04-25)
- arrow key navigation of version menu when terminal in application mode (e.g. PowerShell on Mac) (#668)
7.2.1 (2021-04-19)
- install native arm64 Node.js on Macs with Apple silicon for Node.js 16 and higher (#664)
7.2.0 (2021-04-19) [YANKED]
Released off wrong branch, essentially same as 7.1.0.
7.1.0 (2021-03-12)
- support installs where /usr/local/share/man is a symlink (such as archlinux)
- remove requirement for rsync for --preserve
- avoid install pollution if user installs global packages when using n exec
7.0.2 (2021-02-27)
- consistently log to STDOUT (#654)
7.0.1 (2021-01-30)
- update bats, and use bats-assert for better unit test failure messages
- fail to display error in some cases for missing both
curl
andwget
(#649)
7.0.0 (2020-12-20)
auto
label now scans forpackage.json
only if it can not find a version control file (#644)
engine
label to look forengines.node
inpackage.json
(as used byauto
) (#644)
- avoid colorized grep output via
GREP_OPTIONS
breaking version lookup (#643)
6.8.0 (2020-12-12)
- suppress unwanted warning during
auto
when using npx with npm 7 - temporary fix for installing on Mac with Apple M1 chip, look for x64 versions of node as arm64 not available yet
6.7.1 (2020-11-25)
- detect and handle a failed download of full archive (#635)
6.7.0 (2020-07-25)
auto
support for:.node-version
.nvmrc
engines
field ofpackage.json
6.6.0 (2020-07-04)
- labels for node support aliases, such as
lts_latest
- Enable
xz
support by default for macOS 11+ (#624)
6.5.1 (2020-04-11)
- specify
auto
to read the target version from a.n-node-version
file (i.e. change filename)
6.5.0 (2020-04-11) [YANKED]
- specify
auto
to read the target version from a.node-version
file (#616)
6.4.0 (2020-03-10)
- treat
armv8l
asarm64
(#614)
6.3.1 (2020-02-25)
- remove old version of node before copy to avoid firewall issues on macOS (#394)
6.3.0 (2020-02-24)
--preserve
to preserve npm and npx during install of node (#587)
6.2.0 (2020-01-29)
- Downloads now default to using tarballs compressed by
xz
overgzip
, ifxz
support detected. (#606 #607)
6.1.3 (2019-11-23)
- added How It Works to README
- simplified layout for
n doctor
output
6.1.2 (2019-11-16)
- advice to reset command hash when node location changes (#170 #381 #451 #588)
- in README describe raw download of
n
to bootstrap install of node and npm
6.1.1 (2019-11-10)
- Specify
--no-same-owner
for tarball extraction so cache files not owned by unexpected user (when run with sudo) (#593)
6.1.0 (2019-10-25)
- deletion of cached versions from menu using 'd' (#590)
6.0.1 (2019-08-20)
- allow options to come after commands, especially
n lsr --all
6.0.0 (2019-08-16)
- version specified using release stream codenames, like
argon
(#423) - version specified using nightly et al (#376)
n exec
for running arbitrary command with node and npm inPATH
(#185)n run
with legacy aliases ofas
anduse
n lsr
for listing matching remote versions, limited to 20 by default (#383)n doctor
for displaying diagnostic informationn install
for people used to other products with this command (#524)--insecure
to disable curl/wget certificate checks- added npm version to installed message (#210 #484 #574)
- Breaking wget now checks certificates (secure by default, same as curl setup). (#475 #509)
- failure messages go to stderr instead of stdout
- prefixed
N_NODE_MIRROR
to eventually replaceNODE_MIRROR
- Breaking
n ls
now lists local download versions (rather than remote versions) - lookup available versions using
index.tab
rather than screen-scraping (#560)
- download errors display informative message, instead of just
Invalid version
(#482 #492 et al) - improve reliability of downloads from custom node mirrors, including removing broken
is_oss_ok
(#560) - restrict downloads to versions with architecture available (#463)
- Breaking support for
PROJECT_NAME
andPROJECT_URL
for custom downloads (#342)
5.0.2 (2019-08-02)
- instructions to bottom of menu version selection
5.0.1 (2019-07-20)
- removed reference to prerelease version of v5.0.0 from README
5.0.0 (2019-07-20)
- log message after install from cache (previously silent)
- extra logging after install if the active and installed node locations are different
- support for NO_COLOR and CLICOLOR=0
- suppress progress and colour if not interactive tty
- define
N_USE_XZ
to download.xz
compressed archives instead of.gz
archives
- reinstalling active node version always does reinstall (previously silently did nothing)
- log message for installing using menu now same format as
npm install
message - updates to GitHub templates and guidelines for contributing et al
4.1.0 (2019-05-10)
- 'n uninstall` to remove node and npm
- describe
NODE_MIRROR
inREADME
PROJECT_NAME
andPROJECT_URL
fromREADME
. First step to deprecatingn project
. Open an issue if you still need this!
4.0.0 (2019-05-05)
Only minor functional changes, but technically could break scripts relying on specific behaviour.
- remove trailing space from
bin
output #456
- development tests #545
- internal: improve shell script based on ShellCheck suggestions, quoting variables use etc #187 #465
- put single quote marks around parameters to clarify error messages #485
- update terminology to be more careful with current/latest #522
3.0.2 (2019-04-07)
- permission denied errors when running read-only commands without sudo #416
3.0.1 (2019-04-05)
- lts lookup on node mirrors which don't purge old versions (e.g. taobao) #512
- hide cursor while selecting version from menu #528
- gitter badge from README, as gitter chatroom inactive
- inactive Core Team from README
- instructions for scripted install of npm from README, which should no longer be needed and not working on Mac #536
3.0.0 (2019-03-29)
- allow
n rm
of active version of node #541 #169 #327 #441 - show more version examples in README, including partial version number #548
- updated description of interactive version selection #518
- make (old) stable an alias for lts #467 #335
- replace use of
which
with more standardcommand -v
#532