NVM for Windows v1.2.0

Corey ButlerCorey Butler
6 min read

Installing and switching between different versions of Node.js is a fundamental part of modern software development. With 12M+ downloads and counting, NVM for Windows continues to help the world manage this, but there is considerable room for growth.

The future is moving towards “environment management”. Version management plays a key role in this, but it’s a small part of the bigger picture. For quite some time, we’ve been iterating on ideas and tools to support a future where environment management is as easy as Node.js version management is today. To accomplish this, we’re building a modular environment management application called “Author”. The first (free) Author module/plugin is a new JavaScript runtime manager meant to replace NVM for Windows. We’ve often referred to it as “Runtime”, but the official name is still subject to change.

NVM for Windows v1.2.0 is the first in a series of “transition” releases designed to gently transition users to Author/Runtime. Of course, we’ve fixed bugs and completed general maintenance, but we’ve added a few early Author/Runtime features. For example, this is the first version to provide a streamlined upgrade path to future releases (see “New Commands” section). Whether you’re the type of developer who lives on the edge or part of an organization where change takes months/years, these releases will ease the transition to Author/Runtime at a sustainable pace.

New Features

Desktop Notifications

NVM for Windows 1.2.0 ships with a small (optional) subset of the Author/Runtime features we’ve been working on. With the embedded Author notification system (basic/free edition), developers can choose to receive native desktop notifications for new LTS and/or Current Node.js releases, NVM for Windows releases, and Author/Runtime updates (until GA release).

Since this screenshot was taken, we’ve added a button linking to the release notes. When the installation completes, another notification with a “Use” button (plus release notes) is displayed.
💡
Since these are native desktop notifications (not temporary dialog windows), they will remain in the system notification center until processed/dismissed. This means you won’t miss them if you don’t happen to be at your computer the moment a new version is available.

ARM64 Support

Thanks to this contribution, NVM for Windows 1.2.0 supports ARM64 versions of Node.js. We love our contributors!

New Commands

There are two new core commands: upgrade and reinstall.

The upgrade command will update NVM for Windows if a new version is available. A backup is maintained for up to 7 days, allowing users to roll back in the event an upgrade is unsuccessful or needs to be reverted.

The reinstall command exists primarily for users who encounter issues when installing a particular version. There are circumstances where users may not have had appropriate permissions to save a file. Others experience network outages while downloading (or a remote host/mirror outage), resulting in partial downloads. In those circumstances, the reinstall command helps clean up/restore.

Additionally, there are two new Author commands: subscribe and unsubscribe. These commands help users manage desktop notifications.

Changes

The official installer now defaults to C:\nvm4w\nodejs for the NVM_SYMLINK instead of C:\Program Files\nodejs. Windows has the concept of “protected directories” which require elevated permissions to access. C:\Program Files is one of these directories. Users with limited permissions post-installation are less likely to encounter access issues with this alternative directory. There is no impact on privileged user accounts.

Replaced Updater App

NVM for Windows 1.1.12 and below offered a separate updater application. This has been removed in favor of the new nvm upgrade command. Users who are migrating from v1.1.12 can safely upgrade their current installations by running the new 1.2.0 installer. The new installer will not remove your current Node installations or npm modules.

Command Aliases

There are three new command aliases/shortcuts.

  • nvm i for nvm install

  • nvm rm for nvm uninstall

  • nvm u for nvm use

Bug fixes

There are several bug fixes detailed in the change log. One specific issue merits a deeper explanation.

NVM for Windows had an undetected issue where an extra / character was injected in the download URL for Node.js versions below 18.0.0. For years, nodejs.org ran an NGINX server that auto-resolved these URLs. There was no indication a problem existed. At the November 2024 Node Collaborator Summit, nodejs.org migrated to Cloudflare. It was not configured to auto-resolve these URLs, causing 404 responses. A patch was submitted and a temporary fork of NVM for Windows was made available for users caught in this (did I mention we love our contributors?). NVM for Windows 1.2.0 comes with the fix, but we cannot retroactively fix older versions. Luckily, the nodejs.org web team quickly implemented a fix to auto-resolve these URLs for older editions of NVM for Windows, reinstating download access.

This issue serves as a reminder that users should strive to keep their tools up-to-date. The Node ecosystem is dynamic. This is, in part, why we’re encouraging users to upgrade to 1.2.0 with Author desktop notifications enabled. It is a lot easier to keep up when you know updates are available. It’s even easier when you press the “Install” button to auto-upgrade NVM for Windows or install a version of Node.js.

Deprecations

Manual Installation Method

A high portion of issues filed on the project relate to custom installers.

Individuals predominantly run the official installer (the recommended approach). Custom installers are more commonly required by employers of many developers. Unfortunately, we do not have the resources to freely support every unique installation scenario, especially as it pertains to mass deployment within private organizations.

Essentially, we are dropping free support for custom installers. We anticipate minimal to zero impact on individual developers. The assets for custom installers will still be distributed as they always have, but we will no longer respond to issues filed about manual installations. Organizations in need of custom installers and/or support creating their installers can contact us to establish a support/service agreement.

Stewardship

NVM for Windows was created by Corey Butler. He has been the only core developer since its inception. As the project grew, stewardship was absorbed into Ecor Ventures LLC (Corey’s operating entity), fulfilling a requirement to obtain the code signing certificates necessary for trusted distribution. As demand increased to millions of people/organizations around the world, it became clear the open-source model alone could not sufficiently support the ongoing needs of all users (especially enterprise users).

In July 2024, Corey and Graham Butler established Author Software Inc. to support continued development under free and commercial models. Part of this effort includes transferring stewardship of the NVM for Windows project from Ecor Ventures LLC to Author Software Inc. It’s the same people with a new legal structure. It’s a scalable and sustainable venture with the capacity for growth.

For most users, this will have zero impact and there is nothing to worry about.

If your organization requires annual security audits and verification of maintainer legal entities, please establish contact with Author Software Inc. by emailing connect@author.io.

💡
The major technical difference? Code signing is now handled by Author Software Inc. instead of Ecor Ventures LLC.
2
Subscribe to my newsletter

Read articles from Corey Butler directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Corey Butler
Corey Butler

I create code, communities, & companies. I'm the creator of NVM for Windows, Fenix Web Server, and many other open-source tools. I co-founded/co-organize Austin's most attended tech meetup, Bleeding Edge Web (edgeatx.org) with 4K+ members. I'm a Top Writer on Quora, consistently in the top 5 for Node.js, JavaScript, and web topics. After 25+ years running enterprise IT consulting practices, I've shifted my focus to building software ventures. I founded Ecor Ventures to support a portfolio of tech startups, including my latest, Author Software Inc.