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.
9.0.0 (2022-07-16)
--preservepreservescorepacktoo (#736)
- optional
N_PRESERVE_COREPACKto 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_PREFIXfor 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 autoandn 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
--downloadcauses a download
7.4.0 (2021-09-10)
- support for
--downloadoption torunandexecto 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
engineandautolabels (#675) - reduce
engineandautologging with--quiet(#675) - add WSL support to README (#676)
- support for Emacs up and down keys (
ctrl-pandctrl-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
curlandwget(#649)
7.0.0 (2020-12-20)
autolabel now scans forpackage.jsononly if it can not find a version control file (#644)
enginelabel to look forengines.nodeinpackage.json(as used byauto) (#644)
- avoid colorized grep output via
GREP_OPTIONSbreaking version lookup (#643)
6.8.0 (2020-12-12)
- suppress unwanted warning during
autowhen 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)
autosupport for:.node-version.nvmrcenginesfield ofpackage.json
6.6.0 (2020-07-04)
- labels for node support aliases, such as
lts_latest
- Enable
xzsupport by default for macOS 11+ (#624)
6.5.1 (2020-04-11)
- specify
autoto read the target version from a.n-node-versionfile (i.e. change filename)
6.5.0 (2020-04-11) [YANKED]
- specify
autoto read the target version from a.node-versionfile (#616)
6.4.0 (2020-03-10)
- treat
armv8lasarm64(#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)
--preserveto preserve npm and npx during install of node (#587)
6.2.0 (2020-01-29)
- Downloads now default to using tarballs compressed by
xzovergzip, ifxzsupport detected. (#606 #607)
6.1.3 (2019-11-23)
- added How It Works to README
- simplified layout for
n doctoroutput
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
nto bootstrap install of node and npm
6.1.1 (2019-11-10)
- Specify
--no-same-ownerfor 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 execfor running arbitrary command with node and npm inPATH(#185)n runwith legacy aliases ofasandusen lsrfor listing matching remote versions, limited to 20 by default (#383)n doctorfor displaying diagnostic informationn installfor people used to other products with this command (#524)--insecureto 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_MIRRORto eventually replaceNODE_MIRROR - Breaking
n lsnow lists local download versions (rather than remote versions) - lookup available versions using
index.tabrather 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_NAMEandPROJECT_URLfor 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_XZto download.xzcompressed archives instead of.gzarchives
- reinstalling active node version always does reinstall (previously silently did nothing)
- log message for installing using menu now same format as
npm installmessage - 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_MIRRORinREADME
PROJECT_NAMEandPROJECT_URLfromREADME. 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
binoutput #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 rmof 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
whichwith more standardcommand -v#532