Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions apps/site/mdx/components.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import AlertBox from '@node-core/ui-components/Common/AlertBox';
import BadgeGroup from '@node-core/ui-components/Common/BadgeGroup';
import Blockquote from '@node-core/ui-components/Common/Blockquote';
import NodeSourceLogo from '@node-core/ui-components/Icons/PartnerLogos/NodeSource/Logo';
import MDXCodeTabs from '@node-core/ui-components/MDX/CodeTabs';
import {
MDXTooltip,
Expand Down Expand Up @@ -102,4 +103,5 @@ export default {
Button,
Link,
LinkWithArrow,
NodeSourceLogo,
};
4 changes: 4 additions & 0 deletions apps/site/navigation.json
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,10 @@
"eol": {
"link": "/about/eol",
"label": "components.navigation.about.links.eol"
},
"upgradeAdvisor": {
"link": "/about/upgrading-nodejs",
"label": "components.navigation.about.links.upgradeAdvisor"
}
}
},
Expand Down
6 changes: 5 additions & 1 deletion apps/site/pages/en/about/eol.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ description: Understand Node.js End-of-Life, what it means for security, tooling
Major versions of Node.js are released, patched, and designated End-Of-Life on a predictable schedule. As it's not feasible to maintain all release lines in perpetuity, after a planned maintenance period, a Node.js major release line will stop being maintained by the project.

<div className="flex flex-col items-start gap-4 xl:flex-row xl:items-center">
<Button kind="primary" href="/download" className="flex-1">
<Button kind="primary" href="/about/upgrading-nodejs" className="flex-1">
<span>Upgrade to the latest LTS Node.js®</span>
</Button>
<span>or</span>
Expand Down Expand Up @@ -42,3 +42,7 @@ Despite the obvious downsides of using EOL releases, in practice, organizations
HeroDevs provides [Never-Ending Support (NES)](https://nodejs.org/esp/herodevs) for Node.js versions past their official maintenance phase. This includes security patches, compliance assistance, and technical support to help bridge the gap while you plan your upgrade strategy.

Using EOL releases through commercial support should be viewed as a temporary solution—the goal should always be to upgrade to actively supported versions.

## Need help upgrading?

If you are planning an upgrade from an EOL version, you can utilize the [Upgrading Node.js](/about/upgrading-nodejs) page to get a free assessment of your application's readiness and a migration roadmap.
72 changes: 72 additions & 0 deletions apps/site/pages/en/about/upgrading-nodejs.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
---
title: Upgrading Node.js
layout: about
description: Get a free assessment to upgrade your Node.js applications with confidence.
---

# Upgrading Node.js

Keeping your Node.js applications up-to-date is crucial for security, performance, and accessing the latest features. However, migrating from legacy versions can be challenging due to breaking changes, deprecated APIs, and dependency conflicts.

Node.js itself is and always will be free, open source software. The guidance below is designed to help you plan and execute upgrades, whether you do it yourself or work with one of the service providers in our ecosystem.

## Open Source Migration Resources

### Why Upgrade?

- **Security**: Insight into vulnerabilities affecting your specific codebase.
- **Performance**: Leverage the latest V8 engine improvements and Node.js optimizations.
- **Support**: Ensure your applications are on supported release lines (LTS).

### How to Upgrade

1. **Assessment**: Identify outdated versions, dependencies, and potential risks.
2. **Review & Plan**: Check changelogs for breaking changes and create a phased upgrade plan.
3. **Update Dependencies**: Ensure your third-party packages are compatible with the new Node.js version.
4. **Execute**: Refactor code to address deprecations and breaking changes.
5. **Test**: Run your test suite to catch regressions.
6. **Deploy**: Roll out the upgrade to staging and production.

Upgrades can introduce risks — breaking changes, dependency incompatibilities, and subtle runtime differences that are hard to debug. To help with Step 4, the [Node.js Userland Migrations Working Group](https://github.com/nodejs/userland-migrations) provides **codemods**, automated code transformations that handle specific breaking changes across your codebase:

```bash
npx codemod @nodejs/<recipe>
```

These community-maintained recipes are published in the [Codemod Registry](https://registry.codemod.com), letting you incrementally adopt fixes without a full rewrite. Contributions are welcome — author new recipes, review existing ones, or help shape the ecosystem's migration strategy.

<div className="my-8 flex w-full justify-center">
<Button kind="primary" href="/download">
<span>Download the latest LTS Node.js®</span>
</Button>
</div>

## Ecosystem Support Programs

The OpenJS Foundation has established an LTS Upgrade & Modernization framework to help organizations move safely off legacy and end-of-life (EOL) Node.js versions. As the nonprofit steward of Node.js, the Foundation defines the program standards, ensures alignment with the upstream project, and works with qualified service providers who deliver tools and technical support under this framework.

The following service providers participate in the OpenJS Foundation's LTS Upgrade & Modernization program:

### NodeSource

<div className="my-8 flex w-full justify-center">
<NodeSourceLogo className="h-12 w-auto dark:text-white" />
</div>

[NodeSource](https://nodesource.com/products/nodejs-upgrade) provides upgrade assessment tools and expert-guided modernization services under the Foundation's framework. Their program offers a structured path to modernization:

- **Scan Your App (Free)**: NodeSource's public "Upgrade Discovery CLI" tool scans your project's environment for dependencies, C++ addons, and static API usage.
- **AI-Powered Analysis (Free)**: Receive deep insights including executive scores for security and upgrade risk, identification of critical blockers, and a complete scan for deprecated APIs and vulnerabilities.
- **Custom Modernization Plan**: Access a tailored roadmap, specialized tools, and technical support from NodeSource experts to ensure a safe and efficient migration.

<div className="my-8 flex w-full justify-center">
<Button
kind="primary"
href="https://nodesource.com/products/nodejs-upgrade"
target="_blank"
>
<span>Learn more about NodeSource's upgrade services</span>
</Button>
</div>

The OpenJS Foundation's Ecosystem Support Programs connect the Node.js community with qualified service providers. If your organization is interested in becoming a program participant, [contact the Foundation](https://openjsf.org/).
3 changes: 2 additions & 1 deletion packages/i18n/src/locales/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,8 @@
"releases": "Node.js Releases",
"security": "Security Reporting",
"partners": "Partners & Supporters",
"eol": "End-of-Life (EOL)"
"eol": "End-of-Life (EOL)",
"upgradeAdvisor": "Upgrading Node.js"
}
},
"getInvolved": {
Expand Down
1 change: 1 addition & 0 deletions pnpm-workspace.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ allowBuilds:
sharp: true
unrs-resolver: true
workerd: true
'@nodejs/doc-kit': true

catalog:
'@types/node': ^24.10.1
Expand Down
Loading