From f534fde760f4cf1aa47eb2f04350c14bb1f67c6b Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Tue, 6 Apr 2021 12:36:07 -0700 Subject: [PATCH 01/54] [Tests] `node-gyp` v8 breaks this test --- test/slow/nvm reinstall-packages/should work as expected | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/slow/nvm reinstall-packages/should work as expected b/test/slow/nvm reinstall-packages/should work as expected index d6aa9f1..de6962f 100755 --- a/test/slow/nvm reinstall-packages/should work as expected +++ b/test/slow/nvm reinstall-packages/should work as expected @@ -11,7 +11,7 @@ nvm use 0.10.28 (cd test-npmlink && npm link) EXPECTED_PACKAGES="autoprefixer bower david grunt-cli grunth-cli http-server jshint marked node-gyp npmlist postcss recursive-blame spawn-sync test-npmlink uglify-js yo" -EXPECTED_PACKAGES_INSTALL="autoprefixer bower david@11 grunt-cli grunth-cli http-server jshint marked node-gyp npmlist postcss@7 recursive-blame spawn-sync test-npmlink uglify-js yo@1" +EXPECTED_PACKAGES_INSTALL="autoprefixer bower david@11 grunt-cli grunth-cli http-server jshint marked node-gyp@7 npmlist postcss@7 recursive-blame spawn-sync test-npmlink uglify-js yo@1" echo "$EXPECTED_PACKAGES_INSTALL" | sed -e 's/test-npmlink //' | xargs npm install -g --quiet From 2b5e53fcd57409e018b468fd05eebad06fbff3fa Mon Sep 17 00:00:00 2001 From: Sladyn Nunes Date: Thu, 1 Apr 2021 19:06:40 +0530 Subject: [PATCH 02/54] [Fix] install script: check the proper version; fetch tags also Co-authored-by: Sladyn Nunes Co-authored-by: Jordan Harband --- test/install_script/install_nvm_from_git | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/test/install_script/install_nvm_from_git b/test/install_script/install_nvm_from_git index 161bbcb..e5e391e 100755 --- a/test/install_script/install_nvm_from_git +++ b/test/install_script/install_nvm_from_git @@ -55,14 +55,18 @@ test_install_data() { local ref="$4" local changeset="$5" local avoid_ref="$6" + if [ -n "$ref" ]; then - echo "$current_ref" | grep -q "$ref" || die "install_nvm_from_git $message did not clone with ref $ref" + echo "$current_ref" | grep -q "$ref" || die "install_nvm_from_git ${message} did not clone with ref ${ref}" fi - if [ -n "$avoid_ref" ]; then - echo "$current_ref" | grep -q "$avoid_ref" && die "install_nvm_from_git $message did clone with unwanted ref $avoid_ref" + + local head_ref="$(git for-each-ref --points-at HEAD --format='%(refname:short)' 'refs/tags/')" + if [ -n "${avoid_ref}" ] && [ "${head_ref}" != "${avoid_ref}"]; then + echo "${current_ref}" | grep -q "$avoid_ref" && die "install_nvm_from_git ${message} did clone with unwanted ref ${avoid_ref}" fi + if [ -n "$changeset" ]; then - echo "$current_changeset" | grep -q "$changeset" || die "install_nvm_from_git $message did not clone with changeset $changeset" + echo "${current_changeset}" | grep -q "${changeset}" || die "install_nvm_from_git ${message} did not clone with changeset ${changeset}" fi } @@ -73,7 +77,11 @@ test_install_data() { # - 4: changeset to check ("" if none) # - 5: ref to avoid ("" if none) test_install() { - NVM_INSTALL_VERSION="$1" + if [ -n "${1-}" ]; then + export NVM_INSTALL_VERSION="$1" + else + unset NVM_INSTALL_VERSION + fi local message="$2" local ref="$3" local changeset="$4" From 779a34e6a9adcb6528e63d595a7a8838747e7915 Mon Sep 17 00:00:00 2001 From: Botspot <54716352+Botspot@users.noreply.github.com> Date: Mon, 22 Mar 2021 14:56:25 -0500 Subject: [PATCH 03/54] [Fix] `nvm_get_arch`: Rasbperry Pi: armv7l with arm64 kernel, get correct arch Co-authored-by: Botspot <54716352+Botspot@users.noreply.github.com> Co-authored-by: Jordan Harband Co-authored-by: Sladyn Nunes --- nvm.sh | 8 ++++++++ test/fast/Unit tests/nvm_get_arch | 2 ++ 2 files changed, 10 insertions(+) diff --git a/nvm.sh b/nvm.sh index edf964a..aab6c5d 100644 --- a/nvm.sh +++ b/nvm.sh @@ -1796,6 +1796,14 @@ nvm_get_arch() { aarch64) NVM_ARCH="arm64" ;; *) NVM_ARCH="${HOST_ARCH}" ;; esac + + # If running a 64bit ARM kernel but a 32bit ARM userland, change ARCH to 32bit ARM (armv7l) + L=$(ls -dl /sbin/init) # if /sbin/init is 32bit executable + if [ "$(uname)" = "Linux" ] && [ "${NVM_ARCH}" = arm64 ] && [ "$(od -An -t x1 -j 4 -N 1 "${L#*-> }")" = ' 01' ]; then + NVM_ARCH=armv7l + HOST_ARCH=armv7l + fi + nvm_echo "${NVM_ARCH}" } diff --git a/test/fast/Unit tests/nvm_get_arch b/test/fast/Unit tests/nvm_get_arch index f064203..aaf3e83 100755 --- a/test/fast/Unit tests/nvm_get_arch +++ b/test/fast/Unit tests/nvm_get_arch @@ -79,4 +79,6 @@ run_test amd64 smartos x64 no_pkg_info run_test x86 osx x86 run_test amd64 osx x64 +run_test arm64 smartos x64 + cleanup From 5fcec573eba739c4474cdb460e8ed32adba07f5f Mon Sep 17 00:00:00 2001 From: Leandro Facchinetti Date: Mon, 5 Apr 2021 16:25:41 +0100 Subject: [PATCH 04/54] [readme] Improve README about Macs with M1 chips Mention that you must have Rosetta 2 installed and provide instructions on how to do it. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b43a699..160d2ed 100644 --- a/README.md +++ b/README.md @@ -905,6 +905,7 @@ Let's assume that: - you already have versions `12.20.1` and `14.15.4` installed using `nvm` - the current version in use is `14.15.4` - you are using the `zsh` shell +- you have Rosetta 2 installed (macOS prompts you to install Rosetta 2 the first time you open a Intel-only non-command-line application, or you may install Rosetta 2 from the command line with `softwareupdate --install-rosetta`) ```sh # Check what version you're running: From d118be8fd41b90857058f0f10607d7d8c39c209c Mon Sep 17 00:00:00 2001 From: nmarghetti Date: Sun, 21 Feb 2021 18:48:43 +0100 Subject: [PATCH 05/54] [Tests] Add unit tests for `nvm_is_version_installed` --- test/fast/Unit tests/nvm_is_version_installed | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 test/fast/Unit tests/nvm_is_version_installed diff --git a/test/fast/Unit tests/nvm_is_version_installed b/test/fast/Unit tests/nvm_is_version_installed new file mode 100644 index 0000000..d530658 --- /dev/null +++ b/test/fast/Unit tests/nvm_is_version_installed @@ -0,0 +1,47 @@ +#!/bin/sh + +cleanup () { + rm -rf "$NVM_DIR" + unset -f die cleanup check_version + unset NVM_DIR NODE_PATH +} +die () { echo "$@" ; cleanup ; exit 1; } + +\. ../../../nvm.sh + +set -ex + +NVM_DIR=$(mktemp -d) +NODE_PATH="$NVM_DIR/versions/node" +mkdir -p "$NODE_PATH" +if [ -z "$NODE_PATH" ]; then + die 'Unable to create temporary folder' +fi + +check_version() { + local VERSION + local BINARY + VERSION=$1 + BINARY=$2 + + # nvm_is_version_installed fails with non existing version + ! nvm_is_version_installed "$VERSION" || die "nvm_is_version_installed $VERSION should fail with non existing version" + + # nvm_is_version_installed fails with non executable existing version + mkdir -p "$NODE_PATH/$VERSION/bin" && cd "$NODE_PATH/$VERSION/bin" && touch "$NODE_PATH/$VERSION/bin/$BINARY" + ! nvm_is_version_installed "$VERSION" || die "nvm_is_version_installed $VERSION should fail with non executable existing version" + + # nvm_is_version_installed whould work + chmod +x "$NODE_PATH/$VERSION/bin/$BINARY" + nvm_is_version_installed "$VERSION" || die "nvm_is_version_installed $VERSION should work" +} + +# nvm_is_version_installed is available +type nvm_is_version_installed > /dev/null 2>&1 || die 'nvm_is_version_installed is not available' + +# nvm_is_version_installed with no parameter fails +! nvm_is_version_installed || die 'nvm_is_version_installed without parameter should fail' + +check_version '12.0.0' 'node' + +cleanup From f2582275f607af143fdda46bc88f090660a16a97 Mon Sep 17 00:00:00 2001 From: nmarghetti Date: Sat, 2 Jan 2021 00:03:24 +0100 Subject: [PATCH 06/54] [New] maybe support Windows with WSL, MSYS, Cygwin --- .github/workflows/windows-npm.yml | 106 ++++++++++++++++++ README.md | 2 +- nvm.sh | 81 +++++++++---- .../Unit tests/nvm_get_artifact_compression | 6 + .../Unit tests/nvm_install_binary_extract | 3 + test/fast/Unit tests/nvm_is_version_installed | 9 +- 6 files changed, 186 insertions(+), 21 deletions(-) create mode 100755 .github/workflows/windows-npm.yml diff --git a/.github/workflows/windows-npm.yml b/.github/workflows/windows-npm.yml new file mode 100755 index 0000000..2515a23 --- /dev/null +++ b/.github/workflows/windows-npm.yml @@ -0,0 +1,106 @@ +name: 'Tests on Windows: `nvm install`' + +on: [pull_request, push] + +env: + NVM_INSTALL_GITHUB_REPO: ${{ github.repository }} + NVM_INSTALL_VERSION: ${{ github.sha }} + +jobs: + node_fail_install: + # Default installation does not work due to npm_config_prefix set to C:\npm\prefix + name: 'MSYS fail prefix nvm install' + runs-on: windows-latest + steps: + - name: Retrieve nvm + shell: bash + run: | + curl -fsSLo- "https://raw.githubusercontent.com/${NVM_INSTALL_GITHUB_REPO}/${NVM_INSTALL_VERSION}/install.sh" | METHOD=script bash + . "$HOME/.nvm/nvm.sh" + ! nvm install --lts + nodes: + name: 'MSYS nvm install' + runs-on: windows-latest + strategy: + matrix: + npm-node-version: + - '--lts' + - '--default 12' + - '--no-progress 10' + steps: + - name: Retrieve nvm + shell: bash + run: | + unset npm_config_prefix + if [ "${{ matrix.npm-node-version }}" = "--lts" ]; then + curl -fsSLo- "https://raw.githubusercontent.com/${NVM_INSTALL_GITHUB_REPO}/${NVM_INSTALL_VERSION}/install.sh" | bash + else + curl -fsSLo- "https://raw.githubusercontent.com/${NVM_INSTALL_GITHUB_REPO}/${NVM_INSTALL_VERSION}/install.sh" | METHOD=script bash + fi + . "$HOME/.nvm/nvm.sh" + nvm install ${{ matrix.npm-node-version }} + node_cygwin: + name: 'Cygwin nvm install' + runs-on: windows-latest + steps: + - name: Install Cygwin + shell: bash + run: | + export SITE='https://mirror.clarkson.edu/cygwin/' + export LOCALDIR="$(pwd)" + export ROOTDIR="$USERPROFILE\\cygwin" + export PACKAGES='bash,git,curl' + + curl -fsSLo setup-x86_64.exe 'https://cygwin.com/setup-x86_64.exe' + ./setup-x86_64.exe --disable-buggy-antivirus -q -s "$SITE" -l "$LOCALDIR" -R "$ROOTDIR" -P "$PACKAGES" + + cat >~/setup.sh </dev/null)"/bin/node ] + if [ -z "${1-}" ]; then + return 1 + fi + local NVM_NODE_BINARY + NVM_NODE_BINARY='node' + if [ "_$(nvm_get_os)" = '_win' ]; then + NVM_NODE_BINARY='node.exe' + fi + if [ -x "$(nvm_version_path "$1" 2>/dev/null)/bin/${NVM_NODE_BINARY}" ]; then + return 0 + fi + return 1 } nvm_print_npm_version() { @@ -326,10 +337,14 @@ nvm_tree_contains_path() { return 2 fi + local previous_pathdir + previous_pathdir="${node_path}" local pathdir - pathdir=$(dirname "${node_path}") - while [ "${pathdir}" != "" ] && [ "${pathdir}" != "." ] && [ "${pathdir}" != "/" ] && [ "${pathdir}" != "${tree}" ]; do - pathdir=$(dirname "${pathdir}") + pathdir=$(dirname "${previous_pathdir}") + while [ "${pathdir}" != '' ] && [ "${pathdir}" != '.' ] && [ "${pathdir}" != '/' ] && + [ "${pathdir}" != "${tree}" ] && [ "${pathdir}" != "${previous_pathdir}" ]; do + previous_pathdir="${pathdir}" + pathdir=$(dirname "${previous_pathdir}") done [ "${pathdir}" = "${tree}" ] } @@ -1763,6 +1778,7 @@ nvm_get_os() { FreeBSD\ *) NVM_OS=freebsd ;; OpenBSD\ *) NVM_OS=openbsd ;; AIX\ *) NVM_OS=aix ;; + CYGWIN* | MSYS* | MINGW*) NVM_OS=win ;; esac nvm_echo "${NVM_OS-}" } @@ -1892,23 +1908,37 @@ nvm_install_binary_extract() { command mkdir -p "${TMPDIR}" && \ VERSION_PATH="$(nvm_version_path "${PREFIXED_VERSION}")" || return 1 - local tar_compression_flag - tar_compression_flag='z' - if nvm_supports_xz "${VERSION}"; then - tar_compression_flag='J' - fi - - local tar - if [ "${NVM_OS}" = 'aix' ]; then - tar='gtar' + # For Windows system (GitBash with MSYS, Cygwin) + if [ "${NVM_OS}" = 'win' ]; then + VERSION_PATH="${VERSION_PATH}/bin" + command unzip -q "${TARBALL}" -d "${TMPDIR}" || return 1 + # For non Windows system (including WSL running on Windows) else - tar='tar' + local tar_compression_flag + tar_compression_flag='z' + if nvm_supports_xz "${VERSION}"; then + tar_compression_flag='J' + fi + + local tar + if [ "${NVM_OS}" = 'aix' ]; then + tar='gtar' + else + tar='tar' + fi + command "${tar}" -x${tar_compression_flag}f "${TARBALL}" -C "${TMPDIR}" --strip-components 1 || return 1 fi - command "${tar}" -x${tar_compression_flag}f "${TARBALL}" -C "${TMPDIR}" --strip-components 1 || return 1 command mkdir -p "${VERSION_PATH}" || return 1 - command mv "${TMPDIR}/"* "${VERSION_PATH}" || return 1 + if [ "${NVM_OS}" = 'win' ]; then + command mv "${TMPDIR}/"*/* "${VERSION_PATH}" || return 1 + command chmod +x "${VERSION_PATH}"/node.exe || return 1 + command chmod +x "${VERSION_PATH}"/npm || return 1 + command chmod +x "${VERSION_PATH}"/npx 2>/dev/null + else + command mv "${TMPDIR}/"* "${VERSION_PATH}" || return 1 + fi command rm -rf "${TMPDIR}" @@ -2042,7 +2072,9 @@ nvm_get_artifact_compression() { local COMPRESSION COMPRESSION='tar.gz' - if nvm_supports_xz "${VERSION}"; then + if [ "_${NVM_OS}" = '_win' ]; then + COMPRESSION='zip' + elif nvm_supports_xz "${VERSION}"; then COMPRESSION='tar.xz' fi @@ -2409,6 +2441,9 @@ nvm_die_on_prefix() { return 3 fi + local NVM_OS + NVM_OS="$(nvm_get_os)" + # npm normalizes NPM_CONFIG_-prefixed env vars # https://github.com/npm/npmconf/blob/22827e4038d6eebaafeb5c13ed2b92cf97b8fb82/npmconf.js#L331-L348 # https://github.com/npm/npm/blob/5e426a78ca02d0044f8dd26e0c5f881217081cbd/lib/config/core.js#L343-L359 @@ -2420,6 +2455,9 @@ nvm_die_on_prefix() { if [ -n "${NVM_NPM_CONFIG_PREFIX_ENV-}" ]; then local NVM_CONFIG_VALUE eval "NVM_CONFIG_VALUE=\"\$${NVM_NPM_CONFIG_PREFIX_ENV}\"" + if [ -n "${NVM_CONFIG_VALUE-}" ] && [ "_${NVM_OS}" = "_win" ]; then + NVM_CONFIG_VALUE="$(cd "$NVM_CONFIG_VALUE" 2>/dev/null && pwd)" + fi if [ -n "${NVM_CONFIG_VALUE-}" ] && ! nvm_tree_contains_path "${NVM_DIR}" "${NVM_CONFIG_VALUE}"; then nvm deactivate >/dev/null 2>&1 nvm_err "nvm is not compatible with the \"${NVM_NPM_CONFIG_PREFIX_ENV}\" environment variable: currently set to \"${NVM_CONFIG_VALUE}\"" @@ -3209,8 +3247,13 @@ nvm() { nvm_get_make_jobs fi - NVM_NO_PROGRESS="${NVM_NO_PROGRESS:-${noprogress}}" nvm_install_source "${FLAVOR}" std "${VERSION}" "${NVM_MAKE_JOBS}" "${ADDITIONAL_PARAMETERS}" - EXIT_CODE=$? + if [ "_${NVM_OS}" = "_win" ]; then + nvm_err 'Installing from source on non-WSL Windows is not supported' + EXIT_CODE=87 + else + NVM_NO_PROGRESS="${NVM_NO_PROGRESS:-${noprogress}}" nvm_install_source "${FLAVOR}" std "${VERSION}" "${NVM_MAKE_JOBS}" "${ADDITIONAL_PARAMETERS}" + EXIT_CODE=$? + fi fi fi diff --git a/test/fast/Unit tests/nvm_get_artifact_compression b/test/fast/Unit tests/nvm_get_artifact_compression index ed7a180..3fc5fcf 100755 --- a/test/fast/Unit tests/nvm_get_artifact_compression +++ b/test/fast/Unit tests/nvm_get_artifact_compression @@ -13,4 +13,10 @@ die () { echo "$@" ; cleanup ; exit 1; } # nvm_get_artifact_compression with xz [ "$(nvm_get_artifact_compression "14.0.0")" = 'tar.xz' ] || die 'nvm_get_artifact_compression should return "tar.xz" for this version' +# nvm_get_artifact_compression with zip on Windows +nvm_get_os() { + nvm_echo 'win' +} +[ "$(nvm_get_artifact_compression)" = 'zip' ] || die 'nvm_get_artifact_compression should return "zip" for Windows' + cleanup diff --git a/test/fast/Unit tests/nvm_install_binary_extract b/test/fast/Unit tests/nvm_install_binary_extract index a0fc58a..8b8782a 100644 --- a/test/fast/Unit tests/nvm_install_binary_extract +++ b/test/fast/Unit tests/nvm_install_binary_extract @@ -43,6 +43,9 @@ if [ -z "$NVM_DIR" ] || [ -z "$tmp_dir" ]; then die 'Unable to create temporary folder' fi +# Test windows zip +test_archi 'win' 'v15.6.0' 'x64' 'node' 'zip' 'zip' '-qr' + # Test linux tar.xz test_archi 'linux' 'v14.15.4' 'x64' 'bin/node' 'tar.xz' 'tar' '-cJf' diff --git a/test/fast/Unit tests/nvm_is_version_installed b/test/fast/Unit tests/nvm_is_version_installed index d530658..45971f0 100644 --- a/test/fast/Unit tests/nvm_is_version_installed +++ b/test/fast/Unit tests/nvm_is_version_installed @@ -2,7 +2,7 @@ cleanup () { rm -rf "$NVM_DIR" - unset -f die cleanup check_version + unset -f die cleanup nvm_get_os check_version unset NVM_DIR NODE_PATH } die () { echo "$@" ; cleanup ; exit 1; } @@ -44,4 +44,11 @@ type nvm_is_version_installed > /dev/null 2>&1 || die 'nvm_is_version_installed check_version '12.0.0' 'node' +# Checking for Windows +nvm_get_os() { + echo "win" +} +check_version '13.0.0' 'node.exe' + + cleanup From 07253ecd514b2ec955b1c5c1ef89ba463825aee1 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Thu, 15 Apr 2021 22:34:40 -0700 Subject: [PATCH 07/54] [actions] adjust shellcheck/windows tests to9 have a final "done" job --- .github/workflows/shellcheck.yml | 8 +++++++- .github/workflows/windows-npm.yml | 17 +++++++++++++---- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/.github/workflows/shellcheck.yml b/.github/workflows/shellcheck.yml index f56843d..a193faa 100644 --- a/.github/workflows/shellcheck.yml +++ b/.github/workflows/shellcheck.yml @@ -3,7 +3,7 @@ name: 'Tests: shellcheck' on: [pull_request, push] jobs: - shellcheck: + shellcheck_matrix: runs-on: ubuntu-latest strategy: matrix: @@ -29,3 +29,9 @@ jobs: - run: "shellcheck --version" - name: Run shellcheck on ${{ matrix.file }} run: shellcheck -s ${{ matrix.shell }} ${{ matrix.file }} + + shellcheck: + needs: [shellcheck_matrix] + runs-on: ubuntu-latest + steps: + - run: 'echo tests completed' diff --git a/.github/workflows/windows-npm.yml b/.github/workflows/windows-npm.yml index 2515a23..810536e 100755 --- a/.github/workflows/windows-npm.yml +++ b/.github/workflows/windows-npm.yml @@ -7,7 +7,7 @@ env: NVM_INSTALL_VERSION: ${{ github.sha }} jobs: - node_fail_install: + msys_fail_install: # Default installation does not work due to npm_config_prefix set to C:\npm\prefix name: 'MSYS fail prefix nvm install' runs-on: windows-latest @@ -18,7 +18,8 @@ jobs: curl -fsSLo- "https://raw.githubusercontent.com/${NVM_INSTALL_GITHUB_REPO}/${NVM_INSTALL_VERSION}/install.sh" | METHOD=script bash . "$HOME/.nvm/nvm.sh" ! nvm install --lts - nodes: + + msys_matrix: name: 'MSYS nvm install' runs-on: windows-latest strategy: @@ -39,7 +40,8 @@ jobs: fi . "$HOME/.nvm/nvm.sh" nvm install ${{ matrix.npm-node-version }} - node_cygwin: + + cygwin_matrix: name: 'Cygwin nvm install' runs-on: windows-latest steps: @@ -75,7 +77,8 @@ jobs: run: | cd %USERPROFILE%\cygwin\bin bash.exe "%USERPROFILE%\setup.sh" - wsl_nodes: + + wsl_matrix: name: 'WSL nvm install' runs-on: windows-latest env: @@ -104,3 +107,9 @@ jobs: fi . "$HOME/.nvm/nvm.sh" nvm install ${{ matrix.npm-node-version }} + + nvm_windows: + needs: [wsl_matrix, cygwin_matrix, msys_matrix, msys_fail_install] + runs-on: ubuntu-latest + steps: + - run: 'echo tests completed' From 117486d4a7aea2c407f1d1350f906ab0f27cf177 Mon Sep 17 00:00:00 2001 From: akefirad Date: Fri, 16 Apr 2021 18:53:35 +0200 Subject: [PATCH 08/54] [Fix] `bash_completion`: check if `compinit` is called before calling it Fixes #2489. --- bash_completion | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/bash_completion b/bash_completion index e10138a..3e72500 100644 --- a/bash_completion +++ b/bash_completion @@ -84,11 +84,14 @@ __nvm() { # called bashcompinit that will create a complete in ZSH. If the user is in # ZSH, load and run bashcompinit before calling the complete function. if [[ -n ${ZSH_VERSION-} ]]; then - # Calling compinit first and then bashcompinit as mentioned by zsh man page. - autoload -U +X compinit && if [[ ${ZSH_DISABLE_COMPFIX-} = true ]]; then - compinit -u - else - compinit + # First calling compinit (only if not called yet!) + # and then bashcompinit as mentioned by zsh man page. + if ! command -v compinit > /dev/null; then + autoload -U +X compinit && if [[ ${ZSH_DISABLE_COMPFIX-} = true ]]; then + compinit -u + else + compinit + fi fi autoload -U +X bashcompinit && bashcompinit fi From bd0ac1e96d3dfc766a2a8a3da4b986eb29d3e8bd Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Thu, 22 Apr 2021 22:28:41 -0700 Subject: [PATCH 09/54] [meta] add `SECURITY.md` --- .github/SECURITY.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .github/SECURITY.md diff --git a/.github/SECURITY.md b/.github/SECURITY.md new file mode 100644 index 0000000..82e4285 --- /dev/null +++ b/.github/SECURITY.md @@ -0,0 +1,3 @@ +# Security + +Please email [@ljharb](https://github.com/ljharb) or see https://tidelift.com/security if you have a potential security vulnerability to report. From 1527ac9d21c8b1dad1f9a6a98ae594767cc6fbd0 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Mon, 26 Apr 2021 11:41:29 -0700 Subject: [PATCH 10/54] [readme] remove redundant "license" section text in favor of LICENSE.md --- README.md | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/README.md b/README.md index 8700768..c24dde0 100644 --- a/README.md +++ b/README.md @@ -641,16 +641,7 @@ load_nvm ## License -nvm is released under the MIT license. - - -Copyright (C) 2010 Tim Caswell and Jordan Harband - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +See [LICENSE.md](./LICENSE.md). ## Running Tests From f3caa0642040ae5be4d52b5c75b7eec633305efb Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Mon, 26 Apr 2021 11:42:03 -0700 Subject: [PATCH 11/54] [meta] add OpenJS Foundation copyright notices/links --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index c24dde0..e36a0a0 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,7 @@ - [fish](#fish) - [Calling `nvm use` automatically in a directory with a `.nvmrc` file](#calling-nvm-use-automatically-in-a-directory-with-a-nvmrc-file-1) - [License](#license) +- [Copyright notice](#copyright-notice) - [Running Tests](#running-tests) - [Environment variables](#environment-variables) - [Bash Completion](#bash-completion) @@ -643,6 +644,12 @@ load_nvm See [LICENSE.md](./LICENSE.md). +## Copyright notice + +Copyright [OpenJS Foundation](https://openjsf.org) and [project name] contributors. All rights reserved. The [OpenJS Foundation](https://openjsf.org) has registered trademarks and uses trademarks. For a list of trademarks of the [OpenJS Foundation](https://openjsf.org), please see our [Trademark Policy](https://trademark-policy.openjsf.org/) and [Trademark List](https://trademark-list.openjsf.org/). Node.js is a trademark of Joyent, Inc. and is used with its permission. Trademarks and logos not indicated on the [list of OpenJS Foundation trademarks](https://trademark-list.openjsf.org) are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them. + +[The OpenJS Foundation](https://openjsf.org/) | [Terms of Use](https://terms-of-use.openjsf.org/) | [Privacy Policy](https://privacy-policy.openjsf.org/) | [OpenJS Foundation Bylaws](https://bylaws.openjsf.org/) | [Trademark Policy](https://trademark-policy.openjsf.org/) | [Trademark List](https://trademark-list.openjsf.org/) | [Cookie Policy](https://www.linuxfoundation.org/cookies/) + ## Running Tests Tests are written in [Urchin]. Install Urchin (and other dependencies) like so: From fc87226b2314f93ea8c38b62b0d2ef26c3055fd7 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Mon, 26 Apr 2021 11:46:12 -0700 Subject: [PATCH 12/54] [readme] move License and Copyright notice sections to the bottom --- README.md | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index e36a0a0..7df2c2c 100644 --- a/README.md +++ b/README.md @@ -38,8 +38,6 @@ - [Calling `nvm use` automatically in a directory with a `.nvmrc` file](#calling-nvm-use-automatically-in-a-directory-with-a-nvmrc-file) - [fish](#fish) - [Calling `nvm use` automatically in a directory with a `.nvmrc` file](#calling-nvm-use-automatically-in-a-directory-with-a-nvmrc-file-1) -- [License](#license) -- [Copyright notice](#copyright-notice) - [Running Tests](#running-tests) - [Environment variables](#environment-variables) - [Bash Completion](#bash-completion) @@ -51,6 +49,8 @@ - [Docker For Development Environment](#docker-for-development-environment) - [Problems](#problems) - [macOS Troubleshooting](#macos-troubleshooting) +- [License](#license) +- [Copyright notice](#copyright-notice) @@ -639,17 +639,6 @@ end load_nvm ``` - -## License - -See [LICENSE.md](./LICENSE.md). - -## Copyright notice - -Copyright [OpenJS Foundation](https://openjsf.org) and [project name] contributors. All rights reserved. The [OpenJS Foundation](https://openjsf.org) has registered trademarks and uses trademarks. For a list of trademarks of the [OpenJS Foundation](https://openjsf.org), please see our [Trademark Policy](https://trademark-policy.openjsf.org/) and [Trademark List](https://trademark-list.openjsf.org/). Node.js is a trademark of Joyent, Inc. and is used with its permission. Trademarks and logos not indicated on the [list of OpenJS Foundation trademarks](https://trademark-list.openjsf.org) are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them. - -[The OpenJS Foundation](https://openjsf.org/) | [Terms of Use](https://terms-of-use.openjsf.org/) | [Privacy Policy](https://privacy-policy.openjsf.org/) | [OpenJS Foundation Bylaws](https://bylaws.openjsf.org/) | [Trademark Policy](https://trademark-policy.openjsf.org/) | [Trademark List](https://trademark-list.openjsf.org/) | [Cookie Policy](https://www.linuxfoundation.org/cookies/) - ## Running Tests Tests are written in [Urchin]. Install Urchin (and other dependencies) like so: @@ -934,3 +923,13 @@ arm64 $ nvm use v14.15.4 Now using node v14.15.4 (npm v6.14.10) ``` + +## License + +See [LICENSE.md](./LICENSE.md). + +## Copyright notice + +Copyright [OpenJS Foundation](https://openjsf.org) and [project name] contributors. All rights reserved. The [OpenJS Foundation](https://openjsf.org) has registered trademarks and uses trademarks. For a list of trademarks of the [OpenJS Foundation](https://openjsf.org), please see our [Trademark Policy](https://trademark-policy.openjsf.org/) and [Trademark List](https://trademark-list.openjsf.org/). Node.js is a trademark of Joyent, Inc. and is used with its permission. Trademarks and logos not indicated on the [list of OpenJS Foundation trademarks](https://trademark-list.openjsf.org) are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them. + +[The OpenJS Foundation](https://openjsf.org/) | [Terms of Use](https://terms-of-use.openjsf.org/) | [Privacy Policy](https://privacy-policy.openjsf.org/) | [OpenJS Foundation Bylaws](https://bylaws.openjsf.org/) | [Trademark Policy](https://trademark-policy.openjsf.org/) | [Trademark List](https://trademark-list.openjsf.org/) | [Cookie Policy](https://www.linuxfoundation.org/cookies/) From b5165ecbe48cac3dc32d203ca17f3f61ab5006f4 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Mon, 3 May 2021 14:19:31 -0700 Subject: [PATCH 13/54] [shellcheck] update for new warnings in v0.7.2 --- nvm.sh | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/nvm.sh b/nvm.sh index 7361bfe..303b423 100644 --- a/nvm.sh +++ b/nvm.sh @@ -6,10 +6,11 @@ # Implemented by Tim Caswell # with much bash help from Matthew Ranney -# "local" warning, quote expansion warning -# shellcheck disable=SC2039,SC2016,SC2001 +# "local" warning, quote expansion warning, sed warning, `local` warning +# shellcheck disable=SC2039,SC2016,SC2001,SC3043 { # this ensures the entire script is downloaded # +# shellcheck disable=SC3028 NVM_SCRIPT_SOURCE="$_" nvm_is_zsh() { @@ -309,7 +310,7 @@ fi if [ -z "${NVM_DIR-}" ]; then # shellcheck disable=SC2128 if [ -n "${BASH_SOURCE-}" ]; then - # shellcheck disable=SC2169 + # shellcheck disable=SC2169,SC3054 NVM_SCRIPT_SOURCE="${BASH_SOURCE[0]}" fi NVM_DIR="$(nvm_cd ${NVM_CD_FLAGS} "$(dirname "${NVM_SCRIPT_SOURCE:-$0}")" >/dev/null && \pwd)" @@ -968,6 +969,7 @@ nvm_list_aliases() { local ALIAS_NAME for ALIAS_NAME in "$(nvm_node_prefix)" "stable" "unstable"; do { + # shellcheck disable=SC2030,SC2031 # (https://github.com/koalaman/shellcheck/issues/2217) if [ ! -f "${NVM_ALIAS_DIR}/${ALIAS_NAME}" ] && { [ -z "${ALIAS}" ] || [ "${ALIAS_NAME}" = "${ALIAS}" ]; }; then NVM_NO_COLORS="${NVM_NO_COLORS-}" NVM_CURRENT="${NVM_CURRENT}" nvm_print_default_alias "${ALIAS_NAME}" fi @@ -975,6 +977,7 @@ nvm_list_aliases() { done wait ALIAS_NAME="$(nvm_iojs_prefix)" + # shellcheck disable=SC2030,SC2031 # (https://github.com/koalaman/shellcheck/issues/2217) if [ ! -f "${NVM_ALIAS_DIR}/${ALIAS_NAME}" ] && { [ -z "${ALIAS}" ] || [ "${ALIAS_NAME}" = "${ALIAS}" ]; }; then NVM_NO_COLORS="${NVM_NO_COLORS-}" NVM_CURRENT="${NVM_CURRENT}" nvm_print_default_alias "${ALIAS_NAME}" fi @@ -982,6 +985,7 @@ nvm_list_aliases() { ( local LTS_ALIAS + # shellcheck disable=SC2030,SC2031 # (https://github.com/koalaman/shellcheck/issues/2217) for ALIAS_PATH in "${NVM_ALIAS_DIR}/lts/${ALIAS}"*; do { LTS_ALIAS="$(NVM_NO_COLORS="${NVM_NO_COLORS-}" NVM_LTS=true nvm_print_alias_path "${NVM_ALIAS_DIR}" "${ALIAS_PATH}")" @@ -2849,7 +2853,7 @@ nvm() { nvm_err "\$TERM_PROGRAM: ${TERM_PROGRAM}" fi nvm_err "\$SHELL: ${SHELL}" - # shellcheck disable=SC2169 + # shellcheck disable=SC2169,SC3028 nvm_err "\$SHLVL: ${SHLVL-}" nvm_err "whoami: '$(whoami)'" nvm_err "\${HOME}: ${HOME}" From ad24e96fda498887d6393a61cf8828ae13e0beb0 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Mon, 3 May 2021 14:26:45 -0700 Subject: [PATCH 14/54] [shellcheck] disable additional `-x` warning from v0.7.2 --- nvm-exec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nvm-exec b/nvm-exec index c47cd06..d4f37df 100755 --- a/nvm-exec +++ b/nvm-exec @@ -2,7 +2,7 @@ DIR="$(command cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -# shellcheck disable=SC1090 +# shellcheck disable=SC1090,SC1091 \. "$DIR/nvm.sh" --no-use if [ -n "$NODE_VERSION" ]; then From eed0d0e85ccb35e8802b0df7061491e6cf5d6a4b Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Mon, 26 Apr 2021 12:56:08 -0700 Subject: [PATCH 15/54] [meta] add project charter and governance --- GOVERNANCE.md | 10 ++++++++++ PROJECT_CHARTER.md | 49 ++++++++++++++++++++++++++++++++++++++++++++++ README.md | 11 ++++++++--- 3 files changed, 67 insertions(+), 3 deletions(-) create mode 100644 GOVERNANCE.md create mode 100644 PROJECT_CHARTER.md diff --git a/GOVERNANCE.md b/GOVERNANCE.md new file mode 100644 index 0000000..ea2d09c --- /dev/null +++ b/GOVERNANCE.md @@ -0,0 +1,10 @@ +# `nvm` Project Governance + +## Maintainers + - [@ljharb](https://github.com/ljharb) + +Maintainers are responsible for issue/PR triage, feature additions, maintenance, bugfixes, security fixes, releases, promoting existing contributors to maintainers, managing repo and CI configuration, etc. + +## Contributors + +Anyone who contributes code or content or time, via issues or pull requests or otherwise. Contributors do not have any additional permissions on the project. diff --git a/PROJECT_CHARTER.md b/PROJECT_CHARTER.md new file mode 100644 index 0000000..a8af15e --- /dev/null +++ b/PROJECT_CHARTER.md @@ -0,0 +1,49 @@ +# `nvm` Charter + +nvm is a version manager for Node.js, designed to be installed per-user, and invoked per-shell. nvm works on any POSIX-compliant shell (sh, dash, ksh, zsh, bash), in particular on these platforms: unix, macOS, and Windows WSL. + +## Section 0: Guiding Principles + +The `nvm` project is part of the [OpenJS Foundation][openjs foundation], which operates transparently, openly, collaboratively, and ethically. Project proposals, timelines, and status must not merely be open, but also easily visible to outsiders. + +## Section 1: Scope + +`nvm` is a node version manager, focused on making it easy to install and manage multiple Node.js versions. Any features related to managing the installation and removal of Node.js on any node-supported platform are potentially in scope. + +## Section 2: Relationship with OpenJS Foundation CPC. + +Technical leadership for the projects within the [OpenJS Foundation][openjs foundation] is delegated to the projects through their project charters by the [OpenJS Foundation Cross-Project Council](https://openjsf.org/about/governance/) (CPC). In the case of the `nvm` project, it is delegated to the [`nvm` Maintainers](README.md#maintainers) (the “Maintainers”). The OpenJS Foundation's business leadership is the Board of Directors (the “Board”). + +This `nvm` Charter reflects a carefully constructed balanced role for the Maintainers and the CPC in the governance of the OpenJS Foundation. The charter amendment process is for the Maintainers to propose changes using simple majority of the full Maintainers, the proposed changes being subject to review and approval by the CPC. The CPC may additionally make amendments to the project charter at any time, though the CPC will not interfere with day-to-day discussions, votes or meetings of the Maintainers. + +### 2.1 Other Formal Project Relationships + +Section Intentionally Left Blank + +## Section 3: `nvm`'s Maintainers Governing Body + +`nvm` is governed by its [maintainers](README.md#maintainers). + +## Section 4: Roles & Responsibilities + +The roles and responsibilities of `nvm`'s Maintainers are described in [GOVERNANCE.md](./GOVERNANCE.md). + +### Section 4.1 Project Operations & Management + +Section Intentionally Left Blank + +### Section 4.2: Decision-making, Voting, and/or Elections + +Section Intentionally Left Blank + +### Section 4.3: Other Project Roles + +Section Intentionally Left Blank + +## Section 5: Definitions + + - *Contributors*: contribute code or other artifacts, but do not have the right to commit to the codebase. Contributors work with the project’s maintainers to have code committed to the code base. A Contributor may be promoted to a Maintainer by the Maintainers. Contributors should rarely be encumbered by the Maintainers and never by the CPC or OpenJS Foundation Board. + + - *Maintainers*: Contributors with any kind of decision-making authority in the project. + +[openjs foundation]: https://openjsf.org diff --git a/README.md b/README.md index 7df2c2c..fbd0ef4 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,7 @@ - [Docker For Development Environment](#docker-for-development-environment) - [Problems](#problems) - [macOS Troubleshooting](#macos-troubleshooting) +- [Maintainers](#maintainers) - [License](#license) - [Copyright notice](#copyright-notice) @@ -511,9 +512,9 @@ The contents of a `.nvmrc` file **must** be the `` (as described by `nv ### Deeper Shell Integration -You can use [`avn`](https://github.com/wbyoung/avn) to deeply integrate into your shell and automatically invoke `nvm` when changing directories. `avn` is **not** supported by the `nvm` development team. Please [report issues to the `avn` team](https://github.com/wbyoung/avn/issues/new). +You can use [`avn`](https://github.com/wbyoung/avn) to deeply integrate into your shell and automatically invoke `nvm` when changing directories. `avn` is **not** supported by the `nvm` maintainers. Please [report issues to the `avn` team](https://github.com/wbyoung/avn/issues/new). -If you prefer a lighter-weight solution, the recipes below have been contributed by `nvm` users. They are **not** supported by the `nvm` development team. We are, however, accepting pull requests for more examples. +If you prefer a lighter-weight solution, the recipes below have been contributed by `nvm` users. They are **not** supported by the `nvm` maintainers. We are, however, accepting pull requests for more examples. #### bash @@ -924,12 +925,16 @@ $ nvm use v14.15.4 Now using node v14.15.4 (npm v6.14.10) ``` +## Maintainers + +Currently, the sole maintainer is [@ljharb](https://github.com/ljharb) - more maintainers are quite welcome, and we hope to add folks to the team over time. [Governance](./GOVERNANCE.md) will be re-evaluated as the project evolves. + ## License See [LICENSE.md](./LICENSE.md). ## Copyright notice -Copyright [OpenJS Foundation](https://openjsf.org) and [project name] contributors. All rights reserved. The [OpenJS Foundation](https://openjsf.org) has registered trademarks and uses trademarks. For a list of trademarks of the [OpenJS Foundation](https://openjsf.org), please see our [Trademark Policy](https://trademark-policy.openjsf.org/) and [Trademark List](https://trademark-list.openjsf.org/). Node.js is a trademark of Joyent, Inc. and is used with its permission. Trademarks and logos not indicated on the [list of OpenJS Foundation trademarks](https://trademark-list.openjsf.org) are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them. +Copyright [OpenJS Foundation](https://openjsf.org) and `nvm` contributors. All rights reserved. The [OpenJS Foundation](https://openjsf.org) has registered trademarks and uses trademarks. For a list of trademarks of the [OpenJS Foundation](https://openjsf.org), please see our [Trademark Policy](https://trademark-policy.openjsf.org/) and [Trademark List](https://trademark-list.openjsf.org/). Node.js is a trademark of Joyent, Inc. and is used with its permission. Trademarks and logos not indicated on the [list of OpenJS Foundation trademarks](https://trademark-list.openjsf.org) are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them. [The OpenJS Foundation](https://openjsf.org/) | [Terms of Use](https://terms-of-use.openjsf.org/) | [Privacy Policy](https://privacy-policy.openjsf.org/) | [OpenJS Foundation Bylaws](https://bylaws.openjsf.org/) | [Trademark Policy](https://trademark-policy.openjsf.org/) | [Trademark List](https://trademark-list.openjsf.org/) | [Cookie Policy](https://www.linuxfoundation.org/cookies/) From 7ba49f8f714ad4f913d0aa6f0c6986c63ef29d41 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Tue, 27 Jul 2021 22:23:56 -0700 Subject: [PATCH 16/54] [actions] use `node/install` instead of `node/run` --- .github/workflows/latest-npm.yml | 4 ++-- .github/workflows/lint.yml | 18 +++++++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/latest-npm.yml b/.github/workflows/latest-npm.yml index 54b260a..db461b7 100644 --- a/.github/workflows/latest-npm.yml +++ b/.github/workflows/latest-npm.yml @@ -34,13 +34,13 @@ jobs: steps: - uses: actions/checkout@v2 - - uses: ljharb/actions/node/run@main + - uses: ljharb/actions/node/install@main name: 'nvm install-latest-npm' with: node-version: ${{ matrix.node-version }} skip-ls-check: true skip-install: true - shell-command: 'npm --version' + - run: npm --version node: name: 'nvm install-latest-npm' diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 67d32ee..83872ff 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -7,31 +7,31 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - uses: ljharb/actions/node/run@main - name: 'npm install && npm run eclint' + - uses: ljharb/actions/node/install@main + name: 'nvm install ${{ matrix.node-version }} && npm install' with: node-version: 'lts/*' - command: 'eclint' + - run: npm run eclint dockerfile_lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - uses: ljharb/actions/node/run@main - name: 'npm install && npm run dockerfile_lint' + - uses: ljharb/actions/node/install@main + name: 'nvm install ${{ matrix.node-version }} && npm install' with: node-version: 'lts/*' - command: 'dockerfile_lint' + - run: npm run dockerfile_lint' doctoc: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - uses: ljharb/actions/node/run@main - name: 'npm install && npm run doctoc' + - uses: ljharb/actions/node/install@main + name: 'nvm install ${{ matrix.node-version }} && npm install' with: node-version: 'lts/*' - command: "doctoc:check" + - run: npm run doctoc:check test_naming: runs-on: ubuntu-latest From 7f2ccd51d4c20cd23d7ba79e4c19f06c40b68470 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Thu, 5 Aug 2021 08:05:54 -0700 Subject: [PATCH 17/54] [Fix] `nvm_get_arch`: suppress error output if `/sbin` does not exist Introduced by #2469 --- nvm.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nvm.sh b/nvm.sh index 303b423..8989b7c 100644 --- a/nvm.sh +++ b/nvm.sh @@ -1818,7 +1818,7 @@ nvm_get_arch() { esac # If running a 64bit ARM kernel but a 32bit ARM userland, change ARCH to 32bit ARM (armv7l) - L=$(ls -dl /sbin/init) # if /sbin/init is 32bit executable + L=$(ls -dl /sbin/init 2>/dev/null) # if /sbin/init is 32bit executable if [ "$(uname)" = "Linux" ] && [ "${NVM_ARCH}" = arm64 ] && [ "$(od -An -t x1 -j 4 -N 1 "${L#*-> }")" = ' 01' ]; then NVM_ARCH=armv7l HOST_ARCH=armv7l From 812d6e4ab49780d544d463aa1146d2197cd41b04 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Thu, 5 Aug 2021 08:35:22 -0700 Subject: [PATCH 18/54] [actions] fix typo in dockerfile_lint job --- .github/workflows/lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 83872ff..4285c31 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -21,7 +21,7 @@ jobs: name: 'nvm install ${{ matrix.node-version }} && npm install' with: node-version: 'lts/*' - - run: npm run dockerfile_lint' + - run: npm run dockerfile_lint doctoc: runs-on: ubuntu-latest From e98e9d9e4bc0ab78ccf86db70ef37fba5b9d6219 Mon Sep 17 00:00:00 2001 From: Thomas Geirhovd Date: Thu, 12 Aug 2021 15:51:32 +0200 Subject: [PATCH 19/54] [Fix] `install`: Detect correct profile based on $SHELL var --- install.sh | 8 +++++--- test/install_script/nvm_detect_profile | 19 +++++++++---------- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/install.sh b/install.sh index 50fbd3a..4ca56c0 100755 --- a/install.sh +++ b/install.sh @@ -267,14 +267,16 @@ nvm_detect_profile() { local DETECTED_PROFILE DETECTED_PROFILE='' - if [ -n "${BASH_VERSION-}" ]; then + if [ "${SHELL#*bash}" != "$SHELL" ]; then if [ -f "$HOME/.bashrc" ]; then DETECTED_PROFILE="$HOME/.bashrc" elif [ -f "$HOME/.bash_profile" ]; then DETECTED_PROFILE="$HOME/.bash_profile" fi - elif [ -n "${ZSH_VERSION-}" ]; then - DETECTED_PROFILE="$HOME/.zshrc" + elif [ "${SHELL#*zsh}" != "$SHELL" ]; then + if [ -f "$HOME/.zshrc" ]; then + DETECTED_PROFILE="$HOME/.zshrc" + fi fi if [ -z "$DETECTED_PROFILE" ]; then diff --git a/test/install_script/nvm_detect_profile b/test/install_script/nvm_detect_profile index 54815ec..4cc2089 100755 --- a/test/install_script/nvm_detect_profile +++ b/test/install_script/nvm_detect_profile @@ -14,8 +14,7 @@ cleanup () { unset HOME unset NVM_ENV unset NVM_DETECT_PROFILE - unset BASH_VERSION - unset ZSH_VERSION + unset SHELL unset -f setup cleanup die rm -f ".bashrc" ".bash_profile" ".zshrc" ".profile" "test_profile" > "/dev/null" 2>&1 } @@ -35,7 +34,7 @@ if [ -n "$NVM_DETECT_PROFILE" ]; then fi # .bashrc should be detected for bash -NVM_DETECT_PROFILE="$(BASH_VERSION="1"; unset PROFILE; nvm_detect_profile)" +NVM_DETECT_PROFILE="$(SHELL="/bin/bash"; unset PROFILE; nvm_detect_profile)" if [ "$NVM_DETECT_PROFILE" != "$HOME/.bashrc" ]; then die "nvm_detect_profile didn't pick \$HOME/.bashrc for bash" fi @@ -47,7 +46,7 @@ if [ "$NVM_DETECT_PROFILE" != "test_profile" ]; then fi # .zshrc should be detected for zsh -NVM_DETECT_PROFILE="$(ZSH_VERSION="1"; unset PROFILE; unset BASH_VERSION; nvm_detect_profile)" +NVM_DETECT_PROFILE="$(SHELL="/bin/zsh"; unset PROFILE; nvm_detect_profile)" if [ "$NVM_DETECT_PROFILE" != "$HOME/.zshrc" ]; then die "nvm_detect_profile didn't pick \$HOME/.zshrc for zsh" fi @@ -64,7 +63,7 @@ fi # # $PROFILE is a valid file -NVM_DETECT_PROFILE="$(PROFILE="test_profile"; unset ZSH_VERSION; nvm_detect_profile)" +NVM_DETECT_PROFILE="$(PROFILE="test_profile"; unset SHELL; nvm_detect_profile)" if [ "$NVM_DETECT_PROFILE" != "test_profile" ]; then die "nvm_detect_profile didn't pick \$PROFILE when it was a valid file" fi @@ -83,35 +82,35 @@ fi # # It should favor .profile if file exists -NVM_DETECT_PROFILE="$(unset BASH_VERSION; unset ZSH_VERSION; nvm_detect_profile)" +NVM_DETECT_PROFILE="$(unset SHELL; nvm_detect_profile)" if [ "$NVM_DETECT_PROFILE" != "$HOME/.profile" ]; then die "nvm_detect_profile should have selected .profile" fi # Otherwise, it should favor .bashrc if file exists rm ".profile" -NVM_DETECT_PROFILE="$(unset BASH_VERSION; unset ZSH_VERSION; nvm_detect_profile)" +NVM_DETECT_PROFILE="$(unset SHELL; nvm_detect_profile)" if [ "$NVM_DETECT_PROFILE" != "$HOME/.bashrc" ]; then die "nvm_detect_profile should have selected .bashrc" fi # Otherwise, it should favor .bash_profile if file exists rm ".bashrc" -NVM_DETECT_PROFILE="$(unset BASH_VERSION; unset ZSH_VERSION; nvm_detect_profile)" +NVM_DETECT_PROFILE="$(unset SHELL; nvm_detect_profile)" if [ "$NVM_DETECT_PROFILE" != "$HOME/.bash_profile" ]; then die "nvm_detect_profile should have selected .bash_profile" fi # Otherwise, it should favor .zshrc if file exists rm ".bash_profile" -NVM_DETECT_PROFILE="$(unset BASH_VERSION; unset ZSH_VERSION; nvm_detect_profile)" +NVM_DETECT_PROFILE="$(unset SHELL; nvm_detect_profile)" if [ "$NVM_DETECT_PROFILE" != "$HOME/.zshrc" ]; then die "nvm_detect_profile should have selected .zshrc" fi # It should be empty if none is found rm ".zshrc" -NVM_DETECT_PROFILE="$(unset BASH_VERSION; unset ZSH_VERSION; nvm_detect_profile)" +NVM_DETECT_PROFILE="$(unset SHELL; nvm_detect_profile)" if [ ! -z "$NVM_DETECT_PROFILE" ]; then die "nvm_detect_profile should have returned an empty value" fi From e0df5e92e3099cedd61d394ca51c2c5e215abe7f Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Tue, 24 Aug 2021 09:34:01 -0700 Subject: [PATCH 20/54] [Robustness] avoid IFS shenanigans: quote arg count/return codes --- nvm.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/nvm.sh b/nvm.sh index 8989b7c..6985db0 100644 --- a/nvm.sh +++ b/nvm.sh @@ -2640,7 +2640,7 @@ nvm_cache_dir() { } nvm() { - if [ $# -lt 1 ]; then + if [ "$#" -lt 1 ]; then nvm --help return fi @@ -2652,12 +2652,12 @@ nvm() { set +e local EXIT_CODE IFS="${DEFAULT_IFS}" nvm "$@" - EXIT_CODE=$? + EXIT_CODE="$?" set -e - return $EXIT_CODE + return "$EXIT_CODE" elif [ "${IFS}" != "${DEFAULT_IFS}" ]; then IFS="${DEFAULT_IFS}" nvm "$@" - return $? + return "$?" fi local i @@ -4227,7 +4227,7 @@ nvm_auto() { nvm_process_parameters() { local NVM_AUTO_MODE NVM_AUTO_MODE='use' - while [ $# -ne 0 ]; do + while [ "$#" -ne 0 ]; do case "$1" in --install) NVM_AUTO_MODE='install' ;; --no-use) NVM_AUTO_MODE='none' ;; From 62d45af17ed80d98931fbbb65f50ac4c376892db Mon Sep 17 00:00:00 2001 From: IYaksha Date: Mon, 30 Aug 2021 19:20:03 +0530 Subject: [PATCH 21/54] [readme] fix typo regarding docker image base in Dockerfile --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fbd0ef4..a1b8449 100644 --- a/README.md +++ b/README.md @@ -788,7 +788,7 @@ export NVM_DIR="$HOME/.nvm" ## Docker For Development Environment -To make the development and testing work easier, we have a Dockerfile for development usage, which is based on Ubuntu 14.04 base image, prepared with essential and useful tools for `nvm` development, to build the docker image of the environment, run the docker command at the root of `nvm` repository: +To make the development and testing work easier, we have a Dockerfile for development usage, which is based on Ubuntu 16.04 base image, prepared with essential and useful tools for `nvm` development, to build the docker image of the environment, run the docker command at the root of `nvm` repository: ```sh $ docker build -t nvm-dev . From 678a8279789ccb0a51958790bc52d53950a20dd7 Mon Sep 17 00:00:00 2001 From: Peter Dave Hello Date: Wed, 25 Aug 2021 15:42:17 +0800 Subject: [PATCH 22/54] [Dockerfile] Update dated base image from Ubuntu 16.04 to 18.04 --- Dockerfile | 3 +-- README.md | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 0d71868..bc16629 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,7 +6,7 @@ # Please note that it'll use about 1.2 GB disk space and about 15 minutes to # build this image, it depends on your hardware. -FROM ubuntu:16.04 +FROM ubuntu:18.04 LABEL maintainer="Peter Dave Hello " LABEL name="nvm-dev-env" LABEL version="latest" @@ -54,7 +54,6 @@ RUN apt update && \ curl \ git \ jq \ - realpath \ zsh \ ksh \ gcc-4.8 \ diff --git a/README.md b/README.md index a1b8449..9c37cd6 100644 --- a/README.md +++ b/README.md @@ -788,7 +788,7 @@ export NVM_DIR="$HOME/.nvm" ## Docker For Development Environment -To make the development and testing work easier, we have a Dockerfile for development usage, which is based on Ubuntu 16.04 base image, prepared with essential and useful tools for `nvm` development, to build the docker image of the environment, run the docker command at the root of `nvm` repository: +To make the development and testing work easier, we have a Dockerfile for development usage, which is based on Ubuntu 18.04 base image, prepared with essential and useful tools for `nvm` development, to build the docker image of the environment, run the docker command at the root of `nvm` repository: ```sh $ docker build -t nvm-dev . From fd78c0101ee9199ec424a5902094b3b4dde86896 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Tue, 31 Aug 2021 15:28:41 -0700 Subject: [PATCH 23/54] [Tests] disable `fail-fast` --- .github/workflows/latest-npm.yml | 1 + .github/workflows/shellcheck.yml | 1 + .github/workflows/windows-npm.yml | 2 ++ 3 files changed, 4 insertions(+) diff --git a/.github/workflows/latest-npm.yml b/.github/workflows/latest-npm.yml index db461b7..c064f21 100644 --- a/.github/workflows/latest-npm.yml +++ b/.github/workflows/latest-npm.yml @@ -8,6 +8,7 @@ jobs: runs-on: ubuntu-latest strategy: + fail-fast: false matrix: node-version: - "11" diff --git a/.github/workflows/shellcheck.yml b/.github/workflows/shellcheck.yml index a193faa..728b230 100644 --- a/.github/workflows/shellcheck.yml +++ b/.github/workflows/shellcheck.yml @@ -6,6 +6,7 @@ jobs: shellcheck_matrix: runs-on: ubuntu-latest strategy: + fail-fast: false matrix: shell: - bash diff --git a/.github/workflows/windows-npm.yml b/.github/workflows/windows-npm.yml index 810536e..8751e5b 100755 --- a/.github/workflows/windows-npm.yml +++ b/.github/workflows/windows-npm.yml @@ -23,6 +23,7 @@ jobs: name: 'MSYS nvm install' runs-on: windows-latest strategy: + fail-fast: false matrix: npm-node-version: - '--lts' @@ -84,6 +85,7 @@ jobs: env: WSLENV: NVM_INSTALL_GITHUB_REPO:NVM_INSTALL_VERSION:/p strategy: + fail-fast: false matrix: wsl-distrib: - Debian From 5b77f7d0233b5be54484943c8976ad403308e4a6 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Wed, 1 Sep 2021 10:06:32 -0700 Subject: [PATCH 24/54] [Fix] `nvm ls`/`nvm alias`/`nvm_list_aliases`: zsh: when no LTS aliases, no error Fixes #2575. --- nvm.sh | 1 + .../nvm_list_aliases calls nvm_get_colors | 7 ++----- ..._aliases works with no LTS aliases present | 21 +++++++++++++++++++ 3 files changed, 24 insertions(+), 5 deletions(-) create mode 100755 test/fast/Aliases/nvm_list_aliases works with no LTS aliases present diff --git a/nvm.sh b/nvm.sh index 6985db0..15d1ba8 100644 --- a/nvm.sh +++ b/nvm.sh @@ -957,6 +957,7 @@ nvm_list_aliases() { NVM_ALIAS_DIR="$(nvm_alias_path)" command mkdir -p "${NVM_ALIAS_DIR}/lts" + nvm_is_zsh && unsetopt local_options nomatch ( local ALIAS_PATH for ALIAS_PATH in "${NVM_ALIAS_DIR}/${ALIAS}"*; do diff --git a/test/fast/Aliases/nvm_list_aliases calls nvm_get_colors b/test/fast/Aliases/nvm_list_aliases calls nvm_get_colors index d037cac..21e5127 100755 --- a/test/fast/Aliases/nvm_list_aliases calls nvm_get_colors +++ b/test/fast/Aliases/nvm_list_aliases calls nvm_get_colors @@ -2,10 +2,7 @@ \. ../../../nvm.sh -die () { - echo "nvm_list_aliases did not call nvm_get_colors. Expected >${EXPECTED_OUTPUT}<; got >${OUTPUT}<" - exit 1 -} +die () { echo "$@" ; exit 1; } set -e @@ -22,4 +19,4 @@ OUTPUT=$(command printf %b $(nvm_list_aliases test-stable-1) | awk '{ print subs EXPECTED_OUTPUT=$(command printf %b "\033[0;95mtest-stable-1" | awk '{ print substr($0, 1, 19); }') echo "\033[0m" -[ "${OUTPUT}" = "${EXPECTED_OUTPUT}" ] || die +[ "${OUTPUT}" = "${EXPECTED_OUTPUT}" ] || die "nvm_list_aliases did not call nvm_get_colors. Expected >${EXPECTED_OUTPUT}<; got >${OUTPUT}<" diff --git a/test/fast/Aliases/nvm_list_aliases works with no LTS aliases present b/test/fast/Aliases/nvm_list_aliases works with no LTS aliases present new file mode 100755 index 0000000..337d1d1 --- /dev/null +++ b/test/fast/Aliases/nvm_list_aliases works with no LTS aliases present @@ -0,0 +1,21 @@ +#!/bin/sh + +\. ../../../nvm.sh + +die () { + mv "$(nvm_alias_path)/_lts.bak" "$(nvm_alias_path)/lts" + echo "$@" + exit 1 +} + +set -e + +nvm_alias_path() { + nvm_echo "../../../alias" +} + +mv "$(nvm_alias_path)/lts" "$(nvm_alias_path)/_lts.bak" + +STDERR_OUTPUT="$(nvm_list_aliases 2>&1 >/dev/null)" + +[ -z "${STDERR_OUTPUT}" ] || die "expected no stderr output, got >${STDERR_OUTPUT}<" From c169d622ffefb86cd573c9d98d40cdc3b63a2bd0 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Sat, 4 Sep 2021 08:57:36 -0700 Subject: [PATCH 25/54] [Tests] update mocks --- .../mocks/nodejs.org-dist-index.tab | 32 ++++ .../nodejs.org-download-nightly-index.tab | 171 ++++++++++++++++++ .../Unit tests/mocks/nvm ls-remote lts.txt | 22 ++- .../Unit tests/mocks/nvm ls-remote node.txt | 38 +++- test/fast/Unit tests/mocks/nvm ls-remote.txt | 38 +++- .../Unit tests/mocks/nvm_ls_remote LTS.txt | 22 ++- .../mocks/nvm_ls_remote nightly.txt | 3 +- .../mocks/nvm_ls_remote stable nightly.txt | 2 +- .../Unit tests/mocks/nvm_ls_remote stable.txt | 2 +- test/fast/Unit tests/mocks/nvm_ls_remote.txt | 38 +++- .../mocks/nvm_make_alias LTS alias calls.txt | 6 +- ...t_implicit_alias remote stable nightly.txt | 2 +- ...nvm_print_implicit_alias remote stable.txt | 2 +- 13 files changed, 355 insertions(+), 23 deletions(-) diff --git a/test/fast/Unit tests/mocks/nodejs.org-dist-index.tab b/test/fast/Unit tests/mocks/nodejs.org-dist-index.tab index d2edcaf..9ad9279 100644 --- a/test/fast/Unit tests/mocks/nodejs.org-dist-index.tab +++ b/test/fast/Unit tests/mocks/nodejs.org-dist-index.tab @@ -1,4 +1,20 @@ version date files npm v8 uv zlib openssl modules lts security +v16.8.0 2021-08-25 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.21.0 9.2.230.21 1.42.0 1.2.11 1.1.1k+quic 93 - - +v16.7.0 2021-08-18 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.20.3 9.2.230.21 1.42.0 1.2.11 1.1.1k+quic 93 - - +v16.6.2 2021-08-11 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.20.3 9.2.230.21 1.41.0 1.2.11 1.1.1k+quic 93 - true +v16.6.1 2021-08-03 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.20.3 9.2.230.21 1.41.0 1.2.11 1.1.1k+quic 93 - - +v16.6.0 2021-07-29 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.19.1 9.2.230.21 1.41.0 1.2.11 1.1.1k+quic 93 - true +v16.5.0 2021-07-14 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.19.1 9.1.269.38 1.41.0 1.2.11 1.1.1k+quic 93 - - +v16.4.2 2021-07-05 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.18.1 9.1.269.36 1.41.0 1.2.11 1.1.1k+quic 93 - - +v16.4.1 2021-07-01 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.18.1 9.1.269.36 1.41.0 1.2.11 1.1.1k+quic 93 - true +v16.4.0 2021-06-23 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.18.1 9.1.269.36 1.41.0 1.2.11 1.1.1k+quic 93 - - +v16.3.0 2021-06-03 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.15.1 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v16.2.0 2021-05-19 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.13.0 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v16.1.0 2021-05-04 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.11.2 9.0.257.24 1.41.0 1.2.11 1.1.1k+quic 93 - - +v16.0.0 2021-04-20 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.10.0 9.0.257.17 1.41.0 1.2.11 1.1.1k+quic 93 - - +v15.14.0 2021-04-06 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.7.6 8.6.395.17 1.41.0 1.2.11 1.1.1k+quic 88 - - +v15.13.0 2021-03-31 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.7.6 8.6.395.17 1.41.0 1.2.11 1.1.1j+quic 88 - - +v15.12.0 2021-03-17 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.6.3 8.6.395.17 1.41.0 1.2.11 1.1.1j+quic 88 - - v15.11.0 2021-03-03 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.6.0 8.6.395.17 1.41.0 1.2.11 1.1.1j 88 - - v15.10.0 2021-02-23 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.5.3 8.6.395.17 1.41.0 1.2.11 1.1.1j 88 - true v15.9.0 2021-02-18 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.5.3 8.6.395.17 1.41.0 1.2.11 1.1.1i 88 - - @@ -14,6 +30,14 @@ v15.2.0 2020-11-10 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linu v15.1.0 2020-11-04 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.0.8 8.6.395.17 1.40.0 1.2.11 1.1.1g 88 - - v15.0.1 2020-10-21 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.0.3 8.6.395.17 1.40.0 1.2.11 1.1.1g 88 - - v15.0.0 2020-10-20 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.0.2 8.6.395.16 1.40.0 1.2.11 1.1.1g 88 - - +v14.17.6 2021-08-30 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 6.14.15 8.4.371.23 1.41.0 1.2.11 1.1.1l 83 Fermium true +v14.17.5 2021-08-11 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 6.14.14 8.4.371.23 1.41.0 1.2.11 1.1.1k 83 Fermium true +v14.17.4 2021-07-29 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 6.14.14 8.4.371.23 1.41.0 1.2.11 1.1.1k 83 Fermium true +v14.17.3 2021-07-05 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 6.14.13 8.4.371.23 1.41.0 1.2.11 1.1.1k 83 Fermium true +v14.17.2 2021-07-01 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 6.14.13 8.4.371.23 1.41.0 1.2.11 1.1.1k 83 Fermium true +v14.17.1 2021-06-15 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 6.14.13 8.4.371.23 1.41.0 1.2.11 1.1.1k 83 Fermium - +v14.17.0 2021-05-11 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 6.14.13 8.4.371.23 1.41.0 1.2.11 1.1.1k 83 Fermium - +v14.16.1 2021-04-06 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 6.14.12 8.4.371.19 1.40.0 1.2.11 1.1.1k 83 Fermium true v14.16.0 2021-02-23 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 6.14.11 8.4.371.19 1.40.0 1.2.11 1.1.1j 83 Fermium true v14.15.5 2021-02-09 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 6.14.11 8.4.371.19 1.40.0 1.2.11 1.1.1i 83 Fermium - v14.15.4 2021-01-04 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 6.14.10 8.4.371.19 1.40.0 1.2.11 1.1.1i 83 Fermium true @@ -55,6 +79,13 @@ v13.2.0 2019-11-21 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linu v13.1.0 2019-11-05 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,sunos-x64,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 6.12.1 7.8.279.17 1.33.1 1.2.11 1.1.1d 79 - - v13.0.1 2019-10-23 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,sunos-x64,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 6.12.0 7.8.279.17 1.33.1 1.2.11 1.1.1d 79 - - v13.0.0 2019-10-22 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,sunos-x64,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 6.12.0 7.8.279.17 1.32.0 1.2.11 1.1.1d 79 - - +v12.22.6 2021-08-30 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,sunos-x64,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 6.14.15 7.8.279.23 1.40.0 1.2.11 1.1.1l 72 Erbium true +v12.22.5 2021-08-11 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,sunos-x64,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 6.14.14 7.8.279.23 1.40.0 1.2.11 1.1.1k 72 Erbium true +v12.22.4 2021-07-29 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,sunos-x64,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 6.14.14 7.8.279.23 1.40.0 1.2.11 1.1.1k 72 Erbium true +v12.22.3 2021-07-05 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,sunos-x64,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 6.14.13 7.8.279.23 1.40.0 1.2.11 1.1.1k 72 Erbium - +v12.22.2 2021-07-01 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,sunos-x64,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 6.14.13 7.8.279.23 1.40.0 1.2.11 1.1.1k 72 Erbium true +v12.22.1 2021-04-06 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,sunos-x64,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 6.14.12 7.8.279.23 1.40.0 1.2.11 1.1.1k 72 Erbium true +v12.22.0 2021-03-30 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,sunos-x64,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 6.14.11 7.8.279.23 1.40.0 1.2.11 1.1.1j 72 Erbium - v12.21.0 2021-02-23 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,sunos-x64,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 6.14.11 7.8.279.23 1.40.0 1.2.11 1.1.1j 72 Erbium true v12.20.2 2021-02-10 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,sunos-x64,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 6.14.11 7.8.279.23 1.40.0 1.2.11 1.1.1i 72 Erbium - v12.20.1 2021-01-04 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,sunos-x64,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 6.14.10 7.8.279.23 1.40.0 1.2.11 1.1.1i 72 Erbium - @@ -110,6 +141,7 @@ v11.3.0 2018-11-27 aix-ppc64,headers,linux-arm64,linux-armv6l,linux-armv7l,linux v11.2.0 2018-11-15 aix-ppc64,headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,sunos-x64,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 6.4.1 7.0.276.38 1.23.2 1.2.11 1.1.0i 67 - - v11.1.0 2018-10-30 aix-ppc64,headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,sunos-x64,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 6.4.1 7.0.276.32 1.23.2 1.2.11 1.1.0i 67 - - v11.0.0 2018-10-23 aix-ppc64,headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,sunos-x64,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 6.4.1 7.0.276.28 1.23.2 1.2.11 1.1.0i 67 - - +v10.24.1 2021-04-06 aix-ppc64,headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,sunos-x64,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 6.14.12 6.8.275.32 1.34.2 1.2.11 1.1.1k 64 Dubnium true v10.24.0 2021-02-23 aix-ppc64,headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,sunos-x64,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 6.14.11 6.8.275.32 1.34.2 1.2.11 1.1.1j 64 Dubnium true v10.23.3 2021-02-09 aix-ppc64,headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,sunos-x64,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 6.14.11 6.8.275.32 1.34.2 1.2.11 1.1.1i 64 Dubnium - v10.23.2 2021-01-26 aix-ppc64,headers,linux-arm64,linux-armv6l,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,sunos-x64,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 6.14.10 6.8.275.32 1.34.2 1.2.11 1.1.1i 64 Dubnium - diff --git a/test/fast/Unit tests/mocks/nodejs.org-download-nightly-index.tab b/test/fast/Unit tests/mocks/nodejs.org-download-nightly-index.tab index dd1f3d8..62831c2 100644 --- a/test/fast/Unit tests/mocks/nodejs.org-download-nightly-index.tab +++ b/test/fast/Unit tests/mocks/nodejs.org-download-nightly-index.tab @@ -1,4 +1,175 @@ version date files npm v8 uv zlib openssl modules lts security +v17.0.0-nightly20210904f26c2ce0a1 2021-09-04 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.21.1 9.3.345.16 1.42.0 1.2.11 1.1.1l+quic 96 - true +v17.0.0-nightly202109030c35fe02d3 2021-09-03 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.21.1 9.3.345.16 1.42.0 1.2.11 1.1.1l+quic 96 - true +v17.0.0-nightly2021090213b569c679 2021-09-02 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.21.1 9.3.345.16 1.42.0 1.2.11 1.1.1l+quic 96 - true +v17.0.0-nightly20210901926152a38c 2021-09-01 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.21.1 9.3.345.16 1.42.0 1.2.11 1.1.1l+quic 96 - true +v17.0.0-nightly202108319eff8191f2 2021-08-31 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.21.1 9.3.345.16 1.42.0 1.2.11 1.1.1l+quic 96 - - +v17.0.0-nightly2021083052abf271c5 2021-08-30 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.21.1 9.2.230.21 1.42.0 1.2.11 1.1.1l+quic 95 - - +v17.0.0-nightly20210829449147ebab 2021-08-29 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.21.1 9.2.230.21 1.42.0 1.2.11 1.1.1l+quic 95 - - +v17.0.0-nightly20210828e5670f4968 2021-08-28 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.21.0 9.2.230.21 1.42.0 1.2.11 1.1.1l+quic 95 - - +v17.0.0-nightly2021082752ebe0f83a 2021-08-27 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.21.0 9.2.230.21 1.42.0 1.2.11 1.1.1l+quic 95 - - +v17.0.0-nightly2021082631772a4e85 2021-08-26 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.21.0 9.2.230.21 1.42.0 1.2.11 1.1.1k+quic 95 - - +v17.0.0-nightly20210825cee024a87e 2021-08-25 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.21.0 9.2.230.21 1.42.0 1.2.11 1.1.1k+quic 95 - - +v17.0.0-nightly20210824a2115450eb 2021-08-24 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.21.0 9.2.230.21 1.42.0 1.2.11 1.1.1k+quic 95 - - +v17.0.0-nightly202108230073831482 2021-08-23 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.21.0 9.2.230.21 1.42.0 1.2.11 1.1.1k+quic 95 - - +v17.0.0-nightly2021082282ae00cae4 2021-08-22 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.21.0 9.2.230.21 1.42.0 1.2.11 1.1.1k+quic 95 - - +v17.0.0-nightly20210821248f4c3764 2021-08-21 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.21.0 9.2.230.21 1.42.0 1.2.11 1.1.1k+quic 95 - - +v17.0.0-nightly20210820f6ee27fe67 2021-08-20 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.20.3 9.2.230.21 1.42.0 1.2.11 1.1.1k+quic 95 - - +v17.0.0-nightly202108187ca38f05a0 2021-08-18 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.20.3 9.2.230.21 1.42.0 1.2.11 1.1.1k+quic 95 - - +v17.0.0-nightly202108170e55a75ccd 2021-08-17 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.20.3 9.2.230.21 1.42.0 1.2.11 1.1.1k+quic 95 - - +v17.0.0-nightly20210816fdce138e1d 2021-08-16 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.20.3 9.2.230.21 1.42.0 1.2.11 1.1.1k+quic 95 - - +v17.0.0-nightly20210815fcf8ba4269 2021-08-15 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.20.3 9.2.230.21 1.42.0 1.2.11 1.1.1k+quic 95 - - +v17.0.0-nightly20210814ca19775d0e 2021-08-14 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.20.3 9.2.230.21 1.42.0 1.2.11 1.1.1k+quic 95 - - +v17.0.0-nightly202108131150cfe6eb 2021-08-13 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.20.3 9.2.230.21 1.42.0 1.2.11 1.1.1k+quic 95 - - +v17.0.0-nightly2021081287d6fd7e69 2021-08-12 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.20.3 9.2.230.21 1.42.0 1.2.11 1.1.1k+quic 95 - true +v17.0.0-nightly202108113914354cd7 2021-08-11 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.20.3 9.2.230.21 1.42.0 1.2.11 1.1.1k+quic 95 - - +v17.0.0-nightly20210810a1fac5b9a5 2021-08-10 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.20.3 9.2.230.21 1.42.0 1.2.11 1.1.1k+quic 95 - - +v17.0.0-nightly202108096145113fe5 2021-08-09 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.20.3 9.2.230.21 1.42.0 1.2.11 1.1.1k+quic 95 - - +v17.0.0-nightly20210808df25424b91 2021-08-08 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.20.3 9.2.230.21 1.42.0 1.2.11 1.1.1k+quic 95 - - +v17.0.0-nightly20210807822f9ff4e6 2021-08-07 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.20.3 9.2.230.21 1.42.0 1.2.11 1.1.1k+quic 95 - - +v17.0.0-nightly202108064832d1c02c 2021-08-06 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.20.3 9.2.230.21 1.42.0 1.2.11 1.1.1k+quic 95 - - +v17.0.0-nightly20210805c61870c376 2021-08-05 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.20.3 9.2.230.21 1.42.0 1.2.11 1.1.1k+quic 95 - - +v17.0.0-nightly20210804fe3c5a769d 2021-08-04 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.20.3 9.2.230.21 1.41.0 1.2.11 1.1.1k+quic 95 - - +v17.0.0-nightly202108039e904470f4 2021-08-03 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.20.3 9.2.230.21 1.41.0 1.2.11 1.1.1k+quic 95 - - +v17.0.0-nightly20210802afabd145d1 2021-08-02 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.20.3 9.2.230.21 1.41.0 1.2.11 1.1.1k+quic 95 - - +v17.0.0-nightly202108014f9fd8d244 2021-08-01 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.20.3 9.2.230.21 1.41.0 1.2.11 1.1.1k+quic 95 - true +v17.0.0-nightly202107318be3b91b00 2021-07-31 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.20.3 9.2.230.21 1.41.0 1.2.11 1.1.1k+quic 95 - true +v17.0.0-nightly202107300e22fa0f3d 2021-07-30 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.20.2 9.2.230.21 1.41.0 1.2.11 1.1.1k+quic 95 - true +v17.0.0-nightly20210729d6bb7ed6c8 2021-07-29 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip 7.20.2 9.2.230.21 1.41.0 1.2.11 1.1.1k+quic 95 - - +v17.0.0-nightly20210728b14fb01324 2021-07-28 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.20.0 9.2.230.21 1.41.0 1.2.11 1.1.1k+quic 95 - - +v17.0.0-nightly202107275ad6a99ed9 2021-07-27 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.20.0 9.2.230.21 1.41.0 1.2.11 1.1.1k+quic 95 - - +v17.0.0-nightly2021072605f21be800 2021-07-26 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.20.0 9.2.230.21 1.41.0 1.2.11 1.1.1k+quic 95 - - +v17.0.0-nightly20210725b6316ab0ae 2021-07-25 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.20.0 9.2.230.21 1.41.0 1.2.11 1.1.1k+quic 95 - - +v17.0.0-nightly202107246140b3753f 2021-07-24 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.20.0 9.2.230.21 1.41.0 1.2.11 1.1.1k+quic 95 - - +v17.0.0-nightly20210723834ae63d61 2021-07-23 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.20.0 9.2.230.21 1.41.0 1.2.11 1.1.1k+quic 95 - - +v17.0.0-nightly20210722f1d353398e 2021-07-22 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.20.0 9.2.230.21 1.41.0 1.2.11 1.1.1k+quic 95 - - +v17.0.0-nightly202107215100c3cad9 2021-07-21 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.20.0 9.2.230.21 1.41.0 1.2.11 1.1.1k+quic 95 - - +v17.0.0-nightly202107203cbaabc462 2021-07-20 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.19.1 9.1.269.38 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly2021071936bcc2925f 2021-07-19 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.19.1 9.1.269.38 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly2021071800cac65af1 2021-07-18 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.19.1 9.1.269.38 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly2021071714b26e07bd 2021-07-17 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.19.1 9.1.269.38 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly202107160d42470798 2021-07-16 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.19.1 9.1.269.38 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly202107154b0776ab64 2021-07-15 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.19.1 9.1.269.38 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly20210714cfb7c4f658 2021-07-14 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.19.1 9.1.269.38 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly20210713223625a0b9 2021-07-13 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.19.1 9.1.269.38 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly20210712b60570ae59 2021-07-12 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.19.1 9.1.269.38 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly202107118970fa9006 2021-07-11 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.19.1 9.1.269.38 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly202107106463adf183 2021-07-10 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.19.1 9.1.269.36 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly20210709b7136827f5 2021-07-09 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.19.1 9.1.269.36 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly20210708b2fa795159 2021-07-08 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.19.1 9.1.269.36 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly202107074de6f207dc 2021-07-07 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.19.1 9.1.269.36 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly2021070612622c5f86 2021-07-06 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.19.1 9.1.269.36 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly20210705392213a387 2021-07-05 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.19.0 9.1.269.36 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly2021070492fde1ea70 2021-07-04 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.19.0 9.1.269.36 1.41.0 1.2.11 1.1.1k+quic 94 - true +v17.0.0-nightly202107038189dcc52a 2021-07-03 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.19.0 9.1.269.36 1.41.0 1.2.11 1.1.1k+quic 94 - true +v17.0.0-nightly20210702e5f9ef62f6 2021-07-02 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.19.0 9.1.269.36 1.41.0 1.2.11 1.1.1k+quic 94 - true +v17.0.0-nightly202107017ebf36ca98 2021-07-01 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.19.0 9.1.269.36 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly20210630f179eb01af 2021-06-30 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip 7.19.0 9.1.269.36 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly20210629663d7e9fb2 2021-06-29 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.18.1 9.1.269.36 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly202106282de139b5d5 2021-06-28 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.18.1 9.1.269.36 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly20210627fdb097c4f4 2021-06-27 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.18.1 9.1.269.36 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly202106263c099874aa 2021-06-26 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.18.1 9.1.269.36 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly2021062544ecd41892 2021-06-25 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.18.1 9.1.269.36 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly2021062484d6ce9fd1 2021-06-24 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.18.1 9.1.269.36 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly20210623e0ebc6b30d 2021-06-23 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.18.1 9.1.269.36 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly20210622b82a1a1ac9 2021-06-22 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.18.1 9.1.269.36 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly202106214330fb757f 2021-06-21 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.18.1 9.1.269.36 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly2021061998139dfef1 2021-06-19 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.18.1 9.1.269.36 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly202106180536be2ad8 2021-06-18 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.17.0 9.1.269.36 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly2021061738a15d832a 2021-06-17 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.17.0 9.1.269.36 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly20210616767996047c 2021-06-16 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.17.0 9.1.269.36 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly2021061598140238ee 2021-06-15 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.17.0 9.1.269.36 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly2021061467d4a3f9bd 2021-06-14 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.16.0 9.1.269.36 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly20210613174b191f70 2021-06-13 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.16.0 9.1.269.36 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly20210612889ad35d3d 2021-06-12 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.16.0 9.1.269.36 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly2021061176ebad03bc 2021-06-11 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.16.0 9.1.269.36 1.41.0 1.2.11 1.1.1k+quic 94 - - +v17.0.0-nightly20210610f461158feb 2021-06-10 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.16.0 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly202106099d15c1468c 2021-06-09 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.16.0 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly20210608fa86b36124 2021-06-08 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.15.1 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly20210607d07c12f444 2021-06-07 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.15.1 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly202106061c36eefcdb 2021-06-06 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.15.1 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly2021060578af363aa7 2021-06-05 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.15.1 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly20210604e7f941c161 2021-06-04 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.15.1 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly2021060321f5a56914 2021-06-03 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.15.1 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly20210602def57580fc 2021-06-02 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.15.1 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly20210601910009d5c6 2021-06-01 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.14.0 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly2021053116ae37848d 2021-05-31 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.14.0 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly202105304c508f51c0 2021-05-30 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.14.0 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly20210529f1cbaea74b 2021-05-29 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.14.0 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly20210528a4ea9fc48e 2021-05-28 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.14.0 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly20210527b6471c9e76 2021-05-27 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.14.0 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly20210526ccde7fc2a6 2021-05-26 aix-ppc64,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.14.0 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly20210525ab71af3453 2021-05-25 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.14.0 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly20210524dc43066ee9 2021-05-24 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.14.0 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly20210523bf06daa656 2021-05-23 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.14.0 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly202105227afa7b9ab3 2021-05-22 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.14.0 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly2021052150f076c4f5 2021-05-21 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.13.0 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly202105203f025cb5d0 2021-05-20 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.13.0 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly20210518910efc2d9a 2021-05-18 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.13.0 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly2021051736bb31be5f 2021-05-17 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.13.0 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly202105160996eb71ed 2021-05-16 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.13.0 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly202105154a22850d7f 2021-05-15 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.13.0 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly2021051441fab0d6cb 2021-05-14 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.12.1 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly20210513aefc621e67 2021-05-13 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.12.1 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly2021051216e00a15de 2021-05-12 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.11.2 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly202105114ebb88fea5 2021-05-11 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.11.2 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly202105107c8a60851c 2021-05-10 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.11.2 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly2021050952e4fb5b23 2021-05-09 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.11.2 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly2021050829f1b609ba 2021-05-08 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.11.2 9.0.257.25 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly20210507f37c26b8a2 2021-05-07 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.11.2 9.0.257.24 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly20210506aed17e963a 2021-05-06 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.11.2 9.0.257.24 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly20210505efd70f4361 2021-05-05 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.11.2 9.0.257.24 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly2021050418e4f405b1 2021-05-04 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.11.2 9.0.257.24 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly2021050368e6673224 2021-05-03 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.11.2 9.0.257.24 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly202105029c7aa96703 2021-05-02 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.11.2 9.0.257.24 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly20210501c975dff3c0 2021-05-01 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.11.2 9.0.257.24 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly20210430746cc88b92 2021-04-30 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.10.0 9.0.257.24 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly20210429c791019b36 2021-04-29 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.10.0 9.0.257.24 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly2021042832404359b6 2021-04-28 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.10.0 9.0.257.21 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly202104277f56307a02 2021-04-27 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.10.0 9.0.257.21 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly2021042655745a1817 2021-04-26 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.10.0 9.0.257.19 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly20210425311989f30f 2021-04-25 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.10.0 9.0.257.19 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly20210424f9e07e432b 2021-04-24 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.10.0 9.0.257.19 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly202104238ca373f557 2021-04-23 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.10.0 9.0.257.19 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly202104224243ce0318 2021-04-22 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.10.0 9.0.257.19 1.41.0 1.2.11 1.1.1k+quic 93 - - +v17.0.0-nightly202104218780537564 2021-04-21 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.10.0 9.0.257.17 1.41.0 1.2.11 1.1.1k+quic 93 - - +v16.0.0-nightly20210420a0261d231c 2021-04-20 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.10.0 9.0.257.17 1.41.0 1.2.11 1.1.1k+quic 93 - - +v16.0.0-nightly20210417bc31dc0e0f 2021-04-17 aix-ppc64,headers,linux-arm64,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.10.0 9.0.257.17 1.41.0 1.2.11 1.1.1k+quic 93 - - +v16.0.0-nightly20210416d3162da8dd 2021-04-16 aix-ppc64,headers,linux-arm64,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.9.0 9.0.257.17 1.41.0 1.2.11 1.1.1k+quic 93 - - +v16.0.0-nightly20210415c3a5e15ebe 2021-04-15 aix-ppc64,headers,linux-arm64,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.9.0 9.0.257.17 1.41.0 1.2.11 1.1.1k+quic 93 - - +v16.0.0-nightly202104148d9d8236b7 2021-04-14 aix-ppc64,headers,linux-arm64,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.9.0 9.0.257.13 1.41.0 1.2.11 1.1.1k+quic 93 - - +v16.0.0-nightly2021041313c931a9dc 2021-04-13 aix-ppc64,headers,linux-arm64,linux-ppc64le,linux-s390x,linux-x64,osx-arm64-tar,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.9.0 9.0.257.13 1.41.0 1.2.11 1.1.1k+quic 93 - - +v16.0.0-nightly202104128e76397fab 2021-04-12 aix-ppc64,headers,linux-arm64,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.9.0 9.0.257.13 1.41.0 1.2.11 1.1.1k+quic 93 - - +v16.0.0-nightly20210411f5eea1744d 2021-04-11 aix-ppc64,headers,linux-arm64,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.9.0 9.0.257.13 1.41.0 1.2.11 1.1.1k+quic 93 - - +v16.0.0-nightly2021041040ace47396 2021-04-10 aix-ppc64,headers,linux-arm64,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.9.0 9.0.257.13 1.41.0 1.2.11 1.1.1k+quic 93 - - +v16.0.0-nightly202104097df0fc5c5c 2021-04-09 aix-ppc64,headers,linux-arm64,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.8.0 9.0.257.13 1.41.0 1.2.11 1.1.1k+quic 93 - - +v16.0.0-nightly202104086cb314bbe5 2021-04-08 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.7.6 9.0.257.13 1.41.0 1.2.11 1.1.1k+quic 93 - - +v16.0.0-nightly202104076986fa07eb 2021-04-07 aix-ppc64,headers,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip 7.7.6 9.0.257.13 1.41.0 1.2.11 1.1.1k+quic 93 - - +v16.0.0-nightly20210406cbe3b27166 2021-04-06 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.7.6 9.0.257.13 1.41.0 1.2.11 1.1.1k+quic 93 - - +v16.0.0-nightly202104054f387c25cb 2021-04-05 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.7.6 9.0.257.13 1.41.0 1.2.11 1.1.1k+quic 93 - - +v16.0.0-nightly20210404f562ec64e8 2021-04-04 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.7.6 9.0.257.13 1.41.0 1.2.11 1.1.1k+quic 93 - - +v16.0.0-nightly20210403fae0320e7e 2021-04-03 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.7.6 9.0.257.13 1.41.0 1.2.11 1.1.1k+quic 93 - - +v16.0.0-nightly20210402f0bf373176 2021-04-02 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.7.6 9.0.257.13 1.41.0 1.2.11 1.1.1k+quic 93 - - +v16.0.0-nightly2021040131fe3b215f 2021-04-01 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.7.6 9.0.257.13 1.41.0 1.2.11 1.1.1k+quic 93 - - +v16.0.0-nightly20210331f638d8d754 2021-03-31 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.7.6 9.0.257.13 1.41.0 1.2.11 1.1.1k+quic 93 - - +v16.0.0-nightly2021033078237591f8 2021-03-30 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.7.6 9.0.257.13 1.41.0 1.2.11 1.1.1j+quic 93 - - +v16.0.0-nightly2021032945cdc134cd 2021-03-29 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.7.5 9.0.257.13 1.41.0 1.2.11 1.1.1j+quic 93 - - +v16.0.0-nightly20210328b560645d6b 2021-03-28 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.7.5 9.0.257.13 1.41.0 1.2.11 1.1.1j+quic 93 - - +v16.0.0-nightly20210327924238d7df 2021-03-27 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.7.5 9.0.257.13 1.41.0 1.2.11 1.1.1j+quic 93 - - +v16.0.0-nightly2021032632296fa193 2021-03-26 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.7.4 9.0.257.13 1.41.0 1.2.11 1.1.1j+quic 93 - - +v16.0.0-nightly20210325ce300d6f76 2021-03-25 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.7.4 9.0.257.13 1.41.0 1.2.11 1.1.1j+quic 93 - - +v16.0.0-nightly20210324f00c243592 2021-03-24 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.7.0 9.0.257.13 1.41.0 1.2.11 1.1.1j+quic 93 - - +v16.0.0-nightly202103233bee6d8aad 2021-03-23 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.6.3 9.0.257.13 1.41.0 1.2.11 1.1.1j+quic 93 - - +v16.0.0-nightly20210322baa9e65214 2021-03-22 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.6.3 9.0.257.11 1.41.0 1.2.11 1.1.1j+quic 93 - - +v16.0.0-nightly202103215318e53fd8 2021-03-21 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.6.3 9.0.257.11 1.41.0 1.2.11 1.1.1j+quic 93 - - +v16.0.0-nightly20210320e427c487fe 2021-03-20 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.6.3 9.0.257.11 1.41.0 1.2.11 1.1.1j+quic 93 - - +v16.0.0-nightly2021031952f9aafeab 2021-03-19 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.6.3 9.0.257.11 1.41.0 1.2.11 1.1.1j+quic 93 - - +v16.0.0-nightly2021031855f0955864 2021-03-18 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.6.3 9.0.257.11 1.41.0 1.2.11 1.1.1j+quic 93 - - +v16.0.0-nightly20210317da4b23354f 2021-03-17 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.6.3 9.0.257.11 1.41.0 1.2.11 1.1.1j+quic 93 - - +v16.0.0-nightly20210316640fe94354 2021-03-16 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.6.3 9.0.257.11 1.41.0 1.2.11 1.1.1j+quic 93 - - +v16.0.0-nightly2021031566f0eb7dc3 2021-03-15 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.6.3 8.9.255.19 1.41.0 1.2.11 1.1.1j 92 - - +v16.0.0-nightly202103147296bcb3cb 2021-03-14 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.6.3 8.9.255.19 1.41.0 1.2.11 1.1.1j 92 - - +v16.0.0-nightly20210312bfa6e37204 2021-03-12 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.6.1 8.9.255.19 1.41.0 1.2.11 1.1.1j 92 - - v16.0.0-nightly202103118a6d7a09f2 2021-03-11 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.6.1 8.9.255.19 1.41.0 1.2.11 1.1.1j 92 - - v16.0.0-nightly20210310853086fbaa 2021-03-10 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.6.1 8.9.255.19 1.41.0 1.2.11 1.1.1j 92 - - v16.0.0-nightly202103097f54dd4f07 2021-03-09 aix-ppc64,headers,linux-arm64,linux-armv7l,linux-ppc64le,linux-s390x,linux-x64,osx-x64-pkg,osx-x64-tar,src,win-x64-7z,win-x64-exe,win-x64-msi,win-x64-zip,win-x86-7z,win-x86-exe,win-x86-msi,win-x86-zip 7.6.1 8.9.255.19 1.41.0 1.2.11 1.1.1j 92 - - diff --git a/test/fast/Unit tests/mocks/nvm ls-remote lts.txt b/test/fast/Unit tests/mocks/nvm ls-remote lts.txt index 08c5e9c..93f5c3a 100644 --- a/test/fast/Unit tests/mocks/nvm ls-remote lts.txt +++ b/test/fast/Unit tests/mocks/nvm ls-remote lts.txt @@ -112,7 +112,8 @@ v10.23.1  (LTS: Dubnium) v10.23.2  (LTS: Dubnium) v10.23.3  (LTS: Dubnium) - v10.24.0  (Latest LTS: Dubnium) + v10.24.0  (LTS: Dubnium) + v10.24.1  (Latest LTS: Dubnium) v12.13.0  (LTS: Erbium) v12.13.1  (LTS: Erbium) v12.14.0  (LTS: Erbium) @@ -133,11 +134,26 @@ v12.20.0  (LTS: Erbium) v12.20.1  (LTS: Erbium) v12.20.2  (LTS: Erbium) - v12.21.0  (Latest LTS: Erbium) + v12.21.0  (LTS: Erbium) + v12.22.0  (LTS: Erbium) + v12.22.1  (LTS: Erbium) + v12.22.2  (LTS: Erbium) + v12.22.3  (LTS: Erbium) + v12.22.4  (LTS: Erbium) + v12.22.5  (LTS: Erbium) + v12.22.6  (Latest LTS: Erbium) v14.15.0  (LTS: Fermium) v14.15.1  (LTS: Fermium) v14.15.2  (LTS: Fermium) v14.15.3  (LTS: Fermium) v14.15.4  (LTS: Fermium) v14.15.5  (LTS: Fermium) - v14.16.0  (Latest LTS: Fermium) + v14.16.0  (LTS: Fermium) + v14.16.1  (LTS: Fermium) + v14.17.0  (LTS: Fermium) + v14.17.1  (LTS: Fermium) + v14.17.2  (LTS: Fermium) + v14.17.3  (LTS: Fermium) + v14.17.4  (LTS: Fermium) + v14.17.5  (LTS: Fermium) + v14.17.6  (Latest LTS: Fermium) diff --git a/test/fast/Unit tests/mocks/nvm ls-remote node.txt b/test/fast/Unit tests/mocks/nvm ls-remote node.txt index 26d4a62..016fbc5 100644 --- a/test/fast/Unit tests/mocks/nvm ls-remote node.txt +++ b/test/fast/Unit tests/mocks/nvm ls-remote node.txt @@ -450,7 +450,8 @@ v10.23.1  (LTS: Dubnium) v10.23.2  (LTS: Dubnium) v10.23.3  (LTS: Dubnium) - v10.24.0  (Latest LTS: Dubnium) + v10.24.0  (LTS: Dubnium) + v10.24.1  (Latest LTS: Dubnium) v11.0.0 v11.1.0 v11.2.0 @@ -505,7 +506,14 @@ v12.20.0  (LTS: Erbium) v12.20.1  (LTS: Erbium) v12.20.2  (LTS: Erbium) - v12.21.0  (Latest LTS: Erbium) + v12.21.0  (LTS: Erbium) + v12.22.0  (LTS: Erbium) + v12.22.1  (LTS: Erbium) + v12.22.2  (LTS: Erbium) + v12.22.3  (LTS: Erbium) + v12.22.4  (LTS: Erbium) + v12.22.5  (LTS: Erbium) + v12.22.6  (Latest LTS: Erbium) v13.0.0 v13.0.1 v13.1.0 @@ -546,7 +554,15 @@ v14.15.3  (LTS: Fermium) v14.15.4  (LTS: Fermium) v14.15.5  (LTS: Fermium) - v14.16.0  (Latest LTS: Fermium) + v14.16.0  (LTS: Fermium) + v14.16.1  (LTS: Fermium) + v14.17.0  (LTS: Fermium) + v14.17.1  (LTS: Fermium) + v14.17.2  (LTS: Fermium) + v14.17.3  (LTS: Fermium) + v14.17.4  (LTS: Fermium) + v14.17.5  (LTS: Fermium) + v14.17.6  (Latest LTS: Fermium) v15.0.0 v15.0.1 v15.1.0 @@ -562,3 +578,19 @@ v15.9.0 v15.10.0 v15.11.0 + v15.12.0 + v15.13.0 + v15.14.0 + v16.0.0 + v16.1.0 + v16.2.0 + v16.3.0 + v16.4.0 + v16.4.1 + v16.4.2 + v16.5.0 + v16.6.0 + v16.6.1 + v16.6.2 + v16.7.0 + v16.8.0 diff --git a/test/fast/Unit tests/mocks/nvm ls-remote.txt b/test/fast/Unit tests/mocks/nvm ls-remote.txt index acfe35b..d9277c8 100644 --- a/test/fast/Unit tests/mocks/nvm ls-remote.txt +++ b/test/fast/Unit tests/mocks/nvm ls-remote.txt @@ -491,7 +491,8 @@ v10.23.1  (LTS: Dubnium) v10.23.2  (LTS: Dubnium) v10.23.3  (LTS: Dubnium) - v10.24.0  (Latest LTS: Dubnium) + v10.24.0  (LTS: Dubnium) + v10.24.1  (Latest LTS: Dubnium) v11.0.0 v11.1.0 v11.2.0 @@ -546,7 +547,14 @@ v12.20.0  (LTS: Erbium) v12.20.1  (LTS: Erbium) v12.20.2  (LTS: Erbium) - v12.21.0  (Latest LTS: Erbium) + v12.21.0  (LTS: Erbium) + v12.22.0  (LTS: Erbium) + v12.22.1  (LTS: Erbium) + v12.22.2  (LTS: Erbium) + v12.22.3  (LTS: Erbium) + v12.22.4  (LTS: Erbium) + v12.22.5  (LTS: Erbium) + v12.22.6  (Latest LTS: Erbium) v13.0.0 v13.0.1 v13.1.0 @@ -587,7 +595,15 @@ v14.15.3  (LTS: Fermium) v14.15.4  (LTS: Fermium) v14.15.5  (LTS: Fermium) - v14.16.0  (Latest LTS: Fermium) + v14.16.0  (LTS: Fermium) + v14.16.1  (LTS: Fermium) + v14.17.0  (LTS: Fermium) + v14.17.1  (LTS: Fermium) + v14.17.2  (LTS: Fermium) + v14.17.3  (LTS: Fermium) + v14.17.4  (LTS: Fermium) + v14.17.5  (LTS: Fermium) + v14.17.6  (Latest LTS: Fermium) v15.0.0 v15.0.1 v15.1.0 @@ -603,3 +619,19 @@ v15.9.0 v15.10.0 v15.11.0 + v15.12.0 + v15.13.0 + v15.14.0 + v16.0.0 + v16.1.0 + v16.2.0 + v16.3.0 + v16.4.0 + v16.4.1 + v16.4.2 + v16.5.0 + v16.6.0 + v16.6.1 + v16.6.2 + v16.7.0 + v16.8.0 diff --git a/test/fast/Unit tests/mocks/nvm_ls_remote LTS.txt b/test/fast/Unit tests/mocks/nvm_ls_remote LTS.txt index 444467a..bfcef29 100644 --- a/test/fast/Unit tests/mocks/nvm_ls_remote LTS.txt +++ b/test/fast/Unit tests/mocks/nvm_ls_remote LTS.txt @@ -112,7 +112,8 @@ v10.23.0 Dubnium v10.23.1 Dubnium v10.23.2 Dubnium v10.23.3 Dubnium -v10.24.0 Dubnium * +v10.24.0 Dubnium +v10.24.1 Dubnium * v12.13.0 Erbium v12.13.1 Erbium v12.14.0 Erbium @@ -133,11 +134,26 @@ v12.19.1 Erbium v12.20.0 Erbium v12.20.1 Erbium v12.20.2 Erbium -v12.21.0 Erbium * +v12.21.0 Erbium +v12.22.0 Erbium +v12.22.1 Erbium +v12.22.2 Erbium +v12.22.3 Erbium +v12.22.4 Erbium +v12.22.5 Erbium +v12.22.6 Erbium * v14.15.0 Fermium v14.15.1 Fermium v14.15.2 Fermium v14.15.3 Fermium v14.15.4 Fermium v14.15.5 Fermium -v14.16.0 Fermium * +v14.16.0 Fermium +v14.16.1 Fermium +v14.17.0 Fermium +v14.17.1 Fermium +v14.17.2 Fermium +v14.17.3 Fermium +v14.17.4 Fermium +v14.17.5 Fermium +v14.17.6 Fermium * diff --git a/test/fast/Unit tests/mocks/nvm_ls_remote nightly.txt b/test/fast/Unit tests/mocks/nvm_ls_remote nightly.txt index a0264ad..fd32cb7 100644 --- a/test/fast/Unit tests/mocks/nvm_ls_remote nightly.txt +++ b/test/fast/Unit tests/mocks/nvm_ls_remote nightly.txt @@ -141,4 +141,5 @@ v13.12.1-nightly202004140a8e07599b v13.13.1-nightly20200415947ddec091 v14.0.0-nightly20200421c3554307c6 v15.0.0-nightly2020102011f1ad939f -v16.0.0-nightly202103118a6d7a09f2 +v16.0.0-nightly20210420a0261d231c +v17.0.0-nightly20210904f26c2ce0a1 diff --git a/test/fast/Unit tests/mocks/nvm_ls_remote stable nightly.txt b/test/fast/Unit tests/mocks/nvm_ls_remote stable nightly.txt index 901ecdd..ae8cdf0 100644 --- a/test/fast/Unit tests/mocks/nvm_ls_remote stable nightly.txt +++ b/test/fast/Unit tests/mocks/nvm_ls_remote stable nightly.txt @@ -1 +1 @@ -v16.0.0-nightly202103118a6d7a09f2 +v17.0.0-nightly20210904f26c2ce0a1 diff --git a/test/fast/Unit tests/mocks/nvm_ls_remote stable.txt b/test/fast/Unit tests/mocks/nvm_ls_remote stable.txt index 9f28d5d..34326d6 100644 --- a/test/fast/Unit tests/mocks/nvm_ls_remote stable.txt +++ b/test/fast/Unit tests/mocks/nvm_ls_remote stable.txt @@ -1 +1 @@ -v15.11.0 +v16.8.0 diff --git a/test/fast/Unit tests/mocks/nvm_ls_remote.txt b/test/fast/Unit tests/mocks/nvm_ls_remote.txt index dcbfbcb..f3f66c8 100644 --- a/test/fast/Unit tests/mocks/nvm_ls_remote.txt +++ b/test/fast/Unit tests/mocks/nvm_ls_remote.txt @@ -450,7 +450,8 @@ v10.23.0 Dubnium v10.23.1 Dubnium v10.23.2 Dubnium v10.23.3 Dubnium -v10.24.0 Dubnium * +v10.24.0 Dubnium +v10.24.1 Dubnium * v11.0.0 v11.1.0 v11.2.0 @@ -505,7 +506,14 @@ v12.19.1 Erbium v12.20.0 Erbium v12.20.1 Erbium v12.20.2 Erbium -v12.21.0 Erbium * +v12.21.0 Erbium +v12.22.0 Erbium +v12.22.1 Erbium +v12.22.2 Erbium +v12.22.3 Erbium +v12.22.4 Erbium +v12.22.5 Erbium +v12.22.6 Erbium * v13.0.0 v13.0.1 v13.1.0 @@ -546,7 +554,15 @@ v14.15.2 Fermium v14.15.3 Fermium v14.15.4 Fermium v14.15.5 Fermium -v14.16.0 Fermium * +v14.16.0 Fermium +v14.16.1 Fermium +v14.17.0 Fermium +v14.17.1 Fermium +v14.17.2 Fermium +v14.17.3 Fermium +v14.17.4 Fermium +v14.17.5 Fermium +v14.17.6 Fermium * v15.0.0 v15.0.1 v15.1.0 @@ -562,3 +578,19 @@ v15.8.0 v15.9.0 v15.10.0 v15.11.0 +v15.12.0 +v15.13.0 +v15.14.0 +v16.0.0 +v16.1.0 +v16.2.0 +v16.3.0 +v16.4.0 +v16.4.1 +v16.4.2 +v16.5.0 +v16.6.0 +v16.6.1 +v16.6.2 +v16.7.0 +v16.8.0 diff --git a/test/fast/Unit tests/mocks/nvm_make_alias LTS alias calls.txt b/test/fast/Unit tests/mocks/nvm_make_alias LTS alias calls.txt index c72adac..f5cb8c1 100644 --- a/test/fast/Unit tests/mocks/nvm_make_alias LTS alias calls.txt +++ b/test/fast/Unit tests/mocks/nvm_make_alias LTS alias calls.txt @@ -1,7 +1,7 @@ lts/*|lts/fermium -lts/fermium|v14.16.0 -lts/erbium|v12.21.0 -lts/dubnium|v10.24.0 +lts/fermium|v14.17.6 +lts/erbium|v12.22.6 +lts/dubnium|v10.24.1 lts/carbon|v8.17.0 lts/boron|v6.17.1 lts/argon|v4.9.1 diff --git a/test/fast/Unit tests/mocks/nvm_print_implicit_alias remote stable nightly.txt b/test/fast/Unit tests/mocks/nvm_print_implicit_alias remote stable nightly.txt index 0d68f8a..03b6389 100644 --- a/test/fast/Unit tests/mocks/nvm_print_implicit_alias remote stable nightly.txt +++ b/test/fast/Unit tests/mocks/nvm_print_implicit_alias remote stable nightly.txt @@ -1 +1 @@ -16.0 +17.0 diff --git a/test/fast/Unit tests/mocks/nvm_print_implicit_alias remote stable.txt b/test/fast/Unit tests/mocks/nvm_print_implicit_alias remote stable.txt index f7b6d64..bda3c37 100644 --- a/test/fast/Unit tests/mocks/nvm_print_implicit_alias remote stable.txt +++ b/test/fast/Unit tests/mocks/nvm_print_implicit_alias remote stable.txt @@ -1 +1 @@ -15.11 +16.8 From 291c7c4c47772f3a8f531de4b83049fcc5bb91f3 Mon Sep 17 00:00:00 2001 From: Kevin Stolp Date: Fri, 3 Sep 2021 23:40:13 -0700 Subject: [PATCH 26/54] [Fix] `nvm_ls_remote_index_tab`: handle long version lists --- nvm.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/nvm.sh b/nvm.sh index 15d1ba8..1ba89c6 100644 --- a/nvm.sh +++ b/nvm.sh @@ -1396,8 +1396,7 @@ nvm_ls_remote_index_tab() { local LTS_ALIAS local LTS_VERSION command mkdir -p "$(nvm_alias_path)/lts" - nvm_echo "${VERSION_LIST}" \ - | command awk '{ + { command awk '{ if ($10 ~ /^\-?$/) { next } if ($10 && !a[tolower($10)]++) { if (alias) { print alias, version } @@ -1416,7 +1415,9 @@ nvm_ls_remote_index_tab() { LTS_ALIAS="${LTS_ALIAS_LINE%% *}" LTS_VERSION="${LTS_ALIAS_LINE#* }" nvm_make_alias "${LTS_ALIAS}" "${LTS_VERSION}" >/dev/null 2>&1 - done + done; } << EOF +$VERSION_LIST +EOF VERSIONS="$({ command awk -v lts="${LTS-}" '{ if (!$1) { next } From fa63399991dfb8fbabad7bc80ab844488f053a68 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Thu, 9 Sep 2021 00:05:09 -0700 Subject: [PATCH 27/54] [Tests] `postcss` v7.0.36 stopped working on node 0.10; downgrade to v4 --- test/slow/nvm reinstall-packages/should work as expected | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/slow/nvm reinstall-packages/should work as expected b/test/slow/nvm reinstall-packages/should work as expected index de6962f..755c6f6 100755 --- a/test/slow/nvm reinstall-packages/should work as expected +++ b/test/slow/nvm reinstall-packages/should work as expected @@ -11,7 +11,7 @@ nvm use 0.10.28 (cd test-npmlink && npm link) EXPECTED_PACKAGES="autoprefixer bower david grunt-cli grunth-cli http-server jshint marked node-gyp npmlist postcss recursive-blame spawn-sync test-npmlink uglify-js yo" -EXPECTED_PACKAGES_INSTALL="autoprefixer bower david@11 grunt-cli grunth-cli http-server jshint marked node-gyp@7 npmlist postcss@7 recursive-blame spawn-sync test-npmlink uglify-js yo@1" +EXPECTED_PACKAGES_INSTALL="autoprefixer bower david@11 grunt-cli grunth-cli http-server jshint marked node-gyp@7 npmlist postcss@4 recursive-blame spawn-sync test-npmlink uglify-js yo@1" echo "$EXPECTED_PACKAGES_INSTALL" | sed -e 's/test-npmlink //' | xargs npm install -g --quiet From f03f69508e0981872adaf7b2a00faed602ee4bd4 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Tue, 7 Sep 2021 10:14:18 -0700 Subject: [PATCH 28/54] [Fix] `reinstall-packages`: handle global symlink locations properly This is a regression caused by npm ls -g in npm 7 no longer returning absolute paths. --- nvm.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nvm.sh b/nvm.sh index 1ba89c6..e737a20 100644 --- a/nvm.sh +++ b/nvm.sh @@ -3978,7 +3978,10 @@ nvm() { for LINK in ${LINKS}; do set +f; unset IFS # restore variable expansion if [ -n "${LINK}" ]; then - (nvm_cd "${LINK}" && npm link) + case "${LINK}" in + '/'*) (nvm_cd "${LINK}" && npm link) ;; + *) (nvm_cd "$(npm root -g)/../${LINK}" && npm link) + esac fi done ) From 2dad0455ec61e2842f8d0820bae40114a343ae3b Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Wed, 8 Sep 2021 23:49:16 -0700 Subject: [PATCH 29/54] [Fix] `nvm_die_on_prefix`: avoid grepping env functions in bash ironically, nvm itself has functions that matched this grep. --- nvm.sh | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/nvm.sh b/nvm.sh index e737a20..1c95f0b 100644 --- a/nvm.sh +++ b/nvm.sh @@ -2456,18 +2456,22 @@ nvm_die_on_prefix() { # # here, we avoid trying to replicate "which one wins" or testing the value; if any are defined, it errors # until none are left. - local NVM_NPM_CONFIG_PREFIX_ENV - NVM_NPM_CONFIG_PREFIX_ENV="$(command env | nvm_grep -i NPM_CONFIG_PREFIX | command tail -1 | command awk -F '=' '{print $1}')" - if [ -n "${NVM_NPM_CONFIG_PREFIX_ENV-}" ]; then + local NVM_NPM_CONFIG_x_PREFIX_ENV + if [ -n "${BASH_SOURCE-}" ]; then + NVM_NPM_CONFIG_x_PREFIX_ENV="$(command set | command awk -F '=' '! /^[0-9A-Z_a-z]+=/ {exit} {print $1}' | nvm_grep -i NPM_CONFIG_PREFIX | command tail -1)" + else + NVM_NPM_CONFIG_x_PREFIX_ENV="$(command env | nvm_grep -i NPM_CONFIG_PREFIX | command tail -1 | command awk -F '=' '{print $1}')" + fi + if [ -n "${NVM_NPM_CONFIG_x_PREFIX_ENV-}" ]; then local NVM_CONFIG_VALUE - eval "NVM_CONFIG_VALUE=\"\$${NVM_NPM_CONFIG_PREFIX_ENV}\"" + eval "NVM_CONFIG_VALUE=\"\$${NVM_NPM_CONFIG_x_PREFIX_ENV}\"" if [ -n "${NVM_CONFIG_VALUE-}" ] && [ "_${NVM_OS}" = "_win" ]; then NVM_CONFIG_VALUE="$(cd "$NVM_CONFIG_VALUE" 2>/dev/null && pwd)" fi if [ -n "${NVM_CONFIG_VALUE-}" ] && ! nvm_tree_contains_path "${NVM_DIR}" "${NVM_CONFIG_VALUE}"; then nvm deactivate >/dev/null 2>&1 - nvm_err "nvm is not compatible with the \"${NVM_NPM_CONFIG_PREFIX_ENV}\" environment variable: currently set to \"${NVM_CONFIG_VALUE}\"" - nvm_err "Run \`unset ${NVM_NPM_CONFIG_PREFIX_ENV}\` to unset it." + nvm_err "nvm is not compatible with the \"${NVM_NPM_CONFIG_x_PREFIX_ENV}\" environment variable: currently set to \"${NVM_CONFIG_VALUE}\"" + nvm_err "Run \`unset ${NVM_NPM_CONFIG_x_PREFIX_ENV}\` to unset it." return 4 fi fi From 59532c74c642a8e62368124dc4eca85ffab3f8cc Mon Sep 17 00:00:00 2001 From: Step Security Date: Fri, 10 Sep 2021 06:09:45 +0000 Subject: [PATCH 30/54] [actions] restrict permissions for `GITHUB_TOKEN` --- .github/workflows/latest-npm.yml | 4 ++++ .github/workflows/lint.yml | 8 ++++++++ .github/workflows/rebase.yml | 2 ++ .github/workflows/release.yml | 2 ++ .github/workflows/require-allow-edits.yml | 2 ++ .github/workflows/shellcheck.yml | 4 ++++ .github/workflows/toc.yml | 2 ++ .github/workflows/windows-npm.yml | 8 ++++++++ 8 files changed, 32 insertions(+) mode change 100755 => 100644 .github/workflows/windows-npm.yml diff --git a/.github/workflows/latest-npm.yml b/.github/workflows/latest-npm.yml index c064f21..48fb62e 100644 --- a/.github/workflows/latest-npm.yml +++ b/.github/workflows/latest-npm.yml @@ -4,6 +4,8 @@ on: [pull_request, push] jobs: nodes: + permissions: + contents: read name: 'nvm install-latest-npm' runs-on: ubuntu-latest @@ -44,6 +46,8 @@ jobs: - run: npm --version node: + permissions: + contents: none name: 'nvm install-latest-npm' needs: [nodes] runs-on: ubuntu-latest diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 4285c31..32f279d 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -4,6 +4,8 @@ on: [pull_request, push] jobs: eclint: + permissions: + contents: read runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -14,6 +16,8 @@ jobs: - run: npm run eclint dockerfile_lint: + permissions: + contents: read runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -24,6 +28,8 @@ jobs: - run: npm run dockerfile_lint doctoc: + permissions: + contents: read runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -34,6 +40,8 @@ jobs: - run: npm run doctoc:check test_naming: + permissions: + contents: read runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/rebase.yml b/.github/workflows/rebase.yml index 027aed0..e97e6a9 100644 --- a/.github/workflows/rebase.yml +++ b/.github/workflows/rebase.yml @@ -4,6 +4,8 @@ on: [pull_request_target] jobs: _: + permissions: + contents: write name: "Automatic Rebase" runs-on: ubuntu-latest diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 596a040..dfd9969 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -4,6 +4,8 @@ on: [pull_request, push] jobs: release: + permissions: + contents: read runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/require-allow-edits.yml b/.github/workflows/require-allow-edits.yml index aac42d3..b92dcd5 100644 --- a/.github/workflows/require-allow-edits.yml +++ b/.github/workflows/require-allow-edits.yml @@ -4,6 +4,8 @@ on: [pull_request_target] jobs: _: + permissions: + pull-requests: read name: "Require “Allow Edits”" runs-on: ubuntu-latest diff --git a/.github/workflows/shellcheck.yml b/.github/workflows/shellcheck.yml index 728b230..7b375a8 100644 --- a/.github/workflows/shellcheck.yml +++ b/.github/workflows/shellcheck.yml @@ -4,6 +4,8 @@ on: [pull_request, push] jobs: shellcheck_matrix: + permissions: + contents: read runs-on: ubuntu-latest strategy: fail-fast: false @@ -32,6 +34,8 @@ jobs: run: shellcheck -s ${{ matrix.shell }} ${{ matrix.file }} shellcheck: + permissions: + contents: none needs: [shellcheck_matrix] runs-on: ubuntu-latest steps: diff --git a/.github/workflows/toc.yml b/.github/workflows/toc.yml index 55ea20f..60ed577 100644 --- a/.github/workflows/toc.yml +++ b/.github/workflows/toc.yml @@ -4,6 +4,8 @@ on: [push] jobs: _: + permissions: + contents: write name: "update readme TOC" runs-on: ubuntu-latest diff --git a/.github/workflows/windows-npm.yml b/.github/workflows/windows-npm.yml old mode 100755 new mode 100644 index 8751e5b..90c5002 --- a/.github/workflows/windows-npm.yml +++ b/.github/workflows/windows-npm.yml @@ -9,6 +9,8 @@ env: jobs: msys_fail_install: # Default installation does not work due to npm_config_prefix set to C:\npm\prefix + permissions: + contents: none name: 'MSYS fail prefix nvm install' runs-on: windows-latest steps: @@ -20,6 +22,8 @@ jobs: ! nvm install --lts msys_matrix: + permissions: + contents: none name: 'MSYS nvm install' runs-on: windows-latest strategy: @@ -43,6 +47,8 @@ jobs: nvm install ${{ matrix.npm-node-version }} cygwin_matrix: + permissions: + contents: none name: 'Cygwin nvm install' runs-on: windows-latest steps: @@ -111,6 +117,8 @@ jobs: nvm install ${{ matrix.npm-node-version }} nvm_windows: + permissions: + contents: none needs: [wsl_matrix, cygwin_matrix, msys_matrix, msys_fail_install] runs-on: ubuntu-latest steps: From d91087c333d57c1cf37e9875ae235a1640a44d98 Mon Sep 17 00:00:00 2001 From: Gilad Barnea Date: Mon, 13 Sep 2021 15:26:40 +0300 Subject: [PATCH 31/54] [Fix] `bash_completion`: be robust when `cd` is overridden --- bash_completion | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bash_completion b/bash_completion index 3e72500..e1f987c 100644 --- a/bash_completion +++ b/bash_completion @@ -58,7 +58,7 @@ __nvm_aliases() { declare aliases aliases="" if [ -d "${NVM_DIR}/alias" ]; then - aliases="$(cd "${NVM_DIR}/alias" && command find "${PWD}" -type f | command sed "s:${PWD}/::")" + aliases="$(command cd "${NVM_DIR}/alias" && command find "${PWD}" -type f | command sed "s:${PWD}/::")" fi echo "${aliases} node stable unstable iojs" } From b6b6e685a39b9cc457a82530652b420d667c1dd1 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Tue, 14 Sep 2021 23:26:31 -0700 Subject: [PATCH 32/54] [Fix] `set -a`: when this option is set, some `sh` shells break Fixes #2574 --- nvm.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/nvm.sh b/nvm.sh index 1c95f0b..f646107 100644 --- a/nvm.sh +++ b/nvm.sh @@ -2661,6 +2661,13 @@ nvm() { EXIT_CODE="$?" set -e return "$EXIT_CODE" + elif [ "${-#*a}" != "$-" ]; then + set +a + local EXIT_CODE + IFS="${DEFAULT_IFS}" nvm "$@" + EXIT_CODE="$?" + set -a + return "$EXIT_CODE" elif [ "${IFS}" != "${DEFAULT_IFS}" ]; then IFS="${DEFAULT_IFS}" nvm "$@" return "$?" From cc6915e2167ac8f0166a40ccda4f5d9971d00cfb Mon Sep 17 00:00:00 2001 From: Nikita N Date: Tue, 21 Sep 2021 23:57:25 +0300 Subject: [PATCH 33/54] [readme] updated automatic call script for bash Bash terminal was throwing error: `bash: cd: too many arguments` when directory had some spaces in the name. The quotes around `$PWD` fixes this issue --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9c37cd6..0eb56c9 100644 --- a/README.md +++ b/README.md @@ -566,7 +566,7 @@ cdnvm() { fi } alias cd='cdnvm' -cd $PWD +cd "$PWD" ``` This alias would search 'up' from your current directory in order to detect a `.nvmrc` file. If it finds it, it will switch to that version; if not, it will use the default version. From 4471b6beb679ef96509808ef1c5aee91dbe764af Mon Sep 17 00:00:00 2001 From: Georgi Chochov Date: Sun, 26 Sep 2021 09:47:50 +0000 Subject: [PATCH 34/54] [readme] remove duplicate word 'run' --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0eb56c9..b87748d 100644 --- a/README.md +++ b/README.md @@ -94,7 +94,7 @@ Eg: `curl ... | NVM_DIR="path/to/nvm"`. Ensure that the `NVM_DIR` does not conta #### Troubleshooting on Linux On Linux, after running the install script, if you get `nvm: command not found` or see no feedback from your terminal after you type `command -v nvm`, simply close your current terminal, open a new terminal, and try verifying again. -Alternatively, you can run run the following commands for the different shells on the command line: +Alternatively, you can run the following commands for the different shells on the command line: *bash*: `source ~/.bashrc` From 11d71ab24b3b138dfc5b64f4183245ed89b81a64 Mon Sep 17 00:00:00 2001 From: Axel Svensson Date: Fri, 24 Sep 2021 01:56:47 +0200 Subject: [PATCH 35/54] [Fix] Regression in 2dad045 Fixes #2599 --- nvm.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nvm.sh b/nvm.sh index f646107..297f5ff 100644 --- a/nvm.sh +++ b/nvm.sh @@ -2458,7 +2458,7 @@ nvm_die_on_prefix() { # until none are left. local NVM_NPM_CONFIG_x_PREFIX_ENV if [ -n "${BASH_SOURCE-}" ]; then - NVM_NPM_CONFIG_x_PREFIX_ENV="$(command set | command awk -F '=' '! /^[0-9A-Z_a-z]+=/ {exit} {print $1}' | nvm_grep -i NPM_CONFIG_PREFIX | command tail -1)" + NVM_NPM_CONFIG_x_PREFIX_ENV="$(command set | command awk -F '=' '! /^[0-9A-Z_a-z]+=/ {skip=1} skip==0 {print $1}' | nvm_grep -i NPM_CONFIG_PREFIX | command tail -1)" else NVM_NPM_CONFIG_x_PREFIX_ENV="$(command env | nvm_grep -i NPM_CONFIG_PREFIX | command tail -1 | command awk -F '=' '{print $1}')" fi From ca897ac6d5d02ecad4400cb4319d064c2e48d2bf Mon Sep 17 00:00:00 2001 From: Tim Connolly Date: Wed, 22 Sep 2021 16:25:28 +1000 Subject: [PATCH 36/54] [readme] Avoid infinite loop in cdnvm() --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b87748d..a670a88 100644 --- a/README.md +++ b/README.md @@ -524,7 +524,7 @@ Put the following at the end of your `$HOME/.bashrc`: ```bash cdnvm() { - cd "$@"; + command cd "$@"; nvm_path=$(nvm_find_up .nvmrc | tr -d '\n') # If there are no .nvmrc file, use the default nvm version From 91bd22aa5727c9c4959eddd89c019d7141d69184 Mon Sep 17 00:00:00 2001 From: James Stroud Date: Fri, 4 Jun 2021 15:15:17 -0400 Subject: [PATCH 37/54] [readme] fixed small typo afew to a few also gave more up to date versions for example of `nvm install` and `nvm which` as well as your pointer section I love your project by the way. --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index a670a88..d664c16 100644 --- a/README.md +++ b/README.md @@ -154,7 +154,7 @@ which should output `nvm` if the installation was successful. Please note that ` If you're running a system without prepackaged binary available, which means you're going to install nodejs or io.js from its source code, you need to make sure your system has a C++ compiler. For OS X, Xcode will work, for Debian/Ubuntu based GNU/Linux, the `build-essential` and `libssl-dev` packages work. -**Note:** `nvm` also support Windows in some cases. It should work through WSL (Windows Subsystem for Linux) depending on the version of WSL. It should also work with [GitBash](https://gitforwindows.org/) (MSYS) or [Cygwin](https://cygwin.com). Otherwise, for Windows, afew alternatives exist, which are neither supported nor developed by us: +**Note:** `nvm` also support Windows in some cases. It should work through WSL (Windows Subsystem for Linux) depending on the version of WSL. It should also work with [GitBash](https://gitforwindows.org/) (MSYS) or [Cygwin](https://cygwin.com). Otherwise, for Windows, a few alternatives exist, which are neither supported nor developed by us: - [nvm-windows](https://github.com/coreybutler/nvm-windows) - [nodist](https://github.com/marcelklehr/nodist) @@ -255,7 +255,7 @@ nvm install node # "node" is an alias for the latest version To install a specific version of node: ```sh -nvm install 6.14.4 # or 10.10.0, 8.9.1, etc +nvm install 14.7.0 # or 16.3.0, 12.22.1, etc ``` The first version installed becomes the default. New shells will start with the default version of node (e.g., `nvm alias default`). @@ -287,10 +287,10 @@ nvm exec 4.2 node --version You can also get the path to the executable to where it was installed: ```sh -nvm which 5.0 +nvm which 12.22 ``` -In place of a version pointer like "0.10" or "5.0" or "4.2.1", you can use the following special default aliases with `nvm install`, `nvm use`, `nvm run`, `nvm exec`, `nvm which`, etc: +In place of a version pointer like "14.7" or "16.3" or "12.22.1", you can use the following special default aliases with `nvm install`, `nvm use`, `nvm run`, `nvm exec`, `nvm which`, etc: - `node`: this installs the latest version of [`node`](https://nodejs.org/en/) - `iojs`: this installs the latest version of [`io.js`](https://iojs.org/en/) From 47f0b32155be0f9c068088d0fce305d474b67072 Mon Sep 17 00:00:00 2001 From: Alex Sabau Date: Sun, 25 Feb 2018 21:46:31 +0100 Subject: [PATCH 38/54] [readme] Add info to restart bash if verification not working in verification section --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index d664c16..8302fbe 100644 --- a/README.md +++ b/README.md @@ -150,6 +150,8 @@ command -v nvm which should output `nvm` if the installation was successful. Please note that `which nvm` will not work, since `nvm` is a sourced shell function, not an executable binary. +**Note:** On Linux, after running the install script, if you get `nvm: command not found` or see no feedback from your terminal after you type `command -v nvm`, simply close your current terminal, open a new terminal, and try verifying again. + ### Important Notes If you're running a system without prepackaged binary available, which means you're going to install nodejs or io.js from its source code, you need to make sure your system has a C++ compiler. For OS X, Xcode will work, for Debian/Ubuntu based GNU/Linux, the `build-essential` and `libssl-dev` packages work. From 7bbc57355d74836bda13ee0516bb1cb713e6e86c Mon Sep 17 00:00:00 2001 From: Peter Dave Hello Date: Sun, 2 Apr 2017 07:33:49 +0800 Subject: [PATCH 39/54] [Tests] Print shell version in Travis CI --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index 7e991ed..47a3ac4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,6 +17,9 @@ before_install: - $SHELL --version 2> /dev/null || dpkg -s $SHELL 2> /dev/null || which $SHELL - curl --version - wget --version + - bash --version | head + - zsh --version + - dpkg -s dash | grep ^Version | awk '{print $2}' install: - if [ -z "${SHELLCHECK-}" ]; then nvm install node && npm install && npm prune && npm ls urchin doctoc eclint dockerfile_lint; fi - '[ -z "$WITHOUT_CURL" ] || sudo apt-get remove curl -y' From 59b0b3942cc9b3c997211104c033ffb03992ed26 Mon Sep 17 00:00:00 2001 From: Alister Norris Date: Tue, 6 Dec 2016 15:14:08 +0000 Subject: [PATCH 40/54] [readme] Add quick intro to `nvm` Allow newbies to get a quick understanding of how `nvm` works right from the start. --- README.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/README.md b/README.md index 8302fbe..18dea21 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ ## Table of Contents +- [Intro](#intro) - [About](#about) - [Installing and Updating](#installing-and-updating) - [Install & Update Script](#install--update-script) @@ -55,6 +56,29 @@ +## Intro + +`nvm` allows you to quickly install and use different versions of node via the command line. + +**Example:** +```sh +$ nvm use 16 +Now using node v16.9.1 (npm v7.21.1) +$ node -v +v16.9.1 +$ nvm use 14 +Now using node v14.18.0 (npm v6.14.15) +$ node -v +v14.18.0 +$ nvm install 12 +Now using node v12.22.6 (npm v6.14.5) +$ node -v +v12.22.6 +``` + +Simple as that! + + ## About nvm is a version manager for [node.js](https://nodejs.org/en/), designed to be installed per-user, and invoked per-shell. `nvm` works on any POSIX-compliant shell (sh, dash, ksh, zsh, bash), in particular on these platforms: unix, macOS, and windows WSL. From 07c02d43febdd2ec03f05550c7d7d2ce04c05206 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Wed, 29 Sep 2021 10:47:34 -0700 Subject: [PATCH 41/54] [Tests] `nvm install-latest-npm`: node < 0.10 breaks with npm with dropped support for TLS < 1.2 --- test/installation_node/install latest npm | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/test/installation_node/install latest npm b/test/installation_node/install latest npm index 8bb7a62..0de6f0d 100755 --- a/test/installation_node/install latest npm +++ b/test/installation_node/install latest npm @@ -26,13 +26,15 @@ nvm install-latest-npm || die 'nvm install-latest-npm failed: 3' NPM_VERSION="$(npm --version)" [ "${NPM_VERSION}" = '4.6.1' ] || die "io.js v1.x updates to ${NPM_VERSION}; expected v4.6.1" -export NPM_CONFIG_STRICT_SSL=false # the npm registry tightened up their SSL certs +# export NPM_CONFIG_STRICT_SSL=false # the npm registry tightened up their SSL certs -nvm deactivate >/dev/null 2>&1 || die 'unable to deactivate: 4' -nvm install 0.8.27 >/dev/null 2>&1 || die 'install v0.8 failed' -nvm install-latest-npm || die 'nvm install-latest-npm failed: 4' -NPM_VERSION="$(npm --version)" -[ "${NPM_VERSION}" = '4.5.0' ] || die "node 0.8.27 updates to ${NPM_VERSION}; expected v4.5.0" +## Commented because TLS < 1.2 is dropped, and this breaks npm in node < 0.10 +## https://github.blog/2021-08-23-npm-registry-deprecating-tls-1-0-tls-1-1/#detailed-timeline +# nvm deactivate >/dev/null 2>&1 || die 'unable to deactivate: 4' +# nvm install 0.8.27 >/dev/null 2>&1 || die 'install v0.8 failed' +# nvm install-latest-npm || die 'nvm install-latest-npm failed: 4' +# NPM_VERSION="$(npm --version)" +# [ "${NPM_VERSION}" = '4.5.0' ] || die "node 0.8.27 updates to ${NPM_VERSION}; expected v4.5.0" ## Commented to work around travis-ci breaking 0,6 installs # nvm deactivate >/dev/null 2>&1 || die 'unable to deactivate: 5' From 53f9ba8336d75fe82c167427b2cc865be757c0a2 Mon Sep 17 00:00:00 2001 From: Kaito Udagawa Date: Fri, 23 Dec 2016 01:03:41 +0900 Subject: [PATCH 42/54] [Refactor] Use awk for path stripping This works with paths which contains regex meta characters. --- nvm.sh | 13 ++++++------- test/fast/Unit tests/nvm_strip_path | 7 +++++++ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/nvm.sh b/nvm.sh index 297f5ff..87f4961 100644 --- a/nvm.sh +++ b/nvm.sh @@ -698,13 +698,12 @@ nvm_strip_path() { nvm_err '${NVM_DIR} not set!' return 1 fi - nvm_echo "${1-}" | command sed \ - -e "s#${NVM_DIR}/[^/]*${2-}[^:]*:##g" \ - -e "s#:${NVM_DIR}/[^/]*${2-}[^:]*##g" \ - -e "s#${NVM_DIR}/[^/]*${2-}[^:]*##g" \ - -e "s#${NVM_DIR}/versions/[^/]*/[^/]*${2-}[^:]*:##g" \ - -e "s#:${NVM_DIR}/versions/[^/]*/[^/]*${2-}[^:]*##g" \ - -e "s#${NVM_DIR}/versions/[^/]*/[^/]*${2-}[^:]*##g" + command printf %s "${1-}" | command awk -v NVM_DIR="${NVM_DIR}" -v RS=: ' + index($0, NVM_DIR) == 1 { + path = substr($0, length(NVM_DIR) + 1) + if (path ~ "^(/versions/[^/]*)?/[^/]*'"${2-}"'.*$") { next } + } + { print }' | command paste -s -d: - } nvm_change_path() { diff --git a/test/fast/Unit tests/nvm_strip_path b/test/fast/Unit tests/nvm_strip_path index a57a424..adce734 100755 --- a/test/fast/Unit tests/nvm_strip_path +++ b/test/fast/Unit tests/nvm_strip_path @@ -9,3 +9,10 @@ TEST_PATH=$NVM_DIR/v0.10.5/bin:/usr/bin:$NVM_DIR/v0.11.5/bin:$NVM_DIR/v0.9.5/bin STRIPPED_PATH=`nvm_strip_path "$TEST_PATH" "/bin"` [ "$STRIPPED_PATH" = "/usr/bin:/usr/local/bin" ] || die "Not correctly stripped: $STRIPPED_PATH " + +NVM_DIR='/#*.^$[]' +TEST_PATH="$NVM_DIR/v0.10.5/bin:/usr/bin:$NVM_DIR/v0.11.5/bin:$NVM_DIR/v0.9.5/bin:/usr/local/bin:$NVM_DIR/v0.2.5/bin:$NVM_DIR/versions/node/v0.12.0/bin:$NVM_DIR/versions/io.js/v1.0.0/bin" + +STRIPPED_PATH=`nvm_strip_path "$TEST_PATH" "/bin"` + +[ "$STRIPPED_PATH" = "/usr/bin:/usr/local/bin" ] || die "Not correctly stripped: $STRIPPED_PATH " From 1afd4f3566053526064b477a9b0bfd77ce2501f8 Mon Sep 17 00:00:00 2001 From: Peter Dave Hello Date: Sun, 5 Nov 2017 04:06:36 +0800 Subject: [PATCH 43/54] [Tests] Add `markdown-link-check` script This uses the npm package `markdown-link-check` to check if all the links in the documentation are alive. --- package.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 2387b2f..f116996 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,8 @@ "doctoc:check": "diff -q README.md v-README.md.orig", "postdoctoc:check": "mv v-README.md.orig README.md", "eclint": "eclint check $(git ls-tree --name-only HEAD | xargs)", - "dockerfile_lint": "dockerfile_lint" + "dockerfile_lint": "dockerfile_lint", + "markdown-link-check": "git ls-files | command grep -E '\\.md$' | xargs -n 1 markdown-link-check -p" }, "repository": { "type": "git", @@ -42,6 +43,7 @@ "dockerfile_lint": "^0.3.4", "doctoc": "^2.0.0", "eclint": "^2.8.1", + "markdown-link-check": "^3.1.4", "replace": "^1.2.1", "semver": "^7.3.5", "urchin": "^0.0.5" From 7b530edd3a2a3ebc976c455394f7245827194da7 Mon Sep 17 00:00:00 2001 From: Peter Dave Hello Date: Sun, 5 Nov 2017 04:07:37 +0800 Subject: [PATCH 44/54] [Docs] Use absolute URL for #606 in README.md Since markdown-link-check hasn't support relative links, to make the test passed, move this link to use absolute URL so that we can introduce the new test. cc tcort/markdown-link-check#10 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 18dea21..be66777 100644 --- a/README.md +++ b/README.md @@ -752,7 +752,7 @@ my_alias default v10.22.0 v12.18.3 v14.8.0 ## Compatibility Issues -`nvm` will encounter some issues if you have some non-default settings set. (see [#606](/../../issues/606)) +`nvm` will encounter some issues if you have some non-default settings set. (see [#606](https://github.com/creationix/nvm/issues/606)) The following are known to cause issues: Inside `~/.npmrc`: From 2bda9fd97e8f886c0acb495503139fe473f8ff6c Mon Sep 17 00:00:00 2001 From: Rick Button Date: Wed, 6 Oct 2021 01:50:44 -0400 Subject: [PATCH 45/54] [Tests] blacklist expired LetsEncrypt CA workaround for TravisCI's ubuntu 16.04 --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index 47a3ac4..9e068c4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,6 +14,8 @@ cache: - $TRAVIS_BUILD_DIR/.cache - $TRAVIS_BUILD_DIR/node_modules before_install: + - sudo sed -i 's/mozilla\/DST_Root_CA_X3.crt/!mozilla\/DST_Root_CA_X3.crt/g' /etc/ca-certificates.conf + - sudo update-ca-certificates -f - $SHELL --version 2> /dev/null || dpkg -s $SHELL 2> /dev/null || which $SHELL - curl --version - wget --version From ebbd30eb7f5a16314822a8444301c8b5bd17d7e1 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Tue, 5 Oct 2021 15:13:45 -0700 Subject: [PATCH 46/54] [Fix] `nvm install-latest-npm`: ensure npm 8 does not install on unsupported nodes --- .github/workflows/latest-npm.yml | 5 ++++ nvm.sh | 32 +++++++++++++++++++++++ test/installation_node/install latest npm | 7 +++++ 3 files changed, 44 insertions(+) diff --git a/.github/workflows/latest-npm.yml b/.github/workflows/latest-npm.yml index 48fb62e..ee7d229 100644 --- a/.github/workflows/latest-npm.yml +++ b/.github/workflows/latest-npm.yml @@ -13,6 +13,11 @@ jobs: fail-fast: false matrix: node-version: + - "16" + - "15" + - "14" + - "13" + - "12" - "11" - "10" - "9" diff --git a/nvm.sh b/nvm.sh index 87f4961..e1da3b1 100644 --- a/nvm.sh +++ b/nvm.sh @@ -268,6 +268,31 @@ nvm_install_latest_npm() { if [ $NVM_IS_9_3_OR_ABOVE -eq 1 ] && nvm_version_greater_than_or_equal_to "${NODE_VERSION}" 10.0.0; then NVM_IS_10_OR_ABOVE=1 fi + local NVM_IS_12_LTS_OR_ABOVE + NVM_IS_12_LTS_OR_ABOVE=0 + if [ $NVM_IS_10_OR_ABOVE -eq 1 ] && nvm_version_greater_than_or_equal_to "${NODE_VERSION}" 12.13.0; then + NVM_IS_12_LTS_OR_ABOVE=1 + fi + local NVM_IS_13_OR_ABOVE + NVM_IS_13_OR_ABOVE=0 + if [ $NVM_IS_12_LTS_OR_ABOVE -eq 1 ] && nvm_version_greater_than_or_equal_to "${NODE_VERSION}" 13.0.0; then + NVM_IS_13_OR_ABOVE=1 + fi + local NVM_IS_14_LTS_OR_ABOVE + NVM_IS_14_LTS_OR_ABOVE=0 + if [ $NVM_IS_13_OR_ABOVE -eq 1 ] && nvm_version_greater_than_or_equal_to "${NODE_VERSION}" 14.15.0; then + NVM_IS_14_LTS_OR_ABOVE=1 + fi + local NVM_IS_15_OR_ABOVE + NVM_IS_15_OR_ABOVE=0 + if [ $NVM_IS_14_LTS_OR_ABOVE -eq 1 ] && nvm_version_greater_than_or_equal_to "${NODE_VERSION}" 15.0.0; then + NVM_IS_15_OR_ABOVE=1 + fi + local NVM_IS_16_OR_ABOVE + NVM_IS_16_OR_ABOVE=0 + if [ $NVM_IS_15_OR_ABOVE -eq 1 ] && nvm_version_greater_than_or_equal_to "${NODE_VERSION}" 16.0.0; then + NVM_IS_16_OR_ABOVE=1 + fi if [ $NVM_IS_4_4_OR_BELOW -eq 1 ] || { [ $NVM_IS_5_OR_ABOVE -eq 1 ] && nvm_version_greater 5.10.0 "${NODE_VERSION}"; \ @@ -289,6 +314,13 @@ nvm_install_latest_npm() { elif [ $NVM_IS_10_OR_ABOVE -eq 0 ]; then nvm_echo '* `npm` `v6.x` is the last version that works on `node` below `v10.0.0`' $NVM_NPM_CMD install -g npm@6 + elif \ + [ $NVM_IS_12_LTS_OR_ABOVE -eq 0 ] \ + || { [ $NVM_IS_13_OR_ABOVE -eq 1 ] && [ $NVM_IS_14_LTS_OR_ABOVE -eq 0 ]; } \ + || { [ $NVM_IS_15_OR_ABOVE -eq 1 ] && [ $NVM_IS_16_OR_ABOVE -eq 0 ]; } \ + ; then + nvm_echo '* `npm` `v7.x` is the last version that works on `node` `v13`, `v15`, below `v12.13`, or `v14.0` - `v14.15`' + $NVM_NPM_CMD install -g npm@7 else nvm_echo '* Installing latest `npm`; if this does not work on your node version, please report a bug!' $NVM_NPM_CMD install -g npm diff --git a/test/installation_node/install latest npm b/test/installation_node/install latest npm index 0de6f0d..6cbac8a 100755 --- a/test/installation_node/install latest npm +++ b/test/installation_node/install latest npm @@ -8,6 +8,13 @@ set +e # todo: fix \. ../../nvm.sh set -e +nvm deactivate >/dev/null 2>&1 || die 'unable to deactivate: 1' +nvm install 12.12 >/dev/null 2>&1 || die 'install v12.12 failed' +nvm install-latest-npm || die 'nvm install-latest-npm failed: 1' +NPM_VERSION="$(npm --version)" +nvm_version_greater_than_or_equal_to "${NPM_VERSION}" 7.0.0 \ +&& nvm_version_greater 8.0.0 "${NPM_VERSION}" || die "node v12.12 updates to ${NPM_VERSION}; expected v7" + nvm deactivate >/dev/null 2>&1 || die 'unable to deactivate: 1' nvm install 4 >/dev/null 2>&1 || die 'install v4 failed' nvm install-latest-npm || die 'nvm install-latest-npm failed: 1' From da5baa005b9f59f8f9f86002c85a2053f09494ba Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Tue, 5 Oct 2021 16:14:05 -0700 Subject: [PATCH 47/54] [Tests] use a matrix on the `nvm install-latest-npm` tests --- .github/workflows/latest-npm.yml | 52 +++++++++++++++----------------- 1 file changed, 25 insertions(+), 27 deletions(-) diff --git a/.github/workflows/latest-npm.yml b/.github/workflows/latest-npm.yml index ee7d229..b616158 100644 --- a/.github/workflows/latest-npm.yml +++ b/.github/workflows/latest-npm.yml @@ -3,7 +3,20 @@ name: 'Tests: `nvm install-latest-npm`' on: [pull_request, push] jobs: + matrix: + runs-on: ubuntu-latest + outputs: + latest: ${{ steps.set-matrix.outputs.requireds }} + steps: + - uses: ljharb/actions/node/matrix@main + id: set-matrix + with: + versionsAsRoot: true + type: majors + preset: '>=1' + nodes: + needs: [matrix] permissions: contents: read name: 'nvm install-latest-npm' @@ -12,33 +25,18 @@ jobs: strategy: fail-fast: false matrix: - node-version: - - "16" - - "15" - - "14" - - "13" - - "12" - - "11" - - "10" - - "9" - - "9.2" - - "9.1" - - "9.0" - - "8" - - "7" - - "6" - - "6.1" - - "5" - - "5.9" - - "4" - - "4.6" - - "4.5" - - "4.4" - - "3" - - "2" - - "1" - - "0.12" - - "0.10" + node-version: ${{ fromJson(needs.matrix.outputs.latest) }} + include: + - node-version: "9.2" + - node-version: "9.1" + - node-version: "9.0" + - node-version: "6.1" + - node-version: "5.9" + - node-version: "4.6" + - node-version: "4.5" + - node-version: "4.4" + - node-version: "0.12" + - node-version: "0.10" steps: - uses: actions/checkout@v2 From 10189bf4cb95fa8f113c3a38a580b74bc404bf34 Mon Sep 17 00:00:00 2001 From: Felipe Alexandre Rodrigues Date: Tue, 5 Oct 2021 10:47:56 -0300 Subject: [PATCH 48/54] [readme] Add bash_completion in "manual install" section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index be66777..62138cd 100644 --- a/README.md +++ b/README.md @@ -251,6 +251,7 @@ Now add these lines to your `~/.bashrc`, `~/.profile`, or `~/.zshrc` file to hav ```sh export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm +[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion ``` ### Manual Upgrade From 93e0070a44134be7833ee8274aab1324533f95f7 Mon Sep 17 00:00:00 2001 From: Matteo De Wint Date: Sat, 28 Nov 2020 15:16:35 +0100 Subject: [PATCH 49/54] [Fix] `nvm_die_on_prefix`: filter prefixed env vars on name only, ignoring values --- nvm.sh | 6 +----- test/fast/Unit tests/nvm_die_on_prefix | 3 +++ 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/nvm.sh b/nvm.sh index e1da3b1..49d22fd 100644 --- a/nvm.sh +++ b/nvm.sh @@ -2488,11 +2488,7 @@ nvm_die_on_prefix() { # here, we avoid trying to replicate "which one wins" or testing the value; if any are defined, it errors # until none are left. local NVM_NPM_CONFIG_x_PREFIX_ENV - if [ -n "${BASH_SOURCE-}" ]; then - NVM_NPM_CONFIG_x_PREFIX_ENV="$(command set | command awk -F '=' '! /^[0-9A-Z_a-z]+=/ {skip=1} skip==0 {print $1}' | nvm_grep -i NPM_CONFIG_PREFIX | command tail -1)" - else - NVM_NPM_CONFIG_x_PREFIX_ENV="$(command env | nvm_grep -i NPM_CONFIG_PREFIX | command tail -1 | command awk -F '=' '{print $1}')" - fi + NVM_NPM_CONFIG_x_PREFIX_ENV="$(command awk 'BEGIN { for (name in ENVIRON) if (toupper(name) == "NPM_CONFIG_PREFIX") { print name; break } }')" if [ -n "${NVM_NPM_CONFIG_x_PREFIX_ENV-}" ]; then local NVM_CONFIG_VALUE eval "NVM_CONFIG_VALUE=\"\$${NVM_NPM_CONFIG_x_PREFIX_ENV}\"" diff --git a/test/fast/Unit tests/nvm_die_on_prefix b/test/fast/Unit tests/nvm_die_on_prefix index f06a9bf..0a2429e 100755 --- a/test/fast/Unit tests/nvm_die_on_prefix +++ b/test/fast/Unit tests/nvm_die_on_prefix @@ -84,6 +84,9 @@ EXIT_CODE="$(export npm_CONFIG_PREFIX=bar ; nvm_die_on_prefix 0 foo "$(nvm_versi [ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "'npm_CONFIG_PREFIX=bar nvm_die_on_prefix 0 foo' did not error with '$EXPECTED_OUTPUT'; got '$OUTPUT'" [ "_$EXIT_CODE" = "_4" ] || die "'npm_CONFIG_PREFIX=bar nvm_die_on_prefix 0 foo' did not exit with 4; got '$EXIT_CODE'" +OUTPUT="$(export FOO='This contains NPM_CONFIG_PREFIX' ; nvm_die_on_prefix 0 foo "$(nvm_version_dir new)" 2>&1)" +[ -z "$OUTPUT" ] || die "'nvm_die_on_prefix' was not a noop; got '$OUTPUT'" + # npmrc tests ( cd "${TEST_DIR}" From 055af09d245f645f8efb0f843d2d41ea71e5c674 Mon Sep 17 00:00:00 2001 From: Simon East Date: Tue, 4 May 2021 15:56:53 +1000 Subject: [PATCH 50/54] [readme] link "Windows WSL" down to the "important notes" section --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 62138cd..84919c2 100644 --- a/README.md +++ b/README.md @@ -80,7 +80,7 @@ Simple as that! ## About -nvm is a version manager for [node.js](https://nodejs.org/en/), designed to be installed per-user, and invoked per-shell. `nvm` works on any POSIX-compliant shell (sh, dash, ksh, zsh, bash), in particular on these platforms: unix, macOS, and windows WSL. +nvm is a version manager for [node.js](https://nodejs.org/en/), designed to be installed per-user, and invoked per-shell. `nvm` works on any POSIX-compliant shell (sh, dash, ksh, zsh, bash), in particular on these platforms: unix, macOS, and [windows WSL](https://github.com/nvm-sh/nvm#important-notes). From e8f485bb63d34b4894d7ed8ef4fe71dc038a51ca Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Thu, 7 Oct 2021 10:08:53 -0700 Subject: [PATCH 51/54] [Dev Deps] update `doctoc`, `markdown-link-check` --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index f116996..554713a 100644 --- a/package.json +++ b/package.json @@ -41,9 +41,9 @@ "homepage": "https://github.com/nvm-sh/nvm", "devDependencies": { "dockerfile_lint": "^0.3.4", - "doctoc": "^2.0.0", + "doctoc": "^2.0.1", "eclint": "^2.8.1", - "markdown-link-check": "^3.1.4", + "markdown-link-check": "^3.8.7", "replace": "^1.2.1", "semver": "^7.3.5", "urchin": "^0.0.5" From 5b3d188b83f27ec31d97f3f3e6e49220e09b6985 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Thu, 7 Oct 2021 10:11:35 -0700 Subject: [PATCH 52/54] v0.39.0 --- README.md | 16 ++++++++-------- install.sh | 2 +- nvm.sh | 2 +- package.json | 2 +- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 84919c2..8891021 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Node Version Manager [![Build Status](https://travis-ci.org/nvm-sh/nvm.svg?branch=master)][3] [![nvm version](https://img.shields.io/badge/version-v0.38.0-yellow.svg)][4] [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/684/badge)](https://bestpractices.coreinfrastructure.org/projects/684) +# Node Version Manager [![Build Status](https://travis-ci.org/nvm-sh/nvm.svg?branch=master)][3] [![nvm version](https://img.shields.io/badge/version-v0.39.0-yellow.svg)][4] [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/684/badge)](https://bestpractices.coreinfrastructure.org/projects/684) @@ -90,10 +90,10 @@ nvm is a version manager for [node.js](https://nodejs.org/en/), designed to be i To **install** or **update** nvm, you should run the [install script][2]. To do that, you may either download and run the script manually, or use the following cURL or Wget command: ```sh -curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash ``` ```sh -wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash +wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash ``` Running either of the above commands downloads a script and runs it. The script clones the nvm repository to `~/.nvm`, and attempts to add the source lines from the snippet below to the correct profile file (`~/.bash_profile`, `~/.zshrc`, `~/.profile`, or `~/.bashrc`). @@ -159,7 +159,7 @@ You can use a task: ```yaml - name: nvm shell: > - curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash + curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash args: creates: "{{ ansible_env.HOME }}/.nvm/nvm.sh" ``` @@ -221,7 +221,7 @@ If you have `git` installed (requires git v1.7.10+): 1. clone this repo in the root of your user profile - `cd ~/` from anywhere then `git clone https://github.com/nvm-sh/nvm.git .nvm` -1. `cd ~/.nvm` and check out the latest version with `git checkout v0.38.0` +1. `cd ~/.nvm` and check out the latest version with `git checkout v0.39.0` 1. activate `nvm` by sourcing it from your shell: `. ./nvm.sh` Now add these lines to your `~/.bashrc`, `~/.profile`, or `~/.zshrc` file to have it automatically sourced upon login: @@ -787,7 +787,7 @@ If installing nvm on Alpine Linux *is* still what you want or need to do, you sh ```sh apk add -U curl bash ca-certificates openssl ncurses coreutils python2 make gcc g++ libgcc linux-headers grep util-linux binutils findutils -curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash ``` The Node project has some desire but no concrete plans (due to the overheads of building, testing and support) to offer Alpine-compatible binaries. @@ -884,9 +884,9 @@ You have to make sure that the user directory name in `$HOME` and the user direc To change the user directory and/or account name follow the instructions [here](https://support.apple.com/en-us/HT201548) [1]: https://github.com/nvm-sh/nvm.git -[2]: https://github.com/nvm-sh/nvm/blob/v0.38.0/install.sh +[2]: https://github.com/nvm-sh/nvm/blob/v0.39.0/install.sh [3]: https://travis-ci.org/nvm-sh/nvm -[4]: https://github.com/nvm-sh/nvm/releases/tag/v0.38.0 +[4]: https://github.com/nvm-sh/nvm/releases/tag/v0.39.0 [Urchin]: https://github.com/scraperwiki/urchin [Fish]: http://fishshell.com diff --git a/install.sh b/install.sh index 4ca56c0..af8fb6e 100755 --- a/install.sh +++ b/install.sh @@ -27,7 +27,7 @@ nvm_install_dir() { } nvm_latest_version() { - nvm_echo "v0.38.0" + nvm_echo "v0.39.0" } nvm_profile_is_bash_or_zsh() { diff --git a/nvm.sh b/nvm.sh index 49d22fd..bdfe6d3 100644 --- a/nvm.sh +++ b/nvm.sh @@ -4069,7 +4069,7 @@ nvm() { NVM_VERSION_ONLY=true NVM_LTS="${NVM_LTS-}" nvm_remote_version "${PATTERN:-node}" ;; "--version" | "-v") - nvm_echo '0.38.0' + nvm_echo '0.39.0' ;; "unload") nvm deactivate >/dev/null 2>&1 diff --git a/package.json b/package.json index 554713a..c0630c6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nvm", - "version": "0.38.0", + "version": "0.39.0", "description": "Node Version Manager - Simple bash script to manage multiple active node.js versions", "directories": { "test": "test" From a284af9228a62656e32eacfb0928faaeee8a124d Mon Sep 17 00:00:00 2001 From: Wu Jiang Date: Thu, 14 Apr 2016 20:57:10 -0400 Subject: [PATCH 53/54] [New] Add OpenBSD support --- nvm.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/nvm.sh b/nvm.sh index bdfe6d3..72992c1 100644 --- a/nvm.sh +++ b/nvm.sh @@ -2316,7 +2316,7 @@ nvm_install_source() { make='make' local MAKE_CXX case "${NVM_OS}" in - 'freebsd') + 'freebsd' | 'openbsd') make='gmake' MAKE_CXX="CC=${CC:-cc} CXX=${CXX:-c++}" ;; @@ -3273,6 +3273,10 @@ nvm() { # node.js and io.js do not have a FreeBSD binary nobinary=1 nvm_err "Currently, there is no binary for FreeBSD" + elif [ "_$NVM_OS" = "_openbsd" ]; then + # node.js and io.js do not have a OpenBSD binary + nobinary=1 + nvm_err "Currently, there is no binary for OpenBSD" elif [ "_${NVM_OS}" = "_sunos" ]; then # Not all node/io.js versions have a Solaris binary if ! nvm_has_solaris_binary "${VERSION}"; then From c9e7bb2da1bdaffe15f9a1d1bededb533a172138 Mon Sep 17 00:00:00 2001 From: Nix Date: Sat, 23 Oct 2021 22:23:55 +0900 Subject: [PATCH 54/54] [Fix] install script: Add `--no-pager` option to git branch --- install.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/install.sh b/install.sh index af8fb6e..c5bc50f 100755 --- a/install.sh +++ b/install.sh @@ -160,11 +160,11 @@ install_nvm_from_git() { exit 2 } if [ -n "$(command git --git-dir="$INSTALL_DIR"/.git --work-tree="$INSTALL_DIR" show-ref refs/heads/master)" ]; then - if command git --git-dir="$INSTALL_DIR"/.git --work-tree="$INSTALL_DIR" branch --quiet 2>/dev/null; then - command git --git-dir="$INSTALL_DIR"/.git --work-tree="$INSTALL_DIR" branch --quiet -D master >/dev/null 2>&1 + if command git --no-pager --git-dir="$INSTALL_DIR"/.git --work-tree="$INSTALL_DIR" branch --quiet 2>/dev/null; then + command git --no-pager --git-dir="$INSTALL_DIR"/.git --work-tree="$INSTALL_DIR" branch --quiet -D master >/dev/null 2>&1 else nvm_echo >&2 "Your version of git is out of date. Please update it!" - command git --git-dir="$INSTALL_DIR"/.git --work-tree="$INSTALL_DIR" branch -D master >/dev/null 2>&1 + command git --no-pager --git-dir="$INSTALL_DIR"/.git --work-tree="$INSTALL_DIR" branch -D master >/dev/null 2>&1 fi fi