Repository: nodejs/node
Pull request: 2025-10-28, Version 24.11.0 'Krypton' (LTS)

## 2025-10-28, Version 24.11.0 'Krypton' (LTS), @richardlau

### Notable Changes

This release marks the transition of Node.js 24.x into Long Term Support (LTS)
with the codename 'Krypton'. It will continue to receive updates through to
the end of April 2028.

Other than updating metadata, such as the `process.release` object, to reflect
that the release is LTS, no further changes from Node.js 24.10.0 are included.

---

## Checklist

Pre-release:
- [x] Create [`lts-watch-v24.x`](https://github.com/nodejs/node/issues?q=label%3Alts-watch-v24.x) label

Day of release:
- [x] https://github.com/nodejs/nodejs-latest-linker/pull/20
- [x] https://github.com/nodejs/Release/pull/1123
- [ ] https://github.com/nodejs/nodejs.org/pull/8270 or https://github.com/nodejs/nodejs.org/pull/8053
- [x] https://github.com/nodejs/nodejs.org/pull/8280

<!--
Before submitting a pull request, please read:

- the CONTRIBUTING guide at https://github.com/nodejs/node/blob/HEAD/CONTRIBUTING.md
- the commit message formatting guidelines at
  https://github.com/nodejs/node/blob/HEAD/doc/contributing/pull-requests.md#commit-message-guidelines

For code changes:
1. Include tests for any bug fixes or new features.
2. Update documentation if relevant.
3. Ensure that `make -j4 test` (UNIX), or `vcbuild test` (Windows) passes.

If you believe this PR should be highlighted in the Node.js CHANGELOG
please add the `notable-change` label.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.
-->


Changed files:
filename: CHANGELOG.md
patch: @@ -2,9 +2,9 @@
 
 Select a Node.js version below to view the changelog history:
 
-* [Node.js 24](doc/changelogs/CHANGELOG_V24.md) **Current**
+* [Node.js 24](doc/changelogs/CHANGELOG_V24.md) **Long Term Support**
 * [Node.js 23](doc/changelogs/CHANGELOG_V23.md) **Current**
-* [Node.js 22](doc/changelogs/CHANGELOG_V22.md) **Long Term Support**
+* [Node.js 22](doc/changelogs/CHANGELOG_V22.md) Long Term Support
 * [Node.js 21](doc/changelogs/CHANGELOG_V21.md) End-of-Life
 * [Node.js 20](doc/changelogs/CHANGELOG_V20.md) Long Term Support
 * [Node.js 19](doc/changelogs/CHANGELOG_V19.md) End-of-Life
@@ -33,14 +33,15 @@ release.
 
 <table>
 <tr>
-  <th title="Current"><a href="doc/changelogs/CHANGELOG_V24.md">24</a> (Current)</th>
+  <th title="LTS Until 2028-04"><a href="doc/changelogs/CHANGELOG_V24.md">24</a> (LTS)</th>
   <th title="Current"><a href="doc/changelogs/CHANGELOG_V23.md">23</a> (Current)</th>
   <th title="LTS Until 2027-04"><a href="doc/changelogs/CHANGELOG_V22.md">22</a> (LTS)</th>
   <th title="LTS Until 2026-04"><a href="doc/changelogs/CHANGELOG_V20.md">20</a> (LTS)</th>
 </tr>
 <tr>
   <td valign="top">
-<b><a href="doc/changelogs/CHANGELOG_V24.md#24.10.0">24.10.0</a></b><br/>
+<b><a href="doc/changelogs/CHANGELOG_V24.md#24.11.0">24.11.0</a></b><br/>
+<a href="doc/changelogs/CHANGELOG_V24.md#24.10.0">24.10.0</a><br/>
 <a href="doc/changelogs/CHANGELOG_V24.md#24.9.0">24.9.0</a><br/>
 <a href="doc/changelogs/CHANGELOG_V24.md#24.8.0">24.8.0</a><br/>
 <a href="doc/changelogs/CHANGELOG_V24.md#24.7.0">24.7.0</a><br/>

filename: doc/changelogs/CHANGELOG_V24.md
patch: @@ -4,10 +4,14 @@
 
 <table>
 <tr>
+<th>LTS 'Krypton'</th>
 <th>Current</th>
 </tr>
 <tr>
 <td>
+<a href="#24.11.0">24.11.0</a><br/>
+</td>
+<td>
 <a href="#24.10.0">24.10.0</a><br/>
 <a href="#24.9.0">24.9.0</a><br/>
 <a href="#24.8.0">24.8.0</a><br/>
@@ -52,6 +56,19 @@
   * [io.js](CHANGELOG_IOJS.md)
   * [Archive](CHANGELOG_ARCHIVE.md)
 
+<a id="24.11.0"></a>
+
+## 2025-10-28, Version 24.11.0 'Krypton' (LTS), @richardlau
+
+### Notable Changes
+
+This release marks the transition of Node.js 24.x into Long Term Support (LTS)
+with the codename 'Krypton'. It will continue to receive updates through to
+the end of April 2028.
+
+Other than updating metadata, such as the `process.release` object, to reflect
+that the release is LTS, no further changes from Node.js 24.10.0 are included.
+
 <a id="24.10.0"></a>
 
 ## 2025-10-08, Version 24.10.0 (Current), @RafaelGSS

filename: src/node_version.h
patch: @@ -23,13 +23,13 @@
 #define SRC_NODE_VERSION_H_
 
 #define NODE_MAJOR_VERSION 24
-#define NODE_MINOR_VERSION 10
-#define NODE_PATCH_VERSION 1
+#define NODE_MINOR_VERSION 11
+#define NODE_PATCH_VERSION 0
 
-#define NODE_VERSION_IS_LTS 0
-#define NODE_VERSION_LTS_CODENAME ""
+#define NODE_VERSION_IS_LTS 1
+#define NODE_VERSION_LTS_CODENAME "Krypton"
 
-#define NODE_VERSION_IS_RELEASE 0
+#define NODE_VERSION_IS_RELEASE 1
 
 #ifndef NODE_STRINGIFY
 #define NODE_STRINGIFY(n) NODE_STRINGIFY_HELPER(n)

filename: test/parallel/test-process-release.js
patch: @@ -29,6 +29,8 @@ if (versionParts[0] === '4' && versionParts[1] >= 2) {
   assert.strictEqual(process.release.lts, 'Iron');
 } else if (versionParts[0] === '22' && versionParts[1] >= 11) {
   assert.strictEqual(process.release.lts, 'Jod');
+} else if (versionParts[0] === '24' && versionParts[1] >= 11) {
+  assert.strictEqual(process.release.lts, 'Krypton');
 } else {
   assert.strictEqual(process.release.lts, undefined);
 }