v0.40.4

Bug Fixes

 - sanitize `NVM_AUTH_HEADER` in `wget` path
 - `nvm_has_colors`: also check if stdout is a terminal
 - `nvm_strip_path`: avoid gawk-specific `RT` variable for mawk compatibility
 - `nvm_get_default_packages`: use portable awk patterns
 - `nvm_install_source`: explicitly set SHELL=/bin/sh for make
 - `install.sh`: do not log when user has requested no profile modifications (#2131)
 - `nvm exec`: Do a version check on `nvm-exec` (#3308)
 - Reject bare LTS codenames in nvm install (#3718)
 - prevent sed errors when pattern contains `#`
 - install.sh: Force remote name of cloned repo to be 'origin' (#3654)
 - `sh` lacks `-O`; thanks shellcheck
 - show system Node.js version in nvm ls (#1287)

Docs

 - [readme] add missing colon (#3516)
 - [readme] add background on io.js (#3641)
 - [readme] fix typo (#3687)
 - [readme] update installation by docker to v0.40.3 (#3590)

Tests

 - [actions] add permissions to GHA workflow
 - Improve uninstall error message for missing versions (#3768)
 - [Tests] add retry logic (#2232)
 - [Tests] add a timeout
 - [actions] add a finisher to lint
 - [actions] migrate Travis CI tests to GitHub Actions
 - [Tests] mock `node` in `nvm_die_on_prefix` test
 - [Tests] clean up .nvmrc after nvm-exec test
 - [Tests] set `$_` before sourcing `nvm.sh` in fast tests
 - [actions] update outdated GitHub Actions versions (#3762)
 - [actions] fix WSL tests: properly handle Debian apt sources issue
 - [actions] fix workflow permissions; add codeQL
 - [actions] temporary fix for WSL issue
 - [actions] add new github asset domain to harden-runner
 - [actions] Fix Cygwin workflow HOME variable and add debug output (#3611)

Misc
 - Migrate GitHub Copilot instructions to AGENTS.md and CLAUDE.md (#3655)
 - [security] add security escalation policy (#3658)
 - [meta] Add comprehensive .github/copilot-instructions.md for better AI code assistance (#3609)
 - [meta] update security policy; add IRP
 - [Dev Deps] update `markdown-link-check`, `semver`
This tag has no release notes.