+
+
);
};
diff --git a/apps/site/app/[locale]/not-found.tsx b/apps/site/app/[locale]/not-found.tsx
index 44d8839a42d7d..ec3a343628e52 100644
--- a/apps/site/app/[locale]/not-found.tsx
+++ b/apps/site/app/[locale]/not-found.tsx
@@ -6,40 +6,35 @@ import { useTranslations } from 'next-intl';
import type { FC } from 'react';
import Button from '@/components/Common/Button';
-import GlowingBackdrop from '@/components/Common/GlowingBackdrop';
-import CenteredLayout from '@/layouts/Centered';
+import GlowingBackdropLayout from '@/layouts/GlowingBackdrop';
const NotFoundPage: FC = () => {
const t = useTranslations();
return (
-
-
-
-
- 404
-
- {t('layouts.error.notFound.title')}
-
-
-
-
-
+
+ 404
+
+ {t('layouts.error.notFound.title')}
+
+
+
+
-
- {t('layouts.error.notFound.description')}
-
-
-
-
+
+
+ {t('layouts.error.notFound.description')}
+
+
+
);
};
diff --git a/apps/site/app/global-error.tsx b/apps/site/app/global-error.tsx
index 6cab08ae716f9..cb99e04c2fb36 100644
--- a/apps/site/app/global-error.tsx
+++ b/apps/site/app/global-error.tsx
@@ -5,9 +5,8 @@ import { captureException } from '@sentry/nextjs';
import type { FC } from 'react';
import Button from '@/components/Common/Button';
-import GlowingBackdrop from '@/components/Common/GlowingBackdrop';
import BaseLayout from '@/layouts/Base';
-import CenteredLayout from '@/layouts/Centered';
+import GlowingBackdropLayout from '@/layouts/GlowingBackdrop';
const GlobalErrorPage: FC<{ error: Error }> = ({ error }) => {
captureException(error);
@@ -16,23 +15,17 @@ const GlobalErrorPage: FC<{ error: Error }> = ({ error }) => {
-
-
-
-
- 500
-
- Internal Server Error
-
-
- This page has thrown a non-recoverable error.
-
-
-
-
+
+ 500
+
Internal Server Error
+
+ This page has thrown a non-recoverable error.
+
+
+
diff --git a/apps/site/components/Common/ActiveLink/__tests__/index.test.mjs b/apps/site/components/Common/ActiveLink/__tests__/index.test.mjs
index 2ce5778f60b63..31d25c633fe36 100644
--- a/apps/site/components/Common/ActiveLink/__tests__/index.test.mjs
+++ b/apps/site/components/Common/ActiveLink/__tests__/index.test.mjs
@@ -1,7 +1,15 @@
import { render, screen } from '@testing-library/react';
+import { VERSION_SUPPORT_SHORTCUT } from '@/next.constants.mjs';
+
import ActiveLink from '..';
+// mock usePathname, but retain all the other imports
+jest.mock('@/navigation.mjs', () => ({
+ ...jest.requireActual('@/navigation.mjs'),
+ usePathname: jest.fn(),
+}));
+
describe('ActiveLink', () => {
it('renders as localized link', () => {
render(
@@ -38,4 +46,61 @@ describe('ActiveLink', () => {
'link active'
);
});
+
+ it('does not set active class when href base does not match', () => {
+ const { usePathname } = require('@/navigation.mjs');
+ usePathname.mockReturnValue('/not-link/sublink');
+
+ render(
+
+ Link
+
+ );
+
+ expect(screen.findByText('Link')).resolves.toHaveAttribute('class', 'link');
+ });
+
+ it('sets active class when href is other than VERSION_SUPPORT_SHORTCUT', () => {
+ const { usePathname } = require('@/navigation.mjs');
+ usePathname.mockReturnValue('/link/sublink');
+
+ render(
+
+ Link
+
+ );
+
+ expect(screen.findByText('Link')).resolves.toHaveAttribute(
+ 'class',
+ 'link active'
+ );
+ });
+
+ it('does not set active class when href is VERSION_SUPPORT_SHORTCUT', () => {
+ const { usePathname } = require('@/navigation.mjs');
+ usePathname.mockReturnValue(VERSION_SUPPORT_SHORTCUT);
+
+ render(
+
+ Link
+
+ );
+
+ expect(screen.findByText('Link')).resolves.toHaveAttribute('class', 'link');
+ });
});
diff --git a/apps/site/components/Common/ActiveLink/index.tsx b/apps/site/components/Common/ActiveLink/index.tsx
index bdf566d87dc71..b1aaf220de125 100644
--- a/apps/site/components/Common/ActiveLink/index.tsx
+++ b/apps/site/components/Common/ActiveLink/index.tsx
@@ -5,6 +5,7 @@ import type { ComponentProps, FC } from 'react';
import Link from '@/components/Link';
import { usePathname } from '@/navigation.mjs';
+import { VERSION_SUPPORT_SHORTCUT } from '@/next.constants.mjs';
type ActiveLocalizedLinkProps = ComponentProps & {
activeClassName?: string;
@@ -26,7 +27,9 @@ const ActiveLink: FC = ({
? // When using allowSubPath we want only to check if
// the current pathname starts with the utmost upper level
// of an href (e.g. /docs/...)
- pathname.startsWith(`/${href.toString().split('/')[1]}`)
+ pathname.startsWith(`/${href.toString().split('/')[1]}`) &&
+ // but not when this link is for the deep link shortcut to previous releases
+ href.toString() !== VERSION_SUPPORT_SHORTCUT
: href.toString() === pathname,
});
diff --git a/apps/site/components/Common/AvatarGroup/Avatar/index.tsx b/apps/site/components/Common/AvatarGroup/Avatar/index.tsx
index 36122f839126f..4837f9b40b585 100644
--- a/apps/site/components/Common/AvatarGroup/Avatar/index.tsx
+++ b/apps/site/components/Common/AvatarGroup/Avatar/index.tsx
@@ -6,18 +6,20 @@ import styles from './index.module.css';
export type AvatarProps = {
src: string;
alt: string;
+ fallback: string;
};
-const Avatar: FC = ({ src, alt }) => (
+const Avatar: FC = ({ src, alt, fallback }) => (
- {alt}
+ {fallback}
);
diff --git a/apps/site/components/Common/AvatarGroup/index.tsx b/apps/site/components/Common/AvatarGroup/index.tsx
index b7172ec8dfc6b..4dea98b700d5d 100644
--- a/apps/site/components/Common/AvatarGroup/index.tsx
+++ b/apps/site/components/Common/AvatarGroup/index.tsx
@@ -11,7 +11,7 @@ import { getAcronymFromString } from '@/util/stringUtils';
import styles from './index.module.css';
type AvatarGroupProps = {
- avatars: Array>;
+ avatars: Array, 'fallback'>>;
limit?: number;
isExpandable?: boolean;
};
@@ -33,7 +33,8 @@ const AvatarGroup: FC = ({
{renderAvatars.map((avatar, index) => (
))}
diff --git a/apps/site/components/Downloads/Release/BitnessDropdown.tsx b/apps/site/components/Downloads/Release/BitnessDropdown.tsx
index e6ddd46e6e822..789885635addd 100644
--- a/apps/site/components/Downloads/Release/BitnessDropdown.tsx
+++ b/apps/site/components/Downloads/Release/BitnessDropdown.tsx
@@ -39,6 +39,10 @@ const BitnessDropdown: FC = () => {
disabledItems.push('arm64');
}
+ if (os === 'WIN' && semVer.satisfies(release.version, '>= 23.0.0')) {
+ disabledItems.push('86');
+ }
+
if (os === 'LINUX' && semVer.satisfies(release.version, '< 4.0.0')) {
disabledItems.push('arm64', 'armv7l');
}
@@ -100,7 +104,7 @@ const BitnessDropdown: FC = () => {
ariaLabel={t('layouts.download.dropdown.bitness')}
defaultValue={String(bitness)}
onChange={bitness => setBitness(parseNumericBitness(bitness))}
- className="w-28"
+ className="min-w-28"
inline={true}
/>
);
diff --git a/apps/site/components/Downloads/Release/OperatingSystemDropdown.tsx b/apps/site/components/Downloads/Release/OperatingSystemDropdown.tsx
index 7cf9933a89432..eccb0f21cc4e7 100644
--- a/apps/site/components/Downloads/Release/OperatingSystemDropdown.tsx
+++ b/apps/site/components/Downloads/Release/OperatingSystemDropdown.tsx
@@ -63,7 +63,7 @@ const OperatingSystemDropdown: FC = ({
ariaLabel={t('layouts.download.dropdown.os')}
defaultValue={os}
onChange={value => setOS(value as UserOS)}
- className="w-[8.5rem]"
+ className="min-w-[8.5rem]"
inline={true}
/>
);
diff --git a/apps/site/components/Downloads/Release/PlatformDropdown.tsx b/apps/site/components/Downloads/Release/PlatformDropdown.tsx
index a4839ae966f42..4ac966c72c8a9 100644
--- a/apps/site/components/Downloads/Release/PlatformDropdown.tsx
+++ b/apps/site/components/Downloads/Release/PlatformDropdown.tsx
@@ -79,7 +79,7 @@ const PlatformDropdown: FC = () => {
ariaLabel={t('layouts.download.dropdown.platform')}
defaultValue={platform}
onChange={platform => setPlatform(platform as PackageManager)}
- className="w-28"
+ className="min-w-28"
inline={true}
/>
);
diff --git a/apps/site/components/Downloads/Release/ReleaseCodeBox.tsx b/apps/site/components/Downloads/Release/ReleaseCodeBox.tsx
index 3b446074f61e9..ca465eb90aaf0 100644
--- a/apps/site/components/Downloads/Release/ReleaseCodeBox.tsx
+++ b/apps/site/components/Downloads/Release/ReleaseCodeBox.tsx
@@ -3,8 +3,11 @@
import { useTranslations } from 'next-intl';
import { useContext, useEffect, useState } from 'react';
import type { FC } from 'react';
+import semVer from 'semver';
+import Banner from '@/components/Common/Banner';
import CodeBox from '@/components/Common/CodeBox';
+import { ESP_SUPPORT_THRESHOLD_VERSION } from '@/next.constants.mjs';
import { ReleaseContext } from '@/providers/releaseProvider';
import { shikiPromise, highlightToHtml } from '@/util/getHighlighter';
import { getNodeDownloadSnippet } from '@/util/getNodeDownloadSnippet';
@@ -29,13 +32,16 @@ const ReleaseCodeBox: FC = () => {
}, [release.versionWithPrefix, os, platform]);
const codeLanguage = os === 'WIN' ? 'PowerShell' : 'Bash';
-
return (
+ {semVer.lt(release.versionWithPrefix, ESP_SUPPORT_THRESHOLD_VERSION) && (
+
+ {t('layouts.download.codeBox.unsupportedVersionWarning')}
+
+ )}
-
{t('layouts.download.codeBox.communityWarning')}
diff --git a/apps/site/components/Downloads/Release/VersionDropdown.tsx b/apps/site/components/Downloads/Release/VersionDropdown.tsx
index 6701792817e12..bbaf307317c0c 100644
--- a/apps/site/components/Downloads/Release/VersionDropdown.tsx
+++ b/apps/site/components/Downloads/Release/VersionDropdown.tsx
@@ -32,7 +32,7 @@ const VersionDropdown: FC = () => {
}))}
defaultValue={release.versionWithPrefix}
onChange={setVersion}
- className="w-40"
+ className="min-w-40"
inline={true}
/>
);
diff --git a/apps/site/components/withLayout.tsx b/apps/site/components/withLayout.tsx
index 7e8d50b300354..8d5a7d4745e9a 100644
--- a/apps/site/components/withLayout.tsx
+++ b/apps/site/components/withLayout.tsx
@@ -1,10 +1,11 @@
import type { FC, PropsWithChildren } from 'react';
import AboutLayout from '@/layouts/About';
+import ArticlePageLayout from '@/layouts/ArticlePage';
import BlogLayout from '@/layouts/Blog';
import DefaultLayout from '@/layouts/Default';
import DownloadLayout from '@/layouts/Download';
-import HomeLayout from '@/layouts/Home';
+import GlowingBackdropLayout from '@/layouts/GlowingBackdrop';
import LearnLayout from '@/layouts/Learn';
import PostLayout from '@/layouts/Post';
import SearchLayout from '@/layouts/Search';
@@ -12,13 +13,14 @@ import type { Layouts } from '@/types';
const layouts = {
about: AboutLayout,
- home: HomeLayout,
+ home: props => ,
learn: LearnLayout,
page: DefaultLayout,
'blog-post': PostLayout,
'blog-category': BlogLayout,
search: SearchLayout,
download: DownloadLayout,
+ article: ArticlePageLayout,
} satisfies Record;
type WithLayoutProps = PropsWithChildren<{ layout: L }>;
diff --git a/apps/site/components/withMetaBar.tsx b/apps/site/components/withMetaBar.tsx
index f4db3091a77e7..543d901d55f4b 100644
--- a/apps/site/components/withMetaBar.tsx
+++ b/apps/site/components/withMetaBar.tsx
@@ -10,7 +10,6 @@ import { useClientContext } from '@/hooks/react-client';
import useMediaQuery from '@/hooks/react-client/useMediaQuery';
import { DEFAULT_DATE_FORMAT } from '@/next.calendar.constants.mjs';
import { getGitHubBlobUrl, getGitHubAvatarUrl } from '@/util/gitHubUtils';
-import { getAcronymFromString } from '@/util/stringUtils';
const WithMetaBar: FC = () => {
const { headings, readingTime, frontmatter, filename } = useClientContext();
@@ -23,7 +22,7 @@ const WithMetaBar: FC = () => {
frontmatter.authors?.split(',').map(author => author.trim()) ?? [];
const avatars = usernames.map(username => ({
src: getGitHubAvatarUrl(username),
- alt: getAcronymFromString(username),
+ alt: username,
}));
// Doing that because on mobile list on top of page and on desktop list on the right side
diff --git a/apps/site/eslint.config.js b/apps/site/eslint.config.js
index 5ac5bb2196eb7..c4f873a2ae4ad 100644
--- a/apps/site/eslint.config.js
+++ b/apps/site/eslint.config.js
@@ -1,12 +1,13 @@
import { FlatCompat } from '@eslint/eslintrc';
-import js from '@eslint/js';
import importX from 'eslint-plugin-import-x';
import * as mdx from 'eslint-plugin-mdx';
-import noRelativeImportPaths from 'eslint-plugin-no-relative-import-paths';
import react from 'eslint-plugin-react';
import storybook from 'eslint-plugin-storybook';
import tseslint from 'typescript-eslint';
+// eslint-disable-next-line no-relative-import-paths/no-relative-import-paths
+import baseConfig from '../../eslint.config.js';
+
const compat = new FlatCompat();
const compatConfig = compat.config({
@@ -20,62 +21,20 @@ const compatConfig = compat.config({
});
export default tseslint.config(
- {
- ignores: [
- 'node_modules',
- '.next',
- '.swc',
- '.turbo',
- 'build',
- 'coverage',
- 'global.d.ts',
- 'junit.xml',
- 'storybook-static/**',
- ],
- },
+ ...baseConfig,
{
extends: [
- js.configs.recommended,
- importX.flatConfigs.recommended,
- importX.flatConfigs.typescript,
react.configs.flat['jsx-runtime'],
...tseslint.configs.recommended,
+ importX.flatConfigs.typescript,
...compatConfig,
],
files: ['**/*.{js,md,mdx,mjs,ts,tsx}'],
- plugins: {
- 'no-relative-import-paths': noRelativeImportPaths,
- },
rules: {
- '@next/next/no-duplicate-head': 'off',
'@typescript-eslint/array-type': ['error', { default: 'generic' }],
'@typescript-eslint/consistent-type-imports': 'error',
'@typescript-eslint/no-require-imports': 'off',
- 'import-x/namespace': 'off',
- 'import-x/no-named-as-default-member': 'off',
- 'import-x/no-unresolved': 'off',
- 'import-x/order': [
- 'error',
- {
- groups: [
- 'builtin',
- 'external',
- 'internal',
- ['sibling', 'parent'],
- 'index',
- 'unknown',
- ],
- 'newlines-between': 'always',
- alphabetize: {
- order: 'asc',
- caseInsensitive: true,
- },
- },
- ],
- 'no-relative-import-paths/no-relative-import-paths': [
- 'warn',
- { allowSameFolder: true, prefix: '@' },
- ],
+ '@next/next/no-duplicate-head': 'off',
},
settings: {
react: {
diff --git a/apps/site/jest.config.mjs b/apps/site/jest.config.mjs
index 6065ec5018b2c..bdf0030a1a391 100644
--- a/apps/site/jest.config.mjs
+++ b/apps/site/jest.config.mjs
@@ -16,6 +16,7 @@ const customJestConfig = {
'next/router': '/components/__mocks__/next-router.mjs',
'next-intl': '/components/__mocks__/next-intl.mjs',
'github-slugger': '/components/__mocks__/github-slugger.mjs',
+ '^@/(.*)$': '/$1',
},
};
diff --git a/apps/site/layouts/ArticlePage.tsx b/apps/site/layouts/ArticlePage.tsx
new file mode 100644
index 0000000000000..a2cadddc0cfb2
--- /dev/null
+++ b/apps/site/layouts/ArticlePage.tsx
@@ -0,0 +1,24 @@
+import type { FC, PropsWithChildren } from 'react';
+
+import WithMetaBar from '@/components/withMetaBar';
+import WithNavBar from '@/components/withNavBar';
+import WithSidebar from '@/components/withSidebar';
+import ArticleLayout from '@/layouts/Article';
+
+const ArticlePageLayout: FC = ({ children }) => (
+ <>
+
+
+
+
+
+
+ {children}
+
+
+
+
+ >
+);
+
+export default ArticlePageLayout;
diff --git a/apps/site/layouts/Centered.tsx b/apps/site/layouts/Centered.tsx
deleted file mode 100644
index f63f312b451aa..0000000000000
--- a/apps/site/layouts/Centered.tsx
+++ /dev/null
@@ -1,18 +0,0 @@
-import type { FC, PropsWithChildren } from 'react';
-
-import WithFooter from '@/components/withFooter';
-import WithNavBar from '@/components/withNavBar';
-
-import styles from './layouts.module.css';
-
-const CenteredLayout: FC = ({ children }) => (
- <>
-
-
-
{children}
-
-
- >
-);
-
-export default CenteredLayout;
diff --git a/apps/site/layouts/Content.tsx b/apps/site/layouts/Content.tsx
deleted file mode 100644
index 5e67339e0ad7c..0000000000000
--- a/apps/site/layouts/Content.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-import type { FC, PropsWithChildren } from 'react';
-
-import styles from './layouts.module.css';
-
-const ContentLayout: FC = ({ children }) => (
-
{children}
-);
-
-export default ContentLayout;
diff --git a/apps/site/layouts/GlowingBackdrop.tsx b/apps/site/layouts/GlowingBackdrop.tsx
new file mode 100644
index 0000000000000..2457baf8e0877
--- /dev/null
+++ b/apps/site/layouts/GlowingBackdrop.tsx
@@ -0,0 +1,35 @@
+import classNames from 'classnames';
+import type { FC, PropsWithChildren } from 'react';
+
+import GlowingBackdrop from '@/components/Common/GlowingBackdrop';
+import WithFooter from '@/components/withFooter';
+import WithNavBar from '@/components/withNavBar';
+
+import styles from './layouts.module.css';
+
+type GlowingBackdropLayoutProps = PropsWithChildren<{
+ kind?: 'home';
+}>;
+
+const GlowingBackdropLayout: FC = ({
+ kind,
+ children,
+}) => (
+ <>
+
+
+
+
+
+ {children}
+
+
+
+ >
+);
+
+export default GlowingBackdropLayout;
diff --git a/apps/site/layouts/Home.tsx b/apps/site/layouts/Home.tsx
deleted file mode 100644
index 9a95e136b6c05..0000000000000
--- a/apps/site/layouts/Home.tsx
+++ /dev/null
@@ -1,16 +0,0 @@
-import type { FC, PropsWithChildren } from 'react';
-
-import GlowingBackdrop from '@/components/Common/GlowingBackdrop';
-import CenteredLayout from '@/layouts/Centered';
-
-import styles from './layouts.module.css';
-
-const HomeLayout: FC = ({ children }) => (
-
-
-
- {children}
-
-);
-
-export default HomeLayout;
diff --git a/apps/site/layouts/Post.tsx b/apps/site/layouts/Post.tsx
index 23a3d7d0c3b54..e6cd3fc715949 100644
--- a/apps/site/layouts/Post.tsx
+++ b/apps/site/layouts/Post.tsx
@@ -7,7 +7,6 @@ import WithFooter from '@/components/withFooter';
import WithMetaBar from '@/components/withMetaBar';
import WithNavBar from '@/components/withNavBar';
import { useClientContext } from '@/hooks/react-server';
-import ContentLayout from '@/layouts/Content';
import {
mapAuthorToCardAuthors,
mapBlogCategoryToPreviewType,
@@ -26,7 +25,7 @@ const PostLayout: FC = ({ children }) => {
<>
-
+
{frontmatter.title}
@@ -51,7 +50,7 @@ const PostLayout: FC = ({ children }) => {
-
+
>
diff --git a/apps/site/navigation.json b/apps/site/navigation.json
index 167dade569035..c365d851c7852 100644
--- a/apps/site/navigation.json
+++ b/apps/site/navigation.json
@@ -20,6 +20,10 @@
"link": "https://nodejs.org/docs/latest/api/",
"label": "components.containers.navBar.links.docs"
},
+ "support": {
+ "link": "/about/previous-releases",
+ "label": "components.containers.navBar.links.support"
+ },
"certification": {
"link": "https://training.linuxfoundation.org/openjs/",
"label": "components.containers.navBar.links.certification",
@@ -357,6 +361,10 @@
"usingTestRunner": {
"link": "/learn/test-runner/using-test-runner",
"label": "components.navigation.learn.testRunner.links.usingTestRunner"
+ },
+ "mocking": {
+ "link": "/learn/test-runner/mocking",
+ "label": "components.navigation.learn.testRunner.links.mocking"
}
}
}
diff --git a/apps/site/next-data/generators/__tests__/releaseData.test.mjs b/apps/site/next-data/generators/__tests__/releaseData.test.mjs
index 0cdfb5b47b0f9..0082f03560d5a 100644
--- a/apps/site/next-data/generators/__tests__/releaseData.test.mjs
+++ b/apps/site/next-data/generators/__tests__/releaseData.test.mjs
@@ -43,11 +43,11 @@ describe('generateReleaseData', () => {
expect(release.version).toBe('14.0.0');
expect(release.versionWithPrefix).toBe('v14.0.0');
expect(release.codename).toBe('');
- expect(release.isLts).toBe(true);
+ expect(release.isLts).toBe(false);
expect(release.npm).toBe('6.14.10');
expect(release.v8).toBe('8.0.276.20');
expect(release.releaseDate).toBe('2021-04-20');
expect(release.modules).toBe('83');
- expect(release.status).toBe('LTS');
+ expect(release.status).toBe('End-of-life');
});
});
diff --git a/apps/site/next.calendar.constants.mjs b/apps/site/next.calendar.constants.mjs
index a78dc8f422997..c1e2712be9b82 100644
--- a/apps/site/next.calendar.constants.mjs
+++ b/apps/site/next.calendar.constants.mjs
@@ -24,7 +24,7 @@ export const SHARED_CALENDAR_KEY =
* This is Node.js's Public Google Calendar ID used for all public entries from Node.js Calendar
*/
export const CALENDAR_NODEJS_ID =
- 'nodejs.org_nr77ama8p7d7f9ajrpnu506c98@group.calendar.google.com';
+ 'c_16f0ae5d3a22625175d199dbdb1cac84c2d09eab7f173e94f558417cb5cdbfd8@group.calendar.google.com';
/**
* Default Date format for Calendars and Time Components
diff --git a/apps/site/next.calendar.mjs b/apps/site/next.calendar.mjs
index 1d898c9aa0c37..a30c48e0e0dcb 100644
--- a/apps/site/next.calendar.mjs
+++ b/apps/site/next.calendar.mjs
@@ -35,5 +35,5 @@ export const getCalendarEvents = async (calendarId = '', maxResults = 20) => {
return fetch(calendarQueryUrl.toString())
.then(response => response.json())
- .then(calendar => calendar.items);
+ .then(calendar => calendar.items ?? []);
};
diff --git a/apps/site/next.constants.mjs b/apps/site/next.constants.mjs
index 488af1fe4b225..e3a9120ae45c7 100644
--- a/apps/site/next.constants.mjs
+++ b/apps/site/next.constants.mjs
@@ -168,3 +168,18 @@ export const ORAMA_CLOUD_API_KEY = process.env.NEXT_PUBLIC_ORAMA_API_KEY || '';
* Note: This has no NEXT_PUBLIC prefix as it should not be exposed to the Browser.
*/
export const GITHUB_API_KEY = process.env.NEXT_GITHUB_API_KEY || '';
+
+/**
+ * OpenJS Ecosystem Support Program (ESP) partners provide security updates and support for end-of-life and unsupported versions
+ *
+ * See https://openjsf.org/ecosystem-sustainability-program
+ *
+ * This is the minimum version Node.js support according to https://nodejs.org/en/about/previous-releases
+ */
+export const ESP_SUPPORT_THRESHOLD_VERSION =
+ process.env.ESP_SUPPORT_THRESHOLD_VERSION || '18.0.0';
+
+/**
+ * This deep link into the app is repeated in the top nav, but we want to ignore it for active-link highlighting, since it will be covered by About
+ */
+export const VERSION_SUPPORT_SHORTCUT = '/about/previous-releases';
diff --git a/apps/site/next.mdx.use.client.mjs b/apps/site/next.mdx.use.client.mjs
index 9c75bf92355ff..bff703e1c72d4 100644
--- a/apps/site/next.mdx.use.client.mjs
+++ b/apps/site/next.mdx.use.client.mjs
@@ -20,6 +20,8 @@ export const clientMdxComponents = {
Button: Button,
// Links with External Arrow
LinkWithArrow: LinkWithArrow,
+ // Regular links (without arrow)
+ Link: Link,
};
/**
diff --git a/apps/site/package.json b/apps/site/package.json
index d6172ce334139..2b8643d89aab7 100644
--- a/apps/site/package.json
+++ b/apps/site/package.json
@@ -17,7 +17,7 @@
},
"scripts": {
"scripts:release-post": "cross-env NODE_NO_WARNINGS=1 node scripts/release-post/index.mjs",
- "dev": "cross-env NODE_NO_WARNINGS=1 next dev --turbo",
+ "dev": "cross-env SENTRY_SUPPRESS_TURBOPACK_WARNING=1 NODE_NO_WARNINGS=1 next dev --turbo",
"serve": "npm run dev",
"build": "cross-env NODE_NO_WARNINGS=1 next build",
"start": "cross-env NODE_NO_WARNINGS=1 next start",
@@ -41,19 +41,19 @@
"@node-core/website-i18n": "*",
"@nodevu/core": "~0.1.0",
"@orama/highlight": "^0.1.6",
- "@oramacloud/client": "^1.3.15",
+ "@oramacloud/client": "^1.3.16",
"@radix-ui/react-accessible-icon": "^1.1.0",
- "@radix-ui/react-avatar": "^1.1.0",
- "@radix-ui/react-dialog": "^1.1.1",
+ "@radix-ui/react-avatar": "^1.1.1",
+ "@radix-ui/react-dialog": "^1.1.2",
"@radix-ui/react-dropdown-menu": "^2.1.1",
"@radix-ui/react-label": "^2.1.0",
- "@radix-ui/react-scroll-area": "^1.1.0",
- "@radix-ui/react-select": "^2.1.1",
+ "@radix-ui/react-scroll-area": "^1.2.0",
+ "@radix-ui/react-select": "^2.1.2",
"@radix-ui/react-slot": "^1.1.0",
"@radix-ui/react-tabs": "^1.1.0",
- "@radix-ui/react-toast": "^1.2.1",
+ "@radix-ui/react-toast": "^1.2.2",
"@savvywombat/tailwindcss-grid-areas": "~4.0.0",
- "@sentry/nextjs": "~8.30.0",
+ "@sentry/nextjs": "^8.33.1",
"@tailwindcss/container-queries": "~0.1.1",
"@types/node": "20.16.5",
"@vcarl/remark-headings": "~0.1.0",
@@ -67,10 +67,10 @@
"github-slugger": "~2.0.0",
"glob": "~11.0.0",
"gray-matter": "~4.0.3",
- "next": "~14.2.11",
- "next-intl": "~3.19.1",
+ "next": "~14.2.14",
+ "next-intl": "~3.21.1",
"next-themes": "~0.3.0",
- "postcss": "~8.4.45",
+ "postcss": "~8.4.47",
"postcss-calc": "~10.0.2",
"postcss-import": "~16.1.0",
"postcss-mixins": "~11.0.1",
@@ -83,35 +83,32 @@
"remark-reading-time": "~2.0.1",
"semver": "~7.6.3",
"shiki": "~1.17.5",
- "tailwindcss": "^3.4.11",
+ "tailwindcss": "^3.4.13",
"unist-util-visit": "~5.0.0",
"vfile": "~6.0.3",
"vfile-matter": "~5.0.0"
},
"devDependencies": {
- "@eslint/compat": "~1.1.1",
- "@next/eslint-plugin-next": "~14.2.11",
- "@storybook/addon-controls": "~8.3.0",
- "@storybook/addon-interactions": "~8.3.0",
- "@storybook/addon-themes": "~8.3.0",
- "@storybook/addon-viewport": "~8.3.0",
- "@storybook/nextjs": "~8.3.0",
+ "@eslint/compat": "~1.2.0",
+ "@next/eslint-plugin-next": "~14.2.14",
+ "@storybook/addon-controls": "~8.3.5",
+ "@storybook/addon-interactions": "~8.3.5",
+ "@storybook/addon-themes": "~8.3.5",
+ "@storybook/addon-viewport": "~8.3.5",
+ "@storybook/nextjs": "~8.3.5",
"@testing-library/jest-dom": "~6.5.0",
"@testing-library/react": "~16.0.1",
"@testing-library/user-event": "~14.5.2",
"@types/jest": "29.5.13",
- "@types/react": "^18.3.5",
+ "@types/react": "^18.3.11",
"@types/react-dom": "^18.3.0",
"@types/semver": "~7.5.8",
- "eslint": "~9.10.0",
- "eslint-config-next": "~14.2.11",
+ "eslint-config-next": "15.0.0-rc.1",
"eslint-import-resolver-typescript": "~3.6.3",
- "eslint-plugin-import-x": "~4.2.1",
"eslint-plugin-mdx": "~3.1.5",
- "eslint-plugin-no-relative-import-paths": "~1.5.5",
- "eslint-plugin-react": "~7.36.1",
- "eslint-plugin-react-hooks": "5.1.0-rc-4c58fce7-20240904",
- "eslint-plugin-storybook": "0.9.0--canary.156.26b630a.0",
+ "eslint-plugin-react": "~7.37.1",
+ "eslint-plugin-react-hooks": "5.0.0",
+ "eslint-plugin-storybook": "0.10.0--canary.156.ce8985b.0",
"handlebars": "4.7.8",
"jest": "29.7.0",
"jest-environment-jsdom": "29.7.0",
@@ -124,7 +121,7 @@
"stylelint-order": "6.0.4",
"stylelint-selector-bem-pattern": "4.0.1",
"typescript": "~5.5.4",
- "typescript-eslint": "~8.5.0",
+ "typescript-eslint": "~8.8.1",
"user-agent-data-types": "0.4.2"
}
}
diff --git a/apps/site/pages/en/about/branding.mdx b/apps/site/pages/en/about/branding.mdx
index 156cb1c0da48d..0bb77028496da 100644
--- a/apps/site/pages/en/about/branding.mdx
+++ b/apps/site/pages/en/about/branding.mdx
@@ -9,6 +9,8 @@ Please review the [trademark policy](https://trademark-policy.openjsf.org/) for
## Node.js® Mascot
+Credit to [@Ang_ngl on X](https://x.com/Ang_ngl) for designing and contributing the Rocket Turtle.
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
### Node.js® Stacked Logo
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
### JS Icons
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/site/pages/en/about/get-involved/index.md b/apps/site/pages/en/about/get-involved/index.md
index bcbd7851b6275..d29d68c4fe57a 100644
--- a/apps/site/pages/en/about/get-involved/index.md
+++ b/apps/site/pages/en/about/get-involved/index.md
@@ -10,7 +10,7 @@ If you are interested in getting involved with the Node.js community, there are
## Community Discussion
- The [GitHub issues list](https://github.com/nodejs/node/issues) is the place for discussion of Node.js core features and if you have questions about Node.js, you can use the [github discussions](https://github.com/orgs/nodejs/discussions).
-- The [`nodejs/help`](https://github.com/nodjes/help/issues) repository is the place to ask questions about Node.js.
+- The [`nodejs/help`](https://github.com/nodejs/help/issues) repository is the place to ask questions about Node.js.
- The official Node.js Twitter account is [nodejs](https://twitter.com/nodejs).
- The [Node.js project calendar](https://nodejs.org/calendar) with all public team meetings.
diff --git a/apps/site/pages/en/about/previous-releases.mdx b/apps/site/pages/en/about/previous-releases.mdx
index 3e0014c64dc3d..14488ef23cf68 100644
--- a/apps/site/pages/en/about/previous-releases.mdx
+++ b/apps/site/pages/en/about/previous-releases.mdx
@@ -16,6 +16,10 @@ Production applications should only use _Active LTS_ or _Maintenance LTS_ releas
Full details regarding Node.js release schedule are available [on GitHub](https://github.com/nodejs/release#release-schedule).
+### Commercial Support
+
+Commercial support for versions past Maintenance phase is available through our OpenJS Ecosystem Sustainability Program partner [HeroDevs](https://herodevs.com/).
+
## Looking for latest release of a version branch?
diff --git a/apps/site/pages/en/blog/release/v20.18.0.md b/apps/site/pages/en/blog/release/v20.18.0.md
new file mode 100644
index 0000000000000..c16a1eff87a8e
--- /dev/null
+++ b/apps/site/pages/en/blog/release/v20.18.0.md
@@ -0,0 +1,430 @@
+---
+date: '2024-10-03T17:57:41.630Z'
+category: release
+title: Node v20.18.0 (LTS)
+layout: blog-post
+author: Michaël Zasso
+---
+
+## 2024-10-03, Version 20.18.0 'Iron' (LTS), @targos
+
+### Notable Changes
+
+### Experimental Network Inspection Support in Node.js
+
+This update introduces the initial support for network inspection in Node.js.
+Currently, this is an experimental feature, so you need to enable it using the `--experimental-network-inspection` flag.
+With this feature enabled, you can inspect network activities occurring within a JavaScript application.
+
+To use network inspection, start your Node.js application with the following command:
+
+```console
+$ node --inspect-wait --experimental-network-inspection index.js
+```
+
+Please note that the network inspection capabilities are in active development.
+We are actively working on enhancing this feature and will continue to expand its functionality in future updates.
+
+- Network inspection is limited to the `http` and `https` modules only.
+- The Network tab in Chrome DevTools will not be available until the
+ [feature request on the Chrome DevTools side](https://issues.chromium.org/issues/353924015) is addressed.
+
+Contributed by Kohei Ueno in [#53593](https://github.com/nodejs/node/pull/53593) and [#54246](https://github.com/nodejs/node/pull/54246)
+
+#### Exposes X509_V_FLAG_PARTIAL_CHAIN to tls.createSecureContext
+
+This releases introduces a new option to the API `tls.createSecureContext`. From
+now on, `tls.createSecureContext({ allowPartialTrustChain: true })` can be used
+to treat intermediate (non-self-signed) certificates in the trust CA certificate
+list as trusted.
+
+Contributed by Anna Henningsen in [#54790](https://github.com/nodejs/node/pull/54790)
+
+#### New option for vm.createContext() to create a context with a freezable globalThis
+
+Node.js implements a flavor of `vm.createContext()` and friends that creates a context without contextifying its global
+object when vm.constants.DONT_CONTEXTIFY is used. This is suitable when users want to freeze the context
+(impossible when the global is contextified i.e. has interceptors installed) or speed up the global access if they
+don't need the interceptor behavior.
+
+Contributed by Joyee Cheung in [#54394](https://github.com/nodejs/node/pull/54394)
+
+#### Deprecations
+
+- \[[`64aa31f6e5`](https://github.com/nodejs/node/commit/64aa31f6e5)] - **repl**: doc-deprecate instantiating `node:repl` classes without `new` (Aviv Keller) [#54842](https://github.com/nodejs/node/pull/54842)
+- \[[`4c52ee3d7f`](https://github.com/nodejs/node/commit/4c52ee3d7f)] - **zlib**: deprecate instantiating classes without new (Yagiz Nizipli) [#54708](https://github.com/nodejs/node/pull/54708)
+
+#### Other Notable Changes
+
+- \[[`b80da2f964`](https://github.com/nodejs/node/commit/b80da2f964)] - **buffer**: optimize createFromString (Robert Nagy) [#54324](https://github.com/nodejs/node/pull/54324)
+- \[[`02b36cbd2d`](https://github.com/nodejs/node/commit/02b36cbd2d)] - **(SEMVER-MINOR)** **lib**: add EventSource Client (Aras Abbasi) [#51575](https://github.com/nodejs/node/pull/51575)
+- \[[`879546a9bf`](https://github.com/nodejs/node/commit/879546a9bf)] - **(SEMVER-MINOR)** **src,lib**: add performance.uvMetricsInfo (Rafael Gonzaga) [#54413](https://github.com/nodejs/node/pull/54413)
+- \[[`f789f4c92d`](https://github.com/nodejs/node/commit/f789f4c92d)] - **(SEMVER-MINOR)** **test_runner**: support module mocking (Colin Ihrig) [#52848](https://github.com/nodejs/node/pull/52848)
+- \[[`4eb0749b6c`](https://github.com/nodejs/node/commit/4eb0749b6c)] - **(SEMVER-MINOR)** **url**: implement parse method for safer URL parsing (Ali Hassan) [#52280](https://github.com/nodejs/node/pull/52280)
+
+### Commits
+
+- \[[`013c48f0e9`](https://github.com/nodejs/node/commit/013c48f0e9)] - **benchmark**: --no-warnings to avoid DEP/ExpWarn log (Rafael Gonzaga) [#54928](https://github.com/nodejs/node/pull/54928)
+- \[[`194fc113ac`](https://github.com/nodejs/node/commit/194fc113ac)] - **benchmark**: add buffer.isAscii benchmark (RafaelGSS) [#54740](https://github.com/nodejs/node/pull/54740)
+- \[[`7410d51cb9`](https://github.com/nodejs/node/commit/7410d51cb9)] - **benchmark**: add buffer.isUtf8 bench (RafaelGSS) [#54740](https://github.com/nodejs/node/pull/54740)
+- \[[`2393f21e8a`](https://github.com/nodejs/node/commit/2393f21e8a)] - **benchmark**: add access async version to bench (Rafael Gonzaga) [#54747](https://github.com/nodejs/node/pull/54747)
+- \[[`b8779721f0`](https://github.com/nodejs/node/commit/b8779721f0)] - **benchmark**: enhance dc publish benchmark (Rafael Gonzaga) [#54745](https://github.com/nodejs/node/pull/54745)
+- \[[`4078aa83ff`](https://github.com/nodejs/node/commit/4078aa83ff)] - **benchmark**: add match and doesNotMatch bench (RafaelGSS) [#54734](https://github.com/nodejs/node/pull/54734)
+- \[[`66acab9976`](https://github.com/nodejs/node/commit/66acab9976)] - **benchmark**: add rejects and doesNotReject bench (RafaelGSS) [#54734](https://github.com/nodejs/node/pull/54734)
+- \[[`6db777fb3a`](https://github.com/nodejs/node/commit/6db777fb3a)] - **benchmark**: add throws and doesNotThrow bench (RafaelGSS) [#54734](https://github.com/nodejs/node/pull/54734)
+- \[[`8f101560ce`](https://github.com/nodejs/node/commit/8f101560ce)] - **benchmark**: add strictEqual and notStrictEqual bench (RafaelGSS) [#54734](https://github.com/nodejs/node/pull/54734)
+- \[[`2c9e4c936e`](https://github.com/nodejs/node/commit/2c9e4c936e)] - **benchmark**: adds groups to better separate benchmarks (Giovanni Bucci) [#54393](https://github.com/nodejs/node/pull/54393)
+- \[[`671c3ac633`](https://github.com/nodejs/node/commit/671c3ac633)] - **benchmark**: fix benchmark for file path and URL conversion (Early Riser) [#54190](https://github.com/nodejs/node/pull/54190)
+- \[[`8c8708cb5b`](https://github.com/nodejs/node/commit/8c8708cb5b)] - **benchmark**: use assert.ok searchparams (Rafael Gonzaga) [#54334](https://github.com/nodejs/node/pull/54334)
+- \[[`8b71fa79e2`](https://github.com/nodejs/node/commit/8b71fa79e2)] - **benchmark**: add stream.compose benchmark (jakecastelli) [#54308](https://github.com/nodejs/node/pull/54308)
+- \[[`93ee36e3a0`](https://github.com/nodejs/node/commit/93ee36e3a0)] - **benchmark**: rename count to n (Rafael Gonzaga) [#54271](https://github.com/nodejs/node/pull/54271)
+- \[[`f2971b6f0b`](https://github.com/nodejs/node/commit/f2971b6f0b)] - **benchmark**: change assert() to assert.ok() (Rafael Gonzaga) [#54254](https://github.com/nodejs/node/pull/54254)
+- \[[`f48f2c212c`](https://github.com/nodejs/node/commit/f48f2c212c)] - **benchmark**: support --help in CLI (Aviv Keller) [#53358](https://github.com/nodejs/node/pull/53358)
+- \[[`0309b0520b`](https://github.com/nodejs/node/commit/0309b0520b)] - **benchmark**: remove force option as force defaults to true (Yelim Koo) [#54203](https://github.com/nodejs/node/pull/54203)
+- \[[`b6e8305b2d`](https://github.com/nodejs/node/commit/b6e8305b2d)] - **benchmark**: use assert.ok instead of assert (Rafael Gonzaga) [#54176](https://github.com/nodejs/node/pull/54176)
+- \[[`90c660d26a`](https://github.com/nodejs/node/commit/90c660d26a)] - **benchmark**: add require-esm benchmark (Joyee Cheung) [#52166](https://github.com/nodejs/node/pull/52166)
+- \[[`1b8584b52e`](https://github.com/nodejs/node/commit/1b8584b52e)] - **benchmark,doc**: add CPU scaling governor to perf (Rafael Gonzaga) [#54723](https://github.com/nodejs/node/pull/54723)
+- \[[`0b9161b330`](https://github.com/nodejs/node/commit/0b9161b330)] - **benchmark,doc**: mention bar.R to the list of scripts (Rafael Gonzaga) [#54722](https://github.com/nodejs/node/pull/54722)
+- \[[`84bf93b7ea`](https://github.com/nodejs/node/commit/84bf93b7ea)] - **buffer**: allow invalid encoding in from (Robert Nagy) [#54533](https://github.com/nodejs/node/pull/54533)
+- \[[`d04246a0d7`](https://github.com/nodejs/node/commit/d04246a0d7)] - **buffer**: optimize byteLength for common encodings (Robert Nagy) [#54342](https://github.com/nodejs/node/pull/54342)
+- \[[`f36831f694`](https://github.com/nodejs/node/commit/f36831f694)] - **buffer**: optimize createFromString (Robert Nagy) [#54324](https://github.com/nodejs/node/pull/54324)
+- \[[`f5f40c8088`](https://github.com/nodejs/node/commit/f5f40c8088)] - **buffer**: optimize for common encodings (Robert Nagy) [#54319](https://github.com/nodejs/node/pull/54319)
+- \[[`76c37703be`](https://github.com/nodejs/node/commit/76c37703be)] - **buffer**: add JSDoc to blob bytes method (Roberto Simonini) [#54117](https://github.com/nodejs/node/pull/54117)
+- \[[`3012d31404`](https://github.com/nodejs/node/commit/3012d31404)] - **buffer**: use faster integer argument check (Robert Nagy) [#54089](https://github.com/nodejs/node/pull/54089)
+- \[[`3505782801`](https://github.com/nodejs/node/commit/3505782801)] - **buffer**: make indexOf(byte) faster (Tobias Nießen) [#53455](https://github.com/nodejs/node/pull/53455)
+- \[[`d285fc1f68`](https://github.com/nodejs/node/commit/d285fc1f68)] - **build**: upgrade clang-format to v18 (Aviv Keller) [#53957](https://github.com/nodejs/node/pull/53957)
+- \[[`d288ec3b0a`](https://github.com/nodejs/node/commit/d288ec3b0a)] - **build**: fix conflicting V8 object print flags (Daeyeon Jeong) [#54785](https://github.com/nodejs/node/pull/54785)
+- \[[`e862eecac9`](https://github.com/nodejs/node/commit/e862eecac9)] - **build**: do not build with code cache for core coverage collection (Joyee Cheung) [#54633](https://github.com/nodejs/node/pull/54633)
+- \[[`f7a606eb96`](https://github.com/nodejs/node/commit/f7a606eb96)] - **build**: turn off `-Wrestrict` (Richard Lau) [#54737](https://github.com/nodejs/node/pull/54737)
+- \[[`71ca2665e4`](https://github.com/nodejs/node/commit/71ca2665e4)] - **build**: reclaim disk space on macOS GHA runner (jakecastelli) [#54658](https://github.com/nodejs/node/pull/54658)
+- \[[`82d8051c39`](https://github.com/nodejs/node/commit/82d8051c39)] - **build**: don't clean obj.target directory if it doesn't exist (Joyee Cheung) [#54337](https://github.com/nodejs/node/pull/54337)
+- \[[`6e550b1f26`](https://github.com/nodejs/node/commit/6e550b1f26)] - **build**: update `ruff` to `0.5.2` (Aviv Keller) [#53909](https://github.com/nodejs/node/pull/53909)
+- \[[`e2ea7b26d7`](https://github.com/nodejs/node/commit/e2ea7b26d7)] - **build**: fix ./configure --help format error (Zhenwei Jin) [#53066](https://github.com/nodejs/node/pull/53066)
+- \[[`eb2402d569`](https://github.com/nodejs/node/commit/eb2402d569)] - **build**: enable building with shared uvwasi lib (Pooja D P) [#43987](https://github.com/nodejs/node/pull/43987)
+- \[[`45732314d4`](https://github.com/nodejs/node/commit/45732314d4)] - **build**: sync V8 warning cflags with BUILD.gn (Michaël Zasso) [#52873](https://github.com/nodejs/node/pull/52873)
+- \[[`6e0a2bb54c`](https://github.com/nodejs/node/commit/6e0a2bb54c)] - **build**: harmonize Clang checks (Michaël Zasso) [#52873](https://github.com/nodejs/node/pull/52873)
+- \[[`3f78d4eb28`](https://github.com/nodejs/node/commit/3f78d4eb28)] - **cli**: add `--expose-gc` flag available to `NODE_OPTIONS` (Juan José) [#53078](https://github.com/nodejs/node/pull/53078)
+- \[[`a110409b2a`](https://github.com/nodejs/node/commit/a110409b2a)] - **console**: use validateOneOf for colorMode validation (HEESEUNG) [#54245](https://github.com/nodejs/node/pull/54245)
+- \[[`231ab788ea`](https://github.com/nodejs/node/commit/231ab788ea)] - **crypto**: reject dh,x25519,x448 in {Sign,Verify}Final (Huáng Jùnliàng) [#53774](https://github.com/nodejs/node/pull/53774)
+- \[[`a5984e4570`](https://github.com/nodejs/node/commit/a5984e4570)] - **crypto**: return a clearer error when loading an unsupported pkcs12 (Tim Perry) [#54485](https://github.com/nodejs/node/pull/54485)
+- \[[`f287cd77bd`](https://github.com/nodejs/node/commit/f287cd77bd)] - **crypto**: remove unused `kHashTypes` internal (Antoine du Hamel) [#54627](https://github.com/nodejs/node/pull/54627)
+- \[[`1fc904f8c4`](https://github.com/nodejs/node/commit/1fc904f8c4)] - **deps**: update cjs-module-lexer to 1.4.1 (Node.js GitHub Bot) [#54846](https://github.com/nodejs/node/pull/54846)
+- \[[`95b55c39b1`](https://github.com/nodejs/node/commit/95b55c39b1)] - **deps**: update simdutf to 5.5.0 (Node.js GitHub Bot) [#54434](https://github.com/nodejs/node/pull/54434)
+- \[[`cf6ded5dd3`](https://github.com/nodejs/node/commit/cf6ded5dd3)] - **deps**: update cjs-module-lexer to 1.4.0 (Node.js GitHub Bot) [#54713](https://github.com/nodejs/node/pull/54713)
+- \[[`7f8edce3f1`](https://github.com/nodejs/node/commit/7f8edce3f1)] - **deps**: update c-ares to v1.33.1 (Node.js GitHub Bot) [#54549](https://github.com/nodejs/node/pull/54549)
+- \[[`9a4a7b7ecc`](https://github.com/nodejs/node/commit/9a4a7b7ecc)] - **deps**: update undici to 6.19.8 (Node.js GitHub Bot) [#54456](https://github.com/nodejs/node/pull/54456)
+- \[[`87ca1d7fee`](https://github.com/nodejs/node/commit/87ca1d7fee)] - **deps**: update simdutf to 5.3.4 (Node.js GitHub Bot) [#54312](https://github.com/nodejs/node/pull/54312)
+- \[[`d3a743f182`](https://github.com/nodejs/node/commit/d3a743f182)] - **deps**: update zlib to 1.3.0.1-motley-71660e1 (Node.js GitHub Bot) [#53464](https://github.com/nodejs/node/pull/53464)
+- \[[`926981aa9f`](https://github.com/nodejs/node/commit/926981aa9f)] - **deps**: update zlib to 1.3.0.1-motley-c2469fd (Node.js GitHub Bot) [#53464](https://github.com/nodejs/node/pull/53464)
+- \[[`654c8d1fdc`](https://github.com/nodejs/node/commit/654c8d1fdc)] - **deps**: update zlib to 1.3.0.1-motley-68e57e6 (Node.js GitHub Bot) [#53464](https://github.com/nodejs/node/pull/53464)
+- \[[`2477e79172`](https://github.com/nodejs/node/commit/2477e79172)] - **deps**: update zlib to 1.3.0.1-motley-8b7eff8 (Node.js GitHub Bot) [#53464](https://github.com/nodejs/node/pull/53464)
+- \[[`3d8113faf5`](https://github.com/nodejs/node/commit/3d8113faf5)] - **deps**: update zlib to 1.3.0.1-motley-e432200 (Node.js GitHub Bot) [#53464](https://github.com/nodejs/node/pull/53464)
+- \[[`ac294e3db4`](https://github.com/nodejs/node/commit/ac294e3db4)] - **deps**: update zlib to 1.3.0.1-motley-887bb57 (Node.js GitHub Bot) [#53464](https://github.com/nodejs/node/pull/53464)
+- \[[`239588b968`](https://github.com/nodejs/node/commit/239588b968)] - **deps**: update c-ares to v1.33.0 (Node.js GitHub Bot) [#54198](https://github.com/nodejs/node/pull/54198)
+- \[[`6e7de37ed3`](https://github.com/nodejs/node/commit/6e7de37ed3)] - **deps**: update undici to 6.19.7 (Node.js GitHub Bot) [#54286](https://github.com/nodejs/node/pull/54286)
+- \[[`38aa9d6ea9`](https://github.com/nodejs/node/commit/38aa9d6ea9)] - **deps**: update acorn to 8.12.1 (Node.js GitHub Bot) [#53465](https://github.com/nodejs/node/pull/53465)
+- \[[`d30145f663`](https://github.com/nodejs/node/commit/d30145f663)] - **deps**: update undici to 6.19.5 (Node.js GitHub Bot) [#54076](https://github.com/nodejs/node/pull/54076)
+- \[[`c169d9c12b`](https://github.com/nodejs/node/commit/c169d9c12b)] - **deps**: update simdutf to 5.3.1 (Node.js GitHub Bot) [#54196](https://github.com/nodejs/node/pull/54196)
+- \[[`92f3447957`](https://github.com/nodejs/node/commit/92f3447957)] - **doc**: add missing EventSource docs to globals (Matthew Aitken) [#55022](https://github.com/nodejs/node/pull/55022)
+- \[[`2879ce9681`](https://github.com/nodejs/node/commit/2879ce9681)] - **doc**: fix broken Android building link (Niklas Wenzel) [#54922](https://github.com/nodejs/node/pull/54922)
+- \[[`096623b59a`](https://github.com/nodejs/node/commit/096623b59a)] - **doc**: add support link for aduh95 (Antoine du Hamel) [#54866](https://github.com/nodejs/node/pull/54866)
+- \[[`1dfd238781`](https://github.com/nodejs/node/commit/1dfd238781)] - **doc**: run license-builder (github-actions\[bot]) [#54854](https://github.com/nodejs/node/pull/54854)
+- \[[`a6c748fffb`](https://github.com/nodejs/node/commit/a6c748fffb)] - **doc**: experimental flag for global accessible APIs (Chengzhong Wu) [#54330](https://github.com/nodejs/node/pull/54330)
+- \[[`d48a22fa14`](https://github.com/nodejs/node/commit/d48a22fa14)] - **doc**: add `ERR_INVALID_ADDRESS` to `errors.md` (Aviv Keller) [#54661](https://github.com/nodejs/node/pull/54661)
+- \[[`4a840cecfa`](https://github.com/nodejs/node/commit/4a840cecfa)] - **doc**: add support link for mcollina (Matteo Collina) [#54786](https://github.com/nodejs/node/pull/54786)
+- \[[`ec22d86512`](https://github.com/nodejs/node/commit/ec22d86512)] - **doc**: mark `--conditions` CLI flag as stable (Guy Bedford) [#54209](https://github.com/nodejs/node/pull/54209)
+- \[[`77c702ca07`](https://github.com/nodejs/node/commit/77c702ca07)] - **doc**: fix typo in recognizing-contributors (Tobias Nießen) [#54822](https://github.com/nodejs/node/pull/54822)
+- \[[`62953ef9fb`](https://github.com/nodejs/node/commit/62953ef9fb)] - **doc**: clarify `--max-old-space-size` and `--max-semi-space-size` units (Alexandre ABRIOUX) [#54477](https://github.com/nodejs/node/pull/54477)
+- \[[`e2bab0f2b2`](https://github.com/nodejs/node/commit/e2bab0f2b2)] - **doc**: replace --allow-fs-read by --allow-fs-write in related section (M1CK431) [#54427](https://github.com/nodejs/node/pull/54427)
+- \[[`9cbfd5b33a`](https://github.com/nodejs/node/commit/9cbfd5b33a)] - **doc**: add support link for marco-ippolito (Marco Ippolito) [#54789](https://github.com/nodejs/node/pull/54789)
+- \[[`53167b29ef`](https://github.com/nodejs/node/commit/53167b29ef)] - **doc**: fix typo (Michael Dawson) [#54640](https://github.com/nodejs/node/pull/54640)
+- \[[`87f78a35f7`](https://github.com/nodejs/node/commit/87f78a35f7)] - **doc**: fix webcrypto.md AES-GCM backticks (Filip Skokan) [#54621](https://github.com/nodejs/node/pull/54621)
+- \[[`7c83c15221`](https://github.com/nodejs/node/commit/7c83c15221)] - **doc**: add documentation about os.tmpdir() overrides (Joyee Cheung) [#54613](https://github.com/nodejs/node/pull/54613)
+- \[[`4bfd832d70`](https://github.com/nodejs/node/commit/4bfd832d70)] - **doc**: add support me link for anonrig (Yagiz Nizipli) [#54611](https://github.com/nodejs/node/pull/54611)
+- \[[`22a103e5ec`](https://github.com/nodejs/node/commit/22a103e5ec)] - **doc**: add alert on REPL from TCP socket (Rafael Gonzaga) [#54594](https://github.com/nodejs/node/pull/54594)
+- \[[`b6374c24e1`](https://github.com/nodejs/node/commit/b6374c24e1)] - **doc**: fix typo in styleText description (Rafael Gonzaga) [#54616](https://github.com/nodejs/node/pull/54616)
+- \[[`2f5b98ee1f`](https://github.com/nodejs/node/commit/2f5b98ee1f)] - **doc**: add getHeapStatistics() property descriptions (Benji Marinacci) [#54584](https://github.com/nodejs/node/pull/54584)
+- \[[`482302b99b`](https://github.com/nodejs/node/commit/482302b99b)] - **doc**: fix information about including coverage files (Aviv Keller) [#54527](https://github.com/nodejs/node/pull/54527)
+- \[[`b3708e7df4`](https://github.com/nodejs/node/commit/b3708e7df4)] - **doc**: support collaborators - talk amplification (Michael Dawson) [#54508](https://github.com/nodejs/node/pull/54508)
+- \[[`c86fe23012`](https://github.com/nodejs/node/commit/c86fe23012)] - **doc**: add note about shasum generation failure (Marco Ippolito) [#54487](https://github.com/nodejs/node/pull/54487)
+- \[[`d53e6cf755`](https://github.com/nodejs/node/commit/d53e6cf755)] - **doc**: fix capitalization in module.md (shallow-beach) [#54488](https://github.com/nodejs/node/pull/54488)
+- \[[`cdc6713f18`](https://github.com/nodejs/node/commit/cdc6713f18)] - **doc**: add esm examples to node:https (Alfredo González) [#54399](https://github.com/nodejs/node/pull/54399)
+- \[[`1ac1fe4e65`](https://github.com/nodejs/node/commit/1ac1fe4e65)] - **doc**: fix error description of the max header size (Egawa Ryo) [#54125](https://github.com/nodejs/node/pull/54125)
+- \[[`244542b720`](https://github.com/nodejs/node/commit/244542b720)] - **doc**: add git node security --cleanup (Rafael Gonzaga) [#54381](https://github.com/nodejs/node/pull/54381)
+- \[[`69fb71f54c`](https://github.com/nodejs/node/commit/69fb71f54c)] - **doc**: add note on weakness of permission model (Tobias Nießen) [#54268](https://github.com/nodejs/node/pull/54268)
+- \[[`83b2cb908b`](https://github.com/nodejs/node/commit/83b2cb908b)] - **doc**: add versions when `--watch-preserve-output` was added (Théo LUDWIG) [#54328](https://github.com/nodejs/node/pull/54328)
+- \[[`460fb49483`](https://github.com/nodejs/node/commit/460fb49483)] - **doc**: replace v19 mention in Current release (Rafael Gonzaga) [#54361](https://github.com/nodejs/node/pull/54361)
+- \[[`994b46a160`](https://github.com/nodejs/node/commit/994b46a160)] - **doc**: correct peformance entry types (Jason Zhang) [#54263](https://github.com/nodejs/node/pull/54263)
+- \[[`f142e668cb`](https://github.com/nodejs/node/commit/f142e668cb)] - **doc**: fix typo in method name in the sea doc (Eliyah Sundström) [#54027](https://github.com/nodejs/node/pull/54027)
+- \[[`9529a30dba`](https://github.com/nodejs/node/commit/9529a30dba)] - **doc**: mark process.nextTick legacy (Marco Ippolito) [#51280](https://github.com/nodejs/node/pull/51280)
+- \[[`7e25fabb91`](https://github.com/nodejs/node/commit/7e25fabb91)] - **doc**: add esm examples to node:http2 (Alfredo González) [#54292](https://github.com/nodejs/node/pull/54292)
+- \[[`6a4f05e384`](https://github.com/nodejs/node/commit/6a4f05e384)] - **doc**: explicitly mention node:fs module restriction (Rafael Gonzaga) [#54269](https://github.com/nodejs/node/pull/54269)
+- \[[`53f5c54997`](https://github.com/nodejs/node/commit/53f5c54997)] - **doc**: warn for windows build bug (Jason Zhang) [#54217](https://github.com/nodejs/node/pull/54217)
+- \[[`07bde054f3`](https://github.com/nodejs/node/commit/07bde054f3)] - **doc**: make some parameters optional in `tracingChannel.traceCallback` (Deokjin Kim) [#54068](https://github.com/nodejs/node/pull/54068)
+- \[[`62bf03b5f1`](https://github.com/nodejs/node/commit/62bf03b5f1)] - **doc**: add esm examples to node:dns (Alfredo González) [#54172](https://github.com/nodejs/node/pull/54172)
+- \[[`fb2b19184b`](https://github.com/nodejs/node/commit/fb2b19184b)] - **doc**: add KevinEady as a triager (Chengzhong Wu) [#54179](https://github.com/nodejs/node/pull/54179)
+- \[[`24976bfba0`](https://github.com/nodejs/node/commit/24976bfba0)] - **doc**: add esm examples to node:console (Alfredo González) [#54108](https://github.com/nodejs/node/pull/54108)
+- \[[`4e7edc40f7`](https://github.com/nodejs/node/commit/4e7edc40f7)] - **doc**: fix sea assets example (Sadzurami) [#54192](https://github.com/nodejs/node/pull/54192)
+- \[[`322b5d91e1`](https://github.com/nodejs/node/commit/322b5d91e1)] - **doc**: add links to security steward companies (Aviv Keller) [#52981](https://github.com/nodejs/node/pull/52981)
+- \[[`6ab271510e`](https://github.com/nodejs/node/commit/6ab271510e)] - **doc**: move `onread` option from `socket.connect()` to `new net.socket()` (sendoru) [#54194](https://github.com/nodejs/node/pull/54194)
+- \[[`39c30ea08f`](https://github.com/nodejs/node/commit/39c30ea08f)] - **doc**: move release key for Myles Borins (Richard Lau) [#54059](https://github.com/nodejs/node/pull/54059)
+- \[[`e9fc54804a`](https://github.com/nodejs/node/commit/e9fc54804a)] - **doc**: refresh instructions for building node from source (Liran Tal) [#53768](https://github.com/nodejs/node/pull/53768)
+- \[[`f131dc625a`](https://github.com/nodejs/node/commit/f131dc625a)] - **doc**: add documentation for blob.bytes() method (jaexxin) [#54114](https://github.com/nodejs/node/pull/54114)
+- \[[`8d41bb900b`](https://github.com/nodejs/node/commit/8d41bb900b)] - **doc**: add missing new lines to custom test reporter examples (Eddie Abbondanzio) [#54152](https://github.com/nodejs/node/pull/54152)
+- \[[`2acaeaba77`](https://github.com/nodejs/node/commit/2acaeaba77)] - **doc**: update list of Triagers on the `README.md` (Antoine du Hamel) [#54138](https://github.com/nodejs/node/pull/54138)
+- \[[`fff8eb2792`](https://github.com/nodejs/node/commit/fff8eb2792)] - **doc**: expand troubleshooting section (Liran Tal) [#53808](https://github.com/nodejs/node/pull/53808)
+- \[[`402121520f`](https://github.com/nodejs/node/commit/402121520f)] - **doc**: clarify `useCodeCache` setting for cross-platform SEA generation (Yelim Koo) [#53994](https://github.com/nodejs/node/pull/53994)
+- \[[`272484b8b2`](https://github.com/nodejs/node/commit/272484b8b2)] - **doc**: test for cli options (Aras Abbasi) [#51623](https://github.com/nodejs/node/pull/51623)
+- \[[`c4d0ca4710`](https://github.com/nodejs/node/commit/c4d0ca4710)] - **doc, build**: fixup build docs (Aviv Keller) [#54899](https://github.com/nodejs/node/pull/54899)
+- \[[`2e3e17748b`](https://github.com/nodejs/node/commit/2e3e17748b)] - **doc, child_process**: add esm snippets (Aviv Keller) [#53616](https://github.com/nodejs/node/pull/53616)
+- \[[`c40b4b4f27`](https://github.com/nodejs/node/commit/c40b4b4f27)] - **doc, meta**: fix broken link in `onboarding.md` (Aviv Keller) [#54886](https://github.com/nodejs/node/pull/54886)
+- \[[`beff587b94`](https://github.com/nodejs/node/commit/beff587b94)] - **doc, meta**: add missing `,` to `BUILDING.md` (Aviv Keller) [#54409](https://github.com/nodejs/node/pull/54409)
+- \[[`c114585430`](https://github.com/nodejs/node/commit/c114585430)] - **doc, meta**: replace command with link to keys (Aviv Keller) [#53745](https://github.com/nodejs/node/pull/53745)
+- \[[`0843077a99`](https://github.com/nodejs/node/commit/0843077a99)] - **doc, test**: simplify test README table (Aviv Keller) [#53971](https://github.com/nodejs/node/pull/53971)
+- \[[`2df7bc0e32`](https://github.com/nodejs/node/commit/2df7bc0e32)] - **doc,tools**: enforce use of `node:` prefix (Antoine du Hamel) [#53950](https://github.com/nodejs/node/pull/53950)
+- \[[`0dd4639391`](https://github.com/nodejs/node/commit/0dd4639391)] - **esm**: fix support for `URL` instances in `import.meta.resolve` (Antoine du Hamel) [#54690](https://github.com/nodejs/node/pull/54690)
+- \[[`f0c55e206d`](https://github.com/nodejs/node/commit/f0c55e206d)] - **fs**: refactor rimraf to avoid using primordials (Yagiz Nizipli) [#54834](https://github.com/nodejs/node/pull/54834)
+- \[[`f568384bbd`](https://github.com/nodejs/node/commit/f568384bbd)] - **fs**: refactor handleTimestampsAndMode to remove redundant call (HEESEUNG) [#54369](https://github.com/nodejs/node/pull/54369)
+- \[[`2fb7cc9715`](https://github.com/nodejs/node/commit/2fb7cc9715)] - **fs**: fix typings (Yagiz Nizipli) [#53626](https://github.com/nodejs/node/pull/53626)
+- \[[`596940cfa0`](https://github.com/nodejs/node/commit/596940cfa0)] - **http**: reduce likelihood of race conditions on keep-alive timeout (jazelly) [#54863](https://github.com/nodejs/node/pull/54863)
+- \[[`6e13a7ba02`](https://github.com/nodejs/node/commit/6e13a7ba02)] - **http**: remove prototype primordials (Antoine du Hamel) [#53698](https://github.com/nodejs/node/pull/53698)
+- \[[`99f96eb3f7`](https://github.com/nodejs/node/commit/99f96eb3f7)] - **http2**: remove prototype primordials (Antoine du Hamel) [#53696](https://github.com/nodejs/node/pull/53696)
+- \[[`41f5eacc1a`](https://github.com/nodejs/node/commit/41f5eacc1a)] - **https**: only use default ALPNProtocols when appropriate (Brian White) [#54411](https://github.com/nodejs/node/pull/54411)
+- \[[`59a39520e1`](https://github.com/nodejs/node/commit/59a39520e1)] - **(SEMVER-MINOR)** **inspector**: support `Network.loadingFailed` event (Kohei Ueno) [#54246](https://github.com/nodejs/node/pull/54246)
+- \[[`d1007fb1a9`](https://github.com/nodejs/node/commit/d1007fb1a9)] - **inspector**: provide detailed info to fix DevTools frontend errors (Kohei Ueno) [#54156](https://github.com/nodejs/node/pull/54156)
+- \[[`3b93507949`](https://github.com/nodejs/node/commit/3b93507949)] - **(SEMVER-MINOR)** **inspector**: add initial support for network inspection (Kohei Ueno) [#53593](https://github.com/nodejs/node/pull/53593)
+- \[[`fc37b801c8`](https://github.com/nodejs/node/commit/fc37b801c8)] - **lib**: remove unnecessary async (jakecastelli) [#54829](https://github.com/nodejs/node/pull/54829)
+- \[[`d86f24787b`](https://github.com/nodejs/node/commit/d86f24787b)] - **lib**: make WeakRef safe in abort_controller (jazelly) [#54791](https://github.com/nodejs/node/pull/54791)
+- \[[`77c59224e5`](https://github.com/nodejs/node/commit/77c59224e5)] - **lib**: add note about removing `node:sys` module (Rafael Gonzaga) [#54743](https://github.com/nodejs/node/pull/54743)
+- \[[`b8c06dce02`](https://github.com/nodejs/node/commit/b8c06dce02)] - **lib**: ensure no holey array in fixed_queue (Jason Zhang) [#54537](https://github.com/nodejs/node/pull/54537)
+- \[[`b85c8ce1fc`](https://github.com/nodejs/node/commit/b85c8ce1fc)] - **lib**: refactor SubtleCrypto experimental warnings (Filip Skokan) [#54620](https://github.com/nodejs/node/pull/54620)
+- \[[`e84812c1b5`](https://github.com/nodejs/node/commit/e84812c1b5)] - **lib**: respect terminal capabilities on styleText (Rafael Gonzaga) [#54389](https://github.com/nodejs/node/pull/54389)
+- \[[`c004abaf17`](https://github.com/nodejs/node/commit/c004abaf17)] - **lib**: replace spread operator with primordials function (YoonSoo_Shin) [#54053](https://github.com/nodejs/node/pull/54053)
+- \[[`b79aeabc4d`](https://github.com/nodejs/node/commit/b79aeabc4d)] - **lib**: avoid for of loop and remove unnecessary variable in zlib (YoonSoo_Shin) [#54258](https://github.com/nodejs/node/pull/54258)
+- \[[`f4085363c6`](https://github.com/nodejs/node/commit/f4085363c6)] - **lib**: fix unhandled errors in webstream adapters (Fedor Indutny) [#54206](https://github.com/nodejs/node/pull/54206)
+- \[[`1ad857e748`](https://github.com/nodejs/node/commit/1ad857e748)] - **lib**: fix typos in comments within internal/streams (YoonSoo_Shin) [#54093](https://github.com/nodejs/node/pull/54093)
+- \[[`02b36cbd2d`](https://github.com/nodejs/node/commit/02b36cbd2d)] - **(SEMVER-MINOR)** **lib**: add EventSource Client (Aras Abbasi) [#51575](https://github.com/nodejs/node/pull/51575)
+- \[[`afbf2c0530`](https://github.com/nodejs/node/commit/afbf2c0530)] - **lib,permission**: support Buffer to permission.has (Rafael Gonzaga) [#54104](https://github.com/nodejs/node/pull/54104)
+- \[[`54af47395d`](https://github.com/nodejs/node/commit/54af47395d)] - **meta**: bump peter-evans/create-pull-request from 6.1.0 to 7.0.1 (dependabot\[bot]) [#54820](https://github.com/nodejs/node/pull/54820)
+- \[[`a0c10f2ed9`](https://github.com/nodejs/node/commit/a0c10f2ed9)] - **meta**: add `Windows ARM64` to flaky-tests list (Aviv Keller) [#54693](https://github.com/nodejs/node/pull/54693)
+- \[[`27b06880e1`](https://github.com/nodejs/node/commit/27b06880e1)] - **meta**: bump actions/setup-python from 5.1.1 to 5.2.0 (Rich Trott) [#54691](https://github.com/nodejs/node/pull/54691)
+- \[[`8747af1037`](https://github.com/nodejs/node/commit/8747af1037)] - **meta**: update sccache to v0.8.1 (Aviv Keller) [#54720](https://github.com/nodejs/node/pull/54720)
+- \[[`3f753d87a6`](https://github.com/nodejs/node/commit/3f753d87a6)] - **meta**: bump step-security/harden-runner from 2.9.0 to 2.9.1 (dependabot\[bot]) [#54704](https://github.com/nodejs/node/pull/54704)
+- \[[`6f103ae25d`](https://github.com/nodejs/node/commit/6f103ae25d)] - **meta**: bump actions/upload-artifact from 4.3.4 to 4.4.0 (dependabot\[bot]) [#54703](https://github.com/nodejs/node/pull/54703)
+- \[[`3e6a9bb04e`](https://github.com/nodejs/node/commit/3e6a9bb04e)] - **meta**: bump github/codeql-action from 3.25.15 to 3.26.6 (dependabot\[bot]) [#54702](https://github.com/nodejs/node/pull/54702)
+- \[[`c666ebc4e4`](https://github.com/nodejs/node/commit/c666ebc4e4)] - **meta**: fix links in `SECURITY.md` (Aviv Keller) [#54696](https://github.com/nodejs/node/pull/54696)
+- \[[`4d361b3bed`](https://github.com/nodejs/node/commit/4d361b3bed)] - **meta**: fix `contributing` codeowners (Aviv Keller) [#54641](https://github.com/nodejs/node/pull/54641)
+- \[[`36931aa183`](https://github.com/nodejs/node/commit/36931aa183)] - **meta**: remind users to use a supported version in bug reports (Aviv Keller) [#54481](https://github.com/nodejs/node/pull/54481)
+- \[[`cf283d9ca7`](https://github.com/nodejs/node/commit/cf283d9ca7)] - **meta**: run coverage-windows when `vcbuild.bat` updated (Aviv Keller) [#54412](https://github.com/nodejs/node/pull/54412)
+- \[[`67ca397c9f`](https://github.com/nodejs/node/commit/67ca397c9f)] - **meta**: add test-permission-\* CODEOWNERS (Rafael Gonzaga) [#54267](https://github.com/nodejs/node/pull/54267)
+- \[[`b61a2f5b79`](https://github.com/nodejs/node/commit/b61a2f5b79)] - **meta**: move one or more collaborators to emeritus (Node.js GitHub Bot) [#54210](https://github.com/nodejs/node/pull/54210)
+- \[[`dd8ab83667`](https://github.com/nodejs/node/commit/dd8ab83667)] - **meta**: add module label for the lib/internal/modules folder (Aviv Keller) [#52858](https://github.com/nodejs/node/pull/52858)
+- \[[`db78978d17`](https://github.com/nodejs/node/commit/db78978d17)] - **meta**: bump `actions/upload-artifact` from 4.3.3 to 4.3.4 (dependabot\[bot]) [#54166](https://github.com/nodejs/node/pull/54166)
+- \[[`ca808dd9e5`](https://github.com/nodejs/node/commit/ca808dd9e5)] - **meta**: bump `actions/download-artifact` from 4.1.7 to 4.1.8 (dependabot\[bot]) [#54167](https://github.com/nodejs/node/pull/54167)
+- \[[`a35d980146`](https://github.com/nodejs/node/commit/a35d980146)] - **meta**: bump actions/setup-python from 5.1.0 to 5.1.1 (dependabot\[bot]) [#54165](https://github.com/nodejs/node/pull/54165)
+- \[[`3a103c3a17`](https://github.com/nodejs/node/commit/3a103c3a17)] - **meta**: bump `step-security/harden-runner` from 2.8.1 to 2.9.0 (dependabot\[bot]) [#54169](https://github.com/nodejs/node/pull/54169)
+- \[[`775ebbe0e8`](https://github.com/nodejs/node/commit/775ebbe0e8)] - **meta**: bump `actions/setup-node` from 4.0.2 to 4.0.3 (dependabot\[bot]) [#54170](https://github.com/nodejs/node/pull/54170)
+- \[[`7d5dd6f1d1`](https://github.com/nodejs/node/commit/7d5dd6f1d1)] - **meta**: bump `github/codeql-action` from 3.25.11 to 3.25.15 (dependabot\[bot]) [#54168](https://github.com/nodejs/node/pull/54168)
+- \[[`80dd38dde3`](https://github.com/nodejs/node/commit/80dd38dde3)] - **meta**: bump `ossf/scorecard-action` from 2.3.3 to 2.4.0 (dependabot\[bot]) [#54171](https://github.com/nodejs/node/pull/54171)
+- \[[`90b632ee02`](https://github.com/nodejs/node/commit/90b632ee02)] - **module**: warn on detection in typeless package (Geoffrey Booth) [#52168](https://github.com/nodejs/node/pull/52168)
+- \[[`3011927aab`](https://github.com/nodejs/node/commit/3011927aab)] - **node-api**: add external buffer creation benchmark (Chengzhong Wu) [#54877](https://github.com/nodejs/node/pull/54877)
+- \[[`7611093e11`](https://github.com/nodejs/node/commit/7611093e11)] - **node-api**: add support for UTF-8 and Latin-1 property keys (Mert Can Altin) [#52984](https://github.com/nodejs/node/pull/52984)
+- \[[`d65a8f377c`](https://github.com/nodejs/node/commit/d65a8f377c)] - **node-api**: remove RefBase and CallbackWrapper (Vladimir Morozov) [#53590](https://github.com/nodejs/node/pull/53590)
+- \[[`309cb1cbd2`](https://github.com/nodejs/node/commit/309cb1cbd2)] - **path**: remove `StringPrototypeCharCodeAt` from `posix.extname` (Aviv Keller) [#54546](https://github.com/nodejs/node/pull/54546)
+- \[[`2859b4ba9a`](https://github.com/nodejs/node/commit/2859b4ba9a)] - **path**: change `posix.join` to use array (Wiyeong Seo) [#54331](https://github.com/nodejs/node/pull/54331)
+- \[[`c61cee2138`](https://github.com/nodejs/node/commit/c61cee2138)] - **path**: fix relative on Windows (Hüseyin Açacak) [#53991](https://github.com/nodejs/node/pull/53991)
+- \[[`329be5cc35`](https://github.com/nodejs/node/commit/329be5cc35)] - **path**: use the correct name in `validateString` (Benjamin Pasero) [#53669](https://github.com/nodejs/node/pull/53669)
+- \[[`a9837267cb`](https://github.com/nodejs/node/commit/a9837267cb)] - **repl**: avoid interpreting 'npm' as a command when errors are recoverable (Shima Ryuhei) [#54848](https://github.com/nodejs/node/pull/54848)
+- \[[`d6a2317961`](https://github.com/nodejs/node/commit/d6a2317961)] - **repl**: doc-deprecate instantiating `node:repl` classes without `new` (Aviv Keller) [#54842](https://github.com/nodejs/node/pull/54842)
+- \[[`7f09d983f3`](https://github.com/nodejs/node/commit/7f09d983f3)] - **sea**: don't set code cache flags when snapshot is used (Joyee Cheung) [#54120](https://github.com/nodejs/node/pull/54120)
+- \[[`85542b094c`](https://github.com/nodejs/node/commit/85542b094c)] - **src**: add Cleanable class to Environment (Gabriel Schulhof) [#54880](https://github.com/nodejs/node/pull/54880)
+- \[[`8422064127`](https://github.com/nodejs/node/commit/8422064127)] - **src**: remove redundant AESCipherMode (Tobias Nießen) [#54438](https://github.com/nodejs/node/pull/54438)
+- \[[`342c32483a`](https://github.com/nodejs/node/commit/342c32483a)] - **src**: handle errors correctly in `permission.cc` (Michaël Zasso) [#54541](https://github.com/nodejs/node/pull/54541)
+- \[[`90ff714699`](https://github.com/nodejs/node/commit/90ff714699)] - **src**: return `v8::Object` from error constructors (Michaël Zasso) [#54541](https://github.com/nodejs/node/pull/54541)
+- \[[`872856cfcb`](https://github.com/nodejs/node/commit/872856cfcb)] - **src**: improve `buffer.transcode` performance (Yagiz Nizipli) [#54153](https://github.com/nodejs/node/pull/54153)
+- \[[`91936ebd12`](https://github.com/nodejs/node/commit/91936ebd12)] - **src**: skip inspector wait in internal workers (Chengzhong Wu) [#54219](https://github.com/nodejs/node/pull/54219)
+- \[[`9759049427`](https://github.com/nodejs/node/commit/9759049427)] - **src**: account for OpenSSL unexpected version (Shelley Vohr) [#54038](https://github.com/nodejs/node/pull/54038)
+- \[[`87167fa248`](https://github.com/nodejs/node/commit/87167fa248)] - **src**: use `args.This()` instead of `Holder` (Michaël Zasso) [#53474](https://github.com/nodejs/node/pull/53474)
+- \[[`b05c56e4be`](https://github.com/nodejs/node/commit/b05c56e4be)] - **src**: simplify `size() == 0` checks (Yagiz Nizipli) [#53440](https://github.com/nodejs/node/pull/53440)
+- \[[`d53e53699c`](https://github.com/nodejs/node/commit/d53e53699c)] - **src**: fix execArgv in worker (theanarkh) [#53029](https://github.com/nodejs/node/pull/53029)
+- \[[`21776a34b5`](https://github.com/nodejs/node/commit/21776a34b5)] - **src**: make sure pass the `argv` to worker threads (theanarkh) [#52827](https://github.com/nodejs/node/pull/52827)
+- \[[`3aaae68ec8`](https://github.com/nodejs/node/commit/3aaae68ec8)] - **(SEMVER-MINOR)** **src,lib**: add performance.uvMetricsInfo (Rafael Gonzaga) [#54413](https://github.com/nodejs/node/pull/54413)
+- \[[`ef1c0d7def`](https://github.com/nodejs/node/commit/ef1c0d7def)] - **src,permission**: handle process.chdir on pm (Rafael Gonzaga) [#53175](https://github.com/nodejs/node/pull/53175)
+- \[[`0c32918eef`](https://github.com/nodejs/node/commit/0c32918eef)] - **stream**: change stream to use index instead of `for...of` (Wiyeong Seo) [#54474](https://github.com/nodejs/node/pull/54474)
+- \[[`337cd412b5`](https://github.com/nodejs/node/commit/337cd412b5)] - **stream**: make checking pendingcb on WritableStream backward compatible (jakecastelli) [#54142](https://github.com/nodejs/node/pull/54142)
+- \[[`713fc0c9eb`](https://github.com/nodejs/node/commit/713fc0c9eb)] - **stream**: throw TypeError when criteria fulfilled in getIterator (jakecastelli) [#53825](https://github.com/nodejs/node/pull/53825)
+- \[[`9686153616`](https://github.com/nodejs/node/commit/9686153616)] - **stream**: fix util.inspect for compression/decompressionStream (Mert Can Altin) [#52283](https://github.com/nodejs/node/pull/52283)
+- \[[`76110b0b43`](https://github.com/nodejs/node/commit/76110b0b43)] - **test**: adjust test-tls-junk-server for OpenSSL32 (Michael Dawson) [#54926](https://github.com/nodejs/node/pull/54926)
+- \[[`4092889371`](https://github.com/nodejs/node/commit/4092889371)] - **test**: adjust tls test for OpenSSL32 (Michael Dawson) [#54909](https://github.com/nodejs/node/pull/54909)
+- \[[`5d48543a16`](https://github.com/nodejs/node/commit/5d48543a16)] - **test**: fix test-http2-socket-close.js (Hüseyin Açacak) [#54900](https://github.com/nodejs/node/pull/54900)
+- \[[`8048c2eaed`](https://github.com/nodejs/node/commit/8048c2eaed)] - **test**: improve test-internal-fs-syncwritestream (Sunghoon) [#54671](https://github.com/nodejs/node/pull/54671)
+- \[[`597bc14c90`](https://github.com/nodejs/node/commit/597bc14c90)] - **test**: deflake test-dns (Luigi Pinca) [#54902](https://github.com/nodejs/node/pull/54902)
+- \[[`a9fc8d9cfa`](https://github.com/nodejs/node/commit/a9fc8d9cfa)] - **test**: fix test test-tls-dhe for OpenSSL32 (Michael Dawson) [#54903](https://github.com/nodejs/node/pull/54903)
+- \[[`1b3b4f4a9f`](https://github.com/nodejs/node/commit/1b3b4f4a9f)] - **test**: use correct file naming syntax for `util-parse-env` (Aviv Keller) [#53705](https://github.com/nodejs/node/pull/53705)
+- \[[`9db46b5ea3`](https://github.com/nodejs/node/commit/9db46b5ea3)] - **test**: add missing await (Luigi Pinca) [#54828](https://github.com/nodejs/node/pull/54828)
+- \[[`124f715679`](https://github.com/nodejs/node/commit/124f715679)] - **test**: move more url tests to `node:test` (Yagiz Nizipli) [#54636](https://github.com/nodejs/node/pull/54636)
+- \[[`d2ec96150a`](https://github.com/nodejs/node/commit/d2ec96150a)] - **test**: strip color chars in `test-runner-run` (Giovanni Bucci) [#54552](https://github.com/nodejs/node/pull/54552)
+- \[[`747d9ae72e`](https://github.com/nodejs/node/commit/747d9ae72e)] - **test**: deflake test-http2-misbehaving-multiplex (Luigi Pinca) [#54872](https://github.com/nodejs/node/pull/54872)
+- \[[`7b7687eadc`](https://github.com/nodejs/node/commit/7b7687eadc)] - **test**: remove dead code in test-http2-misbehaving-multiplex (Luigi Pinca) [#54860](https://github.com/nodejs/node/pull/54860)
+- \[[`60f5f5426d`](https://github.com/nodejs/node/commit/60f5f5426d)] - **test**: reduce test-esm-loader-hooks-inspect-wait flakiness (Luigi Pinca) [#54827](https://github.com/nodejs/node/pull/54827)
+- \[[`f5e77385c5`](https://github.com/nodejs/node/commit/f5e77385c5)] - **test**: reduce the allocation size in test-worker-arraybuffer-zerofill (James M Snell) [#54839](https://github.com/nodejs/node/pull/54839)
+- \[[`f26cf09d6b`](https://github.com/nodejs/node/commit/f26cf09d6b)] - **test**: fix test-tls-client-mindhsize for OpenSSL32 (Michael Dawson) [#54739](https://github.com/nodejs/node/pull/54739)
+- \[[`c6f9afec94`](https://github.com/nodejs/node/commit/c6f9afec94)] - **test**: use platform timeout (jakecastelli) [#54591](https://github.com/nodejs/node/pull/54591)
+- \[[`8f49b7c3ee`](https://github.com/nodejs/node/commit/8f49b7c3ee)] - **test**: reduce fs calls in test-fs-existssync-false (Yagiz Nizipli) [#54815](https://github.com/nodejs/node/pull/54815)
+- \[[`e2c69c9844`](https://github.com/nodejs/node/commit/e2c69c9844)] - **test**: move test-http-server-request-timeouts-mixed (James M Snell) [#54841](https://github.com/nodejs/node/pull/54841)
+- \[[`f7af8ca021`](https://github.com/nodejs/node/commit/f7af8ca021)] - **test**: fix volatile for CauseSegfault with clang (Ivan Trubach) [#54325](https://github.com/nodejs/node/pull/54325)
+- \[[`d1bae5ede5`](https://github.com/nodejs/node/commit/d1bae5ede5)] - **test**: set `test-worker-arraybuffer-zerofill` as flaky (Yagiz Nizipli) [#54802](https://github.com/nodejs/node/pull/54802)
+- \[[`b5b5cc811f`](https://github.com/nodejs/node/commit/b5b5cc811f)] - **test**: set `test-http-server-request-timeouts-mixed` as flaky (Yagiz Nizipli) [#54802](https://github.com/nodejs/node/pull/54802)
+- \[[`9808feecac`](https://github.com/nodejs/node/commit/9808feecac)] - **test**: set `test-single-executable-application-empty` as flaky (Yagiz Nizipli) [#54802](https://github.com/nodejs/node/pull/54802)
+- \[[`97d41c62e3`](https://github.com/nodejs/node/commit/97d41c62e3)] - **test**: set `test-macos-app-sandbox` as flaky (Yagiz Nizipli) [#54802](https://github.com/nodejs/node/pull/54802)
+- \[[`57ae68001c`](https://github.com/nodejs/node/commit/57ae68001c)] - **test**: set `test-fs-utimes` as flaky (Yagiz Nizipli) [#54802](https://github.com/nodejs/node/pull/54802)
+- \[[`38afc4da03`](https://github.com/nodejs/node/commit/38afc4da03)] - **test**: set `test-runner-run-watch` as flaky (Yagiz Nizipli) [#54802](https://github.com/nodejs/node/pull/54802)
+- \[[`68e19748a6`](https://github.com/nodejs/node/commit/68e19748a6)] - **test**: set `test-writewrap` as flaky (Yagiz Nizipli) [#54802](https://github.com/nodejs/node/pull/54802)
+- \[[`e8cb03d530`](https://github.com/nodejs/node/commit/e8cb03d530)] - **test**: set `test-async-context-frame` as flaky (Yagiz Nizipli) [#54802](https://github.com/nodejs/node/pull/54802)
+- \[[`3a56517220`](https://github.com/nodejs/node/commit/3a56517220)] - **test**: set `test-esm-loader-hooks-inspect-wait` as flaky (Yagiz Nizipli) [#54802](https://github.com/nodejs/node/pull/54802)
+- \[[`c98cd1227d`](https://github.com/nodejs/node/commit/c98cd1227d)] - **test**: set `test-http2-large-file` as flaky (Yagiz Nizipli) [#54802](https://github.com/nodejs/node/pull/54802)
+- \[[`16176a6323`](https://github.com/nodejs/node/commit/16176a6323)] - **test**: set `test-runner-watch-mode-complex` as flaky (Yagiz Nizipli) [#54802](https://github.com/nodejs/node/pull/54802)
+- \[[`eed0537533`](https://github.com/nodejs/node/commit/eed0537533)] - **test**: set `test-performance-function` as flaky (Yagiz Nizipli) [#54802](https://github.com/nodejs/node/pull/54802)
+- \[[`d0f208d2e9`](https://github.com/nodejs/node/commit/d0f208d2e9)] - **test**: set `test-debugger-heap-profiler` as flaky (Yagiz Nizipli) [#54802](https://github.com/nodejs/node/pull/54802)
+- \[[`68891a6363`](https://github.com/nodejs/node/commit/68891a6363)] - **test**: fix `test-process-load-env-file` when path contains `'` (Antoine du Hamel) [#54511](https://github.com/nodejs/node/pull/54511)
+- \[[`4f82673139`](https://github.com/nodejs/node/commit/4f82673139)] - **test**: refactor fs-watch tests due to macOS issue (Santiago Gimeno) [#54498](https://github.com/nodejs/node/pull/54498)
+- \[[`3606c53fdc`](https://github.com/nodejs/node/commit/3606c53fdc)] - **test**: refactor `test-esm-type-field-errors` (Giovanni Bucci) [#54368](https://github.com/nodejs/node/pull/54368)
+- \[[`99566aea97`](https://github.com/nodejs/node/commit/99566aea97)] - **test**: improve output of child process utilities (Joyee Cheung) [#54622](https://github.com/nodejs/node/pull/54622)
+- \[[`ed2377c1a1`](https://github.com/nodejs/node/commit/ed2377c1a1)] - **test**: fix test-tls-client-auth test for OpenSSL32 (Michael Dawson) [#54610](https://github.com/nodejs/node/pull/54610)
+- \[[`d2a7e45946`](https://github.com/nodejs/node/commit/d2a7e45946)] - **test**: update TLS test for OpenSSL 3.2 (Richard Lau) [#54612](https://github.com/nodejs/node/pull/54612)
+- \[[`a50bbca78a`](https://github.com/nodejs/node/commit/a50bbca78a)] - **test**: increase key size for ca2-cert.pem (Michael Dawson) [#54599](https://github.com/nodejs/node/pull/54599)
+- \[[`d7ac3262de`](https://github.com/nodejs/node/commit/d7ac3262de)] - **test**: update test-assert-typedarray-deepequal to use node:test (James M Snell) [#54585](https://github.com/nodejs/node/pull/54585)
+- \[[`916a73cd8f`](https://github.com/nodejs/node/commit/916a73cd8f)] - **test**: update test-assert to use node:test (James M Snell) [#54585](https://github.com/nodejs/node/pull/54585)
+- \[[`10bea1cef5`](https://github.com/nodejs/node/commit/10bea1cef5)] - **test**: merge ongc and gcutil into gc.js (tannal) [#54355](https://github.com/nodejs/node/pull/54355)
+- \[[`f145982436`](https://github.com/nodejs/node/commit/f145982436)] - **test**: move a couple of tests over to using node:test (James M Snell) [#54582](https://github.com/nodejs/node/pull/54582)
+- \[[`229e102d20`](https://github.com/nodejs/node/commit/229e102d20)] - **test**: fix embedding test for Windows (Vladimir Morozov) [#53659](https://github.com/nodejs/node/pull/53659)
+- \[[`fcf82adef0`](https://github.com/nodejs/node/commit/fcf82adef0)] - **test**: use relative paths in test-cli-permission tests (sendoru) [#54188](https://github.com/nodejs/node/pull/54188)
+- \[[`4c219b0235`](https://github.com/nodejs/node/commit/4c219b0235)] - **test**: fix timeout not being cleared (Isaac-yz-Liu) [#54242](https://github.com/nodejs/node/pull/54242)
+- \[[`e446517a41`](https://github.com/nodejs/node/commit/e446517a41)] - **test**: refactor `test-runner-module-mocking` (Antoine du Hamel) [#54233](https://github.com/nodejs/node/pull/54233)
+- \[[`782a6a05ef`](https://github.com/nodejs/node/commit/782a6a05ef)] - **test**: use assert.{s,deepS}trictEqual() (Luigi Pinca) [#54208](https://github.com/nodejs/node/pull/54208)
+- \[[`d478db7adc`](https://github.com/nodejs/node/commit/d478db7adc)] - **test**: set test-structuredclone-jstransferable non-flaky (Stefan Stojanovic) [#54115](https://github.com/nodejs/node/pull/54115)
+- \[[`c8587ec90d`](https://github.com/nodejs/node/commit/c8587ec90d)] - **test**: update wpt test for streams (devstone) [#54129](https://github.com/nodejs/node/pull/54129)
+- \[[`dbc26c2971`](https://github.com/nodejs/node/commit/dbc26c2971)] - **test**: fix typo in test (Sonny) [#54137](https://github.com/nodejs/node/pull/54137)
+- \[[`17b7ec4df3`](https://github.com/nodejs/node/commit/17b7ec4df3)] - **test**: add initial pull delay and prototype pollution prevention tests (Sonny) [#54061](https://github.com/nodejs/node/pull/54061)
+- \[[`931ff4367a`](https://github.com/nodejs/node/commit/931ff4367a)] - **test**: update wpt test (Mert Can Altin) [#53814](https://github.com/nodejs/node/pull/53814)
+- \[[`1c1bd7ce52`](https://github.com/nodejs/node/commit/1c1bd7ce52)] - **test**: update `url` web-platform tests (Yagiz Nizipli) [#53472](https://github.com/nodejs/node/pull/53472)
+- \[[`b048eaea5c`](https://github.com/nodejs/node/commit/b048eaea5c)] - **test_runner**: reimplement `assert.ok` to allow stack parsing (Aviv Keller) [#54776](https://github.com/nodejs/node/pull/54776)
+- \[[`c981e61155`](https://github.com/nodejs/node/commit/c981e61155)] - **test_runner**: improve code coverage cleanup (Colin Ihrig) [#54856](https://github.com/nodejs/node/pull/54856)
+- \[[`4f421b37da`](https://github.com/nodejs/node/commit/4f421b37da)] - **test_runner**: use validateStringArray for `timers.enable()` (Deokjin Kim) [#49534](https://github.com/nodejs/node/pull/49534)
+- \[[`27da75ae22`](https://github.com/nodejs/node/commit/27da75ae22)] - **test_runner**: do not expose internal loader (Antoine du Hamel) [#54106](https://github.com/nodejs/node/pull/54106)
+- \[[`56cbc80d28`](https://github.com/nodejs/node/commit/56cbc80d28)] - **test_runner**: make mock_loader not confuse CJS and ESM resolution (Sung Ye In) [#53846](https://github.com/nodejs/node/pull/53846)
+- \[[`8fd951f7c7`](https://github.com/nodejs/node/commit/8fd951f7c7)] - **test_runner**: remove outdated comment (Colin Ihrig) [#54146](https://github.com/nodejs/node/pull/54146)
+- \[[`65b6fec3ba`](https://github.com/nodejs/node/commit/65b6fec3ba)] - **test_runner**: run after hooks even if test is aborted (Colin Ihrig) [#54151](https://github.com/nodejs/node/pull/54151)
+- \[[`c0b4c8284c`](https://github.com/nodejs/node/commit/c0b4c8284c)] - **test_runner**: added colors to dot reporter (Giovanni) [#53450](https://github.com/nodejs/node/pull/53450)
+- \[[`3000e5df91`](https://github.com/nodejs/node/commit/3000e5df91)] - **test_runner**: support module detection in module mocks (Geoffrey Booth) [#53642](https://github.com/nodejs/node/pull/53642)
+- \[[`f789f4c92d`](https://github.com/nodejs/node/commit/f789f4c92d)] - **(SEMVER-MINOR)** **test_runner**: support module mocking (Colin Ihrig) [#52848](https://github.com/nodejs/node/pull/52848)
+- \[[`82d1c36f51`](https://github.com/nodejs/node/commit/82d1c36f51)] - **test_runner**: display failed test stack trace with dot reporter (Mihir Bhansali) [#52655](https://github.com/nodejs/node/pull/52655)
+- \[[`5358601e31`](https://github.com/nodejs/node/commit/5358601e31)] - **timers**: avoid generating holey internal arrays (Gürgün Dayıoğlu) [#54771](https://github.com/nodejs/node/pull/54771)
+- \[[`b6ed97c66d`](https://github.com/nodejs/node/commit/b6ed97c66d)] - **timers**: document ref option for scheduler.wait (Paolo Insogna) [#54605](https://github.com/nodejs/node/pull/54605)
+- \[[`f524b8a28b`](https://github.com/nodejs/node/commit/f524b8a28b)] - **timers**: fix validation (Paolo Insogna) [#54404](https://github.com/nodejs/node/pull/54404)
+- \[[`bc020f7cb3`](https://github.com/nodejs/node/commit/bc020f7cb3)] - **(SEMVER-MINOR)** **tls**: add `allowPartialTrustChain` flag (Anna Henningsen) [#54790](https://github.com/nodejs/node/pull/54790)
+- \[[`d0e6f9168e`](https://github.com/nodejs/node/commit/d0e6f9168e)] - **tls**: remove prototype primordials (Antoine du Hamel) [#53699](https://github.com/nodejs/node/pull/53699)
+- \[[`f5c65d0be6`](https://github.com/nodejs/node/commit/f5c65d0be6)] - **tools**: add readability/fn_size to filter (Rafael Gonzaga) [#54744](https://github.com/nodejs/node/pull/54744)
+- \[[`a47bb9b2c2`](https://github.com/nodejs/node/commit/a47bb9b2c2)] - **tools**: add util scripts to land and rebase PRs (Antoine du Hamel) [#54656](https://github.com/nodejs/node/pull/54656)
+- \[[`fe3155cefa`](https://github.com/nodejs/node/commit/fe3155cefa)] - **tools**: remove readability/fn_size rule (Rafael Gonzaga) [#54663](https://github.com/nodejs/node/pull/54663)
+- \[[`d6b9cc3acd`](https://github.com/nodejs/node/commit/d6b9cc3acd)] - **tools**: remove unused python files (Aviv Keller) [#53928](https://github.com/nodejs/node/pull/53928)
+- \[[`b5fbe9609c`](https://github.com/nodejs/node/commit/b5fbe9609c)] - **tools**: remove header from c-ares license (Aviv Keller) [#54335](https://github.com/nodejs/node/pull/54335)
+- \[[`a7fdc608c6`](https://github.com/nodejs/node/commit/a7fdc608c6)] - **tools**: add find pyenv path on windows (Marco Ippolito) [#54314](https://github.com/nodejs/node/pull/54314)
+- \[[`f90688cd5b`](https://github.com/nodejs/node/commit/f90688cd5b)] - **tools**: make undici updater build wasm from src (Michael Dawson) [#54128](https://github.com/nodejs/node/pull/54128)
+- \[[`a033dff2f2`](https://github.com/nodejs/node/commit/a033dff2f2)] - **tty**: initialize winSize array with values (Michaël Zasso) [#54281](https://github.com/nodejs/node/pull/54281)
+- \[[`e635e0956c`](https://github.com/nodejs/node/commit/e635e0956c)] - **typings**: fix TypedArray to a global type (1ilsang) [#54063](https://github.com/nodejs/node/pull/54063)
+- \[[`b5bf08f31e`](https://github.com/nodejs/node/commit/b5bf08f31e)] - **typings**: correct param type of `SafePromisePrototypeFinally` (Wuli) [#54727](https://github.com/nodejs/node/pull/54727)
+- \[[`628ae4bde5`](https://github.com/nodejs/node/commit/628ae4bde5)] - **typings**: add util.styleText type definition (Rafael Gonzaga) [#54252](https://github.com/nodejs/node/pull/54252)
+- \[[`cc37401ea5`](https://github.com/nodejs/node/commit/cc37401ea5)] - **typings**: add missing binding function `writeFileUtf8()` (Jungku Lee) [#54110](https://github.com/nodejs/node/pull/54110)
+- \[[`728c3fd6f1`](https://github.com/nodejs/node/commit/728c3fd6f1)] - **url**: modify pathToFileURL to handle extended UNC path (Early Riser) [#54262](https://github.com/nodejs/node/pull/54262)
+- \[[`b25563dfcb`](https://github.com/nodejs/node/commit/b25563dfcb)] - **url**: improve resolveObject with ObjectAssign (Early Riser) [#54092](https://github.com/nodejs/node/pull/54092)
+- \[[`eededd1ca8`](https://github.com/nodejs/node/commit/eededd1ca8)] - **url**: make URL.parse enumerable (Filip Skokan) [#53720](https://github.com/nodejs/node/pull/53720)
+- \[[`4eb0749b6c`](https://github.com/nodejs/node/commit/4eb0749b6c)] - **(SEMVER-MINOR)** **url**: implement parse method for safer URL parsing (Ali Hassan) [#52280](https://github.com/nodejs/node/pull/52280)
+- \[[`9e1c2293bf`](https://github.com/nodejs/node/commit/9e1c2293bf)] - **vm**: harden module type checks (Chengzhong Wu) [#52162](https://github.com/nodejs/node/pull/52162)
+- \[[`2d90340cb3`](https://github.com/nodejs/node/commit/2d90340cb3)] - **(SEMVER-MINOR)** **vm**: introduce vanilla contexts via vm.constants.DONT_CONTEXTIFY (Joyee Cheung) [#54394](https://github.com/nodejs/node/pull/54394)
+- \[[`4644d05ab5`](https://github.com/nodejs/node/commit/4644d05ab5)] - **zlib**: deprecate instantiating classes without new (Yagiz Nizipli) [#54708](https://github.com/nodejs/node/pull/54708)
+- \[[`ecdf6dd444`](https://github.com/nodejs/node/commit/ecdf6dd444)] - **zlib**: simplify validators (Yagiz Nizipli) [#54442](https://github.com/nodejs/node/pull/54442)
+
+Windows 32-bit Installer: https://nodejs.org/dist/v20.18.0/node-v20.18.0-x86.msi \
+Windows 64-bit Installer: https://nodejs.org/dist/v20.18.0/node-v20.18.0-x64.msi \
+Windows ARM 64-bit Installer: https://nodejs.org/dist/v20.18.0/node-v20.18.0-arm64.msi \
+Windows 32-bit Binary: https://nodejs.org/dist/v20.18.0/win-x86/node.exe \
+Windows 64-bit Binary: https://nodejs.org/dist/v20.18.0/win-x64/node.exe \
+Windows ARM 64-bit Binary: https://nodejs.org/dist/v20.18.0/win-arm64/node.exe \
+macOS 64-bit Installer: https://nodejs.org/dist/v20.18.0/node-v20.18.0.pkg \
+macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v20.18.0/node-v20.18.0-darwin-arm64.tar.gz \
+macOS Intel 64-bit Binary: https://nodejs.org/dist/v20.18.0/node-v20.18.0-darwin-x64.tar.gz \
+Linux 64-bit Binary: https://nodejs.org/dist/v20.18.0/node-v20.18.0-linux-x64.tar.xz \
+Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v20.18.0/node-v20.18.0-linux-ppc64le.tar.xz \
+Linux s390x 64-bit Binary: https://nodejs.org/dist/v20.18.0/node-v20.18.0-linux-s390x.tar.xz \
+AIX 64-bit Binary: https://nodejs.org/dist/v20.18.0/node-v20.18.0-aix-ppc64.tar.gz \
+ARMv7 32-bit Binary: https://nodejs.org/dist/v20.18.0/node-v20.18.0-linux-armv7l.tar.xz \
+ARMv8 64-bit Binary: https://nodejs.org/dist/v20.18.0/node-v20.18.0-linux-arm64.tar.xz \
+Source Code: https://nodejs.org/dist/v20.18.0/node-v20.18.0.tar.gz \
+Other release files: https://nodejs.org/dist/v20.18.0/ \
+Documentation: https://nodejs.org/docs/v20.18.0/api/
+
+### SHASUMS
+
+```
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+612c1cbb613f7af05f9de71767c3ba791b1972abe07fe37dbc721e837f2df9bc node-v20.18.0-aix-ppc64.tar.gz
+6a8615293b4920fdd232185810a77583ae5301350c0d025654452d1f1f655436 node-v20.18.0-arm64.msi
+92e180624259d082562592bb12548037c6a417069be29e452ec5d158d657b4be node-v20.18.0-darwin-arm64.tar.gz
+678e062bdae3824aa997bd469580a4dda48fd51f61d3679b6ba06352e6cef38f node-v20.18.0-darwin-arm64.tar.xz
+c02aa7560612a4e2cc359fd89fae7aedde370c06db621f2040a4a9f830a125dc node-v20.18.0-darwin-x64.tar.gz
+63e150a3bb4f31743257d8597262c6b5f0a2356e7c42002e29d5f7d1bf161f08 node-v20.18.0-darwin-x64.tar.xz
+fbae87a8bc00969c7e89e15e51392362e2c1e59a7eaba3e2ccba1601745e77a5 node-v20.18.0-headers.tar.gz
+b9984e1fb92e30437cf41c1b9ae3361a87022aa2528f9b77d5e415d772d28d96 node-v20.18.0-headers.tar.xz
+38bccb35c06ee4edbcd00c77976e3fad1d69d2e57c3c0c363d1700a2a2493278 node-v20.18.0-linux-arm64.tar.gz
+a9ce85675ba33f00527f6234d90000946c0936fb4fca605f1891bb5f4fe6fb0a node-v20.18.0-linux-arm64.tar.xz
+9a522daa837d4d32dc700bf9b18dea9e21a229b113a22cfcf38f1f2240bbbc47 node-v20.18.0-linux-armv7l.tar.gz
+964110a031c467a555aa889a6f2f13f7a1d5d4b834403aaa6d9148de050e1563 node-v20.18.0-linux-armv7l.tar.xz
+627ead0c0dbb6db57db415dd440506764ecb7238a8b6ecb65720a43787ccfead node-v20.18.0-linux-ppc64le.tar.gz
+b3753b739c5a53694477f45b25970f9b3daf83c88844de9fb837c6593e99edf6 node-v20.18.0-linux-ppc64le.tar.xz
+41d3e8dc9fc23e0ae1a313fac27f57fc3358c790af11632943566600fc2ae2d3 node-v20.18.0-linux-s390x.tar.gz
+8a9a0142055f85b0f75a8e80195c8e413a40ccf926cb4b983accf01f33f83118 node-v20.18.0-linux-s390x.tar.xz
+24a5d58a1d4c2903478f4b7c3cfd2eeb5cea2cae3baee11a4dc6a1fed25fec6c node-v20.18.0-linux-x64.tar.gz
+4543670b589593f8fa5f106111fd5139081da42bb165a9239f05195e405f240a node-v20.18.0-linux-x64.tar.xz
+f3abed6434fc5f378547516f118c9a3696099ebc670c3ea349bac122b3973770 node-v20.18.0.pkg
+c0819f8fc5038584d24c22002aeffd23f2d4a6fd6b337b30c502cbe4a659720c node-v20.18.0.tar.gz
+7d9433e91fd88d82ba8de86e711ec41907638e227993d22e95126b02f6cd714a node-v20.18.0.tar.xz
+295682b03995d0887af37e2781da6a405dbac39b29c801a45b8bff19c7df3b9b node-v20.18.0-win-arm64.7z
+9da99126416e25fa0351c39daf984120e3a24ae8f3ad35a4f4f117ae52db7184 node-v20.18.0-win-arm64.zip
+e990cb43a1bf130335b4ff913190e20b36e27f37fe7929ef1b6fc79c64cd78bc node-v20.18.0-win-x64.7z
+f5cea43414cc33024bbe5867f208d1c9c915d6a38e92abeee07ed9e563662297 node-v20.18.0-win-x64.zip
+d2392f96262b392b3122a0271e8d98d8dda56e345a39a93096758fb47c1abfb3 node-v20.18.0-win-x86.7z
+74335c6f67c68f33e751ece1a3c834fc17dba2a872a73ef3921ea575cb57d4fe node-v20.18.0-win-x86.zip
+93d1d30341d7d38b7a8f3ab0fa3be1f9e6436b90338b2bd8b8af4e80d00bd036 node-v20.18.0-x64.msi
+9ae3aaeced931fbd874c6488cc4960611691baa9c11e0b84c0ed9226ccc2d0cb node-v20.18.0-x86.msi
+e66327f3d1de938059bedda660de2eff1a508b61d777ff247615a019eb153d46 win-arm64/node.exe
+58795bcd44e8023ff443dedabf7f9af928732a51befc5324082aafe56e0f5eb0 win-arm64/node.lib
+12d1614f57c02726066586f00b00cf570965ddcfaaa42e6418a26355a68de3fa win-arm64/node_pdb.7z
+0ed107a5ca32327a131c0c02b573fbba7c9549a8b16ea2828850cb87e15f97eb win-arm64/node_pdb.zip
+35b7c95a379beb606f5798ed83081690df13190077630b234163c6607aa4cc94 win-x64/node.exe
+afeae4c806b82987ee073c9c75a0e5c5530213145c64f2824d0ed220a6acf962 win-x64/node.lib
+7b5adad6a9278e1f507add8d2c49465053f92cef8aed43aa88f0131df817bb0d win-x64/node_pdb.7z
+b1887992ff66f841aaf89db8a26909355253f7a28e8245b5500436a0a4e41204 win-x64/node_pdb.zip
+4364bfd5cc485ce2bf9b89878fddc09f4c7abdedc680cd5ea5065b0516754106 win-x86/node.exe
+a2ccacb78f399dceb60f5ad275c9380c5cf498202ef1cb7f7bd789d844ab0daa win-x86/node.lib
+180103650f8efc5726826e6c07d0d775b6ae063d85778c600f040bb54d17129f win-x86/node_pdb.7z
+0a0cae066699d13891179fc167aab64eda1d477f241ed22b09233b05c56f87d8 win-x86/node_pdb.zip
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAEBCAAdFiEEj8yhP+8dDC6RAI4Jdw96mlrhVgAFAmb+2tQACgkQdw96mlrh
+VgDD3hAAjUuhsYitdzrnesSmmMldEcIWRS+1Wrb6TmJLTsosgFnEvEboTqYtcASF
+LCj6oAGauRVGhn49IWxJH6d0QtSIMkTe3wBQPQIridsR++RNCmoYy0tqVPQrU111
+EymcSfISwnvC40xGmyGw1PQz33dD9IPwBlz9SnmvpQGYNxpb3EA9bjhbldQ1BbjU
+xbV9mdC6KFYAvwYzAfyEfuf4PgkN/1Q9//p+nPSYIFrW0uMpxJQg47DhiSfFKlxA
+WuifCYdNaMv7QE5QMgPElSH/4/yoo7owRxeMj77Dq33OzvY0mcLauWsItR2Hjjla
+1KsvOdFMk6x0wb4Gwb6S245zbbFq+Ja5/7oWput9nmfxxbY16c24ieKKOlFTx74s
+sOSml10O5PkpE60CXnakDJdrAr7zDvyvPgmMNyWs69hLdKkWUKnDlembuie2fmTA
+QK/Tu/sjFTney8BIAIBmJSgXrTLNesppmaXQ2nvTpK2J2sSV+8DVMvzK0SqCXJzW
+nBCV+z+beLo2YbDyQWfMgYwz6vLXir0pEHlD3VZrVR7gsWArYFbztCkf1h3V7njT
+txr2//xDGfRvh92/UmuRhSnKoi59gEfTb6zIwifTUWQXOSPYkIKK3tMSDcn+ChYO
+44tjDUK4sksFP6OAW8PVNTTtgobAXFdwWJ+OGq9WnPb/fpjysjk=
+=xl8D
+-----END PGP SIGNATURE-----
+```
diff --git a/apps/site/pages/en/blog/release/v22.10.0.md b/apps/site/pages/en/blog/release/v22.10.0.md
new file mode 100644
index 0000000000000..03e64b1ebc295
--- /dev/null
+++ b/apps/site/pages/en/blog/release/v22.10.0.md
@@ -0,0 +1,446 @@
+---
+date: '2024-10-16T22:44:34.400Z'
+category: release
+title: Node v22.10.0 (Current)
+layout: blog-post
+author: Antoine du Hamel
+---
+
+## 2024-10-16, Version 22.10.0 (Current), @aduh95
+
+### Notable Changes
+
+#### New `"module-sync"` exports condition
+
+This release introduces a `"module-sync"` exports condition that's enabled when
+`require(esm)` is enabled, so packages can supply a synchronous ES module to the
+Node.js module loader, no matter if it's being required or imported. This is
+similar to the `"module"` condition that bundlers have been using to support
+`require(esm)` in Node.js, and allows dual-package authors to opt into ESM-first
+only on newer versions of Node.js that supports `require(esm)` to avoid the
+dual-package hazard.
+
+```json
+{
+ "type": "module",
+ "exports": {
+ "node": {
+ // On new version of Node.js, both require() and import get
+ // the ESM version
+ "module-sync": "./index.js",
+ // On older version of Node.js, where "module-sync" and require(esm) are
+ // not supported, use the CJS version to avoid dual-package hazard.
+ // When package authors think it's time to drop support for older versions of
+ // Node.js, they can remove the exports conditions and just use "main": "index.js".
+ "default": "./dist/index.cjs"
+ },
+ // On any other environment, use the ESM version.
+ "default": "./index.js"
+ }
+}
+```
+
+Or if the package is only meant to be run on Node.js and wants to fallback to
+CJS on older versions that don't have `require(esm)`:
+
+```json
+{
+ "type": "module",
+ "exports": {
+ // On new version of Node.js, both require() and import get the ESM version
+ "module-sync": "./index.js",
+ // On older version of Node.js, where "module-sync" and require(esm) are
+ // not supported, use the CJS version to avoid dual-package hazard.
+ // When package authors think it's time to drop support for older versions of
+ // Node.js, they can remove the exports conditions and just use "main": "index.js".
+ "default": "./dist/index.cjs"
+ }
+}
+```
+
+**For package authors**: this only serves as a feature-detection mechanism for
+packages that wish to support both CJS and ESM users during the period when some
+active Node.js LTS versions support `require(esm)` while some older ones don't.
+When all active Node.js LTS lines support `require(esm)`, packages can simplify
+their distributions by bumping the major version, dropping their CJS exports,
+and removing the `module-sync` exports condition (with only `main` or `default`
+targetting the ESM exports). If the package needs to support both bundlers and
+being run unbundled on Node.js during the transition period, use both
+`module-sync` and `module` and point them to the same ESM file. If the package
+already doesn't want to support older versions of Node.js that doesn't support
+`require(esm)`, don't use this export condition.
+
+**For bundlers/tools**: they should avoid implementing this stop-gap condition.
+Most existing bundlers implement the de-facto bundler standard
+[`module`](https://webpack.js.org/guides/package-exports/#providing-commonjs-and-esm-version-stateless)
+exports condition, and that should be enough to support users who want to bundle
+ESM from CJS consumers. Users who want both bundlers and Node.js to recognize
+the ESM exports can use both `module`/`module-sync` conditions during the
+transition period, and can drop `module-sync`+`module` when they no longer need
+to support older versions of Node.js. If tools do want to support this
+condition, it's recommended to make the resolution rules in the graph pointed by
+this condition match the Node.js native ESM rules to avoid divergence.
+
+We ended up implementing a condition with a different name instead of reusing
+`"module"`, because existing code in the ecosystem using the `"module"`
+condition sometimes also expect the module resolution for these ESM files to
+work in CJS style, which is supported by bundlers, but the native Node.js loader
+has intentionally made ESM resolution different from CJS resolution (e.g.
+forbidding `import './noext'` or `import './directory'`), so it would be
+breaking to implement a `"module"` condition without implementing the forbidden
+ESM resolution rules. For now, this just implements a new condition as
+semver-minor so it can be backported to older LTS.
+
+Contributed by Joyee Cheung in [#54648](https://github.com/nodejs/node/pull/54648).
+
+#### `node --run` is now stable
+
+This CLI flag runs a specified command from a `package.json`'s `"scripts"` object.
+
+For the following `package.json`:
+
+```json
+{
+ "scripts": {
+ "test": "node --test-reporter junit --test ./test"
+ }
+}
+```
+
+You can run `node --run test` and that would start the test suite.
+
+Contributed by Yagiz Nizipli in [#53763](https://github.com/nodejs/node/pull/53763).
+
+#### Other notable changes
+
+- \[[`f0b441230a`](https://github.com/nodejs/node/commit/f0b441230a)] - **(SEMVER-MINOR)** **crypto**: add `KeyObject.prototype.toCryptoKey` (Filip Skokan) [#55262](https://github.com/nodejs/node/pull/55262)
+- \[[`349d2ed07b`](https://github.com/nodejs/node/commit/349d2ed07b)] - **(SEMVER-MINOR)** **crypto**: add Date fields for `validTo` and `validFrom` (Andrew Moon) [#54159](https://github.com/nodejs/node/pull/54159)
+- \[[`bebc95ed58`](https://github.com/nodejs/node/commit/bebc95ed58)] - **doc**: add abmusse to collaborators (Abdirahim Musse) [#55086](https://github.com/nodejs/node/pull/55086)
+- \[[`914db60159`](https://github.com/nodejs/node/commit/914db60159)] - **(SEMVER-MINOR)** **http2**: expose `nghttp2_option_set_stream_reset_rate_limit` as an option (Maël Nison) [#54875](https://github.com/nodejs/node/pull/54875)
+- \[[`f7c3b03759`](https://github.com/nodejs/node/commit/f7c3b03759)] - **(SEMVER-MINOR)** **lib**: propagate aborted state to dependent signals before firing events (jazelly) [#54826](https://github.com/nodejs/node/pull/54826)
+- \[[`32261fc98a`](https://github.com/nodejs/node/commit/32261fc98a)] - **(SEMVER-MINOR)** **module**: support loading entrypoint as url (RedYetiDev) [#54933](https://github.com/nodejs/node/pull/54933)
+- \[[`06957ff355`](https://github.com/nodejs/node/commit/06957ff355)] - **(SEMVER-MINOR)** **module**: implement `flushCompileCache()` (Joyee Cheung) [#54971](https://github.com/nodejs/node/pull/54971)
+- \[[`2dcf70c347`](https://github.com/nodejs/node/commit/2dcf70c347)] - **(SEMVER-MINOR)** **module**: throw when invalid argument is passed to `enableCompileCache()` (Joyee Cheung) [#54971](https://github.com/nodejs/node/pull/54971)
+- \[[`f9b19d7c44`](https://github.com/nodejs/node/commit/f9b19d7c44)] - **(SEMVER-MINOR)** **module**: write compile cache to temporary file and then rename it (Joyee Cheung) [#54971](https://github.com/nodejs/node/pull/54971)
+- \[[`e95163b170`](https://github.com/nodejs/node/commit/e95163b170)] - **(SEMVER-MINOR)** **process**: add `process.features.require_module` (Joyee Cheung) [#55241](https://github.com/nodejs/node/pull/55241)
+- \[[`4050f68e5d`](https://github.com/nodejs/node/commit/4050f68e5d)] - **(SEMVER-MINOR)** **process**: add `process.features.typescript` (Aviv Keller) [#54295](https://github.com/nodejs/node/pull/54295)
+- \[[`86f7cb802d`](https://github.com/nodejs/node/commit/86f7cb802d)] - **(SEMVER-MINOR)** **test_runner**: support custom arguments in `run()` (Aviv Keller) [#55126](https://github.com/nodejs/node/pull/55126)
+- \[[`b62f2f8259`](https://github.com/nodejs/node/commit/b62f2f8259)] - **(SEMVER-MINOR)** **test_runner**: add `'test:summary'` event (Colin Ihrig) [#54851](https://github.com/nodejs/node/pull/54851)
+- \[[`d7c708aec5`](https://github.com/nodejs/node/commit/d7c708aec5)] - **(SEMVER-MINOR)** **test_runner**: add support for coverage via `run()` (Chemi Atlow) [#53937](https://github.com/nodejs/node/pull/53937)
+- \[[`5fda4a1498`](https://github.com/nodejs/node/commit/5fda4a1498)] - **(SEMVER-MINOR)** **worker**: add `markAsUncloneable` api (Jason Zhang) [#55234](https://github.com/nodejs/node/pull/55234)
+
+### Commits
+
+- \[[`e3619510c8`](https://github.com/nodejs/node/commit/e3619510c8)] - **assert**: show the diff when deep comparing data with a custom message (Giovanni) [#54759](https://github.com/nodejs/node/pull/54759)
+- \[[`39c7a9e70c`](https://github.com/nodejs/node/commit/39c7a9e70c)] - **benchmark**: adjust config for deepEqual object (Rafael Gonzaga) [#55254](https://github.com/nodejs/node/pull/55254)
+- \[[`263526d5d0`](https://github.com/nodejs/node/commit/263526d5d0)] - **benchmark**: rewrite detect-esm-syntax benchmark (Joyee Cheung) [#55238](https://github.com/nodejs/node/pull/55238)
+- \[[`cd0795fb00`](https://github.com/nodejs/node/commit/cd0795fb00)] - **benchmark**: add no-warnings to process.has bench (Rafael Gonzaga) [#55159](https://github.com/nodejs/node/pull/55159)
+- \[[`4352d9cc31`](https://github.com/nodejs/node/commit/4352d9cc31)] - **benchmark**: create benchmark for typescript (Marco Ippolito) [#54904](https://github.com/nodejs/node/pull/54904)
+- \[[`452bc9b48d`](https://github.com/nodejs/node/commit/452bc9b48d)] - **benchmark**: add webstorage benchmark (jakecastelli) [#55040](https://github.com/nodejs/node/pull/55040)
+- \[[`d4d5ba3a9b`](https://github.com/nodejs/node/commit/d4d5ba3a9b)] - **benchmark**: include ascii to fs/readfile (Rafael Gonzaga) [#54988](https://github.com/nodejs/node/pull/54988)
+- \[[`23b628db65`](https://github.com/nodejs/node/commit/23b628db65)] - **benchmark**: add dotenv benchmark (Aviv Keller) [#54278](https://github.com/nodejs/node/pull/54278)
+- \[[`b1ebb0d8ca`](https://github.com/nodejs/node/commit/b1ebb0d8ca)] - **buffer**: coerce extrema to int in `blob.slice` (Antoine du Hamel) [#55141](https://github.com/nodejs/node/pull/55141)
+- \[[`3a6e72483f`](https://github.com/nodejs/node/commit/3a6e72483f)] - **buffer**: extract Blob's .arrayBuffer() & webidl changes (Matthew Aitken) [#53372](https://github.com/nodejs/node/pull/53372)
+- \[[`d109f1c4ff`](https://github.com/nodejs/node/commit/d109f1c4ff)] - **buffer**: use simdutf convert_latin1_to_utf8_safe (Robert Nagy) [#54798](https://github.com/nodejs/node/pull/54798)
+- \[[`77f8a3f9c2`](https://github.com/nodejs/node/commit/77f8a3f9c2)] - **build**: fix notify-on-review-wanted action (Rafael Gonzaga) [#55304](https://github.com/nodejs/node/pull/55304)
+- \[[`0d93b1ed0c`](https://github.com/nodejs/node/commit/0d93b1ed0c)] - **build**: fix not valid json in coverage (jakecastelli) [#55179](https://github.com/nodejs/node/pull/55179)
+- \[[`f89664d890`](https://github.com/nodejs/node/commit/f89664d890)] - **build**: include `.nycrc` in coverage workflows (Wuli Zuo) [#55210](https://github.com/nodejs/node/pull/55210)
+- \[[`d7a9df6417`](https://github.com/nodejs/node/commit/d7a9df6417)] - **build**: notify via slack when review-wanted (Rafael Gonzaga) [#55102](https://github.com/nodejs/node/pull/55102)
+- \[[`68822cc861`](https://github.com/nodejs/node/commit/68822cc861)] - **build**: add more information to Makefile help (Aviv Keller) [#53381](https://github.com/nodejs/node/pull/53381)
+- \[[`f3ca9c669b`](https://github.com/nodejs/node/commit/f3ca9c669b)] - **build**: update ruff and add `lint-py-fix` (Aviv Keller) [#54410](https://github.com/nodejs/node/pull/54410)
+- \[[`d99ae548d7`](https://github.com/nodejs/node/commit/d99ae548d7)] - **build**: remove -v flag to reduce noise (iwuliz) [#55025](https://github.com/nodejs/node/pull/55025)
+- \[[`d3dfbe7ff9`](https://github.com/nodejs/node/commit/d3dfbe7ff9)] - **build**: display free disk space after build in the test-macOS workflow (iwuliz) [#55025](https://github.com/nodejs/node/pull/55025)
+- \[[`3077f6a5b7`](https://github.com/nodejs/node/commit/3077f6a5b7)] - **build**: support up to python 3.13 in android-configure (Aviv Keller) [#54529](https://github.com/nodejs/node/pull/54529)
+- \[[`a929c71281`](https://github.com/nodejs/node/commit/a929c71281)] - **build**: add the option to generate compile_commands.json in vcbuild.bat (Segev Finer) [#52279](https://github.com/nodejs/node/pull/52279)
+- \[[`a81f368b99`](https://github.com/nodejs/node/commit/a81f368b99)] - **build**: fix eslint makefile target (Aviv Keller) [#54999](https://github.com/nodejs/node/pull/54999)
+- \[[`c8b7a645ae`](https://github.com/nodejs/node/commit/c8b7a645ae)] - _**Revert**_ "**build**: upgrade clang-format to v18" (Chengzhong Wu) [#54994](https://github.com/nodejs/node/pull/54994)
+- \[[`7861ca5dc3`](https://github.com/nodejs/node/commit/7861ca5dc3)] - **build**: print `Running XYZ linter...` for py and yml (Aviv Keller) [#54386](https://github.com/nodejs/node/pull/54386)
+- \[[`aaea3944e5`](https://github.com/nodejs/node/commit/aaea3944e5)] - **build,win**: add winget config to set up env (Hüseyin Açacak) [#54729](https://github.com/nodejs/node/pull/54729)
+- \[[`30d47220bb`](https://github.com/nodejs/node/commit/30d47220bb)] - **build,win**: float VS 17.11 compilation patch (Stefan Stojanovic) [#54970](https://github.com/nodejs/node/pull/54970)
+- \[[`048a1ab350`](https://github.com/nodejs/node/commit/048a1ab350)] - **cli**: ensure --run has proper pwd (Yagiz Nizipli) [#54949](https://github.com/nodejs/node/pull/54949)
+- \[[`a97841ee10`](https://github.com/nodejs/node/commit/a97841ee10)] - **cli**: fix spacing for port range error (Aviv Keller) [#54495](https://github.com/nodejs/node/pull/54495)
+- \[[`1dcc5eedff`](https://github.com/nodejs/node/commit/1dcc5eedff)] - _**Revert**_ "**console**: colorize console error and warn" (Aviv Keller) [#54677](https://github.com/nodejs/node/pull/54677)
+- \[[`f0b441230a`](https://github.com/nodejs/node/commit/f0b441230a)] - **(SEMVER-MINOR)** **crypto**: add KeyObject.prototype.toCryptoKey (Filip Skokan) [#55262](https://github.com/nodejs/node/pull/55262)
+- \[[`d3f8c35320`](https://github.com/nodejs/node/commit/d3f8c35320)] - **crypto**: ensure invalid SubtleCrypto JWK data import results in DataError (Filip Skokan) [#55041](https://github.com/nodejs/node/pull/55041)
+- \[[`349d2ed07b`](https://github.com/nodejs/node/commit/349d2ed07b)] - **(SEMVER-MINOR)** **crypto**: add Date fields for `validTo` and `validFrom` (Andrew Moon) [#54159](https://github.com/nodejs/node/pull/54159)
+- \[[`34ca36a397`](https://github.com/nodejs/node/commit/34ca36a397)] - **deps**: update undici to 6.20.0 (Node.js GitHub Bot) [#55329](https://github.com/nodejs/node/pull/55329)
+- \[[`f703652e84`](https://github.com/nodejs/node/commit/f703652e84)] - **deps**: upgrade npm to 10.9.0 (npm team) [#55255](https://github.com/nodejs/node/pull/55255)
+- \[[`b533a51856`](https://github.com/nodejs/node/commit/b533a51856)] - **deps**: V8: backport 0d5d6e71bbb0 (Yagiz Nizipli) [#55115](https://github.com/nodejs/node/pull/55115)
+- \[[`2f65b3fd07`](https://github.com/nodejs/node/commit/2f65b3fd07)] - **deps**: V8: partially cherry-pick 8953e49478 (Ben Noordhuis) [#55274](https://github.com/nodejs/node/pull/55274)
+- \[[`bb9f77d53a`](https://github.com/nodejs/node/commit/bb9f77d53a)] - **deps**: update archs files for openssl-3.0.15+quic1 (Node.js GitHub Bot) [#55184](https://github.com/nodejs/node/pull/55184)
+- \[[`63d51c82fe`](https://github.com/nodejs/node/commit/63d51c82fe)] - **deps**: upgrade openssl sources to quictls/openssl-3.0.15+quic1 (Node.js GitHub Bot) [#55184](https://github.com/nodejs/node/pull/55184)
+- \[[`29e6484f3c`](https://github.com/nodejs/node/commit/29e6484f3c)] - **deps**: update archs files for openssl-3.0.14+quic1 (Node.js GitHub Bot) [#54336](https://github.com/nodejs/node/pull/54336)
+- \[[`283927ec88`](https://github.com/nodejs/node/commit/283927ec88)] - **deps**: upgrade openssl sources to quictls/openssl-3.0.14+quic1 (Node.js GitHub Bot) [#54336](https://github.com/nodejs/node/pull/54336)
+- \[[`b0636a1e88`](https://github.com/nodejs/node/commit/b0636a1e88)] - **deps**: update timezone to 2024b (Node.js GitHub Bot) [#55056](https://github.com/nodejs/node/pull/55056)
+- \[[`173464d76f`](https://github.com/nodejs/node/commit/173464d76f)] - **deps**: update acorn-walk to 8.3.4 (Node.js GitHub Bot) [#54950](https://github.com/nodejs/node/pull/54950)
+- \[[`0d4536543b`](https://github.com/nodejs/node/commit/0d4536543b)] - **deps**: update corepack to 0.29.4 (Node.js GitHub Bot) [#54845](https://github.com/nodejs/node/pull/54845)
+- \[[`1de5512383`](https://github.com/nodejs/node/commit/1de5512383)] - **deps**: V8: cherry-pick 217457d0a560 (Michaël Zasso) [#54883](https://github.com/nodejs/node/pull/54883)
+- \[[`1921d7a37c`](https://github.com/nodejs/node/commit/1921d7a37c)] - **doc**: add release key for aduh95 (Antoine du Hamel) [#55349](https://github.com/nodejs/node/pull/55349)
+- \[[`d8e42be1b2`](https://github.com/nodejs/node/commit/d8e42be1b2)] - **doc**: move `ERR_INVALID_PERFORMANCE_MARK` to legacy errors (Antoine du Hamel) [#55247](https://github.com/nodejs/node/pull/55247)
+- \[[`5ea8aa183c`](https://github.com/nodejs/node/commit/5ea8aa183c)] - **doc**: fix Markdown linter (Antoine du Hamel) [#55344](https://github.com/nodejs/node/pull/55344)
+- \[[`873588888d`](https://github.com/nodejs/node/commit/873588888d)] - _**Revert**_ "**doc**: update test context.assert" (Antoine du Hamel) [#55344](https://github.com/nodejs/node/pull/55344)
+- \[[`707e7cc702`](https://github.com/nodejs/node/commit/707e7cc702)] - **doc**: add pmarchini to collaborators (Pietro Marchini) [#55331](https://github.com/nodejs/node/pull/55331)
+- \[[`b03272b9a1`](https://github.com/nodejs/node/commit/b03272b9a1)] - **doc**: fix `events.once()` example using `AbortSignal` (Ivo Janssen) [#55144](https://github.com/nodejs/node/pull/55144)
+- \[[`85b765953d`](https://github.com/nodejs/node/commit/85b765953d)] - **doc**: add onboarding details for ambassador program (Marco Ippolito) [#55284](https://github.com/nodejs/node/pull/55284)
+- \[[`5d41b8a8b0`](https://github.com/nodejs/node/commit/5d41b8a8b0)] - **doc**: update `require(ESM)` history and stability status (Antoine du Hamel) [#55199](https://github.com/nodejs/node/pull/55199)
+- \[[`195df659e9`](https://github.com/nodejs/node/commit/195df659e9)] - **doc**: move `ERR_NAPI_TSFN_START/STOP_IDLE_LOOP` to legacy errors (Antoine du Hamel) [#55248](https://github.com/nodejs/node/pull/55248)
+- \[[`8eae0d3f3c`](https://github.com/nodejs/node/commit/8eae0d3f3c)] - **doc**: fix initial default value of autoSelectFamily (Ihor Rohovets) [#55245](https://github.com/nodejs/node/pull/55245)
+- \[[`297cb0da5a`](https://github.com/nodejs/node/commit/297cb0da5a)] - **doc**: tweak onboarding instructions (Michael Dawson) [#55212](https://github.com/nodejs/node/pull/55212)
+- \[[`7ddbfe8c2b`](https://github.com/nodejs/node/commit/7ddbfe8c2b)] - **doc**: update test context.assert (Pietro Marchini) [#55186](https://github.com/nodejs/node/pull/55186)
+- \[[`8a57550d20`](https://github.com/nodejs/node/commit/8a57550d20)] - **doc**: fix unordered error anchors (Antoine du Hamel) [#55242](https://github.com/nodejs/node/pull/55242)
+- \[[`286ea4ed3d`](https://github.com/nodejs/node/commit/286ea4ed3d)] - **doc**: mention addons to experimental permission (Rafael Gonzaga) [#55166](https://github.com/nodejs/node/pull/55166)
+- \[[`7c9ceabf38`](https://github.com/nodejs/node/commit/7c9ceabf38)] - **doc**: use correct dash in stability status (Antoine du Hamel) [#55200](https://github.com/nodejs/node/pull/55200)
+- \[[`781ffd8ba1`](https://github.com/nodejs/node/commit/781ffd8ba1)] - **doc**: fix link in `test/README.md` (Livia Medeiros) [#55165](https://github.com/nodejs/node/pull/55165)
+- \[[`61b9ed3bf2`](https://github.com/nodejs/node/commit/61b9ed3bf2)] - **doc**: add esm examples to node:net (Alfredo González) [#55134](https://github.com/nodejs/node/pull/55134)
+- \[[`bb3499038d`](https://github.com/nodejs/node/commit/bb3499038d)] - **doc**: remove outdated https import reference (Edigleysson Silva (Edy)) [#55111](https://github.com/nodejs/node/pull/55111)
+- \[[`6cc49518c7`](https://github.com/nodejs/node/commit/6cc49518c7)] - **doc**: move the YAML changes element (sendoru) [#55112](https://github.com/nodejs/node/pull/55112)
+- \[[`b12b4a23e4`](https://github.com/nodejs/node/commit/b12b4a23e4)] - **doc**: remove random horizontal separators in `process.md` (Antoine du Hamel) [#55149](https://github.com/nodejs/node/pull/55149)
+- \[[`7186ede388`](https://github.com/nodejs/node/commit/7186ede388)] - **doc**: put --env-file-if-exists=config right under --env-file=config (Edigleysson Silva (Edy)) [#55131](https://github.com/nodejs/node/pull/55131)
+- \[[`8ad0dfff10`](https://github.com/nodejs/node/commit/8ad0dfff10)] - **doc**: fix the require resolve algorithm in `modules.md` (chirsz) [#55117](https://github.com/nodejs/node/pull/55117)
+- \[[`fd40f0873f`](https://github.com/nodejs/node/commit/fd40f0873f)] - **doc**: update style guide (Aviv Keller) [#53223](https://github.com/nodejs/node/pull/53223)
+- \[[`12c9d9780f`](https://github.com/nodejs/node/commit/12c9d9780f)] - **doc**: add missing `:` to `run()`'s `globPatterns` (Aviv Keller) [#55135](https://github.com/nodejs/node/pull/55135)
+- \[[`73b05cfb04`](https://github.com/nodejs/node/commit/73b05cfb04)] - **doc**: correct `cleanup` option in stream.(promises.)finished (René) [#55043](https://github.com/nodejs/node/pull/55043)
+- \[[`bebc95ed58`](https://github.com/nodejs/node/commit/bebc95ed58)] - **doc**: add abmusse to collaborators (Abdirahim Musse) [#55086](https://github.com/nodejs/node/pull/55086)
+- \[[`a97c80c6ae`](https://github.com/nodejs/node/commit/a97c80c6ae)] - **doc**: add note about `--expose-internals` (Aviv Keller) [#52861](https://github.com/nodejs/node/pull/52861)
+- \[[`89aeae63bd`](https://github.com/nodejs/node/commit/89aeae63bd)] - **doc**: remove `parseREPLKeyword` from REPL documentation (Aviv Keller) [#54749](https://github.com/nodejs/node/pull/54749)
+- \[[`b3e0490b8b`](https://github.com/nodejs/node/commit/b3e0490b8b)] - **doc**: add missing EventSource docs to globals (Matthew Aitken) [#55022](https://github.com/nodejs/node/pull/55022)
+- \[[`516c775fa5`](https://github.com/nodejs/node/commit/516c775fa5)] - **doc**: cover --experimental-test-module-mocks flag (Jonathan Sharpe) [#55021](https://github.com/nodejs/node/pull/55021)
+- \[[`4244f1a269`](https://github.com/nodejs/node/commit/4244f1a269)] - **doc**: add more details for localStorage and sessionStorage (Batuhan Tomo) [#53881](https://github.com/nodejs/node/pull/53881)
+- \[[`39a728c2e3`](https://github.com/nodejs/node/commit/39a728c2e3)] - **doc**: change backporting guide with updated info (Aviv Keller) [#53746](https://github.com/nodejs/node/pull/53746)
+- \[[`3a5fe95ad7`](https://github.com/nodejs/node/commit/3a5fe95ad7)] - **doc**: add missing definitions to `internal-api.md` (Aviv Keller) [#53303](https://github.com/nodejs/node/pull/53303)
+- \[[`f2d74a26a3`](https://github.com/nodejs/node/commit/f2d74a26a3)] - **doc**: fix history of `process.features` (Antoine du Hamel) [#54982](https://github.com/nodejs/node/pull/54982)
+- \[[`29866ca438`](https://github.com/nodejs/node/commit/29866ca438)] - **doc**: fix typo callsite.lineNumber (Rafael Gonzaga) [#54969](https://github.com/nodejs/node/pull/54969)
+- \[[`c1d73abd29`](https://github.com/nodejs/node/commit/c1d73abd29)] - **doc**: update documentation for externalizing deps (Michael Dawson) [#54792](https://github.com/nodejs/node/pull/54792)
+- \[[`eca9668231`](https://github.com/nodejs/node/commit/eca9668231)] - **doc**: add documentation for process.features (Marco Ippolito) [#54897](https://github.com/nodejs/node/pull/54897)
+- \[[`0fb446e207`](https://github.com/nodejs/node/commit/0fb446e207)] - **esm**: do not interpret `"main"` as a URL (Antoine du Hamel) [#55003](https://github.com/nodejs/node/pull/55003)
+- \[[`be2fe4b249`](https://github.com/nodejs/node/commit/be2fe4b249)] - **events**: allow null/undefined eventInitDict (Matthew Aitken) [#54643](https://github.com/nodejs/node/pull/54643)
+- \[[`cb47e169a0`](https://github.com/nodejs/node/commit/cb47e169a0)] - **events**: return `currentTarget` when dispatching (Matthew Aitken) [#54642](https://github.com/nodejs/node/pull/54642)
+- \[[`dbfae3fe14`](https://github.com/nodejs/node/commit/dbfae3fe14)] - **fs**: acknowledge `signal` option in `filehandle.createReadStream()` (Livia Medeiros) [#55148](https://github.com/nodejs/node/pull/55148)
+- \[[`1c94725c07`](https://github.com/nodejs/node/commit/1c94725c07)] - **fs**: check subdir correctly in cpSync (Jason Zhang) [#55033](https://github.com/nodejs/node/pull/55033)
+- \[[`79ffefab2a`](https://github.com/nodejs/node/commit/79ffefab2a)] - **fs**: convert to u8 string for filesystem path (Jason Zhang) [#54653](https://github.com/nodejs/node/pull/54653)
+- \[[`914db60159`](https://github.com/nodejs/node/commit/914db60159)] - **(SEMVER-MINOR)** **http2**: expose nghttp2_option_set_stream_reset_rate_limit as an option (Maël Nison) [#54875](https://github.com/nodejs/node/pull/54875)
+- \[[`08b5e6c794`](https://github.com/nodejs/node/commit/08b5e6c794)] - **lib**: fix module print timing when specifier includes `"` (Antoine du Hamel) [#55150](https://github.com/nodejs/node/pull/55150)
+- \[[`bf7d7aef4b`](https://github.com/nodejs/node/commit/bf7d7aef4b)] - **lib**: fix typos (Nathan Baulch) [#55065](https://github.com/nodejs/node/pull/55065)
+- \[[`d803355d92`](https://github.com/nodejs/node/commit/d803355d92)] - **lib**: prefer optional chaining (Aviv Keller) [#55045](https://github.com/nodejs/node/pull/55045)
+- \[[`d4873bcd6d`](https://github.com/nodejs/node/commit/d4873bcd6d)] - **lib**: remove lib/internal/idna.js (Yagiz Nizipli) [#55050](https://github.com/nodejs/node/pull/55050)
+- \[[`f7c3b03759`](https://github.com/nodejs/node/commit/f7c3b03759)] - **(SEMVER-MINOR)** **lib**: propagate aborted state to dependent signals before firing events (jazelly) [#54826](https://github.com/nodejs/node/pull/54826)
+- \[[`397ae418db`](https://github.com/nodejs/node/commit/397ae418db)] - **lib**: the REPL should survive deletion of Array.prototype methods (Jordan Harband) [#31457](https://github.com/nodejs/node/pull/31457)
+- \[[`566179c9ec`](https://github.com/nodejs/node/commit/566179c9ec)] - **lib, tools**: remove duplicate requires (Aviv Keller) [#54987](https://github.com/nodejs/node/pull/54987)
+- \[[`c9a1bbbef2`](https://github.com/nodejs/node/commit/c9a1bbbef2)] - **meta**: move one or more collaborators to emeritus (Node.js GitHub Bot) [#55300](https://github.com/nodejs/node/pull/55300)
+- \[[`d7b73bbd1d`](https://github.com/nodejs/node/commit/d7b73bbd1d)] - **meta**: bump mozilla-actions/sccache-action from 0.0.5 to 0.0.6 (dependabot\[bot]) [#55225](https://github.com/nodejs/node/pull/55225)
+- \[[`0f4269faa9`](https://github.com/nodejs/node/commit/0f4269faa9)] - **meta**: bump actions/checkout from 4.1.7 to 4.2.0 (dependabot\[bot]) [#55224](https://github.com/nodejs/node/pull/55224)
+- \[[`33be1990d8`](https://github.com/nodejs/node/commit/33be1990d8)] - **meta**: bump actions/setup-node from 4.0.3 to 4.0.4 (dependabot\[bot]) [#55223](https://github.com/nodejs/node/pull/55223)
+- \[[`f5b4ae5bf8`](https://github.com/nodejs/node/commit/f5b4ae5bf8)] - **meta**: bump peter-evans/create-pull-request from 7.0.1 to 7.0.5 (dependabot\[bot]) [#55219](https://github.com/nodejs/node/pull/55219)
+- \[[`1985d9016e`](https://github.com/nodejs/node/commit/1985d9016e)] - **meta**: add mailmap entry for abmusse (Abdirahim Musse) [#55182](https://github.com/nodejs/node/pull/55182)
+- \[[`93b215d5e6`](https://github.com/nodejs/node/commit/93b215d5e6)] - **meta**: add more information about nightly releases (Aviv Keller) [#55084](https://github.com/nodejs/node/pull/55084)
+- \[[`aeae5973c3`](https://github.com/nodejs/node/commit/aeae5973c3)] - **meta**: add `linux` to OS labels in collaborator guide (Aviv Keller) [#54986](https://github.com/nodejs/node/pull/54986)
+- \[[`4fb2c3baa8`](https://github.com/nodejs/node/commit/4fb2c3baa8)] - **meta**: remove never-used workflow trigger (Aviv Keller) [#54983](https://github.com/nodejs/node/pull/54983)
+- \[[`e1f36d0da8`](https://github.com/nodejs/node/commit/e1f36d0da8)] - **meta**: remove unneeded ignore rules from ruff (Aviv Keller) [#54360](https://github.com/nodejs/node/pull/54360)
+- \[[`ce0d0c1ec8`](https://github.com/nodejs/node/commit/ce0d0c1ec8)] - **meta**: remove `build-windows.yml` (Aviv Keller) [#54662](https://github.com/nodejs/node/pull/54662)
+- \[[`ca67c97f33`](https://github.com/nodejs/node/commit/ca67c97f33)] - **meta**: add links to alternative issue trackers (Aviv Keller) [#54401](https://github.com/nodejs/node/pull/54401)
+- \[[`6fcac73738`](https://github.com/nodejs/node/commit/6fcac73738)] - **module**: wrap swc error in ERR_INVALID_TYPESCRIPT_SYNTAX (Marco Ippolito) [#55316](https://github.com/nodejs/node/pull/55316)
+- \[[`0412ac8bf3`](https://github.com/nodejs/node/commit/0412ac8bf3)] - **module**: add internal type def for `flushCompileCache` (Jacob Smith) [#55226](https://github.com/nodejs/node/pull/55226)
+- \[[`32261fc98a`](https://github.com/nodejs/node/commit/32261fc98a)] - **(SEMVER-MINOR)** **module**: support loading entrypoint as url (RedYetiDev) [#54933](https://github.com/nodejs/node/pull/54933)
+- \[[`111261e245`](https://github.com/nodejs/node/commit/111261e245)] - **(SEMVER-MINOR)** **module**: implement the "module-sync" exports condition (Joyee Cheung) [#54648](https://github.com/nodejs/node/pull/54648)
+- \[[`b6fc9adf5b`](https://github.com/nodejs/node/commit/b6fc9adf5b)] - **module**: remove duplicated import (Aviv Keller) [#54942](https://github.com/nodejs/node/pull/54942)
+- \[[`06957ff355`](https://github.com/nodejs/node/commit/06957ff355)] - **(SEMVER-MINOR)** **module**: implement flushCompileCache() (Joyee Cheung) [#54971](https://github.com/nodejs/node/pull/54971)
+- \[[`2dcf70c347`](https://github.com/nodejs/node/commit/2dcf70c347)] - **(SEMVER-MINOR)** **module**: throw when invalid argument is passed to enableCompileCache() (Joyee Cheung) [#54971](https://github.com/nodejs/node/pull/54971)
+- \[[`f9b19d7c44`](https://github.com/nodejs/node/commit/f9b19d7c44)] - **(SEMVER-MINOR)** **module**: write compile cache to temporary file and then rename it (Joyee Cheung) [#54971](https://github.com/nodejs/node/pull/54971)
+- \[[`1d169764db`](https://github.com/nodejs/node/commit/1d169764db)] - **module**: report unfinished TLA in ambiguous modules (Antoine du Hamel) [#54980](https://github.com/nodejs/node/pull/54980)
+- \[[`c89c93496d`](https://github.com/nodejs/node/commit/c89c93496d)] - **module**: refator ESM loader for adding future synchronous hooks (Joyee Cheung) [#54769](https://github.com/nodejs/node/pull/54769)
+- \[[`108cef22e6`](https://github.com/nodejs/node/commit/108cef22e6)] - **module**: remove bogus assertion in CJS entrypoint handling with --import (Joyee Cheung) [#54592](https://github.com/nodejs/node/pull/54592)
+- \[[`67ecb10c78`](https://github.com/nodejs/node/commit/67ecb10c78)] - **module**: fix discrepancy between .ts and .js (Marco Ippolito) [#54461](https://github.com/nodejs/node/pull/54461)
+- \[[`3300d5990f`](https://github.com/nodejs/node/commit/3300d5990f)] - **os**: use const with early return for path (Trivikram Kamat) [#54959](https://github.com/nodejs/node/pull/54959)
+- \[[`90cce6ec7c`](https://github.com/nodejs/node/commit/90cce6ec7c)] - **path**: remove repetitive conditional operator in `posix.resolve` (Wiyeong Seo) [#54835](https://github.com/nodejs/node/pull/54835)
+- \[[`cbfc980f89`](https://github.com/nodejs/node/commit/cbfc980f89)] - **perf_hooks**: add missing type argument to getEntriesByName (Luke Taher) [#54767](https://github.com/nodejs/node/pull/54767)
+- \[[`e95163b170`](https://github.com/nodejs/node/commit/e95163b170)] - **(SEMVER-MINOR)** **process**: add process.features.require_module (Joyee Cheung) [#55241](https://github.com/nodejs/node/pull/55241)
+- \[[`0655d3a384`](https://github.com/nodejs/node/commit/0655d3a384)] - **process**: fix `process.features.typescript` when Amaro is unavailable (Antoine du Hamel) [#55323](https://github.com/nodejs/node/pull/55323)
+- \[[`4050f68e5d`](https://github.com/nodejs/node/commit/4050f68e5d)] - **(SEMVER-MINOR)** **process**: add `process.features.typescript` (Aviv Keller) [#54295](https://github.com/nodejs/node/pull/54295)
+- \[[`75073c50ae`](https://github.com/nodejs/node/commit/75073c50ae)] - **quic**: start adding in the internal quic js api (James M Snell) [#53256](https://github.com/nodejs/node/pull/53256)
+- \[[`538b1eb5b0`](https://github.com/nodejs/node/commit/538b1eb5b0)] - **repl**: catch `\v` and `\r` in new-line detection (Aviv Keller) [#54512](https://github.com/nodejs/node/pull/54512)
+- \[[`57a9d3f15e`](https://github.com/nodejs/node/commit/57a9d3f15e)] - **sqlite**: disable DQS misfeature by default (Tobias Nießen) [#55297](https://github.com/nodejs/node/pull/55297)
+- \[[`c126543374`](https://github.com/nodejs/node/commit/c126543374)] - **sqlite**: make sourceSQL and expandedSQL string-valued properties (Tobias Nießen) [#54721](https://github.com/nodejs/node/pull/54721)
+- \[[`67f5f46c56`](https://github.com/nodejs/node/commit/67f5f46c56)] - **sqlite**: enable foreign key constraints by default (Tobias Nießen) [#54777](https://github.com/nodejs/node/pull/54777)
+- \[[`09999491bf`](https://github.com/nodejs/node/commit/09999491bf)] - **src**: handle errors correctly in webstorage (Michaël Zasso) [#54544](https://github.com/nodejs/node/pull/54544)
+- \[[`295c17c4ea`](https://github.com/nodejs/node/commit/295c17c4ea)] - **src**: make minor tweaks to quic c++ for c++20 (James M Snell) [#53256](https://github.com/nodejs/node/pull/53256)
+- \[[`b1d47d06f9`](https://github.com/nodejs/node/commit/b1d47d06f9)] - **src**: apply getCallSite optimization (RafaelGSS) [#55174](https://github.com/nodejs/node/pull/55174)
+- \[[`d6bcc44829`](https://github.com/nodejs/node/commit/d6bcc44829)] - **src**: modernize likely/unlikely hints (Yagiz Nizipli) [#55155](https://github.com/nodejs/node/pull/55155)
+- \[[`1af5ad61ca`](https://github.com/nodejs/node/commit/1af5ad61ca)] - **src**: fixup Error.stackTraceLimit during snapshot building (Joyee Cheung) [#55121](https://github.com/nodejs/node/pull/55121)
+- \[[`b229083235`](https://github.com/nodejs/node/commit/b229083235)] - **src**: parse --stack-trace-limit and use it in --trace-\* flags (Joyee Cheung) [#55121](https://github.com/nodejs/node/pull/55121)
+- \[[`942ad54e08`](https://github.com/nodejs/node/commit/942ad54e08)] - **src**: move more key handling to ncrypto (James M Snell) [#55108](https://github.com/nodejs/node/pull/55108)
+- \[[`0bb5584288`](https://github.com/nodejs/node/commit/0bb5584288)] - **src**: add receiver to fast api callback methods (Carlos Espa) [#54408](https://github.com/nodejs/node/pull/54408)
+- \[[`706e9611f0`](https://github.com/nodejs/node/commit/706e9611f0)] - **src**: fix typos (Nathan Baulch) [#55064](https://github.com/nodejs/node/pull/55064)
+- \[[`a96d5d1bcc`](https://github.com/nodejs/node/commit/a96d5d1bcc)] - **src**: move more stuff over to use Maybe\ (James M Snell) [#54831](https://github.com/nodejs/node/pull/54831)
+- \[[`ee0a98b5a2`](https://github.com/nodejs/node/commit/ee0a98b5a2)] - **src**: decode native error messages as UTF-8 (Joyee Cheung) [#55024](https://github.com/nodejs/node/pull/55024)
+- \[[`1fc8edecf8`](https://github.com/nodejs/node/commit/1fc8edecf8)] - **src**: update clang-tidy and focus on modernization (Yagiz Nizipli) [#53757](https://github.com/nodejs/node/pull/53757)
+- \[[`3a1485a1a3`](https://github.com/nodejs/node/commit/3a1485a1a3)] - **src**: move evp stuff to ncrypto (James M Snell) [#54911](https://github.com/nodejs/node/pull/54911)
+- \[[`9ae80e1e4d`](https://github.com/nodejs/node/commit/9ae80e1e4d)] - **src**: revert filesystem::path changes (Yagiz Nizipli) [#55015](https://github.com/nodejs/node/pull/55015)
+- \[[`465d05018a`](https://github.com/nodejs/node/commit/465d05018a)] - **src**: mark node --run as stable (Yagiz Nizipli) [#53763](https://github.com/nodejs/node/pull/53763)
+- \[[`ef546c872c`](https://github.com/nodejs/node/commit/ef546c872c)] - **src**: cleanup per env handles directly without a list (Chengzhong Wu) [#54993](https://github.com/nodejs/node/pull/54993)
+- \[[`0876f78411`](https://github.com/nodejs/node/commit/0876f78411)] - **src**: add unistd.h import if node posix credentials is defined (Jonas) [#54528](https://github.com/nodejs/node/pull/54528)
+- \[[`284db53866`](https://github.com/nodejs/node/commit/284db53866)] - **src**: remove duplicate code setting AF_INET (He Yang) [#54939](https://github.com/nodejs/node/pull/54939)
+- \[[`f332c4c4fc`](https://github.com/nodejs/node/commit/f332c4c4fc)] - **src**: use `Maybe` where bool isn't needed (Michaël Zasso) [#54575](https://github.com/nodejs/node/pull/54575)
+- \[[`c7ed2ff920`](https://github.com/nodejs/node/commit/c7ed2ff920)] - **stream**: handle undefined chunks correctly in decode stream (devstone) [#55153](https://github.com/nodejs/node/pull/55153)
+- \[[`a9675a0cbc`](https://github.com/nodejs/node/commit/a9675a0cbc)] - **stream**: treat null asyncIterator as undefined (Jason Zhang) [#55119](https://github.com/nodejs/node/pull/55119)
+- \[[`bf69ae1406`](https://github.com/nodejs/node/commit/bf69ae1406)] - **stream**: set stream prototype to closest transferable superclass (Jason Zhang) [#55067](https://github.com/nodejs/node/pull/55067)
+- \[[`3273707a3a`](https://github.com/nodejs/node/commit/3273707a3a)] - **test**: fix tests when Amaro is unavailable (Richard Lau) [#55320](https://github.com/nodejs/node/pull/55320)
+- \[[`ff3cc3b2ab`](https://github.com/nodejs/node/commit/ff3cc3b2ab)] - **test**: use more informative errors in `test-runner-cli` (Antoine du Hamel) [#55321](https://github.com/nodejs/node/pull/55321)
+- \[[`17d2f9de6d`](https://github.com/nodejs/node/commit/17d2f9de6d)] - **test**: make `test-loaders-workers-spawned` less flaky (Antoine du Hamel) [#55172](https://github.com/nodejs/node/pull/55172)
+- \[[`1b1104e69b`](https://github.com/nodejs/node/commit/1b1104e69b)] - **test**: add resource to internal module stat test (RafaelGSS) [#55157](https://github.com/nodejs/node/pull/55157)
+- \[[`b36f8c2146`](https://github.com/nodejs/node/commit/b36f8c2146)] - **test**: update multiple assert tests to use node:test (James M Snell) [#54585](https://github.com/nodejs/node/pull/54585)
+- \[[`1b30f7fdd6`](https://github.com/nodejs/node/commit/1b30f7fdd6)] - **test**: move coverage source map tests to new file (Aviv Keller) [#55123](https://github.com/nodejs/node/pull/55123)
+- \[[`ce67e7b5b3`](https://github.com/nodejs/node/commit/ce67e7b5b3)] - **test**: adding more tests for strip-types (Kevin Toshihiro Uehara) [#54929](https://github.com/nodejs/node/pull/54929)
+- \[[`a57c8ba3ef`](https://github.com/nodejs/node/commit/a57c8ba3ef)] - **test**: update wpt test for encoding (devstone) [#55151](https://github.com/nodejs/node/pull/55151)
+- \[[`65fbe94d45`](https://github.com/nodejs/node/commit/65fbe94d45)] - **test**: add `escapePOSIXShell` util (Antoine du Hamel) [#55125](https://github.com/nodejs/node/pull/55125)
+- \[[`cc8838252e`](https://github.com/nodejs/node/commit/cc8838252e)] - **test**: remove unnecessary `await` in test-watch-mode (Wuli) [#55142](https://github.com/nodejs/node/pull/55142)
+- \[[`9aeba48bf0`](https://github.com/nodejs/node/commit/9aeba48bf0)] - **test**: fix typos (Nathan Baulch) [#55063](https://github.com/nodejs/node/pull/55063)
+- \[[`0999b5e493`](https://github.com/nodejs/node/commit/0999b5e493)] - **test**: remove duplicated test descriptions (Christos Koutsiaris) [#54140](https://github.com/nodejs/node/pull/54140)
+- \[[`e99d4a4cb8`](https://github.com/nodejs/node/commit/e99d4a4cb8)] - **test**: deflake test/pummel/test-timers.js (jakecastelli) [#55098](https://github.com/nodejs/node/pull/55098)
+- \[[`fb8470afd7`](https://github.com/nodejs/node/commit/fb8470afd7)] - **test**: deflake test-http-remove-header-stays-removed (Luigi Pinca) [#55004](https://github.com/nodejs/node/pull/55004)
+- \[[`e879c5edf2`](https://github.com/nodejs/node/commit/e879c5edf2)] - **test**: fix test-tls-junk-closes-server (Michael Dawson) [#55089](https://github.com/nodejs/node/pull/55089)
+- \[[`b885f0583c`](https://github.com/nodejs/node/commit/b885f0583c)] - **test**: fix more tests that fail when path contains a space (Antoine du Hamel) [#55088](https://github.com/nodejs/node/pull/55088)
+- \[[`85f1187942`](https://github.com/nodejs/node/commit/85f1187942)] - **test**: fix `assertSnapshot` when path contains a quote (Antoine du Hamel) [#55087](https://github.com/nodejs/node/pull/55087)
+- \[[`fdae57f1e1`](https://github.com/nodejs/node/commit/fdae57f1e1)] - **test**: fix some tests when path contains `%` (Antoine du Hamel) [#55082](https://github.com/nodejs/node/pull/55082)
+- \[[`36c9ea8912`](https://github.com/nodejs/node/commit/36c9ea8912)] - _**Revert**_ "**test**: mark test-fs-watch-non-recursive flaky on Windows" (Luigi Pinca) [#55079](https://github.com/nodejs/node/pull/55079)
+- \[[`80da5993cc`](https://github.com/nodejs/node/commit/80da5993cc)] - **test**: remove interval and give more time to unsync (Pietro Marchini) [#55006](https://github.com/nodejs/node/pull/55006)
+- \[[`93c23e74b3`](https://github.com/nodejs/node/commit/93c23e74b3)] - **test**: deflake test-inspector-strip-types (Luigi Pinca) [#55058](https://github.com/nodejs/node/pull/55058)
+- \[[`43bbca2c08`](https://github.com/nodejs/node/commit/43bbca2c08)] - **test**: make `test-runner-assert` more robust (Aviv Keller) [#55036](https://github.com/nodejs/node/pull/55036)
+- \[[`268f1ec08f`](https://github.com/nodejs/node/commit/268f1ec08f)] - **test**: update tls test to support OpenSSL32 (Michael Dawson) [#55030](https://github.com/nodejs/node/pull/55030)
+- \[[`a50dd21423`](https://github.com/nodejs/node/commit/a50dd21423)] - **test**: do not assume `process.execPath` contains no spaces (Antoine du Hamel) [#55028](https://github.com/nodejs/node/pull/55028)
+- \[[`c56e324cb8`](https://github.com/nodejs/node/commit/c56e324cb8)] - **test**: fix `test-vm-context-dont-contextify` when path contains a space (Antoine du Hamel) [#55026](https://github.com/nodejs/node/pull/55026)
+- \[[`6d42e44264`](https://github.com/nodejs/node/commit/6d42e44264)] - **test**: adjust tls-set-ciphers for OpenSSL32 (Michael Dawson) [#55016](https://github.com/nodejs/node/pull/55016)
+- \[[`22e601a76c`](https://github.com/nodejs/node/commit/22e601a76c)] - **test**: add `util.stripVTControlCharacters` test (RedYetiDev) [#54865](https://github.com/nodejs/node/pull/54865)
+- \[[`a6796696d7`](https://github.com/nodejs/node/commit/a6796696d7)] - **test**: improve coverage for timer promises schedular (Aviv Keller) [#53370](https://github.com/nodejs/node/pull/53370)
+- \[[`9506f77b3e`](https://github.com/nodejs/node/commit/9506f77b3e)] - **test**: remove `getCallSite` from common (RedYetiDev) [#54947](https://github.com/nodejs/node/pull/54947)
+- \[[`20d3a806ea`](https://github.com/nodejs/node/commit/20d3a806ea)] - **test**: remove unused common utilities (RedYetiDev) [#54825](https://github.com/nodejs/node/pull/54825)
+- \[[`341b6d9b94`](https://github.com/nodejs/node/commit/341b6d9b94)] - **test**: deflake test-http-header-overflow (Luigi Pinca) [#54978](https://github.com/nodejs/node/pull/54978)
+- \[[`1e53c10853`](https://github.com/nodejs/node/commit/1e53c10853)] - **test**: fix `soucre` to `source` (Aviv Keller) [#55038](https://github.com/nodejs/node/pull/55038)
+- \[[`6843ca7e0d`](https://github.com/nodejs/node/commit/6843ca7e0d)] - **test**: add asserts to validate test assumptions (Michael Dawson) [#54997](https://github.com/nodejs/node/pull/54997)
+- \[[`98ff615c5e`](https://github.com/nodejs/node/commit/98ff615c5e)] - **test**: add runner watch mode isolation tests (Pietro Marchini) [#54888](https://github.com/nodejs/node/pull/54888)
+- \[[`327a8f7b59`](https://github.com/nodejs/node/commit/327a8f7b59)] - **test**: fix invalid wasm test (Aviv Keller) [#54935](https://github.com/nodejs/node/pull/54935)
+- \[[`5b012f544c`](https://github.com/nodejs/node/commit/5b012f544c)] - **test**: move test-http-max-sockets to parallel (Luigi Pinca) [#54977](https://github.com/nodejs/node/pull/54977)
+- \[[`22b413910e`](https://github.com/nodejs/node/commit/22b413910e)] - **test**: remove test-http-max-sockets flaky designation (Luigi Pinca) [#54976](https://github.com/nodejs/node/pull/54976)
+- \[[`62b8640550`](https://github.com/nodejs/node/commit/62b8640550)] - **test**: refactor test-whatwg-webstreams-encoding to be shorter (David Dong) [#54569](https://github.com/nodejs/node/pull/54569)
+- \[[`1f11d68173`](https://github.com/nodejs/node/commit/1f11d68173)] - **test**: adjust key sizes to support OpenSSL32 (Michael Dawson) [#54972](https://github.com/nodejs/node/pull/54972)
+- \[[`90a87ca8f7`](https://github.com/nodejs/node/commit/90a87ca8f7)] - **test**: update test to support OpenSSL32 (Michael Dawson) [#54968](https://github.com/nodejs/node/pull/54968)
+- \[[`9b7834536a`](https://github.com/nodejs/node/commit/9b7834536a)] - **test**: update DOM events web platform tests (Matthew Aitken) [#54642](https://github.com/nodejs/node/pull/54642)
+- \[[`1c001550a2`](https://github.com/nodejs/node/commit/1c001550a2)] - **test,crypto**: update WebCryptoAPI WPT (Filip Skokan) [#55029](https://github.com/nodejs/node/pull/55029)
+- \[[`800f7c44ed`](https://github.com/nodejs/node/commit/800f7c44ed)] - **test_runner**: throw on invalid source map (Aviv Keller) [#55055](https://github.com/nodejs/node/pull/55055)
+- \[[`0f7e3f017f`](https://github.com/nodejs/node/commit/0f7e3f017f)] - **test_runner**: assert entry is a valid object (Edigleysson Silva (Edy)) [#55231](https://github.com/nodejs/node/pull/55231)
+- \[[`c308862d2e`](https://github.com/nodejs/node/commit/c308862d2e)] - **test_runner**: avoid spread operator on arrays (Antoine du Hamel) [#55143](https://github.com/nodejs/node/pull/55143)
+- \[[`12401972b7`](https://github.com/nodejs/node/commit/12401972b7)] - **test_runner**: support typescript files in default glob (Aviv Keller) [#55081](https://github.com/nodejs/node/pull/55081)
+- \[[`19cfa3140f`](https://github.com/nodejs/node/commit/19cfa3140f)] - **test_runner**: close and flush destinations on forced exit (Colin Ihrig) [#55099](https://github.com/nodejs/node/pull/55099)
+- \[[`86f7cb802d`](https://github.com/nodejs/node/commit/86f7cb802d)] - **(SEMVER-MINOR)** **test_runner**: support custom arguments in `run()` (Aviv Keller) [#55126](https://github.com/nodejs/node/pull/55126)
+- \[[`7eaeba499a`](https://github.com/nodejs/node/commit/7eaeba499a)] - **test_runner**: fix mocking modules with quote in their URL (Antoine du Hamel) [#55083](https://github.com/nodejs/node/pull/55083)
+- \[[`8818c6c88a`](https://github.com/nodejs/node/commit/8818c6c88a)] - **test_runner**: report error on missing sourcemap source (Aviv Keller) [#55037](https://github.com/nodejs/node/pull/55037)
+- \[[`b62f2f8259`](https://github.com/nodejs/node/commit/b62f2f8259)] - **(SEMVER-MINOR)** **test_runner**: add 'test:summary' event (Colin Ihrig) [#54851](https://github.com/nodejs/node/pull/54851)
+- \[[`449dad0db0`](https://github.com/nodejs/node/commit/449dad0db0)] - **test_runner**: use `test:` symbol on second print of parent test (RedYetiDev) [#54956](https://github.com/nodejs/node/pull/54956)
+- \[[`4b962a78c7`](https://github.com/nodejs/node/commit/4b962a78c7)] - **test_runner**: replace ansi clear with ansi reset (Pietro Marchini) [#55013](https://github.com/nodejs/node/pull/55013)
+- \[[`d7c708aec5`](https://github.com/nodejs/node/commit/d7c708aec5)] - **(SEMVER-MINOR)** **test_runner**: add support for coverage via run() (Chemi Atlow) [#53937](https://github.com/nodejs/node/pull/53937)
+- \[[`93c6c90219`](https://github.com/nodejs/node/commit/93c6c90219)] - **test_runner**: support typescript module mocking (Marco Ippolito) [#54878](https://github.com/nodejs/node/pull/54878)
+- \[[`1daec9a63f`](https://github.com/nodejs/node/commit/1daec9a63f)] - **test_runner**: avoid coverage report partial file names (Pietro Marchini) [#54379](https://github.com/nodejs/node/pull/54379)
+- \[[`d51e5a8667`](https://github.com/nodejs/node/commit/d51e5a8667)] - **tools**: enforce errors to not be documented in legacy section (Aviv Keller) [#55218](https://github.com/nodejs/node/pull/55218)
+- \[[`6a7d201b80`](https://github.com/nodejs/node/commit/6a7d201b80)] - **tools**: update gyp-next to 0.18.2 (Node.js GitHub Bot) [#55160](https://github.com/nodejs/node/pull/55160)
+- \[[`c988e7e2e5`](https://github.com/nodejs/node/commit/c988e7e2e5)] - **tools**: bump the eslint group in /tools/eslint with 4 updates (dependabot\[bot]) [#55227](https://github.com/nodejs/node/pull/55227)
+- \[[`7982d3d4ed`](https://github.com/nodejs/node/commit/7982d3d4ed)] - **tools**: only check teams on the default branch (Antoine du Hamel) [#55124](https://github.com/nodejs/node/pull/55124)
+- \[[`60a35eddb0`](https://github.com/nodejs/node/commit/60a35eddb0)] - **tools**: make `choco install` script more readable (Aviv Keller) [#54002](https://github.com/nodejs/node/pull/54002)
+- \[[`b7b1fa6dd3`](https://github.com/nodejs/node/commit/b7b1fa6dd3)] - **tools**: bump Rollup from 4.18.1 to 4.22.4 for `lint-md` (dependabot\[bot]) [#55093](https://github.com/nodejs/node/pull/55093)
+- \[[`3304bf387f`](https://github.com/nodejs/node/commit/3304bf387f)] - **tools**: unlock versions of irrelevant DB deps (Michaël Zasso) [#55042](https://github.com/nodejs/node/pull/55042)
+- \[[`65c376a819`](https://github.com/nodejs/node/commit/65c376a819)] - **tools**: remove redudant code from eslint require rule (Aviv Keller) [#54892](https://github.com/nodejs/node/pull/54892)
+- \[[`295f684b69`](https://github.com/nodejs/node/commit/295f684b69)] - **tools**: update error message for ICU in license-builder (Aviv Keller) [#54742](https://github.com/nodejs/node/pull/54742)
+- \[[`ce4b6e403d`](https://github.com/nodejs/node/commit/ce4b6e403d)] - **tools**: refactor js2c.cc to use c++20 (Yagiz Nizipli) [#54849](https://github.com/nodejs/node/pull/54849)
+- \[[`31f0ef6ea3`](https://github.com/nodejs/node/commit/31f0ef6ea3)] - **tools**: bump the eslint group in /tools/eslint with 7 updates (dependabot\[bot]) [#54821](https://github.com/nodejs/node/pull/54821)
+- \[[`676d0a09a0`](https://github.com/nodejs/node/commit/676d0a09a0)] - **tools**: update github_reporter to 1.7.1 (Node.js GitHub Bot) [#54951](https://github.com/nodejs/node/pull/54951)
+- \[[`0f01f38aea`](https://github.com/nodejs/node/commit/0f01f38aea)] - **tty**: fix links for terminal colors (Aviv Keller) [#54596](https://github.com/nodejs/node/pull/54596)
+- \[[`d264639f5f`](https://github.com/nodejs/node/commit/d264639f5f)] - **util**: update ansi regex (Aviv Keller) [#54865](https://github.com/nodejs/node/pull/54865)
+- \[[`ea7aaf37bf`](https://github.com/nodejs/node/commit/ea7aaf37bf)] - **v8**: out of bounds copy (Robert Nagy) [#55261](https://github.com/nodejs/node/pull/55261)
+- \[[`fa695facf5`](https://github.com/nodejs/node/commit/fa695facf5)] - **watch**: preserve output when gracefully restarted (Théo LUDWIG) [#54323](https://github.com/nodejs/node/pull/54323)
+- \[[`5fda4a1498`](https://github.com/nodejs/node/commit/5fda4a1498)] - **(SEMVER-MINOR)** **worker**: add `markAsUncloneable` api (Jason Zhang) [#55234](https://github.com/nodejs/node/pull/55234)
+- \[[`d65334c454`](https://github.com/nodejs/node/commit/d65334c454)] - **worker**: throw InvalidStateError in postMessage after close (devstone) [#55206](https://github.com/nodejs/node/pull/55206)
+- \[[`fc90d7c63a`](https://github.com/nodejs/node/commit/fc90d7c63a)] - **worker**: handle `--input-type` more consistently (Antoine du Hamel) [#54979](https://github.com/nodejs/node/pull/54979)
+- \[[`a9fa2da870`](https://github.com/nodejs/node/commit/a9fa2da870)] - **zlib**: throw brotli initialization error from c++ (Yagiz Nizipli) [#54698](https://github.com/nodejs/node/pull/54698)
+- \[[`9abd1c7288`](https://github.com/nodejs/node/commit/9abd1c7288)] - **zlib**: remove prototype primordials usage (Yagiz Nizipli) [#54695](https://github.com/nodejs/node/pull/54695)
+
+Windows 32-bit Installer: https://nodejs.org/dist/v22.10.0/node-v22.10.0-x86.msi \
+Windows 64-bit Installer: https://nodejs.org/dist/v22.10.0/node-v22.10.0-x64.msi \
+Windows ARM 64-bit Installer: https://nodejs.org/dist/v22.10.0/node-v22.10.0-arm64.msi \
+Windows 32-bit Binary: https://nodejs.org/dist/v22.10.0/win-x86/node.exe \
+Windows 64-bit Binary: https://nodejs.org/dist/v22.10.0/win-x64/node.exe \
+Windows ARM 64-bit Binary: https://nodejs.org/dist/v22.10.0/win-arm64/node.exe \
+macOS 64-bit Installer: https://nodejs.org/dist/v22.10.0/node-v22.10.0.pkg \
+macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v22.10.0/node-v22.10.0-darwin-arm64.tar.gz \
+macOS Intel 64-bit Binary: https://nodejs.org/dist/v22.10.0/node-v22.10.0-darwin-x64.tar.gz \
+Linux 64-bit Binary: https://nodejs.org/dist/v22.10.0/node-v22.10.0-linux-x64.tar.xz \
+Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v22.10.0/node-v22.10.0-linux-ppc64le.tar.xz \
+Linux s390x 64-bit Binary: https://nodejs.org/dist/v22.10.0/node-v22.10.0-linux-s390x.tar.xz \
+AIX 64-bit Binary: https://nodejs.org/dist/v22.10.0/node-v22.10.0-aix-ppc64.tar.gz \
+ARMv7 32-bit Binary: https://nodejs.org/dist/v22.10.0/node-v22.10.0-linux-armv7l.tar.xz \
+ARMv8 64-bit Binary: https://nodejs.org/dist/v22.10.0/node-v22.10.0-linux-arm64.tar.xz \
+Source Code: https://nodejs.org/dist/v22.10.0/node-v22.10.0.tar.gz \
+Other release files: https://nodejs.org/dist/v22.10.0/ \
+Documentation: https://nodejs.org/docs/v22.10.0/api/
+
+### SHASUMS
+
+```
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+9fe24a08564eca8ce7e6ea3dfa58bc91ec5512f194e6871a388254c3ebe4f0a4 node-v22.10.0-aix-ppc64.tar.gz
+fa56d6db05ce3909025d75fac8cf32a054c4a74291b4748fae544d4ff935c25e node-v22.10.0-arm64.msi
+75e5b78d59187ca936e67f0b88a6db913f4ab8bb83a27a1d0a34f98089cb4f77 node-v22.10.0-darwin-arm64.tar.gz
+1e075186b54bac99434c5a41f5bf526e9729c8010dc05cb0da426fb0d5b97170 node-v22.10.0-darwin-arm64.tar.xz
+f8d4a064d3edd49900187e301424a7d7d30f75b60f618811d2aad80b665b42d5 node-v22.10.0-darwin-x64.tar.gz
+a50a35778fd57ddd90eb1ecbf56ea3a640d932c7d31a0bc2bb164df34f889156 node-v22.10.0-darwin-x64.tar.xz
+8e82810f179f82016f75e6259a6d53b26674268cb074c544780ec3819157d1d0 node-v22.10.0-headers.tar.gz
+f588b2f9fade83d56cd9965d52ae91b32de0f35393c8e889a52870746940b3b6 node-v22.10.0-headers.tar.xz
+17abee3dfe6ffcda95cab08bb5f43de7f88d04e9607c517e701c6e623358dc7c node-v22.10.0-linux-arm64.tar.gz
+53f51efe5bf4cd6b7745e910d9a33216b6be5a89b107226862f4a6f27aab84fd node-v22.10.0-linux-arm64.tar.xz
+cd0bd2cd4098db1dde29314a60287661484e18df708ac94532e5a34f99eb6fd4 node-v22.10.0-linux-armv7l.tar.gz
+cea813eba9b5d43911414c9df03119c47e53c3f303c42bd5f2960aedfcf7df10 node-v22.10.0-linux-armv7l.tar.xz
+52fb8ae36061e64d39499be50a1193fc1f10fa667b4211b651576db65b5558da node-v22.10.0-linux-ppc64le.tar.gz
+7a83a0f9a674fe0c4b0405d4ba704bafe339fc520873b9260d752436bf1f268e node-v22.10.0-linux-ppc64le.tar.xz
+6e976e9278f66e654f208fdca1bae80f49705f51ab4c47ef1acb5bd59b16e640 node-v22.10.0-linux-s390x.tar.gz
+caad0bef82f163be6c8d19a6d79bb7a443b3676266fa67bb0325cbc61a1df136 node-v22.10.0-linux-s390x.tar.xz
+674fef1891cc9927b5dc2b0ee2399b77f6621e6b3157f563a9e9491ad3db107b node-v22.10.0-linux-x64.tar.gz
+406791658a8bce3bc21fab786f45877adad391ea20badc87e1d65c7478b75062 node-v22.10.0-linux-x64.tar.xz
+afc49ad90023d7809e7ed0d6b86167e476c21e6482c202e71b49a369302bcedf node-v22.10.0-win-arm64.7z
+2a9ffdc69df610821b5fb8b7e19cb0c627a2576c0af5b327ba2cdf9149db4f96 node-v22.10.0-win-arm64.zip
+c5105910002a7cf89eaacc27fb85cb2f8551c0f7797ac52118f2398210d6135e node-v22.10.0-win-x64.7z
+d68dce8f7a73305a496e719485ca6647387d9410cb7eb5933b5d9b4afc5593bd node-v22.10.0-win-x64.zip
+b0149ff0fa094cc765c2e373b1010776bab18a2eac6a7d3800e0599f11da1aa3 node-v22.10.0-win-x86.7z
+dff73b6fd3545addabafd453b61ca5d50d2454d05d53a6094bcc428a0aa22de3 node-v22.10.0-win-x86.zip
+9d8fad0dc2da2c57e6fdf38fc85a23dc5ebcd5c414d8dd2948b3c45bd2398895 node-v22.10.0-x64.msi
+daca38d494c4d6d023ea0cc4d5f7974173256b80a5e485bf7fcaace62c36df85 node-v22.10.0-x86.msi
+af7ec12e66beae77b8f4090e7560d53f953ace17af0c6fc658a8453221de2f85 node-v22.10.0.pkg
+42e4ab4ce34383488185cef6f06f8d1267bf91ebc5c6596fc3786efb0f8b5aaa node-v22.10.0.tar.gz
+3180710d3130ad9df01466abf010e408d41b374be54301d1480d10eca73558e0 node-v22.10.0.tar.xz
+d4f4462472ae44f6b804d729bc6e09fbecdb95994be8af35584297b637cd8af1 win-arm64/node.exe
+ad65afe5b192644fec9d599c77f0e38a8421d0d7ad2389679882a288c8df444b win-arm64/node.lib
+5cb82d77cebf4c82acb9123827d1ada295dce4907bd9f75966f989e112e9f7a2 win-arm64/node_pdb.7z
+b551a239370533dcb1f595d35b9540cb906a926387d373f4e0dde8de424267a0 win-arm64/node_pdb.zip
+741a6d3a636ccb3290fc3141e3604913d89e430e0c1bd098734cc3380a7c6b3b win-x64/node.exe
+3581a06b68c4584d146372113eaa8c4d102127222e5041195ba38f185eef419c win-x64/node.lib
+40e2dbf9fb9c66f579d348e2ecd30a4ffadc3b00f9895107f915b82323cd1096 win-x64/node_pdb.7z
+1c478d40aadaeb0ad173ba01983a3bb6909777d1b35497b8e4f508acea02a26b win-x64/node_pdb.zip
+ca29a0d009d4e39ebca9bc84a859f30ccddeb31f31573d2d62be579d7c3daef0 win-x86/node.exe
+45399070d1d247cf223d12e80d3e638635af24d2f7a4714bc8e38a6a918f162a win-x86/node.lib
+a35f8ad5b3ebfe652ffba108e3220115088d4a755af0305bdd6ece0295e4c07d win-x86/node_pdb.7z
+e985894dd6ae194ef302f831a10268aa33412db046b670a121603184dbacbb04 win-x86/node_pdb.zip
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAEBCAAdFiEEwNYkhDnx1WBKr/tAIdkA/9sjN1YFAmcQQKEACgkQIdkA/9sj
+N1YldRAAjB69PJc6s3OvgDHn6gr98Dap8WGQBjOt6Mb2/qR1C/9TcJRueN73+Fpc
+9jW66o3QmHEjci1Ii0JDuvL7iObAMMQlJyctcsGVSyW+Pq5j9MEuEbAQVJ5/uzrS
+innKmPNnMtVcr/1IspCR1I/Q71nupDU+amrR2TUcabCdHryKI8HAWJ+PRjsUChAy
+22QvopbjG97NA3cWffUUuEYlMw/jgNdOQEIcxC1/xMd1ofL9rQVMqXeQAMKa+BBm
+gZN1sLJGU88K+QPEkfZ1G3yQUmYyBxMcL5OH0KM/EngKu1siocj/m5OgCIW2OT14
+qedHd5/uxjKUJAR9DT/g5EBgXrZvz4J8Rv5ewPi9E8O/Ce3oS/Y0v3WvPvIaQCcO
+MCvIAD7FQu0Eqn2ODKKBZepoqOneZCt7IKa+Pvt/qly2cKxD7aJfWsvilxUFu69x
+hTnMK7HRTKk8BgfzpMlRENvSuRqVnlvny/8A+WgELX/9JT0DgF8n1TJ0mkVbJwRG
+aSneG0MEcGHqG2ALJ6A5l13SoBTerRnjlwGuobyMfxCg66AP04k/ZR24m0db9d9R
+RYQpgTtyee99a1yr92pzzwUcSgS9J0YPMMfsVCpO2lyyQ1Es8tN69Atf+Hby35Vz
+HPg/0beMGvnM++UDik2hHKDqNs1Li6SXNVozxJy0qWPug3GNYEA=
+=n1uK
+-----END PGP SIGNATURE-----
+```
diff --git a/apps/site/pages/en/blog/release/v23.0.0.md b/apps/site/pages/en/blog/release/v23.0.0.md
new file mode 100644
index 0000000000000..e17c87c636ae1
--- /dev/null
+++ b/apps/site/pages/en/blog/release/v23.0.0.md
@@ -0,0 +1,497 @@
+---
+date: '2024-10-16T14:07:50.232Z'
+category: release
+title: Node v23.0.0 (Current)
+layout: blog-post
+author: Rafael Gonzaga
+---
+
+## 2024-10-16, Version 23.0.0 (Current), @RafaelGSS
+
+We’re excited to announce the release of Node.js 23! Key highlights include:
+
+- Enabling `require(esm)` by default for Node.js applications
+- Removing support for Windows 32-bit systems
+- Stabilizing the `node --run` command
+- Enhancements to the test runner, including glob pattern support for coverage files
+
+Node.js 23 will replace Node.js 22 as the ‘Current’ release line when Node.js 22 enters long-term support (LTS) later this month.
+According to the release schedule, Node.js 23 will remain the ‘Current’ release for the next six months, until April 2025.
+
+### `require(esm)` is now enabled by default
+
+Support for loading native ES modules using `require()` had been available on v20.x and v22.x under the command line flag `--experimental-require-module`. In v23.x, this feature is now enabled by default. This feature is still experimental, and we are looking for user feedback to make more final tweaks before fully stabilizing it. For this reason, on v23.x, when the Node.js instance encounters a native ES module in `require()` for the first time, it will emit an experimental warning.
+
+If there happens to be any regressions caused by this feature, users can report it to the Node.js issue tracker. Meanwhile this feature can also be disabled using `--no-experimental-require-module` as a workaround. We expect to test this feature using v23.x, find out any potential regressions and make adjustments accordingly, before backporting the unflagging to v22.x. This will likely happen in a later semver-minor release after the the LTS promotion at the end of October.
+
+With this feature enabled, Node.js will no longer throw `ERR_REQUIRE_ESM` if `require()` is used to load a ES module. It can, however, throw `ERR_REQUIRE_ASYNC_MODULE` if the ES module being loaded or its dependencies contain top-level `await`. When the ES module is loaded successfully by `require()`, the returned object will be a ES module namespace object similar to what's returned by `import()`, and can be checked using `util.isModuleNamespaceObject()`.
+
+Users can check `process.features.require_module` to see whether `require(esm)` is enabled in the current Node.js instance. For packages, the `"module-sync"` exports condition can be used as a way to detect `require(esm)` support in the current Node.js instance and allow both `require()` and `import` to load the same native ES module. See [the documentation](https://nodejs.org/docs/latest/api/modules.html#loading-ecmascript-modules-using-require) for more details about this feature.
+
+### Other Notable Changes
+
+- \[[`7ad0cc3e57`](https://github.com/nodejs/node/commit/7ad0cc3e57)] - **(SEMVER-MAJOR)** **build**: remove support for 32-bit Windows (Michaël Zasso) [#53184](https://github.com/nodejs/node/pull/53184)
+- \[[`83eb4f2855`](https://github.com/nodejs/node/commit/83eb4f2855)] - **(SEMVER-MINOR)** **deps**: V8: cherry-pick cd10ad7cdbe5 (Joyee Cheung) [#52535](https://github.com/nodejs/node/pull/52535)
+- \[[`b8493a5789`](https://github.com/nodejs/node/commit/b8493a5789)] - **doc**: add abmusse to collaborators (Abdirahim Musse) [#55086](https://github.com/nodejs/node/pull/55086)
+- \[[`7fab6e8885`](https://github.com/nodejs/node/commit/7fab6e8885)] - **(SEMVER-MAJOR)** **doc**: use gcc 12 on AIX for Node.js >=23 (Richard Lau) [#54338](https://github.com/nodejs/node/pull/54338)
+- \[[`d473606040`](https://github.com/nodejs/node/commit/d473606040)] - **(SEMVER-MINOR)** **lib**: propagate aborted state to dependent signals before firing events (jazelly) [#54826](https://github.com/nodejs/node/pull/54826)
+- \[[`06206af181`](https://github.com/nodejs/node/commit/06206af181)] - **(SEMVER-MINOR)** **module**: unflag --experimental-require-module (Joyee Cheung) [#55085](https://github.com/nodejs/node/pull/55085)
+- \[[`0b9249e335`](https://github.com/nodejs/node/commit/0b9249e335)] - **(SEMVER-MINOR)** **module**: implement the "module-sync" exports condition (Joyee Cheung) [#54648](https://github.com/nodejs/node/pull/54648)
+- \[[`92a25abca9`](https://github.com/nodejs/node/commit/92a25abca9)] - **(SEMVER-MINOR)** **path**: add `matchGlob` method (Aviv Keller) [#52881](https://github.com/nodejs/node/pull/52881)
+- \[[`12dd4c7575`](https://github.com/nodejs/node/commit/12dd4c7575)] - **src**: mark node --run as stable (Yagiz Nizipli) [#53763](https://github.com/nodejs/node/pull/53763)
+- \[[`4174b73153`](https://github.com/nodejs/node/commit/4174b73153)] - **test**: support glob matching coverage files (Aviv Keller) [#53553](https://github.com/nodejs/node/pull/53553)
+
+### Semver-Major Commits
+
+- \[[`764b13d75c`](https://github.com/nodejs/node/commit/764b13d75c)] - **(SEMVER-MAJOR)** **assert,util**: change WeakMap and WeakSet comparison handling (Cristian Barlutiu) [#53495](https://github.com/nodejs/node/pull/53495)
+- \[[`3800d60c66`](https://github.com/nodejs/node/commit/3800d60c66)] - **(SEMVER-MAJOR)** **buffer**: throw when writing beyond buffer" (Robert Nagy) [#54588](https://github.com/nodejs/node/pull/54588)
+- \[[`17fd32790a`](https://github.com/nodejs/node/commit/17fd32790a)] - **(SEMVER-MAJOR)** **buffer**: make File cloneable (Matthew Aitken) [#47613](https://github.com/nodejs/node/pull/47613)
+- \[[`f68d7d2acc`](https://github.com/nodejs/node/commit/f68d7d2acc)] - **(SEMVER-MAJOR)** **build**: reset embedder string to "-node.0" (Michaël Zasso) [#54536](https://github.com/nodejs/node/pull/54536)
+- \[[`9d0748c5df`](https://github.com/nodejs/node/commit/9d0748c5df)] - **(SEMVER-MAJOR)** **build**: disable ICF for mksnapshot (Leszek Swirski) [#54077](https://github.com/nodejs/node/pull/54077)
+- \[[`b7bcf3e121`](https://github.com/nodejs/node/commit/b7bcf3e121)] - **(SEMVER-MAJOR)** **build**: include v8-sandbox.h header in distribution (Michaël Zasso) [#54077](https://github.com/nodejs/node/pull/54077)
+- \[[`1dfa3b8255`](https://github.com/nodejs/node/commit/1dfa3b8255)] - **(SEMVER-MAJOR)** **build**: reset embedder string to "-node.0" (Michaël Zasso) [#54077](https://github.com/nodejs/node/pull/54077)
+- \[[`046343ea9d`](https://github.com/nodejs/node/commit/046343ea9d)] - **(SEMVER-MAJOR)** **build**: warn for GCC versions earlier than 12.2 (Michaël Zasso) [#54081](https://github.com/nodejs/node/pull/54081)
+- \[[`a5decd4c8d`](https://github.com/nodejs/node/commit/a5decd4c8d)] - **(SEMVER-MAJOR)** **build**: drop experimental support for Windows <10 (Michaël Zasso) [#54079](https://github.com/nodejs/node/pull/54079)
+- \[[`7ad0cc3e57`](https://github.com/nodejs/node/commit/7ad0cc3e57)] - **(SEMVER-MAJOR)** **build**: remove support for 32-bit Windows (Michaël Zasso) [#53184](https://github.com/nodejs/node/pull/53184)
+- \[[`c7e42092f3`](https://github.com/nodejs/node/commit/c7e42092f3)] - **(SEMVER-MAJOR)** **build**: compile with C++20 support (Michaël Zasso) [#45427](https://github.com/nodejs/node/pull/45427)
+- \[[`e2b7e41e23`](https://github.com/nodejs/node/commit/e2b7e41e23)] - **(SEMVER-MAJOR)** **child_process**: remove unused internal event (Rich Trott) [#53793](https://github.com/nodejs/node/pull/53793)
+- \[[`4f1fe8a015`](https://github.com/nodejs/node/commit/4f1fe8a015)] - **(SEMVER-MAJOR)** **cli**: remove deprecated V8 flag (Omer Katz) [#54761](https://github.com/nodejs/node/pull/54761)
+- \[[`8f37492b65`](https://github.com/nodejs/node/commit/8f37492b65)] - **(SEMVER-MAJOR)** **cli**: move --trace-atomics-wait to eol (Marco Ippolito) [#52747](https://github.com/nodejs/node/pull/52747)
+- \[[`f7e73cd1f2`](https://github.com/nodejs/node/commit/f7e73cd1f2)] - **(SEMVER-MAJOR)** **cli**: remove --no-experimental-global-customevent flag (Daeyeon Jeong) [#52723](https://github.com/nodejs/node/pull/52723)
+- \[[`311504125f`](https://github.com/nodejs/node/commit/311504125f)] - **(SEMVER-MAJOR)** **cli**: remove --no-experimental-fetch flag (Filip Skokan) [#52611](https://github.com/nodejs/node/pull/52611)
+- \[[`a30ae50860`](https://github.com/nodejs/node/commit/a30ae50860)] - **(SEMVER-MAJOR)** **cli**: remove --no-experimental-global-webcrypto flag (Filip Skokan) [#52564](https://github.com/nodejs/node/pull/52564)
+- \[[`afe56aa58b`](https://github.com/nodejs/node/commit/afe56aa58b)] - **(SEMVER-MAJOR)** **crypto**: runtime deprecate crypto.fips (Yagiz Nizipli) [#55019](https://github.com/nodejs/node/pull/55019)
+- \[[`33a6d1fe3a`](https://github.com/nodejs/node/commit/33a6d1fe3a)] - **(SEMVER-MAJOR)** **crypto**: remove ERR_CRYPTO_SCRYPT_INVALID_PARAMETER (Tobias Nießen) [#53305](https://github.com/nodejs/node/pull/53305)
+- \[[`ff826069a8`](https://github.com/nodejs/node/commit/ff826069a8)] - **(SEMVER-MAJOR)** **crypto**: move DEP0182 to runtime deprecation (Tobias Nießen) [#52552](https://github.com/nodejs/node/pull/52552)
+- \[[`6e150f9527`](https://github.com/nodejs/node/commit/6e150f9527)] - **(SEMVER-MAJOR)** **deps**: V8: cherry-pick 97199f686e2f (Michaël Zasso) [#54536](https://github.com/nodejs/node/pull/54536)
+- \[[`1e16779fa1`](https://github.com/nodejs/node/commit/1e16779fa1)] - **(SEMVER-MAJOR)** **deps**: V8: cherry-pick 01a47f3ffff2 (Michaël Zasso) [#54536](https://github.com/nodejs/node/pull/54536)
+- \[[`762a440e68`](https://github.com/nodejs/node/commit/762a440e68)] - **(SEMVER-MAJOR)** **deps**: patch V8 to support older Clang versions (Michaël Zasso) [#54536](https://github.com/nodejs/node/pull/54536)
+- \[[`95f2213eed`](https://github.com/nodejs/node/commit/95f2213eed)] - **(SEMVER-MAJOR)** **deps**: always define V8_NODISCARD as no-op (Michaël Zasso) [#54536](https://github.com/nodejs/node/pull/54536)
+- \[[`09d997f181`](https://github.com/nodejs/node/commit/09d997f181)] - **(SEMVER-MAJOR)** **deps**: fix FP16 bitcasts.h (Stefan Stojanovic) [#54536](https://github.com/nodejs/node/pull/54536)
+- \[[`1866363854`](https://github.com/nodejs/node/commit/1866363854)] - **(SEMVER-MAJOR)** **deps**: patch V8 to support compilation with MSVC (StefanStojanovic) [#54536](https://github.com/nodejs/node/pull/54536)
+- \[[`6f4f22f84c`](https://github.com/nodejs/node/commit/6f4f22f84c)] - **(SEMVER-MAJOR)** **deps**: patch V8 to avoid duplicated zlib symbol (Michaël Zasso) [#54536](https://github.com/nodejs/node/pull/54536)
+- \[[`dfff61475e`](https://github.com/nodejs/node/commit/dfff61475e)] - **(SEMVER-MAJOR)** **deps**: disable V8 concurrent sparkplug compilation (Michaël Zasso) [#54536](https://github.com/nodejs/node/pull/54536)
+- \[[`69ad89f8eb`](https://github.com/nodejs/node/commit/69ad89f8eb)] - **(SEMVER-MAJOR)** **deps**: always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) [#54536](https://github.com/nodejs/node/pull/54536)
+- \[[`5ab3140dfb`](https://github.com/nodejs/node/commit/5ab3140dfb)] - **(SEMVER-MAJOR)** **deps**: update V8 to 12.9.202.18 (Michaël Zasso) [#54536](https://github.com/nodejs/node/pull/54536)
+- \[[`fba06eb34a`](https://github.com/nodejs/node/commit/fba06eb34a)] - **(SEMVER-MAJOR)** **deps**: remove bogus V8 DCHECK (Michaël Zasso) [#54077](https://github.com/nodejs/node/pull/54077)
+- \[[`5355603fb5`](https://github.com/nodejs/node/commit/5355603fb5)] - **(SEMVER-MAJOR)** **deps**: V8: cherry-pick 00e9eeb3fb2c (Michaël Zasso) [#54077](https://github.com/nodejs/node/pull/54077)
+- \[[`bcc1e2716c`](https://github.com/nodejs/node/commit/bcc1e2716c)] - **(SEMVER-MAJOR)** **deps**: V8: cherry-pick b1397772c70c (Michaël Zasso) [#54077](https://github.com/nodejs/node/pull/54077)
+- \[[`415bc750a5`](https://github.com/nodejs/node/commit/415bc750a5)] - **(SEMVER-MAJOR)** **deps**: V8: cherry-pick 35888fee7bba (Joyee Cheung) [#54077](https://github.com/nodejs/node/pull/54077)
+- \[[`28f3e5c9d1`](https://github.com/nodejs/node/commit/28f3e5c9d1)] - **(SEMVER-MAJOR)** **deps**: always define V8_NODISCARD as no-op (Michaël Zasso) [#54077](https://github.com/nodejs/node/pull/54077)
+- \[[`a41c381cde`](https://github.com/nodejs/node/commit/a41c381cde)] - **(SEMVER-MAJOR)** **deps**: fix FP16 bitcasts.h (Stefan Stojanovic) [#54077](https://github.com/nodejs/node/pull/54077)
+- \[[`16c9348e60`](https://github.com/nodejs/node/commit/16c9348e60)] - **(SEMVER-MAJOR)** **deps**: V8: revert CL 5331688 (Michaël Zasso) [#54077](https://github.com/nodejs/node/pull/54077)
+- \[[`dc4e702a45`](https://github.com/nodejs/node/commit/dc4e702a45)] - **(SEMVER-MAJOR)** **deps**: patch V8 to support compilation with MSVC (StefanStojanovic) [#54077](https://github.com/nodejs/node/pull/54077)
+- \[[`f626acc328`](https://github.com/nodejs/node/commit/f626acc328)] - **(SEMVER-MAJOR)** **deps**: silence internal V8 deprecation warning (Michaël Zasso) [#54077](https://github.com/nodejs/node/pull/54077)
+- \[[`ed187faa64`](https://github.com/nodejs/node/commit/ed187faa64)] - **(SEMVER-MAJOR)** **deps**: patch V8 to avoid duplicated zlib symbol (Michaël Zasso) [#54077](https://github.com/nodejs/node/pull/54077)
+- \[[`ed029bded7`](https://github.com/nodejs/node/commit/ed029bded7)] - **(SEMVER-MAJOR)** **deps**: avoid compilation error with ASan (Michaël Zasso) [#54077](https://github.com/nodejs/node/pull/54077)
+- \[[`e600de93cf`](https://github.com/nodejs/node/commit/e600de93cf)] - **(SEMVER-MAJOR)** **deps**: disable V8 concurrent sparkplug compilation (Michaël Zasso) [#54077](https://github.com/nodejs/node/pull/54077)
+- \[[`cc36db7c06`](https://github.com/nodejs/node/commit/cc36db7c06)] - **(SEMVER-MAJOR)** **deps**: always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) [#54077](https://github.com/nodejs/node/pull/54077)
+- \[[`9d7cd9b864`](https://github.com/nodejs/node/commit/9d7cd9b864)] - **(SEMVER-MAJOR)** **deps**: update V8 to 12.8.374.13 (Michaël Zasso) [#54077](https://github.com/nodejs/node/pull/54077)
+- \[[`4f70132972`](https://github.com/nodejs/node/commit/4f70132972)] - **(SEMVER-MAJOR)** **doc**: reflect toolchains used for official binaries (Richard Lau) [#54967](https://github.com/nodejs/node/pull/54967)
+- \[[`7fab6e8885`](https://github.com/nodejs/node/commit/7fab6e8885)] - **(SEMVER-MAJOR)** **doc**: use gcc 12 on AIX for Node.js >=23 (Richard Lau) [#54338](https://github.com/nodejs/node/pull/54338)
+- \[[`1d5ed725e9`](https://github.com/nodejs/node/commit/1d5ed725e9)] - **(SEMVER-MAJOR)** **esm**: export 'module.exports' on ESM CJS wrapper (Guy Bedford) [#53848](https://github.com/nodejs/node/pull/53848)
+- \[[`d5c29ba12d`](https://github.com/nodejs/node/commit/d5c29ba12d)] - **(SEMVER-MAJOR)** **events**: set EventEmitterAsyncResource fields private (Yagiz Nizipli) [#54889](https://github.com/nodejs/node/pull/54889)
+- \[[`f202322ea4`](https://github.com/nodejs/node/commit/f202322ea4)] - **(SEMVER-MAJOR)** **fs**: adjust typecheck for `type` in `fs.symlink()` (Livia Medeiros) [#49741](https://github.com/nodejs/node/pull/49741)
+- \[[`15e7563062`](https://github.com/nodejs/node/commit/15e7563062)] - **(SEMVER-MAJOR)** **fs**: runtime deprecate `dirent.path` (Antoine du Hamel) [#51050](https://github.com/nodejs/node/pull/51050)
+- \[[`00b2f07f9d`](https://github.com/nodejs/node/commit/00b2f07f9d)] - **(SEMVER-MAJOR)** **fs,win**: fix bug in paths with trailing slashes (Hüseyin Açacak) [#54160](https://github.com/nodejs/node/pull/54160)
+- \[[`e973c3e94b`](https://github.com/nodejs/node/commit/e973c3e94b)] - **(SEMVER-MAJOR)** **lib**: validate signals with interface converter (Jason Zhang) [#54965](https://github.com/nodejs/node/pull/54965)
+- \[[`a5a946d8a5`](https://github.com/nodejs/node/commit/a5a946d8a5)] - **(SEMVER-MAJOR)** **lib**: implement interface converter in webidl (Jason Zhang) [#54965](https://github.com/nodejs/node/pull/54965)
+- \[[`6ed93b4d69`](https://github.com/nodejs/node/commit/6ed93b4d69)] - **(SEMVER-MAJOR)** **lib**: expose global CloseEvent (Matthew Aitken) [#53355](https://github.com/nodejs/node/pull/53355)
+- \[[`52322aa42a`](https://github.com/nodejs/node/commit/52322aa42a)] - **(SEMVER-MAJOR)** **net**: validate host name for server listen (Jason Zhang) [#54470](https://github.com/nodejs/node/pull/54470)
+- \[[`efbba60e5b`](https://github.com/nodejs/node/commit/efbba60e5b)] - **(SEMVER-MAJOR)** **path**: fix bugs and inconsistencies (Hüseyin Açacak) [#54224](https://github.com/nodejs/node/pull/54224)
+- \[[`c237eabf4c`](https://github.com/nodejs/node/commit/c237eabf4c)] - **(SEMVER-MAJOR)** **process**: remove `process.assert` (Aviv Keller) [#55035](https://github.com/nodejs/node/pull/55035)
+- \[[`17a17164d6`](https://github.com/nodejs/node/commit/17a17164d6)] - **(SEMVER-MAJOR)** **src**: update NODE_MODULE_VERSION to 131 (Michaël Zasso) [#54536](https://github.com/nodejs/node/pull/54536)
+- \[[`f0134fa6c3`](https://github.com/nodejs/node/commit/f0134fa6c3)] - **(SEMVER-MAJOR)** **src**: stop using deprecated fields of `v8::FastApiCallbackOptions` (Andreas Haas) [#54077](https://github.com/nodejs/node/pull/54077)
+- \[[`0be79f4deb`](https://github.com/nodejs/node/commit/0be79f4deb)] - **(SEMVER-MAJOR)** **src**: remove dependency on wrapper-descriptor-based CppHeap (Joyee Cheung) [#54077](https://github.com/nodejs/node/pull/54077)
+- \[[`525b3f22d1`](https://github.com/nodejs/node/commit/525b3f22d1)] - **(SEMVER-MAJOR)** **src**: add source location to v8::TaskRunner (François Doray) [#54077](https://github.com/nodejs/node/pull/54077)
+- \[[`e945bd9525`](https://github.com/nodejs/node/commit/e945bd9525)] - **(SEMVER-MAJOR)** **src**: update NODE_MODULE_VERSION to 129 (Michaël Zasso) [#54077](https://github.com/nodejs/node/pull/54077)
+- \[[`bb8d2936ab`](https://github.com/nodejs/node/commit/bb8d2936ab)] - **(SEMVER-MAJOR)** **src**: do not use soon-to-be-deprecated V8 API (Igor Sheludko) [#53174](https://github.com/nodejs/node/pull/53174)
+- \[[`75884678d7`](https://github.com/nodejs/node/commit/75884678d7)] - **(SEMVER-MAJOR)** **src**: add UV_PIPE_NO_TRUNCATE for bind in pipe_wrap.cc (theanarkh) [#52347](https://github.com/nodejs/node/pull/52347)
+- \[[`922feb1ff5`](https://github.com/nodejs/node/commit/922feb1ff5)] - **(SEMVER-MAJOR)** **stream**: pipe to a closed or destroyed stream is not allowed in pipeline (jakecastelli) [#53241](https://github.com/nodejs/node/pull/53241)
+- \[[`ffe0dc5b87`](https://github.com/nodejs/node/commit/ffe0dc5b87)] - **(SEMVER-MAJOR)** **string_decoder**: refactor encoding validation (Yagiz Nizipli) [#54957](https://github.com/nodejs/node/pull/54957)
+- \[[`df9efba2ce`](https://github.com/nodejs/node/commit/df9efba2ce)] - **(SEMVER-MAJOR)** **test**: update v8-stats test for V8 12.6 (Michaël Zasso) [#54077](https://github.com/nodejs/node/pull/54077)
+- \[[`dbaef339aa`](https://github.com/nodejs/node/commit/dbaef339aa)] - **(SEMVER-MAJOR)** **test_runner**: detect only tests when --test is not used (Colin Ihrig) [#54881](https://github.com/nodejs/node/pull/54881)
+- \[[`eb7e18fe94`](https://github.com/nodejs/node/commit/eb7e18fe94)] - **(SEMVER-MAJOR)** **test_runner**: always make spec the default reporter (Colin Ihrig) [#54548](https://github.com/nodejs/node/pull/54548)
+- \[[`0db38f0f99`](https://github.com/nodejs/node/commit/0db38f0f99)] - **(SEMVER-MAJOR)** **test_runner**: expose lcov reporter as newable function (Chemi Atlow) [#52403](https://github.com/nodejs/node/pull/52403)
+- \[[`f5ed3386fd`](https://github.com/nodejs/node/commit/f5ed3386fd)] - **(SEMVER-MAJOR)** **timers**: emit warning if delay is negative or NaN (jakecastelli) [#46678](https://github.com/nodejs/node/pull/46678)
+- \[[`f666a1b754`](https://github.com/nodejs/node/commit/f666a1b754)] - **(SEMVER-MAJOR)** **tls**: fix 'ERR_TLS_PSK_SET_IDENTIY_HINT_FAILED' typo (Aviv Keller) [#52627](https://github.com/nodejs/node/pull/52627)
+- \[[`c8c108f9b0`](https://github.com/nodejs/node/commit/c8c108f9b0)] - **(SEMVER-MAJOR)** **tools**: add additonal include dirs for V8 on AIX (Abdirahim Musse) [#54536](https://github.com/nodejs/node/pull/54536)
+- \[[`64e8646618`](https://github.com/nodejs/node/commit/64e8646618)] - **(SEMVER-MAJOR)** **tools**: update V8 gypfiles for 12.8 (Michaël Zasso) [#54077](https://github.com/nodejs/node/pull/54077)
+- \[[`dc352a5ff2`](https://github.com/nodejs/node/commit/dc352a5ff2)] - **(SEMVER-MAJOR)** **tools**: update V8 gypfiles for 12.7 (Richard Lau) [#54077](https://github.com/nodejs/node/pull/54077)
+- \[[`8044051ce3`](https://github.com/nodejs/node/commit/8044051ce3)] - **(SEMVER-MAJOR)** **tools**: update V8 gypfiles for 12.6 (Michaël Zasso) [#54077](https://github.com/nodejs/node/pull/54077)
+- \[[`982f6ad516`](https://github.com/nodejs/node/commit/982f6ad516)] - **(SEMVER-MAJOR)** **util**: move util.log to eol (marco-ippolito) [#52744](https://github.com/nodejs/node/pull/52744)
+- \[[`1d817dcb52`](https://github.com/nodejs/node/commit/1d817dcb52)] - **(SEMVER-MAJOR)** **util**: move util.isPrimitive to eol (marco-ippolito) [#52744](https://github.com/nodejs/node/pull/52744)
+- \[[`72240942ed`](https://github.com/nodejs/node/commit/72240942ed)] - **(SEMVER-MAJOR)** **util**: move util.isFunction to eol (marco-ippolito) [#52744](https://github.com/nodejs/node/pull/52744)
+- \[[`dc379626ab`](https://github.com/nodejs/node/commit/dc379626ab)] - **(SEMVER-MAJOR)** **util**: move util.isError to eol (marco-ippolito) [#52744](https://github.com/nodejs/node/pull/52744)
+- \[[`b5cae4fea6`](https://github.com/nodejs/node/commit/b5cae4fea6)] - **(SEMVER-MAJOR)** **util**: move util.isDate to eol (marco-ippolito) [#52744](https://github.com/nodejs/node/pull/52744)
+- \[[`bd559e3e5a`](https://github.com/nodejs/node/commit/bd559e3e5a)] - **(SEMVER-MAJOR)** **util**: move util.isObject to eol (marco-ippolito) [#52744](https://github.com/nodejs/node/pull/52744)
+- \[[`d3068b9cfa`](https://github.com/nodejs/node/commit/d3068b9cfa)] - **(SEMVER-MAJOR)** **util**: move util.isRegExp to eol (marco-ippolito) [#52744](https://github.com/nodejs/node/pull/52744)
+- \[[`a59c7aeb27`](https://github.com/nodejs/node/commit/a59c7aeb27)] - **(SEMVER-MAJOR)** **util**: move util.isUndefined to eol (marco-ippolito) [#52744](https://github.com/nodejs/node/pull/52744)
+- \[[`05e72c939a`](https://github.com/nodejs/node/commit/05e72c939a)] - **(SEMVER-MAJOR)** **util**: move util.isSymbol to eol (marco-ippolito) [#52744](https://github.com/nodejs/node/pull/52744)
+- \[[`832a77c003`](https://github.com/nodejs/node/commit/832a77c003)] - **(SEMVER-MAJOR)** **util**: move util.isString to eol (marco-ippolito) [#52744](https://github.com/nodejs/node/pull/52744)
+- \[[`708f57ea49`](https://github.com/nodejs/node/commit/708f57ea49)] - **(SEMVER-MAJOR)** **util**: move util.isNumber to eol (marco-ippolito) [#52744](https://github.com/nodejs/node/pull/52744)
+- \[[`6ec403fe91`](https://github.com/nodejs/node/commit/6ec403fe91)] - **(SEMVER-MAJOR)** **util**: move util.isNullOrUndefined to eol (marco-ippolito) [#52744](https://github.com/nodejs/node/pull/52744)
+- \[[`7cd8bb26d1`](https://github.com/nodejs/node/commit/7cd8bb26d1)] - **(SEMVER-MAJOR)** **util**: move util.isNull to eol (marco-ippolito) [#52744](https://github.com/nodejs/node/pull/52744)
+- \[[`e32b0c1eab`](https://github.com/nodejs/node/commit/e32b0c1eab)] - **(SEMVER-MAJOR)** **util**: move util.isBuffer to eol (marco-ippolito) [#52744](https://github.com/nodejs/node/pull/52744)
+- \[[`be528ab11e`](https://github.com/nodejs/node/commit/be528ab11e)] - **(SEMVER-MAJOR)** **util**: move util.isBoolean to eol (marco-ippolito) [#52744](https://github.com/nodejs/node/pull/52744)
+- \[[`ac97a532f5`](https://github.com/nodejs/node/commit/ac97a532f5)] - **(SEMVER-MAJOR)** **util**: move util.\_extend to eol (marco-ippolito) [#52744](https://github.com/nodejs/node/pull/52744)
+- \[[`e225f00034`](https://github.com/nodejs/node/commit/e225f00034)] - **(SEMVER-MAJOR)** **zlib**: remove `zlib.bytesRead` (Yagiz Nizipli) [#55020](https://github.com/nodejs/node/pull/55020)
+
+### Semver-Minor Commits
+
+- \[[`90e3e5e173`](https://github.com/nodejs/node/commit/90e3e5e173)] - **(SEMVER-MINOR)** **crypto**: add KeyObject.prototype.toCryptoKey (Filip Skokan) [#55262](https://github.com/nodejs/node/pull/55262)
+- \[[`29f31c6a76`](https://github.com/nodejs/node/commit/29f31c6a76)] - **(SEMVER-MINOR)** **crypto**: add Date fields for `validTo` and `validFrom` (Andrew Moon) [#54159](https://github.com/nodejs/node/pull/54159)
+- \[[`83eb4f2855`](https://github.com/nodejs/node/commit/83eb4f2855)] - **(SEMVER-MINOR)** **deps**: V8: cherry-pick cd10ad7cdbe5 (Joyee Cheung) [#52535](https://github.com/nodejs/node/pull/52535)
+- \[[`6c6562ce8b`](https://github.com/nodejs/node/commit/6c6562ce8b)] - **(SEMVER-MINOR)** **http2**: expose nghttp2_option_set_stream_reset_rate_limit as an option (Maël Nison) [#54875](https://github.com/nodejs/node/pull/54875)
+- \[[`d473606040`](https://github.com/nodejs/node/commit/d473606040)] - **(SEMVER-MINOR)** **lib**: propagate aborted state to dependent signals before firing events (jazelly) [#54826](https://github.com/nodejs/node/pull/54826)
+- \[[`772b35bdc4`](https://github.com/nodejs/node/commit/772b35bdc4)] - **(SEMVER-MINOR)** **module**: support loading entrypoint as url (RedYetiDev) [#54933](https://github.com/nodejs/node/pull/54933)
+- \[[`06206af181`](https://github.com/nodejs/node/commit/06206af181)] - **(SEMVER-MINOR)** **module**: unflag --experimental-require-module (Joyee Cheung) [#55085](https://github.com/nodejs/node/pull/55085)
+- \[[`0b9249e335`](https://github.com/nodejs/node/commit/0b9249e335)] - **(SEMVER-MINOR)** **module**: implement the "module-sync" exports condition (Joyee Cheung) [#54648](https://github.com/nodejs/node/pull/54648)
+- \[[`62383cd113`](https://github.com/nodejs/node/commit/62383cd113)] - **(SEMVER-MINOR)** **module**: implement flushCompileCache() (Joyee Cheung) [#54971](https://github.com/nodejs/node/pull/54971)
+- \[[`4dfed556ba`](https://github.com/nodejs/node/commit/4dfed556ba)] - **(SEMVER-MINOR)** **module**: throw when invalid argument is passed to enableCompileCache() (Joyee Cheung) [#54971](https://github.com/nodejs/node/pull/54971)
+- \[[`9a73aa0d15`](https://github.com/nodejs/node/commit/9a73aa0d15)] - **(SEMVER-MINOR)** **module**: write compile cache to temporary file and then rename it (Joyee Cheung) [#54971](https://github.com/nodejs/node/pull/54971)
+- \[[`92a25abca9`](https://github.com/nodejs/node/commit/92a25abca9)] - **(SEMVER-MINOR)** **path**: add `matchGlob` method (Aviv Keller) [#52881](https://github.com/nodejs/node/pull/52881)
+- \[[`b0f025208f`](https://github.com/nodejs/node/commit/b0f025208f)] - **(SEMVER-MINOR)** **process**: add process.features.require_module (Joyee Cheung) [#55241](https://github.com/nodejs/node/pull/55241)
+- \[[`bf11e5793b`](https://github.com/nodejs/node/commit/bf11e5793b)] - **(SEMVER-MINOR)** **test_runner**: support custom arguments in `run()` (Aviv Keller) [#55126](https://github.com/nodejs/node/pull/55126)
+- \[[`059e08bb21`](https://github.com/nodejs/node/commit/059e08bb21)] - **(SEMVER-MINOR)** **test_runner**: add 'test:summary' event (Colin Ihrig) [#54851](https://github.com/nodejs/node/pull/54851)
+- \[[`f79fd03f41`](https://github.com/nodejs/node/commit/f79fd03f41)] - **(SEMVER-MINOR)** **test_runner**: add support for coverage via run() (Chemi Atlow) [#53937](https://github.com/nodejs/node/pull/53937)
+- \[[`d2ad9b4fb6`](https://github.com/nodejs/node/commit/d2ad9b4fb6)] - **(SEMVER-MINOR)** **worker**: add `markAsUncloneable` api (Jason Zhang) [#55234](https://github.com/nodejs/node/pull/55234)
+
+### Semver-Patch Commits
+
+- \[[`e1d8b4f038`](https://github.com/nodejs/node/commit/e1d8b4f038)] - **assert**: show the diff when deep comparing data with a custom message (Giovanni) [#54759](https://github.com/nodejs/node/pull/54759)
+- \[[`4eeeab09f0`](https://github.com/nodejs/node/commit/4eeeab09f0)] - **benchmark**: rewrite detect-esm-syntax benchmark (Joyee Cheung) [#55238](https://github.com/nodejs/node/pull/55238)
+- \[[`834316d541`](https://github.com/nodejs/node/commit/834316d541)] - **benchmark**: add no-warnings to process.has bench (Rafael Gonzaga) [#55159](https://github.com/nodejs/node/pull/55159)
+- \[[`00d4f8073c`](https://github.com/nodejs/node/commit/00d4f8073c)] - **benchmark**: create benchmark for typescript (Marco Ippolito) [#54904](https://github.com/nodejs/node/pull/54904)
+- \[[`96ec7eede9`](https://github.com/nodejs/node/commit/96ec7eede9)] - **benchmark**: add webstorage benchmark (jakecastelli) [#55040](https://github.com/nodejs/node/pull/55040)
+- \[[`29357cb0ef`](https://github.com/nodejs/node/commit/29357cb0ef)] - **benchmark**: include ascii to fs/readfile (Rafael Gonzaga) [#54988](https://github.com/nodejs/node/pull/54988)
+- \[[`53cba82e55`](https://github.com/nodejs/node/commit/53cba82e55)] - **benchmark**: add dotenv benchmark (Aviv Keller) [#54278](https://github.com/nodejs/node/pull/54278)
+- \[[`4062b3fb43`](https://github.com/nodejs/node/commit/4062b3fb43)] - **buffer**: coerce extrema to int in `blob.slice` (Antoine du Hamel) [#55141](https://github.com/nodejs/node/pull/55141)
+- \[[`f805d0be95`](https://github.com/nodejs/node/commit/f805d0be95)] - **buffer**: correctly apply prototype to cloned `File` / `Blob` (Aviv Keller) [#55138](https://github.com/nodejs/node/pull/55138)
+- \[[`da5887d8e9`](https://github.com/nodejs/node/commit/da5887d8e9)] - **buffer**: extract Blob's .arrayBuffer() & webidl changes (Matthew Aitken) [#53372](https://github.com/nodejs/node/pull/53372)
+- \[[`0d4387ebe2`](https://github.com/nodejs/node/commit/0d4387ebe2)] - **buffer**: use simdutf convert_latin1_to_utf8_safe (Robert Nagy) [#54798](https://github.com/nodejs/node/pull/54798)
+- \[[`ae1e2b53b7`](https://github.com/nodejs/node/commit/ae1e2b53b7)] - **build**: fix notify-on-review-wanted action (Rafael Gonzaga) [#55304](https://github.com/nodejs/node/pull/55304)
+- \[[`22bc15764b`](https://github.com/nodejs/node/commit/22bc15764b)] - **build**: include `.nycrc` in coverage workflows (Wuli Zuo) [#55210](https://github.com/nodejs/node/pull/55210)
+- \[[`28ffa4b751`](https://github.com/nodejs/node/commit/28ffa4b751)] - **build**: fix not valid json in coverage (jakecastelli) [#55179](https://github.com/nodejs/node/pull/55179)
+- \[[`1398c04c47`](https://github.com/nodejs/node/commit/1398c04c47)] - **build**: notify via slack when review-wanted (Rafael Gonzaga) [#55102](https://github.com/nodejs/node/pull/55102)
+- \[[`b2c42dbcbb`](https://github.com/nodejs/node/commit/b2c42dbcbb)] - **build**: add more information to Makefile help (Aviv Keller) [#53381](https://github.com/nodejs/node/pull/53381)
+- \[[`a1cd3c8777`](https://github.com/nodejs/node/commit/a1cd3c8777)] - **build**: update ruff and add `lint-py-fix` (Aviv Keller) [#54410](https://github.com/nodejs/node/pull/54410)
+- \[[`6a6c957be7`](https://github.com/nodejs/node/commit/6a6c957be7)] - **build**: remove -v flag to reduce noise (iwuliz) [#55025](https://github.com/nodejs/node/pull/55025)
+- \[[`5f6bb7d007`](https://github.com/nodejs/node/commit/5f6bb7d007)] - **build**: display free disk space after build in the test-macOS workflow (iwuliz) [#55025](https://github.com/nodejs/node/pull/55025)
+- \[[`415b82d8b8`](https://github.com/nodejs/node/commit/415b82d8b8)] - **build**: support up to python 3.13 in android-configure (Aviv Keller) [#54529](https://github.com/nodejs/node/pull/54529)
+- \[[`beb1892036`](https://github.com/nodejs/node/commit/beb1892036)] - **build**: add the option to generate compile_commands.json in vcbuild.bat (Segev Finer) [#52279](https://github.com/nodejs/node/pull/52279)
+- \[[`81cc72996a`](https://github.com/nodejs/node/commit/81cc72996a)] - **build**: fix eslint makefile target (Aviv Keller) [#54999](https://github.com/nodejs/node/pull/54999)
+- \[[`7e00be7650`](https://github.com/nodejs/node/commit/7e00be7650)] - _**Revert**_ "**build**: upgrade clang-format to v18" (Chengzhong Wu) [#54994](https://github.com/nodejs/node/pull/54994)
+- \[[`96e057093f`](https://github.com/nodejs/node/commit/96e057093f)] - **build**: print `Running XYZ linter...` for py and yml (Aviv Keller) [#54386](https://github.com/nodejs/node/pull/54386)
+- \[[`ab5e58bf29`](https://github.com/nodejs/node/commit/ab5e58bf29)] - _**Revert**_ "**build**: only generate specified build type files" (Chengzhong Wu) [#53580](https://github.com/nodejs/node/pull/53580)
+- \[[`6cb940a546`](https://github.com/nodejs/node/commit/6cb940a546)] - **build**: only generate specified build type files (Chengzhong Wu) [#53511](https://github.com/nodejs/node/pull/53511)
+- \[[`27f8d9e9d2`](https://github.com/nodejs/node/commit/27f8d9e9d2)] - **build,win**: enable pch for clang-cl (Stefan Stojanovic) [#55249](https://github.com/nodejs/node/pull/55249)
+- \[[`bbf08c6a1b`](https://github.com/nodejs/node/commit/bbf08c6a1b)] - **build,win**: add winget config to set up env (Hüseyin Açacak) [#54729](https://github.com/nodejs/node/pull/54729)
+- \[[`653b96527a`](https://github.com/nodejs/node/commit/653b96527a)] - **build,win**: float VS 17.11 compilation patch (Stefan Stojanovic) [#54970](https://github.com/nodejs/node/pull/54970)
+- \[[`0c5fa57bc7`](https://github.com/nodejs/node/commit/0c5fa57bc7)] - **cli**: ensure --run has proper pwd (Yagiz Nizipli) [#54949](https://github.com/nodejs/node/pull/54949)
+- \[[`65768bca59`](https://github.com/nodejs/node/commit/65768bca59)] - **cli**: fix spacing for port range error (Aviv Keller) [#54495](https://github.com/nodejs/node/pull/54495)
+- \[[`2d77ba5d30`](https://github.com/nodejs/node/commit/2d77ba5d30)] - _**Revert**_ "**console**: colorize console error and warn" (Aviv Keller) [#54677](https://github.com/nodejs/node/pull/54677)
+- \[[`b64006c0ed`](https://github.com/nodejs/node/commit/b64006c0ed)] - **crypto**: ensure invalid SubtleCrypto JWK data import results in DataError (Filip Skokan) [#55041](https://github.com/nodejs/node/pull/55041)
+- \[[`7a3027d563`](https://github.com/nodejs/node/commit/7a3027d563)] - **deps**: update undici to 6.20.0 (Node.js GitHub Bot) [#55329](https://github.com/nodejs/node/pull/55329)
+- \[[`54b5ec94e0`](https://github.com/nodejs/node/commit/54b5ec94e0)] - **deps**: patch V8 to 12.9.202.26 (Node.js GitHub Bot) [#55161](https://github.com/nodejs/node/pull/55161)
+- \[[`20d8b85d34`](https://github.com/nodejs/node/commit/20d8b85d34)] - **deps**: upgrade npm to 10.9.0 (npm team) [#55255](https://github.com/nodejs/node/pull/55255)
+- \[[`fe45be207b`](https://github.com/nodejs/node/commit/fe45be207b)] - **deps**: V8: backport 0d5d6e71bbb0 (Yagiz Nizipli) [#55115](https://github.com/nodejs/node/pull/55115)
+- \[[`5ff9b072b2`](https://github.com/nodejs/node/commit/5ff9b072b2)] - **deps**: update archs files for openssl-3.0.15+quic1 (Node.js GitHub Bot) [#55184](https://github.com/nodejs/node/pull/55184)
+- \[[`302e6afe8c`](https://github.com/nodejs/node/commit/302e6afe8c)] - **deps**: upgrade openssl sources to quictls/openssl-3.0.15+quic1 (Node.js GitHub Bot) [#55184](https://github.com/nodejs/node/pull/55184)
+- \[[`5f78e2c880`](https://github.com/nodejs/node/commit/5f78e2c880)] - **deps**: update timezone to 2024b (Node.js GitHub Bot) [#55056](https://github.com/nodejs/node/pull/55056)
+- \[[`5ed3296051`](https://github.com/nodejs/node/commit/5ed3296051)] - **deps**: patch V8 to 12.9.202.19 (Node.js GitHub Bot) [#55057](https://github.com/nodejs/node/pull/55057)
+- \[[`a6ece28604`](https://github.com/nodejs/node/commit/a6ece28604)] - **deps**: update acorn-walk to 8.3.4 (Node.js GitHub Bot) [#54950](https://github.com/nodejs/node/pull/54950)
+- \[[`a428b21066`](https://github.com/nodejs/node/commit/a428b21066)] - **deps**: update corepack to 0.29.4 (Node.js GitHub Bot) [#54845](https://github.com/nodejs/node/pull/54845)
+- \[[`260f1f4608`](https://github.com/nodejs/node/commit/260f1f4608)] - **deps**: patch V8 to 12.8.374.33 (Node.js GitHub Bot) [#54952](https://github.com/nodejs/node/pull/54952)
+- \[[`b887942e6b`](https://github.com/nodejs/node/commit/b887942e6b)] - **deps**: patch V8 to 12.8.374.32 (Node.js GitHub Bot) [#54884](https://github.com/nodejs/node/pull/54884)
+- \[[`9087056060`](https://github.com/nodejs/node/commit/9087056060)] - **deps**: patch V8 to 12.8.374.31 (Michaël Zasso) [#54682](https://github.com/nodejs/node/pull/54682)
+- \[[`6bce6f69c6`](https://github.com/nodejs/node/commit/6bce6f69c6)] - _**Revert**_ "**deps**: remove bogus V8 DCHECK" (Michaël Zasso) [#54682](https://github.com/nodejs/node/pull/54682)
+- \[[`0c771c35fa`](https://github.com/nodejs/node/commit/0c771c35fa)] - **deps**: patch V8 to 12.8.374.22 (Node.js GitHub Bot) [#54435](https://github.com/nodejs/node/pull/54435)
+- \[[`543d1a9cb9`](https://github.com/nodejs/node/commit/543d1a9cb9)] - **deps**: update archs files for openssl-3.0.14+quic1 (Node.js GitHub Bot) [#54336](https://github.com/nodejs/node/pull/54336)
+- \[[`94d062bc78`](https://github.com/nodejs/node/commit/94d062bc78)] - **deps**: upgrade openssl sources to quictls/openssl-3.0.14+quic1 (Node.js GitHub Bot) [#54336](https://github.com/nodejs/node/pull/54336)
+- \[[`8e33f20a64`](https://github.com/nodejs/node/commit/8e33f20a64)] - _**Revert**_ "**deps**: V8: cherry-pick 9ebca66a5740" (Joyee Cheung) [#53582](https://github.com/nodejs/node/pull/53582)
+- \[[`4c730aed7f`](https://github.com/nodejs/node/commit/4c730aed7f)] - **deps**: V8: cherry-pick 9ebca66a5740 (Chengzhong Wu) [#53522](https://github.com/nodejs/node/pull/53522)
+- \[[`e9904fe49a`](https://github.com/nodejs/node/commit/e9904fe49a)] - **doc**: edit onboarding guide to clarify when mailmap addition is needed (Antoine du Hamel) [#55334](https://github.com/nodejs/node/pull/55334)
+- \[[`acd698a5c8`](https://github.com/nodejs/node/commit/acd698a5c8)] - **doc**: fix the return type of outgoingMessage.setHeaders() (Jimmy Leung) [#55290](https://github.com/nodejs/node/pull/55290)
+- \[[`d620755661`](https://github.com/nodejs/node/commit/d620755661)] - **doc**: add release key for aduh95 (Antoine du Hamel) [#55349](https://github.com/nodejs/node/pull/55349)
+- \[[`4a3fffaf58`](https://github.com/nodejs/node/commit/4a3fffaf58)] - **doc**: move `ERR_INVALID_PERFORMANCE_MARK` to legacy errors (Antoine du Hamel) [#55247](https://github.com/nodejs/node/pull/55247)
+- \[[`e79ae1bf0c`](https://github.com/nodejs/node/commit/e79ae1bf0c)] - **doc**: reserve 132 for Electron 34 (Michaela Laurencin) [#55306](https://github.com/nodejs/node/pull/55306)
+- \[[`33fe88a0b3`](https://github.com/nodejs/node/commit/33fe88a0b3)] - **doc**: add pmarchini to collaborators (Pietro Marchini) [#55331](https://github.com/nodejs/node/pull/55331)
+- \[[`755b89772d`](https://github.com/nodejs/node/commit/755b89772d)] - **doc**: fix `events.once()` example using `AbortSignal` (Ivo Janssen) [#55144](https://github.com/nodejs/node/pull/55144)
+- \[[`accb239272`](https://github.com/nodejs/node/commit/accb239272)] - **doc**: add onboarding details for ambassador program (Marco Ippolito) [#55284](https://github.com/nodejs/node/pull/55284)
+- \[[`a301596c41`](https://github.com/nodejs/node/commit/a301596c41)] - **doc**: move `ERR_NAPI_TSFN_START/STOP_IDLE_LOOP` to legacy errors (Antoine du Hamel) [#55248](https://github.com/nodejs/node/pull/55248)
+- \[[`32efeea0c0`](https://github.com/nodejs/node/commit/32efeea0c0)] - **doc**: fix initial default value of autoSelectFamily (Ihor Rohovets) [#55245](https://github.com/nodejs/node/pull/55245)
+- \[[`cc9b9a7f70`](https://github.com/nodejs/node/commit/cc9b9a7f70)] - **doc**: tweak onboarding instructions (Michael Dawson) [#55212](https://github.com/nodejs/node/pull/55212)
+- \[[`c9cffb73b3`](https://github.com/nodejs/node/commit/c9cffb73b3)] - **doc**: update test context.assert (Pietro Marchini) [#55186](https://github.com/nodejs/node/pull/55186)
+- \[[`348d865652`](https://github.com/nodejs/node/commit/348d865652)] - **doc**: update `require(ESM)` history and stability status (Antoine du Hamel) [#55199](https://github.com/nodejs/node/pull/55199)
+- \[[`14b53df33c`](https://github.com/nodejs/node/commit/14b53df33c)] - **doc**: fix unordered error anchors (Antoine du Hamel) [#55242](https://github.com/nodejs/node/pull/55242)
+- \[[`dec10991e7`](https://github.com/nodejs/node/commit/dec10991e7)] - **doc**: mention addons to experimental permission (Rafael Gonzaga) [#55166](https://github.com/nodejs/node/pull/55166)
+- \[[`cebf21dfa5`](https://github.com/nodejs/node/commit/cebf21dfa5)] - **doc**: use correct dash in stability status (Antoine du Hamel) [#55200](https://github.com/nodejs/node/pull/55200)
+- \[[`0f02810fc9`](https://github.com/nodejs/node/commit/0f02810fc9)] - **doc**: fix link in `test/README.md` (Livia Medeiros) [#55165](https://github.com/nodejs/node/pull/55165)
+- \[[`22b4b7c626`](https://github.com/nodejs/node/commit/22b4b7c626)] - **doc**: fix typos (Nathan Baulch) [#55066](https://github.com/nodejs/node/pull/55066)
+- \[[`e6427e1d87`](https://github.com/nodejs/node/commit/e6427e1d87)] - **doc**: add esm examples to node:net (Alfredo González) [#55134](https://github.com/nodejs/node/pull/55134)
+- \[[`6d1cd506b5`](https://github.com/nodejs/node/commit/6d1cd506b5)] - **doc**: remove outdated https import reference (Edigleysson Silva (Edy)) [#55111](https://github.com/nodejs/node/pull/55111)
+- \[[`5368cdcf8a`](https://github.com/nodejs/node/commit/5368cdcf8a)] - **doc**: move the YAML changes element (sendoru) [#55112](https://github.com/nodejs/node/pull/55112)
+- \[[`23743f63fb`](https://github.com/nodejs/node/commit/23743f63fb)] - **doc**: remove random horizontal separators in `process.md` (Antoine du Hamel) [#55149](https://github.com/nodejs/node/pull/55149)
+- \[[`18acff0d01`](https://github.com/nodejs/node/commit/18acff0d01)] - **doc**: put --env-file-if-exists=config right under --env-file=config (Edigleysson Silva (Edy)) [#55131](https://github.com/nodejs/node/pull/55131)
+- \[[`fd787c96e1`](https://github.com/nodejs/node/commit/fd787c96e1)] - **doc**: fix the require resolve algorithm in `modules.md` (chirsz) [#55117](https://github.com/nodejs/node/pull/55117)
+- \[[`668e523392`](https://github.com/nodejs/node/commit/668e523392)] - **doc**: update style guide (Aviv Keller) [#53223](https://github.com/nodejs/node/pull/53223)
+- \[[`ae82b455d1`](https://github.com/nodejs/node/commit/ae82b455d1)] - **doc**: add missing `:` to `run()`'s `globPatterns` (Aviv Keller) [#55135](https://github.com/nodejs/node/pull/55135)
+- \[[`7f480818b7`](https://github.com/nodejs/node/commit/7f480818b7)] - **doc**: correct `cleanup` option in stream.(promises.)finished (René) [#55043](https://github.com/nodejs/node/pull/55043)
+- \[[`b8493a5789`](https://github.com/nodejs/node/commit/b8493a5789)] - **doc**: add abmusse to collaborators (Abdirahim Musse) [#55086](https://github.com/nodejs/node/pull/55086)
+- \[[`f20c42e964`](https://github.com/nodejs/node/commit/f20c42e964)] - **doc**: add note about `--expose-internals` (Aviv Keller) [#52861](https://github.com/nodejs/node/pull/52861)
+- \[[`1c61a83444`](https://github.com/nodejs/node/commit/1c61a83444)] - **doc**: remove `parseREPLKeyword` from REPL documentation (Aviv Keller) [#54749](https://github.com/nodejs/node/pull/54749)
+- \[[`65362f0181`](https://github.com/nodejs/node/commit/65362f0181)] - **doc**: add missing EventSource docs to globals (Matthew Aitken) [#55022](https://github.com/nodejs/node/pull/55022)
+- \[[`5e25c2a79a`](https://github.com/nodejs/node/commit/5e25c2a79a)] - **doc**: cover --experimental-test-module-mocks flag (Jonathan Sharpe) [#55021](https://github.com/nodejs/node/pull/55021)
+- \[[`99433a2d7a`](https://github.com/nodejs/node/commit/99433a2d7a)] - **doc**: add more details for localStorage and sessionStorage (Batuhan Tomo) [#53881](https://github.com/nodejs/node/pull/53881)
+- \[[`b446a587ba`](https://github.com/nodejs/node/commit/b446a587ba)] - **doc**: mark v21 as End-of-Life (Aviv Keller) [#54984](https://github.com/nodejs/node/pull/54984)
+- \[[`5e87577b4f`](https://github.com/nodejs/node/commit/5e87577b4f)] - **doc**: change backporting guide with updated info (Aviv Keller) [#53746](https://github.com/nodejs/node/pull/53746)
+- \[[`de47b3122a`](https://github.com/nodejs/node/commit/de47b3122a)] - **doc**: add missing definitions to `internal-api.md` (Aviv Keller) [#53303](https://github.com/nodejs/node/pull/53303)
+- \[[`421977cd48`](https://github.com/nodejs/node/commit/421977cd48)] - **doc**: fix history of `process.features` (Antoine du Hamel) [#54982](https://github.com/nodejs/node/pull/54982)
+- \[[`305137faae`](https://github.com/nodejs/node/commit/305137faae)] - **doc**: fix typo callsite.lineNumber (Rafael Gonzaga) [#54969](https://github.com/nodejs/node/pull/54969)
+- \[[`7feff2434d`](https://github.com/nodejs/node/commit/7feff2434d)] - **doc**: update documentation for externalizing deps (Michael Dawson) [#54792](https://github.com/nodejs/node/pull/54792)
+- \[[`cb20c5b9f4`](https://github.com/nodejs/node/commit/cb20c5b9f4)] - **doc**: add documentation for process.features (Marco Ippolito) [#54897](https://github.com/nodejs/node/pull/54897)
+- \[[`24302c9fe9`](https://github.com/nodejs/node/commit/24302c9fe9)] - **doc**: fix typo in CppgcMixin docs (Joyee Cheung) [#54762](https://github.com/nodejs/node/pull/54762)
+- \[[`7327e44a05`](https://github.com/nodejs/node/commit/7327e44a05)] - **doc**: sort versions to fix the linter error (Rafael Gonzaga) [#54229](https://github.com/nodejs/node/pull/54229)
+- \[[`fb852798dc`](https://github.com/nodejs/node/commit/fb852798dc)] - **esm**: do not interpret `"main"` as a URL (Antoine du Hamel) [#55003](https://github.com/nodejs/node/pull/55003)
+- \[[`8fd90938f9`](https://github.com/nodejs/node/commit/8fd90938f9)] - **esm**: remove --no-import-harmony-assertions (Shu-yu Guo) [#54890](https://github.com/nodejs/node/pull/54890)
+- \[[`a9081b5391`](https://github.com/nodejs/node/commit/a9081b5391)] - **events**: allow null/undefined eventInitDict (Matthew Aitken) [#54643](https://github.com/nodejs/node/pull/54643)
+- \[[`0de1cf004c`](https://github.com/nodejs/node/commit/0de1cf004c)] - **events**: return `currentTarget` when dispatching (Matthew Aitken) [#54642](https://github.com/nodejs/node/pull/54642)
+- \[[`9f9069d313`](https://github.com/nodejs/node/commit/9f9069d313)] - **fs**: fix linter issue (Antoine du Hamel) [#55353](https://github.com/nodejs/node/pull/55353)
+- \[[`36ca010bef`](https://github.com/nodejs/node/commit/36ca010bef)] - **fs**: acknowledge `signal` option in `filehandle.createReadStream()` (Livia Medeiros) [#55148](https://github.com/nodejs/node/pull/55148)
+- \[[`7fe5bcd29e`](https://github.com/nodejs/node/commit/7fe5bcd29e)] - **fs**: check subdir correctly in cpSync (Jason Zhang) [#55033](https://github.com/nodejs/node/pull/55033)
+- \[[`090add7864`](https://github.com/nodejs/node/commit/090add7864)] - **fs**: refactoring declaratively with `Array.fromAsync` (Sonny) [#54644](https://github.com/nodejs/node/pull/54644)
+- \[[`77ca5ca075`](https://github.com/nodejs/node/commit/77ca5ca075)] - **fs**: convert to u8 string for filesystem path (Jason Zhang) [#54653](https://github.com/nodejs/node/pull/54653)
+- \[[`cf2bce6386`](https://github.com/nodejs/node/commit/cf2bce6386)] - **fs**: fix regression on rmsync (Yagiz Nizipli) [#53982](https://github.com/nodejs/node/pull/53982)
+- \[[`7168295e7a`](https://github.com/nodejs/node/commit/7168295e7a)] - **fs**: move `rmSync` implementation to c++ (Yagiz Nizipli) [#53617](https://github.com/nodejs/node/pull/53617)
+- \[[`71785889c8`](https://github.com/nodejs/node/commit/71785889c8)] - **lib**: prefer logical assignment (Aviv Keller) [#55044](https://github.com/nodejs/node/pull/55044)
+- \[[`78f421de88`](https://github.com/nodejs/node/commit/78f421de88)] - **lib**: fix module print timing when specifier includes `"` (Antoine du Hamel) [#55150](https://github.com/nodejs/node/pull/55150)
+- \[[`d5eb9a378e`](https://github.com/nodejs/node/commit/d5eb9a378e)] - **lib**: remove `Symbol[Async]Dispose` polyfills (Michaël Zasso) [#55276](https://github.com/nodejs/node/pull/55276)
+- \[[`4c045351c1`](https://github.com/nodejs/node/commit/4c045351c1)] - **lib**: fix typos (Nathan Baulch) [#55065](https://github.com/nodejs/node/pull/55065)
+- \[[`574f2dd517`](https://github.com/nodejs/node/commit/574f2dd517)] - **lib**: prefer optional chaining (Aviv Keller) [#55045](https://github.com/nodejs/node/pull/55045)
+- \[[`76edde5cd0`](https://github.com/nodejs/node/commit/76edde5cd0)] - **lib**: remove lib/internal/idna.js (Yagiz Nizipli) [#55050](https://github.com/nodejs/node/pull/55050)
+- \[[`7014e50ca3`](https://github.com/nodejs/node/commit/7014e50ca3)] - **lib**: the REPL should survive deletion of Array.prototype methods (Jordan Harband) [#31457](https://github.com/nodejs/node/pull/31457)
+- \[[`5c22d19f44`](https://github.com/nodejs/node/commit/5c22d19f44)] - **lib, tools**: remove duplicate requires (Aviv Keller) [#54987](https://github.com/nodejs/node/pull/54987)
+- \[[`24648b5769`](https://github.com/nodejs/node/commit/24648b5769)] - **lib,esm**: handle bypass network-import via data: (Rafael Gonzaga) [#53764](https://github.com/nodejs/node/pull/53764)
+- \[[`1d38bd1122`](https://github.com/nodejs/node/commit/1d38bd1122)] - **meta**: move one or more collaborators to emeritus (Node.js GitHub Bot) [#55300](https://github.com/nodejs/node/pull/55300)
+- \[[`98788dace6`](https://github.com/nodejs/node/commit/98788dace6)] - **meta**: bump mozilla-actions/sccache-action from 0.0.5 to 0.0.6 (dependabot\[bot]) [#55225](https://github.com/nodejs/node/pull/55225)
+- \[[`8de2695fe5`](https://github.com/nodejs/node/commit/8de2695fe5)] - **meta**: bump actions/checkout from 4.1.7 to 4.2.0 (dependabot\[bot]) [#55224](https://github.com/nodejs/node/pull/55224)
+- \[[`ccae9c0fef`](https://github.com/nodejs/node/commit/ccae9c0fef)] - **meta**: bump actions/setup-node from 4.0.3 to 4.0.4 (dependabot\[bot]) [#55223](https://github.com/nodejs/node/pull/55223)
+- \[[`fd4959c67a`](https://github.com/nodejs/node/commit/fd4959c67a)] - **meta**: bump peter-evans/create-pull-request from 7.0.1 to 7.0.5 (dependabot\[bot]) [#55219](https://github.com/nodejs/node/pull/55219)
+- \[[`c08bb75618`](https://github.com/nodejs/node/commit/c08bb75618)] - **meta**: add mailmap entry for abmusse (Abdirahim Musse) [#55182](https://github.com/nodejs/node/pull/55182)
+- \[[`18800da280`](https://github.com/nodejs/node/commit/18800da280)] - **meta**: add more information about nightly releases (Aviv Keller) [#55084](https://github.com/nodejs/node/pull/55084)
+- \[[`eda98728da`](https://github.com/nodejs/node/commit/eda98728da)] - **meta**: add `linux` to OS labels in collaborator guide (Aviv Keller) [#54986](https://github.com/nodejs/node/pull/54986)
+- \[[`8aa57918c2`](https://github.com/nodejs/node/commit/8aa57918c2)] - **meta**: remove never-used workflow trigger (Aviv Keller) [#54983](https://github.com/nodejs/node/pull/54983)
+- \[[`c6ae161237`](https://github.com/nodejs/node/commit/c6ae161237)] - **meta**: remove unneeded ignore rules from ruff (Aviv Keller) [#54360](https://github.com/nodejs/node/pull/54360)
+- \[[`ccc7ce09f2`](https://github.com/nodejs/node/commit/ccc7ce09f2)] - **meta**: remove `build-windows.yml` (Aviv Keller) [#54662](https://github.com/nodejs/node/pull/54662)
+- \[[`f88fe776ef`](https://github.com/nodejs/node/commit/f88fe776ef)] - **meta**: add links to alternative issue trackers (Aviv Keller) [#54401](https://github.com/nodejs/node/pull/54401)
+- \[[`90f56dbad9`](https://github.com/nodejs/node/commit/90f56dbad9)] - **module**: throw ERR_NO_TYPESCRIPT when compiled without amaro (Marco Ippolito) [#55332](https://github.com/nodejs/node/pull/55332)
+- \[[`31a37e777d`](https://github.com/nodejs/node/commit/31a37e777d)] - **module**: wrap swc error in ERR_INVALID_TYPESCRIPT_SYNTAX (Marco Ippolito) [#55316](https://github.com/nodejs/node/pull/55316)
+- \[[`3fb7426f83`](https://github.com/nodejs/node/commit/3fb7426f83)] - **module**: check --experimental-require-module separately from detection (Joyee Cheung) [#55250](https://github.com/nodejs/node/pull/55250)
+- \[[`bdd590be73`](https://github.com/nodejs/node/commit/bdd590be73)] - **module**: use kNodeModulesRE to detect node_modules (Joyee Cheung) [#55243](https://github.com/nodejs/node/pull/55243)
+- \[[`5e4da33d97`](https://github.com/nodejs/node/commit/5e4da33d97)] - **module**: add internal type def for `flushCompileCache` (Jacob Smith) [#55226](https://github.com/nodejs/node/pull/55226)
+- \[[`d24c7313f7`](https://github.com/nodejs/node/commit/d24c7313f7)] - **module**: support 'module.exports' interop export in require(esm) (Guy Bedford) [#54563](https://github.com/nodejs/node/pull/54563)
+- \[[`12f92b04f4`](https://github.com/nodejs/node/commit/12f92b04f4)] - **module**: remove duplicated import (Aviv Keller) [#54942](https://github.com/nodejs/node/pull/54942)
+- \[[`be4babb3c2`](https://github.com/nodejs/node/commit/be4babb3c2)] - **module**: report unfinished TLA in ambiguous modules (Antoine du Hamel) [#54980](https://github.com/nodejs/node/pull/54980)
+- \[[`3ac5b49d85`](https://github.com/nodejs/node/commit/3ac5b49d85)] - **module**: refator ESM loader for adding future synchronous hooks (Joyee Cheung) [#54769](https://github.com/nodejs/node/pull/54769)
+- \[[`3c4ef343ee`](https://github.com/nodejs/node/commit/3c4ef343ee)] - **module**: remove bogus assertion in CJS entrypoint handling with --import (Joyee Cheung) [#54592](https://github.com/nodejs/node/pull/54592)
+- \[[`e35902cddb`](https://github.com/nodejs/node/commit/e35902cddb)] - **module**: fix discrepancy between .ts and .js (Marco Ippolito) [#54461](https://github.com/nodejs/node/pull/54461)
+- \[[`fdf838aee6`](https://github.com/nodejs/node/commit/fdf838aee6)] - **node-api**: add napi_create_buffer_from_arraybuffer method (Mert Can Altin) [#54505](https://github.com/nodejs/node/pull/54505)
+- \[[`87e7aeb672`](https://github.com/nodejs/node/commit/87e7aeb672)] - **os**: use const with early return for path (Trivikram Kamat) [#54959](https://github.com/nodejs/node/pull/54959)
+- \[[`e42ca5c1a9`](https://github.com/nodejs/node/commit/e42ca5c1a9)] - **path**: remove repetitive conditional operator in `posix.resolve` (Wiyeong Seo) [#54835](https://github.com/nodejs/node/pull/54835)
+- \[[`04750afb1e`](https://github.com/nodejs/node/commit/04750afb1e)] - **perf_hooks**: add missing type argument to getEntriesByName (Luke Taher) [#54767](https://github.com/nodejs/node/pull/54767)
+- \[[`f98d9c125c`](https://github.com/nodejs/node/commit/f98d9c125c)] - **process**: fix `process.features.typescript` when Amaro is unavailable (Antoine du Hamel) [#55323](https://github.com/nodejs/node/pull/55323)
+- \[[`bbdfeebd9e`](https://github.com/nodejs/node/commit/bbdfeebd9e)] - **process**: add `process.features.typescript` (Aviv Keller) [#54295](https://github.com/nodejs/node/pull/54295)
+- \[[`cdae315706`](https://github.com/nodejs/node/commit/cdae315706)] - **quic**: start adding in the internal quic js api (James M Snell) [#53256](https://github.com/nodejs/node/pull/53256)
+- \[[`c6d20a034d`](https://github.com/nodejs/node/commit/c6d20a034d)] - **repl**: catch `\v` and `\r` in new-line detection (Aviv Keller) [#54512](https://github.com/nodejs/node/pull/54512)
+- \[[`09d10b50dc`](https://github.com/nodejs/node/commit/09d10b50dc)] - **sqlite**: disable DQS misfeature by default (Tobias Nießen) [#55297](https://github.com/nodejs/node/pull/55297)
+- \[[`7af434fc19`](https://github.com/nodejs/node/commit/7af434fc19)] - **sqlite**: make sourceSQL and expandedSQL string-valued properties (Tobias Nießen) [#54721](https://github.com/nodejs/node/pull/54721)
+- \[[`a49abec6c3`](https://github.com/nodejs/node/commit/a49abec6c3)] - **sqlite**: enable foreign key constraints by default (Tobias Nießen) [#54777](https://github.com/nodejs/node/pull/54777)
+- \[[`14353387eb`](https://github.com/nodejs/node/commit/14353387eb)] - **src**: implement IsInsideNodeModules() in C++ (Joyee Cheung) [#55286](https://github.com/nodejs/node/pull/55286)
+- \[[`18536d95e2`](https://github.com/nodejs/node/commit/18536d95e2)] - **src**: apply getCallSite optimization (RafaelGSS) [#55174](https://github.com/nodejs/node/pull/55174)
+- \[[`317d2450f9`](https://github.com/nodejs/node/commit/317d2450f9)] - **src**: modernize likely/unlikely hints (Yagiz Nizipli) [#55155](https://github.com/nodejs/node/pull/55155)
+- \[[`33bbf3751b`](https://github.com/nodejs/node/commit/33bbf3751b)] - **src**: fixup Error.stackTraceLimit during snapshot building (Joyee Cheung) [#55121](https://github.com/nodejs/node/pull/55121)
+- \[[`65fbc95949`](https://github.com/nodejs/node/commit/65fbc95949)] - **src**: parse --stack-trace-limit and use it in --trace-\* flags (Joyee Cheung) [#55121](https://github.com/nodejs/node/pull/55121)
+- \[[`858bce5698`](https://github.com/nodejs/node/commit/858bce5698)] - **src**: make minor tweaks to quic c++ for c++20 (James M Snell) [#53256](https://github.com/nodejs/node/pull/53256)
+- \[[`ac53a5b29d`](https://github.com/nodejs/node/commit/ac53a5b29d)] - **src**: move more key handling to ncrypto (James M Snell) [#55108](https://github.com/nodejs/node/pull/55108)
+- \[[`f5d454ac7e`](https://github.com/nodejs/node/commit/f5d454ac7e)] - **src**: add receiver to fast api callback methods (Carlos Espa) [#54408](https://github.com/nodejs/node/pull/54408)
+- \[[`b5fb2ff81e`](https://github.com/nodejs/node/commit/b5fb2ff81e)] - **src**: fix typos (Nathan Baulch) [#55064](https://github.com/nodejs/node/pull/55064)
+- \[[`812806a757`](https://github.com/nodejs/node/commit/812806a757)] - **src**: move more stuff over to use Maybe\ (James M Snell) [#54831](https://github.com/nodejs/node/pull/54831)
+- \[[`84966703e0`](https://github.com/nodejs/node/commit/84966703e0)] - **src**: track BaseObjects with an efficient list (Chengzhong Wu) [#55104](https://github.com/nodejs/node/pull/55104)
+- \[[`02cdf7b809`](https://github.com/nodejs/node/commit/02cdf7b809)] - **src**: decode native error messages as UTF-8 (Joyee Cheung) [#55024](https://github.com/nodejs/node/pull/55024)
+- \[[`6fb9f56994`](https://github.com/nodejs/node/commit/6fb9f56994)] - **src**: update clang-tidy and focus on modernization (Yagiz Nizipli) [#53757](https://github.com/nodejs/node/pull/53757)
+- \[[`773e7c67cf`](https://github.com/nodejs/node/commit/773e7c67cf)] - **src**: do not call path.back() when it is empty (Cheng) [#55072](https://github.com/nodejs/node/pull/55072)
+- \[[`c4681d55ae`](https://github.com/nodejs/node/commit/c4681d55ae)] - **src**: move evp stuff to ncrypto (James M Snell) [#54911](https://github.com/nodejs/node/pull/54911)
+- \[[`5a966714c1`](https://github.com/nodejs/node/commit/5a966714c1)] - **src**: revert filesystem::path changes (Yagiz Nizipli) [#55015](https://github.com/nodejs/node/pull/55015)
+- \[[`12dd4c7575`](https://github.com/nodejs/node/commit/12dd4c7575)] - **src**: mark node --run as stable (Yagiz Nizipli) [#53763](https://github.com/nodejs/node/pull/53763)
+- \[[`8b8fc53c9a`](https://github.com/nodejs/node/commit/8b8fc53c9a)] - **src**: cleanup per env handles directly without a list (Chengzhong Wu) [#54993](https://github.com/nodejs/node/pull/54993)
+- \[[`fd8c762fab`](https://github.com/nodejs/node/commit/fd8c762fab)] - **src**: add unistd.h import if node posix credentials is defined (Jonas) [#54528](https://github.com/nodejs/node/pull/54528)
+- \[[`d496d44145`](https://github.com/nodejs/node/commit/d496d44145)] - **src**: remove duplicate code setting AF_INET (He Yang) [#54939](https://github.com/nodejs/node/pull/54939)
+- \[[`d2a4f92920`](https://github.com/nodejs/node/commit/d2a4f92920)] - **src**: use `Maybe` where bool isn't needed (Michaël Zasso) [#54575](https://github.com/nodejs/node/pull/54575)
+- \[[`8191e1f575`](https://github.com/nodejs/node/commit/8191e1f575)] - **src**: improve utf8 string generation performance (Yagiz Nizipli) [#54873](https://github.com/nodejs/node/pull/54873)
+- \[[`9f5977fdac`](https://github.com/nodejs/node/commit/9f5977fdac)] - **src**: simplify string_bytes with views (Daniel Lemire) [#54876](https://github.com/nodejs/node/pull/54876)
+- \[[`849db10fb3`](https://github.com/nodejs/node/commit/849db10fb3)] - **src**: add helpers for creating cppgc-managed wrappers (Joyee Cheung) [#52295](https://github.com/nodejs/node/pull/52295)
+- \[[`4568df4c6d`](https://github.com/nodejs/node/commit/4568df4c6d)] - **src**: support v8::Data in heap utils (Joyee Cheung) [#52295](https://github.com/nodejs/node/pull/52295)
+- \[[`4f1c27af8c`](https://github.com/nodejs/node/commit/4f1c27af8c)] - **src**: handle errors correctly in webstorage (Michaël Zasso) [#54544](https://github.com/nodejs/node/pull/54544)
+- \[[`c062b5242a`](https://github.com/nodejs/node/commit/c062b5242a)] - **src**: use correct way to signal interceptor error (Michaël Zasso) [#54418](https://github.com/nodejs/node/pull/54418)
+- \[[`097a52848e`](https://github.com/nodejs/node/commit/097a52848e)] - **src**: do not save c_str of a temp string (Cheng) [#53941](https://github.com/nodejs/node/pull/53941)
+- \[[`3111ed7011`](https://github.com/nodejs/node/commit/3111ed7011)] - **stream**: handle undefined chunks correctly in decode stream (devstone) [#55153](https://github.com/nodejs/node/pull/55153)
+- \[[`87a79cd8a1`](https://github.com/nodejs/node/commit/87a79cd8a1)] - **stream**: treat null asyncIterator as undefined (Jason Zhang) [#55119](https://github.com/nodejs/node/pull/55119)
+- \[[`0e52836c35`](https://github.com/nodejs/node/commit/0e52836c35)] - **stream**: set stream prototype to closest transferable superclass (Jason Zhang) [#55067](https://github.com/nodejs/node/pull/55067)
+- \[[`82dab76d63`](https://github.com/nodejs/node/commit/82dab76d63)] - **test**: fix tests when Amaro is unavailable (Richard Lau) [#55320](https://github.com/nodejs/node/pull/55320)
+- \[[`fdc23b2f6b`](https://github.com/nodejs/node/commit/fdc23b2f6b)] - **test**: use more informative errors in `test-runner-cli` (Antoine du Hamel) [#55321](https://github.com/nodejs/node/pull/55321)
+- \[[`a05cb0d1b0`](https://github.com/nodejs/node/commit/a05cb0d1b0)] - **test**: make `test-loaders-workers-spawned` less flaky (Antoine du Hamel) [#55172](https://github.com/nodejs/node/pull/55172)
+- \[[`6c92c1391a`](https://github.com/nodejs/node/commit/6c92c1391a)] - **test**: add resource to internal module stat test (RafaelGSS) [#55157](https://github.com/nodejs/node/pull/55157)
+- \[[`1d95b79b66`](https://github.com/nodejs/node/commit/1d95b79b66)] - **test**: move coverage source map tests to new file (Aviv Keller) [#55123](https://github.com/nodejs/node/pull/55123)
+- \[[`2755551c3c`](https://github.com/nodejs/node/commit/2755551c3c)] - **test**: adding more tests for strip-types (Kevin Toshihiro Uehara) [#54929](https://github.com/nodejs/node/pull/54929)
+- \[[`371ed85e4e`](https://github.com/nodejs/node/commit/371ed85e4e)] - **test**: update wpt test for encoding (devstone) [#55151](https://github.com/nodejs/node/pull/55151)
+- \[[`99e0d0d218`](https://github.com/nodejs/node/commit/99e0d0d218)] - **test**: add `escapePOSIXShell` util (Antoine du Hamel) [#55125](https://github.com/nodejs/node/pull/55125)
+- \[[`56c1786475`](https://github.com/nodejs/node/commit/56c1786475)] - **test**: remove unnecessary `await` in test-watch-mode (Wuli) [#55142](https://github.com/nodejs/node/pull/55142)
+- \[[`28c7394319`](https://github.com/nodejs/node/commit/28c7394319)] - **test**: fix typos (Nathan Baulch) [#55063](https://github.com/nodejs/node/pull/55063)
+- \[[`fbc6fcb018`](https://github.com/nodejs/node/commit/fbc6fcb018)] - **test**: remove duplicated test descriptions (Christos Koutsiaris) [#54140](https://github.com/nodejs/node/pull/54140)
+- \[[`66a2cb210a`](https://github.com/nodejs/node/commit/66a2cb210a)] - **test**: deflake test/pummel/test-timers.js (jakecastelli) [#55098](https://github.com/nodejs/node/pull/55098)
+- \[[`9bb6a1a790`](https://github.com/nodejs/node/commit/9bb6a1a790)] - **test**: deflake test-http-remove-header-stays-removed (Luigi Pinca) [#55004](https://github.com/nodejs/node/pull/55004)
+- \[[`0f7bdcc17f`](https://github.com/nodejs/node/commit/0f7bdcc17f)] - **test**: fix test-tls-junk-closes-server (Michael Dawson) [#55089](https://github.com/nodejs/node/pull/55089)
+- \[[`2118e32d9b`](https://github.com/nodejs/node/commit/2118e32d9b)] - **test**: fix more tests that fail when path contains a space (Antoine du Hamel) [#55088](https://github.com/nodejs/node/pull/55088)
+- \[[`bdddc04dff`](https://github.com/nodejs/node/commit/bdddc04dff)] - **test**: fix `assertSnapshot` when path contains a quote (Antoine du Hamel) [#55087](https://github.com/nodejs/node/pull/55087)
+- \[[`7d0ce254e8`](https://github.com/nodejs/node/commit/7d0ce254e8)] - **test**: fix some tests when path contains `%` (Antoine du Hamel) [#55082](https://github.com/nodejs/node/pull/55082)
+- \[[`61ad74fb0f`](https://github.com/nodejs/node/commit/61ad74fb0f)] - _**Revert**_ "**test**: mark test-fs-watch-non-recursive flaky on Windows" (Luigi Pinca) [#55079](https://github.com/nodejs/node/pull/55079)
+- \[[`02e8972169`](https://github.com/nodejs/node/commit/02e8972169)] - **test**: remove interval and give more time to unsync (Pietro Marchini) [#55006](https://github.com/nodejs/node/pull/55006)
+- \[[`3c5ceff85f`](https://github.com/nodejs/node/commit/3c5ceff85f)] - **test**: deflake test-inspector-strip-types (Luigi Pinca) [#55058](https://github.com/nodejs/node/pull/55058)
+- \[[`8b70e6bdee`](https://github.com/nodejs/node/commit/8b70e6bdee)] - **test**: make `test-runner-assert` more robust (Aviv Keller) [#55036](https://github.com/nodejs/node/pull/55036)
+- \[[`2cec716c48`](https://github.com/nodejs/node/commit/2cec716c48)] - **test**: update tls test to support OpenSSL32 (Michael Dawson) [#55030](https://github.com/nodejs/node/pull/55030)
+- \[[`1fcb128771`](https://github.com/nodejs/node/commit/1fcb128771)] - **test**: do not assume `process.execPath` contains no spaces (Antoine du Hamel) [#55028](https://github.com/nodejs/node/pull/55028)
+- \[[`7ecc48d061`](https://github.com/nodejs/node/commit/7ecc48d061)] - **test**: fix `test-vm-context-dont-contextify` when path contains a space (Antoine du Hamel) [#55026](https://github.com/nodejs/node/pull/55026)
+- \[[`cfe58cfdc4`](https://github.com/nodejs/node/commit/cfe58cfdc4)] - **test**: adjust tls-set-ciphers for OpenSSL32 (Michael Dawson) [#55016](https://github.com/nodejs/node/pull/55016)
+- \[[`941635473d`](https://github.com/nodejs/node/commit/941635473d)] - **test**: add `util.stripVTControlCharacters` test (RedYetiDev) [#54865](https://github.com/nodejs/node/pull/54865)
+- \[[`b23d1c37b9`](https://github.com/nodejs/node/commit/b23d1c37b9)] - **test**: improve coverage for timer promises schedular (Aviv Keller) [#53370](https://github.com/nodejs/node/pull/53370)
+- \[[`a65e4418e5`](https://github.com/nodejs/node/commit/a65e4418e5)] - **test**: remove `getCallSite` from common (RedYetiDev) [#54947](https://github.com/nodejs/node/pull/54947)
+- \[[`5116578b8a`](https://github.com/nodejs/node/commit/5116578b8a)] - **test**: remove unused common utilities (RedYetiDev) [#54825](https://github.com/nodejs/node/pull/54825)
+- \[[`a9677db91b`](https://github.com/nodejs/node/commit/a9677db91b)] - **test**: deflake test-http-header-overflow (Luigi Pinca) [#54978](https://github.com/nodejs/node/pull/54978)
+- \[[`9be0057859`](https://github.com/nodejs/node/commit/9be0057859)] - **test**: fix `soucre` to `source` (Aviv Keller) [#55038](https://github.com/nodejs/node/pull/55038)
+- \[[`29b9c72b05`](https://github.com/nodejs/node/commit/29b9c72b05)] - **test**: add asserts to validate test assumptions (Michael Dawson) [#54997](https://github.com/nodejs/node/pull/54997)
+- \[[`e35299ae62`](https://github.com/nodejs/node/commit/e35299ae62)] - **test**: add runner watch mode isolation tests (Pietro Marchini) [#54888](https://github.com/nodejs/node/pull/54888)
+- \[[`2a1607cc2e`](https://github.com/nodejs/node/commit/2a1607cc2e)] - **test**: fix invalid wasm test (Aviv Keller) [#54935](https://github.com/nodejs/node/pull/54935)
+- \[[`a6ed2148a0`](https://github.com/nodejs/node/commit/a6ed2148a0)] - **test**: move test-http-max-sockets to parallel (Luigi Pinca) [#54977](https://github.com/nodejs/node/pull/54977)
+- \[[`636b3432d3`](https://github.com/nodejs/node/commit/636b3432d3)] - **test**: remove test-http-max-sockets flaky designation (Luigi Pinca) [#54976](https://github.com/nodejs/node/pull/54976)
+- \[[`291d90acbc`](https://github.com/nodejs/node/commit/291d90acbc)] - **test**: refactor test-whatwg-webstreams-encoding to be shorter (David Dong) [#54569](https://github.com/nodejs/node/pull/54569)
+- \[[`6dfa3e46d3`](https://github.com/nodejs/node/commit/6dfa3e46d3)] - **test**: adjust key sizes to support OpenSSL32 (Michael Dawson) [#54972](https://github.com/nodejs/node/pull/54972)
+- \[[`f8b7a17146`](https://github.com/nodejs/node/commit/f8b7a17146)] - **test**: update test to support OpenSSL32 (Michael Dawson) [#54968](https://github.com/nodejs/node/pull/54968)
+- \[[`b470e2fcb2`](https://github.com/nodejs/node/commit/b470e2fcb2)] - **test**: update DOM events web platform tests (Matthew Aitken) [#54642](https://github.com/nodejs/node/pull/54642)
+- \[[`9cbef482df`](https://github.com/nodejs/node/commit/9cbef482df)] - **test**: update multiple assert tests to use node:test (James M Snell) [#54585](https://github.com/nodejs/node/pull/54585)
+- \[[`259163802c`](https://github.com/nodejs/node/commit/259163802c)] - **test**: validate promise-version `setTimeout` behavior with `NaN` (Benjamin Gruenbaum) [#53622](https://github.com/nodejs/node/pull/53622)
+- \[[`4174b73153`](https://github.com/nodejs/node/commit/4174b73153)] - **test**: support glob matching coverage files (Aviv Keller) [#53553](https://github.com/nodejs/node/pull/53553)
+- \[[`0e187e4a21`](https://github.com/nodejs/node/commit/0e187e4a21)] - **test,crypto**: update WebCryptoAPI WPT (Filip Skokan) [#55029](https://github.com/nodejs/node/pull/55029)
+- \[[`ccd4faf4bf`](https://github.com/nodejs/node/commit/ccd4faf4bf)] - _**Revert**_ "**test_runner**: ignore unmapped lines for coverage" (Aviv Keller) [#55339](https://github.com/nodejs/node/pull/55339)
+- \[[`3a42085ee4`](https://github.com/nodejs/node/commit/3a42085ee4)] - **test_runner**: ignore unmapped lines for coverage (Edigleysson Silva (Edy)) [#55228](https://github.com/nodejs/node/pull/55228)
+- \[[`9a9409ff1f`](https://github.com/nodejs/node/commit/9a9409ff1f)] - **test_runner**: throw on invalid source map (Aviv Keller) [#55055](https://github.com/nodejs/node/pull/55055)
+- \[[`980b91a1ef`](https://github.com/nodejs/node/commit/980b91a1ef)] - **test_runner**: assert entry is a valid object (Edigleysson Silva (Edy)) [#55231](https://github.com/nodejs/node/pull/55231)
+- \[[`1c7795e52e`](https://github.com/nodejs/node/commit/1c7795e52e)] - **test_runner**: add cwd option to run (Pietro Marchini) [#54705](https://github.com/nodejs/node/pull/54705)
+- \[[`103b8439ca`](https://github.com/nodejs/node/commit/103b8439ca)] - **test_runner**: avoid spread operator on arrays (Antoine du Hamel) [#55143](https://github.com/nodejs/node/pull/55143)
+- \[[`27dab9d916`](https://github.com/nodejs/node/commit/27dab9d916)] - **test_runner**: support typescript files in default glob (Aviv Keller) [#55081](https://github.com/nodejs/node/pull/55081)
+- \[[`e32521a7b9`](https://github.com/nodejs/node/commit/e32521a7b9)] - **test_runner**: close and flush destinations on forced exit (Colin Ihrig) [#55099](https://github.com/nodejs/node/pull/55099)
+- \[[`aac8ba7bd7`](https://github.com/nodejs/node/commit/aac8ba7bd7)] - **test_runner**: fix mocking modules with quote in their URL (Antoine du Hamel) [#55083](https://github.com/nodejs/node/pull/55083)
+- \[[`4f881790e9`](https://github.com/nodejs/node/commit/4f881790e9)] - **test_runner**: report error on missing sourcemap source (Aviv Keller) [#55037](https://github.com/nodejs/node/pull/55037)
+- \[[`b264cbe5e8`](https://github.com/nodejs/node/commit/b264cbe5e8)] - **test_runner**: use `test:` symbol on second print of parent test (RedYetiDev) [#54956](https://github.com/nodejs/node/pull/54956)
+- \[[`0c8c107aaa`](https://github.com/nodejs/node/commit/0c8c107aaa)] - **test_runner**: replace ansi clear with ansi reset (Pietro Marchini) [#55013](https://github.com/nodejs/node/pull/55013)
+- \[[`bb405210c5`](https://github.com/nodejs/node/commit/bb405210c5)] - **test_runner**: support typescript module mocking (Marco Ippolito) [#54878](https://github.com/nodejs/node/pull/54878)
+- \[[`50136a167d`](https://github.com/nodejs/node/commit/50136a167d)] - **test_runner**: avoid coverage report partial file names (Pietro Marchini) [#54379](https://github.com/nodejs/node/pull/54379)
+- \[[`4988bb549e`](https://github.com/nodejs/node/commit/4988bb549e)] - **tools**: enforce ordering of error codes in `errors.md` (Antoine du Hamel) [#55324](https://github.com/nodejs/node/pull/55324)
+- \[[`5a3da7b4e4`](https://github.com/nodejs/node/commit/5a3da7b4e4)] - **tools**: enforce errors to not be documented in legacy section (Aviv Keller) [#55218](https://github.com/nodejs/node/pull/55218)
+- \[[`8dbca2d35b`](https://github.com/nodejs/node/commit/8dbca2d35b)] - **tools**: update gyp-next to 0.18.2 (Node.js GitHub Bot) [#55160](https://github.com/nodejs/node/pull/55160)
+- \[[`b2161d3a13`](https://github.com/nodejs/node/commit/b2161d3a13)] - **tools**: bump the eslint group in /tools/eslint with 4 updates (dependabot\[bot]) [#55227](https://github.com/nodejs/node/pull/55227)
+- \[[`e7d27320c3`](https://github.com/nodejs/node/commit/e7d27320c3)] - **tools**: only check teams on the default branch (Antoine du Hamel) [#55124](https://github.com/nodejs/node/pull/55124)
+- \[[`e8127db032`](https://github.com/nodejs/node/commit/e8127db032)] - **tools**: make `choco install` script more readable (Aviv Keller) [#54002](https://github.com/nodejs/node/pull/54002)
+- \[[`779e6bdd5e`](https://github.com/nodejs/node/commit/779e6bdd5e)] - **tools**: bump Rollup from 4.18.1 to 4.22.4 for `lint-md` (dependabot\[bot]) [#55093](https://github.com/nodejs/node/pull/55093)
+- \[[`0257102299`](https://github.com/nodejs/node/commit/0257102299)] - **tools**: unlock versions of irrelevant DB deps (Michaël Zasso) [#55042](https://github.com/nodejs/node/pull/55042)
+- \[[`f43424ac2d`](https://github.com/nodejs/node/commit/f43424ac2d)] - **tools**: remove redudant code from eslint require rule (Aviv Keller) [#54892](https://github.com/nodejs/node/pull/54892)
+- \[[`6a52e81260`](https://github.com/nodejs/node/commit/6a52e81260)] - **tools**: update error message for ICU in license-builder (Aviv Keller) [#54742](https://github.com/nodejs/node/pull/54742)
+- \[[`cde6dccb65`](https://github.com/nodejs/node/commit/cde6dccb65)] - **tools**: refactor js2c.cc to use c++20 (Yagiz Nizipli) [#54849](https://github.com/nodejs/node/pull/54849)
+- \[[`59c7c55aad`](https://github.com/nodejs/node/commit/59c7c55aad)] - **tools**: bump the eslint group in /tools/eslint with 7 updates (dependabot\[bot]) [#54821](https://github.com/nodejs/node/pull/54821)
+- \[[`c6269cb069`](https://github.com/nodejs/node/commit/c6269cb069)] - **tools**: fix path of abseil file in v8.gyp (Michaël Zasso) [#54659](https://github.com/nodejs/node/pull/54659)
+- \[[`d17fefcd71`](https://github.com/nodejs/node/commit/d17fefcd71)] - **tools**: update github_reporter to 1.7.1 (Node.js GitHub Bot) [#54951](https://github.com/nodejs/node/pull/54951)
+- \[[`29a4fcf918`](https://github.com/nodejs/node/commit/29a4fcf918)] - **tty**: fix links for terminal colors (Aviv Keller) [#54596](https://github.com/nodejs/node/pull/54596)
+- \[[`e42ad5e80c`](https://github.com/nodejs/node/commit/e42ad5e80c)] - **util**: update ansi regex (Aviv Keller) [#54865](https://github.com/nodejs/node/pull/54865)
+- \[[`b5aae52c71`](https://github.com/nodejs/node/commit/b5aae52c71)] - _**Revert**_ "**util**: move util.\_extend to eol" (Marco Ippolito) [#53429](https://github.com/nodejs/node/pull/53429)
+- \[[`deb5effe01`](https://github.com/nodejs/node/commit/deb5effe01)] - **v8**: out of bounds copy (Robert Nagy) [#55261](https://github.com/nodejs/node/pull/55261)
+- \[[`3b0617dd19`](https://github.com/nodejs/node/commit/3b0617dd19)] - **vm**: migrate ContextifyScript to cppgc (Joyee Cheung) [#52295](https://github.com/nodejs/node/pull/52295)
+- \[[`35b8e5cb0c`](https://github.com/nodejs/node/commit/35b8e5cb0c)] - _**Revert**_ "**vm,src**: add property query interceptors" (Michaël Zasso) [#53348](https://github.com/nodejs/node/pull/53348)
+- \[[`d1f18b0bf1`](https://github.com/nodejs/node/commit/d1f18b0bf1)] - **vm,src**: add property query interceptors (Michaël Zasso) [#53172](https://github.com/nodejs/node/pull/53172)
+- \[[`89a2f565b7`](https://github.com/nodejs/node/commit/89a2f565b7)] - **watch**: preserve output when gracefully restarted (Théo LUDWIG) [#54323](https://github.com/nodejs/node/pull/54323)
+- \[[`6b9413e41a`](https://github.com/nodejs/node/commit/6b9413e41a)] - **worker**: throw InvalidStateError in postMessage after close (devstone) [#55206](https://github.com/nodejs/node/pull/55206)
+- \[[`6031a4bc7c`](https://github.com/nodejs/node/commit/6031a4bc7c)] - **worker**: handle `--input-type` more consistently (Antoine du Hamel) [#54979](https://github.com/nodejs/node/pull/54979)
+- \[[`5b3f3c5a3b`](https://github.com/nodejs/node/commit/5b3f3c5a3b)] - **zlib**: throw brotli initialization error from c++ (Yagiz Nizipli) [#54698](https://github.com/nodejs/node/pull/54698)
+- \[[`c42d8461b0`](https://github.com/nodejs/node/commit/c42d8461b0)] - **zlib**: remove prototype primordials usage (Yagiz Nizipli) [#54695](https://github.com/nodejs/node/pull/54695)
+
+Windows 64-bit Installer: https://nodejs.org/dist/v23.0.0/node-v23.0.0-x64.msi \
+Windows ARM 64-bit Installer: https://nodejs.org/dist/v23.0.0/node-v23.0.0-arm64.msi \
+Windows 64-bit Binary: https://nodejs.org/dist/v23.0.0/win-x64/node.exe \
+Windows ARM 64-bit Binary: https://nodejs.org/dist/v23.0.0/win-arm64/node.exe \
+macOS 64-bit Installer: https://nodejs.org/dist/v23.0.0/node-v23.0.0.pkg \
+macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v23.0.0/node-v23.0.0-darwin-arm64.tar.gz \
+macOS Intel 64-bit Binary: https://nodejs.org/dist/v23.0.0/node-v23.0.0-darwin-x64.tar.gz \
+Linux 64-bit Binary: https://nodejs.org/dist/v23.0.0/node-v23.0.0-linux-x64.tar.xz \
+Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v23.0.0/node-v23.0.0-linux-ppc64le.tar.xz \
+Linux s390x 64-bit Binary: https://nodejs.org/dist/v23.0.0/node-v23.0.0-linux-s390x.tar.xz \
+AIX 64-bit Binary: https://nodejs.org/dist/v23.0.0/node-v23.0.0-aix-ppc64.tar.gz \
+ARMv7 32-bit Binary: https://nodejs.org/dist/v23.0.0/node-v23.0.0-linux-armv7l.tar.xz \
+ARMv8 64-bit Binary: https://nodejs.org/dist/v23.0.0/node-v23.0.0-linux-arm64.tar.xz \
+Source Code: https://nodejs.org/dist/v23.0.0/node-v23.0.0.tar.gz \
+Other release files: https://nodejs.org/dist/v23.0.0/ \
+Documentation: https://nodejs.org/docs/v23.0.0/api/
+
+### SHASUMS
+
+```
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+1dd33c1cf52d16829283af113e90b5d1e8813ba6c8e1bef3f2808160fa078d93 node-v23.0.0-aix-ppc64.tar.gz
+f058272692a954458be42a5a4cfe5234e39471cd9cc459ec4123d34fb437f08d node-v23.0.0-arm64.msi
+72ce7905b83f9499b92501675cf76e53b545cb9d0a42dca497fa80c8eb5fbcf9 node-v23.0.0-darwin-arm64.tar.gz
+4e8d821e046f2af7712c7f1a0f42be095bb920bc039643cdf1cf3698b7b1ea17 node-v23.0.0-darwin-arm64.tar.xz
+13915842f15bc32f76a24f8ea17fd43d650898d12d21c7b676b01d0e00dcb7fd node-v23.0.0-darwin-x64.tar.gz
+1c4ae0c9cb11dea40aceb11bd622ce1c2e4f12c076316150f7709dbd016882dc node-v23.0.0-darwin-x64.tar.xz
+ac1328fb5d5d1a58b7591a230dc63f46f1d3ec0e10fa371edbef3a67b45f1a58 node-v23.0.0-headers.tar.gz
+d83e313738988ad49809c10815ce3d16f52ff374f6781a9014cfa3e80d9b1f9b node-v23.0.0-headers.tar.xz
+d908fc167d2242a50394e894d4ba258757a8a12b7bef29bd360f4f55c25acf3f node-v23.0.0-linux-arm64.tar.gz
+6140e29a66da2e57b5e561209de8f9c61e560305480d8c739d82f997df20599f node-v23.0.0-linux-arm64.tar.xz
+a37a90d903c30d757deaac78bd78e31c7a20b0244fe0f925535dddefb7ca1efc node-v23.0.0-linux-armv7l.tar.gz
+3bcc293201769317841128ae5049e0562ea5c29a27d64b65abb02dbad4ecb50e node-v23.0.0-linux-armv7l.tar.xz
+4f2ac682752c904cb142e2585ec957a711cdb11f9268c1227863129e3c7c7421 node-v23.0.0-linux-ppc64le.tar.gz
+877b54081a5a3e074c8fdae46c5d0bcf03a8cd44ac6c5d70c9df977b4c3ed57e node-v23.0.0-linux-ppc64le.tar.xz
+41448aced57e51e91e914849d41a758303c130ae30033fb6352eb6754c5e9df8 node-v23.0.0-linux-s390x.tar.gz
+de56f8823dd5a98b440a32ac2491df2427bca21b65d3f2bbfa43761a4635f5fc node-v23.0.0-linux-s390x.tar.xz
+702cbc710fcf1102cef1aced74443fee34eff8df4827de30ec970d377ce31d9e node-v23.0.0-linux-x64.tar.gz
+705857276700e61f9d141ac05681e4bd666bcd7f5461575fe60d2467d3722a12 node-v23.0.0-linux-x64.tar.xz
+d384f7792812fdfdbbcce22da17684a65b21012e9644aec8eac986503723be57 node-v23.0.0-win-arm64.7z
+749971643ec19ebedcb15e2fca2c842a3832a964bec3943f2600bf6761275a60 node-v23.0.0-win-arm64.zip
+3978724c1ca71e18e0f2791c29ea8429a8586d253f41f503d71539294316c2ea node-v23.0.0-win-x64.7z
+d3dfb7e64c314b887832165966adf7f199c8f280ef38e66922e00221c47f182e node-v23.0.0-win-x64.zip
+b9323180d10cf565840a5976411cb6b6db5c11702fcebc95a6a5c64c0b0e111c node-v23.0.0-x64.msi
+6ee135d9ac5a3116085aaac709aeee80a76f9e09c290cbd7d493257badef3a34 node-v23.0.0.pkg
+f686cd4be4994416e099ce23f9fe6ef3983f37c917d8d36963e17e4634a5edd1 node-v23.0.0.tar.gz
+79c800b2c97c497bf7de21ac7435dc5f587c7d4735f750056ac6310d43b79eca node-v23.0.0.tar.xz
+cf9112e30e5556f0a1253374cceba4801086aa01a7d2fd6ff32ae82d98b1ede3 win-arm64/node.exe
+10c78fa0a77d6dc065c381089a17845a81f87fa6547a5b645807e3bd36b0f33f win-arm64/node.lib
+b1227da5d51a99f09682016837a14f7ff8020080e8c9d839adca289790cd9f5d win-arm64/node_pdb.7z
+b2646fc94045b75fc3f9af59e3538bb61295601ad24e5abe02a5b400cbaf9017 win-arm64/node_pdb.zip
+c86aca1f8d5b76c048233c9d90d6aa0d32a35f692bde4f088fdc2f963b4eeb11 win-x64/node.exe
+d86a8d40cb8a3c23b1e7f1d5756d719da4c40f9998c5eb106eb9ae92fe00296b win-x64/node.lib
+c12dc932caa89d4dc4d8f32688e46cfc4f6a2efd327190c606e9becfc8fb7548 win-x64/node_pdb.7z
+b8175d1a32d68fbf396b4ddb43c8091b6437464b7668800eec8555c2888eb2cb win-x64/node_pdb.zip
+-----BEGIN PGP SIGNATURE-----
+
+iQGzBAEBCAAdFiEEiQwI24V5Fi/uDfnbi+q0389VXvQFAmcPyJwACgkQi+q0389V
+XvTqkgv/dkNgstURAHu/pBghDJjUmS6F6A2pAkb5Pe1+Jq7vAYtcm4KgKwqVSnOi
+Yche6DH4fkMwyjUEgTbjKQ023IgZPd0TGs3pHn0qe0NK2qf+11LhTHIaRbPf/E60
+rF7plV5zVzS/TE3SYF+akoxw/TAs0hFBt22g/H0W4YMRmiIidBfoRn+kkb3iWIA3
+Dvk/mQBwXQZ6+1MvkzS4fVxGCASZHKECa9UTHbCsEhV3t5dWqqZYXSyZZGIlOpTU
+kQ7n0mXrtK822NCTpGgjPzSZr1U/agwPHs3swuk4Zv95l2MLC2UFYwdh7QD1+xVx
+VYC8XCq16zrHDVg6lsHmf3eIKh36YcHPSLtxrYHhWmTd62V3NnhWU2KoKnauRjfb
+lP4XbtidWriT3yNQJCgaKgkPYic86QOFHeZqexn/Tqstt88VQCzALEqKfUIXrgoE
+nIN3K+aA4awE6baFHEya6xCP6U8fpkWZVdLStWErUYG891YVCpo+0En2N2gYM6kK
+6gLUSbl0
+=sluh
+-----END PGP SIGNATURE-----
+```
diff --git a/apps/site/pages/en/download/package-manager/all.md b/apps/site/pages/en/download/package-manager/all.md
index 3feb29f9c26ad..cc58af56998eb 100644
--- a/apps/site/pages/en/download/package-manager/all.md
+++ b/apps/site/pages/en/download/package-manager/all.md
@@ -1,5 +1,5 @@
---
-layout: download
+layout: article
title: Installing Node.js via package manager
---
@@ -7,36 +7,6 @@ title: Installing Node.js via package manager
> The packages on this page are maintained and supported by their respective packagers, **not** the Node.js core team. Please report any issues you encounter to the package maintainer. If it turns out your issue is a bug in Node.js itself, the maintainer will report the issue upstream.
----
-
-- [Alpine Linux](#alpine-linux)
-- [Android](#android)
-- [Arch Linux](#arch-linux)
-- [CentOS, Fedora and Red Hat Enterprise Linux](#centos-fedora-and-red-hat-enterprise-linux)
-- [Debian and Ubuntu based Linux distributions](#debian-and-ubuntu-based-linux-distributions)
-- [Exherbo Linux](#exherbo-linux)
-- [fnm](#fnm)
-- [FreeBSD](#freebsd)
-- [Gentoo](#gentoo)
-- [IBM i](#ibm-i)
-- [macOS](#macos)
-- [n](#n)
-- [NetBSD](#netbsd)
-- [Nodenv](#nodenv)
-- [nvm](#nvm)
-- [nvs](#nvs)
-- [OpenBSD](#openbsd)
-- [openSUSE and SLE](#opensuse-and-sle)
-- [SmartOS and illumos](#smartos-and-illumos)
-- [Snap](#snap)
-- [Solus](#solus)
-- [vfox](#vfox)
-- [Void Linux](#void-linux)
-- [Windows](#windows-1)
-- [z/OS](#zos)
-
----
-
## Alpine Linux
Node.js LTS and npm packages are available in the Main Repository.
diff --git a/apps/site/pages/en/download/prebuilt-installer/index.mdx b/apps/site/pages/en/download/prebuilt-installer/index.mdx
index 702f1b7558fe8..402402f4a4978 100644
--- a/apps/site/pages/en/download/prebuilt-installer/index.mdx
+++ b/apps/site/pages/en/download/prebuilt-installer/index.mdx
@@ -21,6 +21,6 @@ Learn how to verify signed SHASUMSdownload options
-Learn about Node.js Releases
+Learn about Node.js Releases
diff --git a/apps/site/pages/en/index.mdx b/apps/site/pages/en/index.mdx
index ada1f5fa052d7..3e28f190a40aa 100644
--- a/apps/site/pages/en/index.mdx
+++ b/apps/site/pages/en/index.mdx
@@ -23,7 +23,7 @@ layout: home
Downloads Node.js {release.versionWithPrefix}1 with long-term support.
- Node.js can also be installed via package managers.
+ Node.js can also be installed via package managers.
>
)}
diff --git a/apps/site/pages/en/learn/getting-started/security-best-practices.md b/apps/site/pages/en/learn/getting-started/security-best-practices.md
index cfa1de4f557b5..6833efa8b49fe 100644
--- a/apps/site/pages/en/learn/getting-started/security-best-practices.md
+++ b/apps/site/pages/en/learn/getting-started/security-best-practices.md
@@ -1,6 +1,7 @@
---
title: Security Best Practices
layout: learn
+authors: RafaelGSS, UlisesGascon, fraxken, facutuesca, mhdawson, arhart, naugtur, anonrig
---
# Security Best Practices
diff --git a/apps/site/pages/en/learn/test-runner/mocking.md b/apps/site/pages/en/learn/test-runner/mocking.md
new file mode 100644
index 0000000000000..9da90c7869f02
--- /dev/null
+++ b/apps/site/pages/en/learn/test-runner/mocking.md
@@ -0,0 +1,270 @@
+---
+title: Mocking in tests
+layout: learn
+authors: JakobJingleheimer
+---
+
+# Mocking in tests
+
+Mocking is a means of creating a facsimile, a puppet. This is generally done in a `when 'a', do 'b'` manner of puppeteering. The idea is to limit the number of moving pieces and control things that "don't matter". "mocks" and "stubs" are technically different kinds of "test doubles". For the curious mind, a stub is a replacement that does nothing (a no-op) but track its invocation. A mock is a stub that also has a fake implementation (the `when 'a', do 'b'`). Within this doc, the difference is unimportant, and stubs are referred to as mocks.
+
+Tests should be deterministic: runnable in any order, any number of times, and always produce the same result. Proper setup and mocking make this possible.
+
+Node.js provides many ways to mock various pieces of code.
+
+This articles deals with the following types of tests:
+
+| type | description | example | mock candidates |
+| :--------------- | :---------------------------------------- | :--------------------------------------------------------------------------------------------- | :--------------------------------------- |
+| unit | the smallest bit of code you can isolate | `const sum = (a, b) => a + b` | own code, external code, external system |
+| component | a unit + dependencies | `const arithmetic = (op = sum, a, b) => ops[op](a, b)` | external code, external system |
+| integration | components fitting together | - | external code, external system |
+| end-to-end (e2e) | app + external data stores, delivery, etc | A fake user (ex a Playwright agent) literally using an app connected to real external systems. | none (do not mock) |
+
+There are different schools of thought about when to mock and when not to mock, the broad strokes of which are outlined below.
+
+## When and not to mock
+
+There are 3 main mock candidates:
+
+- Own code
+- External code
+- External system
+
+### Own code
+
+This is what your project controls.
+
+```mjs displayName="your-project/main.mjs"
+import foo from './foo.mjs';
+
+export function main() {
+ const f = foo();
+}
+```
+
+Here, `foo` is an "own code" dependency of `main`.
+
+#### Why
+
+For a true unit test of `main`, `foo` should be mocked: you're testing that `main` works, not that `main` + `foo` work (that's a different test).
+
+#### Why not
+
+Mocking `foo` can be more trouble than worth, especially when `foo` is simple, well-tested, and rarely updated.
+
+Not mocking `foo` can be better because it's more authentic and increases coverage of `foo` (because `main`'s tests will also verify `foo`). This can, however, create noise: when `foo` breaks, a bunch of other tests will also break, so tracking down the problem is more tedious: if only the 1 test for the item ultimately responsible for the issue is failing, that's very easy to spot; whereas 100 tests failing creates a needle-in-a-haystack to find the real problem.
+
+### External code
+
+This is what your project does not control.
+
+```mjs displayName="your-project/main.mjs"
+import bar from 'bar';
+
+export function main() {
+ const f = bar();
+}
+```
+
+Here, `bar` is an external package, e.g. an npm dependency.
+
+Uncontroversially, for unit tests, this should always be mocked. For component and integration tests, whether to mock depends on what this is.
+
+#### Why
+
+Verifying that code that your project does not maintain works is not the goal of a unit test (and that code should have its own tests).
+
+#### Why not
+
+Sometimes, it's just not realistic to mock. For example, you would almost never mock a large framework such as react or angular (the medicine would be worse than the ailment).
+
+### External system
+
+These are things like databases, environments (Chromium or Firefox for a web app, an operating system for a node app, etc), file systems, memory store, etc.
+
+Ideally, mocking these would not be necessary. Aside from somehow creating isolated copies for each case (usually very impractical due to cost, additional execution time, etc), the next best option is to mock. Without mocking, tests sabotage each other:
+
+```mjs displayName="storage.mjs"
+import { db } from 'db';
+
+export function read(key, all = false) {
+ validate(key, val);
+
+ if (all) return db.getAll(key);
+
+ return db.getOne(key);
+}
+
+export function save(key, val) {
+ validate(key, val);
+
+ return db.upsert(key, val);
+}
+```
+
+```mjs displayName="storage.test.mjs"
+import assert from 'node:assert/strict';
+import { describe, it } from 'node:test';
+
+import { db } from 'db';
+
+import { save } from './storage.mjs';
+
+describe('storage', { concurrency: true }, () => {
+ it('should retrieve the requested item', async () => {
+ await db.upsert('good', 'item'); // give it something to read
+ await db.upsert('erroneous', 'item'); // give it a chance to fail
+
+ const results = await read('a', true);
+
+ assert.equal(results.length, 1); // ensure read did not retrieve erroneous item
+
+ assert.deepEqual(results[0], { key: 'good', val: 'item' });
+ });
+
+ it('should save the new item', async () => {
+ const id = await save('good', 'item');
+
+ assert.ok(id);
+
+ const items = await db.getAll();
+
+ assert.equal(items.length, 1); // ensure save did not create duplicates
+
+ assert.deepEqual(items[0], { key: 'good', val: 'item' });
+ });
+});
+```
+
+In the above, the first and second cases (the `it()` statements) can sabotage each other because they are run concurrently and mutate the same store (a race condition): `save()`'s insertion can cause the otherwise valid `read()`'s test to fail its assertion on items found (and `read()`'s can do the same thing to `save()`'s).
+
+## What to mock
+
+### Modules + units
+
+This leverages [`mock`](https://nodejs.org/api/test.html#class-mocktracker) from the Node.js test runner.
+
+```mjs
+import assert from 'node:assert/strict';
+import { before, describe, it, mock } from 'node:test';
+
+
+describe('foo', { concurrency: true }, () => {
+ let barMock = mock.fn();
+ let foo;
+
+ before(async () => {
+ const barNamedExports = await import('./bar.mjs')
+ // discard the original default export
+ .then(({ default, ...rest }) => rest);
+
+ // It's usually not necessary to manually call restore() after each
+ // nor reset() after all (node does this automatically).
+ mock.module('./bar.mjs', {
+ defaultExport: barMock
+ // Keep the other exports that you don't want to mock.
+ namedExports: barNamedExports,
+ });
+
+ // This MUST be a dynamic import because that is the only way to ensure the
+ // import starts after the mock has been set up.
+ ({ foo } = await import('./foo.mjs'));
+ });
+
+ it('should do the thing', () => {
+ barMock.mockImplementationOnce(function bar_mock() {/* … */});
+
+ assert.equal(foo(), 42);
+ });
+});
+```
+
+### APIs
+
+A little-known fact is that there is a builtin way to mock `fetch`. [`undici`](https://github.com/nodejs/undici) is the Node.js implementation of `fetch`. It's shipped with `node`, but not currently exposed by `node` itself, so it must be installed (ex `npm install undici`).
+
+```mjs displayName="endpoints.spec.mjs"
+import assert from 'node:assert/strict';
+import { beforeEach, describe, it } from 'node:test';
+import { MockAgent, setGlobalDispatcher } from 'undici';
+
+import endpoints from './endpoints.mjs';
+
+describe('endpoints', { concurrency: true }, () => {
+ let agent;
+ beforeEach(() => {
+ agent = new MockAgent();
+ setGlobalDispatcher(agent);
+ });
+
+ it('should retrieve data', async () => {
+ const endpoint = 'foo';
+ const code = 200;
+ const data = {
+ key: 'good',
+ val: 'item',
+ };
+
+ agent
+ .get('example.com')
+ .intercept({
+ path: endpoint,
+ method: 'GET',
+ })
+ .reply(code, data);
+
+ assert.deepEqual(await endpoints.get(endpoint), {
+ code,
+ data,
+ });
+ });
+
+ it('should save data', async () => {
+ const endpoint = 'foo/1';
+ const code = 201;
+ const data = {
+ key: 'good',
+ val: 'item',
+ };
+
+ agent
+ .get('example.com')
+ .intercept({
+ path: endpoint,
+ method: 'PUT',
+ })
+ .reply(code, data);
+
+ assert.deepEqual(await endpoints.save(endpoint), {
+ code,
+ data,
+ });
+ });
+});
+```
+
+### Time
+
+Like Doctor Strange, you too can control time. You would usually do this just for convenience to avoid artificially protracted test runs (do you really want to wait 3 minutes for that `setTimeout()` to trigger?). You may also want to travel through time. This leverages [`mock.timers`](https://nodejs.org/api/test.html#class-mocktimers) from the Node.js test runner.
+
+Note the use of time-zone here (`Z` in the time-stamps). Neglecting to include a consistent time-zone will likely lead to unexpected restults.
+
+```mjs displayName="master-time.spec.mjs"
+import assert from 'node:assert/strict';
+import { describe, it, mock } from 'node:test';
+
+import ago from './ago.mjs';
+
+describe('whatever', { concurrency: true }, () => {
+ it('should choose "minutes" when that\'s the closet unit', () => {
+ mock.timers.enable({ now: new Date('2000-01-01T00:02:02Z') });
+
+ const t = ago('1999-12-01T23:59:59Z');
+
+ assert.equal(t, '2 minutes ago');
+ });
+});
+```
+
+This is especially useful when comparing against a static fixture (that is checked into a repository), such as in [snapshot testing](https://nodejs.org/api/test.html#snapshot-testing).
diff --git a/apps/site/pages/es/index.mdx b/apps/site/pages/es/index.mdx
new file mode 100644
index 0000000000000..9dff1c26f04d9
--- /dev/null
+++ b/apps/site/pages/es/index.mdx
@@ -0,0 +1,137 @@
+---
+title: Ejecuta JavaScript en cualquier parte
+layout: home
+---
+
+
+
+
+
+
Ejecuta JavaScript en cualquier parte
+
+Node.js® es un entorno de ejecución de JavaScript multiplataforma, de código abierto y gratuito que permite a los desarrolladores crear servidores, aplicaciones web, herramientas de línea de comando y scripts.
+
+
+
+
+
+ {({ release }) => (
+ <>
+ Descargar Node.js (LTS)
+
+ Descarga Node.js {release.versionWithPrefix}
+ 1 con soporte a largo plazo.
+ Node.js también puede ser instalado a través de gestores de paquetes.
+
+ >
+ )}
+
+
+
+ {({ release }) => (
+
+ ¿Quieres nuevas funciones más pronto?
+ ConsigueNode.js {release.versionWithPrefix}
+ 1 en vez.
+
+ )}
+
+
+
+
+
+
+ ```js displayName="Create an HTTP Server"
+ // server.mjs
+ import { createServer } from 'node:http';
+
+const server = createServer((req, res) => {
+res.writeHead(200, { 'Content-Type': 'text/plain' });
+res.end('Hello World!\n');
+});
+
+// starts a simple http server locally on port 3000
+server.listen(3000, '127.0.0.1', () => {
+console.log('Listening on 127.0.0.1:3000');
+});
+
+// run with `node server.mjs`
+
+````
+
+```js displayName="Write Tests"
+// tests.mjs
+import assert from 'node:assert';
+import test from 'node:test';
+
+test('that 1 is equal 1', () => {
+ assert.strictEqual(1, 1);
+});
+
+test('that throws as 1 is not equal 2', () => {
+ // throws an exception because 1 != 2
+ assert.strictEqual(1, 2);
+});
+
+// run with `node tests.mjs`
+````
+
+```js displayName="Read and Hash a File"
+// crypto.mjs
+import { createHash } from 'node:crypto';
+import { readFile } from 'node:fs/promises';
+
+const hasher = createHash('sha1');
+
+hasher.setEncoding('hex');
+// ensure you have a `package.json` file for this test!
+hasher.write(await readFile('package.json'));
+hasher.end();
+
+const fileHash = hasher.read();
+
+// run with `node crypto.mjs`
+```
+
+```js displayName="Streams Pipeline"
+// streams.mjs
+import { pipeline } from 'node:stream/promises';
+import { createReadStream, createWriteStream } from 'node:fs';
+import { createGzip } from 'node:zlib';
+
+// ensure you have a `package.json` file for this test!
+await pipeline(
+ createReadStream('package.json'),
+ createGzip(),
+ createWriteStream('package.json.gz')
+);
+
+// run with `node streams.mjs`
+```
+
+```js displayName="Work with Threads"
+// threads.mjs
+import {
+ Worker,
+ isMainThread,
+ workerData,
+ parentPort,
+} from 'node:worker_threads';
+
+if (isMainThread) {
+ const data = 'some data';
+ const worker = new Worker(import.meta.filename, { workerData: data });
+ worker.on('message', msg => console.log('Reply from Thread:', msg));
+} else {
+ const source = workerData;
+ parentPort.postMessage(btoa(source.toUpperCase()));
+}
+
+// run with `node threads.mjs`
+```
+
+
+
+Aprenda más sobre lo que Node.js puede ofrecer con nuestros [Materiales de aprendizaje](/learn).
+
+
diff --git a/apps/site/pages/es/search.mdx b/apps/site/pages/es/search.mdx
new file mode 100644
index 0000000000000..048d829afa13f
--- /dev/null
+++ b/apps/site/pages/es/search.mdx
@@ -0,0 +1,6 @@
+---
+layout: search
+title: Resultados de Búsqueda
+---
+
+
diff --git a/apps/site/pages/fa/download/package-manager/all.md b/apps/site/pages/fa/download/package-manager/all.md
index 5192b8847d665..c301c512de83e 100644
--- a/apps/site/pages/fa/download/package-manager/all.md
+++ b/apps/site/pages/fa/download/package-manager/all.md
@@ -1,5 +1,5 @@
---
-layout: download
+layout: article
title: از طریق پکیج منیجر Node.js نصب
---
@@ -7,36 +7,6 @@ title: از طریق پکیج منیجر Node.js نصب
> پکیجهای این صفحه توسط پکیج منیجر های مربوطه نگهداری و پشتیبانی میشوند، **نه** توسط تیم هسته Node.js. لطفاً اگر به هرگونه مشکلی برخوردید آن را به نگه دارنده پکیج گزارش دهید. اگر مشکل شما یک باگ در خود Node.js باشد، نگه دارنده آن را به مرجع اصلی گزارش خواهد داد.
----
-
-- [Alpine Linux](#alpine-linux)
-- [Android](#android)
-- [Arch Linux](#arch-linux)
-- [CentOS, Fedora and Red Hat Enterprise Linux](#centos-fedora-and-red-hat-enterprise-linux)
-- [Debian and Ubuntu based Linux distributions](#debian-and-ubuntu-based-linux-distributions)
-- [Exherbo Linux](#exherbo-linux)
-- [fnm](#fnm)
-- [FreeBSD](#freebsd)
-- [Gentoo](#gentoo)
-- [IBM i](#ibm-i)
-- [macOS](#macos)
-- [n](#n)
-- [NetBSD](#netbsd)
-- [Nodenv](#nodenv)
-- [nvm](#nvm)
-- [nvs](#nvs)
-- [OpenBSD](#openbsd)
-- [openSUSE and SLE](#opensuse-and-sle)
-- [SmartOS and illumos](#smartos-and-illumos)
-- [Snap](#snap)
-- [Solus](#solus)
-- [vfox](#vfox)
-- [Void Linux](#void-linux)
-- [Windows](#windows-1)
-- [z/OS](#zos)
-
----
-
## Alpine Linux
بستههای Node.js LTS و npm در مخزن اصلی موجود هستند.
diff --git a/apps/site/pages/fa/index.mdx b/apps/site/pages/fa/index.mdx
index 57634d9833d1b..9d3fe4caa073b 100644
--- a/apps/site/pages/fa/index.mdx
+++ b/apps/site/pages/fa/index.mdx
@@ -23,7 +23,7 @@ Node.js یک محیط اجرای جاوااسکریپت متنباز، رای
دانلود Node.js {release.versionWithPrefix}1 با پشتیبانی بلندمدت.
- Node.js همچنین از طریق package managers نیز قابل نصب است.
+ Node.js همچنین از طریق package managers نیز قابل نصب است.
>
)}
diff --git a/apps/site/pages/fr/about/branding.mdx b/apps/site/pages/fr/about/branding.mdx
index 8f96b99a5e5ca..62f33e48f5250 100644
--- a/apps/site/pages/fr/about/branding.mdx
+++ b/apps/site/pages/fr/about/branding.mdx
@@ -9,6 +9,8 @@ Veuillez consulter la [politique en matière de marques](https://trademark-polic
## Mascotte de Node.js®
+Crédit à [@Ang_ngl on X](https://x.com/Ang_ngl) pour la conception et la contribution de la Tortue-fusée.
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
### Logo Node.js® empilé
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
### Icons JS
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/site/pages/fr/about/get-involved/contribute.md b/apps/site/pages/fr/about/get-involved/contribute.md
index ebe77d2973041..946b83001d5c9 100644
--- a/apps/site/pages/fr/about/get-involved/contribute.md
+++ b/apps/site/pages/fr/about/get-involved/contribute.md
@@ -9,7 +9,7 @@ Merci de votre intérêt à contribuer à Node.js ! Vous pouvez contribuer de pl
## Demander de l'aide générale
-Le niveau d'activité du dépôt `nodejs/node` étant très élevé, les questions ou les demandes d'aide générale concernant l'utilisation de Node.js doivent être adressées au [Node.js help repository] (https://github.com/nodejs/help/issues).Node.js
+Le niveau d'activité du dépôt `nodejs/node` étant très élevé, les questions ou les demandes d'aide générale concernant l'utilisation de Node.js doivent être adressées au [Node.js help repository](https://github.com/nodejs/help/issues).Node.js
## Signaler un problème
@@ -28,7 +28,7 @@ Le projet Node.js est actuellement géré par un certain nombre de dépôts GitH
## Contributions au code
-Si vous souhaitez corriger des bogues ou ajouter une nouvelle fonctionnalité à Node.js, veuillez consulter les [Directives de contribution à Node.js] (https://github.com/nodejs/node/blob/main/CONTRIBUTING.md/#pull-requests). Le processus de révision par les collaborateurs existants pour toutes les contributions au projet y est également expliqué.
+Si vous souhaitez corriger des bogues ou ajouter une nouvelle fonctionnalité à Node.js, veuillez consulter les [Directives de contribution à Node.js](https://github.com/nodejs/node/blob/main/CONTRIBUTING.md/#pull-requests). Le processus de révision par les collaborateurs existants pour toutes les contributions au projet y est également expliqué.
Si vous vous demandez comment commencer, vous pouvez consulter [Node Todo](https://www.nodetodo.org/) qui vous guidera peut-être vers votre première contribution.
@@ -44,4 +44,4 @@ En devenant collaborateur, les contributeurs peuvent avoir encore plus d'impact
- participation à des groupes de travail
- autre participation à la communauté Node.js plus large
-Si des personnes apportant des contributions précieuses estiment qu'elles n'ont pas été prises en compte pour l'accès à l'engagement, elles peuvent [enregistrer un problème] (https://github.com/nodejs/TSC/issues) ou [contacter un membre du TSC] (https://github.com/nodejs/node#tsc-technical-steering-committee) directement.
+Si des personnes apportant des contributions précieuses estiment qu'elles n'ont pas été prises en compte pour l'accès à l'engagement, elles peuvent [enregistrer un problème](https://github.com/nodejs/TSC/issues) ou [contacter un membre du TSC](https://github.com/nodejs/node#tsc-technical-steering-committee) directement.
diff --git a/apps/site/pages/fr/about/get-involved/index.md b/apps/site/pages/fr/about/get-involved/index.md
index 5e3693d7de325..9da181e3e6085 100644
--- a/apps/site/pages/fr/about/get-involved/index.md
+++ b/apps/site/pages/fr/about/get-involved/index.md
@@ -10,7 +10,7 @@ Si vous souhaitez vous impliquer dans la communauté Node.js, il existe de nombr
## Discussions de la communauté
- La [GitHub issues list](https://github.com/nodejs/node/issues) est le lieu de discussion des fonctionnalités de base de Node.js et si vous avez des questions sur Node.js, vous pouvez utiliser les [github discussions](https://github.com/orgs/nodejs/discussions).
-- Le dépôt [`nodejs/help`](https://github.com/nodjes/help/issues) est l'endroit où poser des questions sur Node.js.
+- Le dépôt [`nodejs/help`](https://github.com/nodejs/help/issues) est l'endroit où poser des questions sur Node.js.
- Le compte Twitter officiel de Node.js est [nodejs](https://twitter.com/nodejs).
- Le [calendrier du projet Node.js](https://nodejs.org/calendar) avec toutes les réunions publiques de l'équipe.
diff --git a/apps/site/pages/fr/about/governance.md b/apps/site/pages/fr/about/governance.md
index 73741b6ad0e12..30cb570d6cbdd 100644
--- a/apps/site/pages/fr/about/governance.md
+++ b/apps/site/pages/fr/about/governance.md
@@ -24,7 +24,7 @@ Un guide pour les collaborateurs est disponible à l'adresse suivante : [collabo
## Comité de pilotage technique
-Le projet est régi par le [Comité de pilotage technique (TSC)][Technical Steering Committee (TSC)]
+Le projet est régi par le "[Technical Steering Committee (TSC)][]"
qui est responsable de l'orientation de haut niveau du projet. Le TSC est un
un sous-ensemble de collaborateurs actifs qui sont nommés par d'autres membres existants du TSC.
diff --git a/apps/site/pages/fr/about/previous-releases.mdx b/apps/site/pages/fr/about/previous-releases.mdx
index 617c6b9088f29..dd53567056c68 100644
--- a/apps/site/pages/fr/about/previous-releases.mdx
+++ b/apps/site/pages/fr/about/previous-releases.mdx
@@ -14,7 +14,7 @@ Les applications de production ne doivent utiliser que les versions _Active LTS_
![Releases](https://raw.githubusercontent.com/nodejs/Release/main/schedule.svg?sanitize=true)
-Tous les détails concernant le calendrier des versions de Node.js sont disponibles [sur GitHub] (https://github.com/nodejs/release#release-schedule).
+Tous les détails concernant le calendrier des versions de Node.js sont disponibles [sur GitHub](https://github.com/nodejs/release#release-schedule).
## Vous recherchez la dernière version d'une branche de version ?
diff --git a/apps/site/pages/fr/about/security-reporting.mdx b/apps/site/pages/fr/about/security-reporting.mdx
index 4209d3c628ecf..b17332a3543ac 100644
--- a/apps/site/pages/fr/about/security-reporting.mdx
+++ b/apps/site/pages/fr/about/security-reporting.mdx
@@ -5,11 +5,11 @@ layout: about
Rapport de sécurité
-Pour plus de détails sur les politiques de sécurité active, consultez [cette page] (https://github.com/nodejs/node/security/policy).
+Pour plus de détails sur les politiques de sécurité active, consultez [cette page](https://github.com/nodejs/node/security/policy).
## Signaler une faille dans Node.js
-Signalez les bogues de sécurité dans Node.js via [HackerOne] (https://hackerone.com/nodejs).
+Signalez les bogues de sécurité dans Node.js via [HackerOne](https://hackerone.com/nodejs).
Vous recevrez un accusé de réception de votre rapport dans les 5 jours, et vous recevrez une réponse plus détaillée dans les 10 jours, indiquant les prochaines étapes.
une réponse plus détaillée à votre rapport dans les 10 jours, indiquant les prochaines étapes du traitement de votre demande.
diff --git a/apps/site/pages/fr/download/package-manager/all.md b/apps/site/pages/fr/download/package-manager/all.md
index 838d5a30b6f6a..e3cc8139496c1 100644
--- a/apps/site/pages/fr/download/package-manager/all.md
+++ b/apps/site/pages/fr/download/package-manager/all.md
@@ -1,5 +1,5 @@
---
-layout: download
+layout: article
title: Installer Node.js via le gestionnaire de paquets
---
@@ -7,36 +7,6 @@ title: Installer Node.js via le gestionnaire de paquets
> Les paquets sur cette page sont maintenus et supportés par leurs auteurs respectifs, **pas** par l'équipe de base de Node.js. Veuillez rapporter tout problème que vous rencontrez au mainteneur du paquet. S'il s'avère que votre problème est un bogue dans Node.js lui-même, le mainteneur rapportera le problème en amont.
----
-
-- [Alpine Linux](#alpine-linux)
-- [Android](#android)
-- [Arch Linux](#arch-linux)
-- [CentOS, Fedora et Red Hat Enterprise Linux](#centos-fedora-and-red-hat-enterprise-linux)
-- [Debian et Distributions Linux basées sur Ubuntu](#debian-and-ubuntu-based-linux-distributions)
-- [Exherbo Linux](#exherbo-linux)
-- [fnm](#fnm)
-- [FreeBSD](#freebsd)
-- [Gentoo](#gentoo)
-- [IBM i](#ibm-i)
-- [macOS](#macos)
-- [n](#n)
-- [NetBSD](#netbsd)
-- [Nodenv](#nodenv)
-- [nvm](#nvm)
-- [nvs](#nvs)
-- [OpenBSD](#openbsd)
-- [openSUSE et SLE](#opensuse-and-sle)
-- [SmartOS et illumos](#smartos-and-illumos)
-- [Snap](#snap)
-- [Solus](#solus)
-- [vfox](#vfox)
-- [Void Linux](#void-linux)
-- [Windows](#windows-1)
-- [z/OS](#zos)
-
----
-
## Alpine Linux
Les paquets Node.js LTS et npm sont disponibles dans le dépôt principal.
diff --git a/apps/site/pages/fr/download/prebuilt-installer/index.mdx b/apps/site/pages/fr/download/prebuilt-installer/index.mdx
index 451440f6adc96..d351d99bb5e24 100644
--- a/apps/site/pages/fr/download/prebuilt-installer/index.mdx
+++ b/apps/site/pages/fr/download/prebuilt-installer/index.mdx
@@ -21,6 +21,6 @@ Apprenez à vérifier les SHASUMSoptions de téléchargement de Node.js.
-En savoir plus sur les Versions Node.js
+En savoir plus sur les Versions Node.js
diff --git a/apps/site/pages/fr/index.mdx b/apps/site/pages/fr/index.mdx
index 54262c84798a6..a397a26bda193 100644
--- a/apps/site/pages/fr/index.mdx
+++ b/apps/site/pages/fr/index.mdx
@@ -22,7 +22,7 @@ qui permet aux développeurs de créer des serveurs, des applications web, des o
Télécharger Node.js {release.versionWithPrefix}1 avec un support à long terme.
- Node.js peut également être installé via gestionnaires de paquets.
+ Node.js peut également être installé via gestionnaires de paquets.
>
)}
diff --git a/apps/site/pages/id/about/governance.md b/apps/site/pages/id/about/governance.md
index fccc0765aeab6..fdfd7b99efd2e 100644
--- a/apps/site/pages/id/about/governance.md
+++ b/apps/site/pages/id/about/governance.md
@@ -7,11 +7,11 @@ layout: about
## Proses Pencarian Kesepakatan
-Proyek Node.js mengikuti model pengambilan keputusan \[Pencarian Konsensus] \[].
+Proyek Node.js mengikuti model pengambilan keputusan [Pencarian Konsensus][consensus seeking].
## Kolaborator
-Repositori inti GitHub [nodejs/node] \[] dikelola oleh Kolaborator
+Repositori inti GitHub [nodejs/node][] dikelola oleh Kolaborator
yang dinominasikan oleh Kolaborator lain yang ada secara berkelanjutan.
Individu yang memberikan kontribusi signifikan dan berharga akan dijadikan Kolaborator dan diberikan akses komitmen terhadap proyek. Individu-individu ini diidentifikasi oleh Kolaborator lain dan nominasi mereka didiskusikan dengan Kolaborator yang ada.
@@ -22,7 +22,7 @@ Panduan untuk Kolaborator disimpan di [collaborator-guide.md][].
## Komite Pengarah Teknis
-Proyek ini diatur oleh [Komite Pengarah Teknis][Technical Steering Committee (TSC)] dalam bahasa inggris Technical Steering Committee (TSC) yang bertanggung jawab atas panduan tingkat tinggi proyek. TSC adalah bagian dari Kolaborator aktif yang dinominasikan oleh anggota TSC lain yang sudah ada.
+Proyek ini diatur oleh [Komite Pengarah Teknis][technical steering committee (tsc)] dalam bahasa inggris Technical Steering Committee (TSC) yang bertanggung jawab atas panduan tingkat tinggi proyek. TSC adalah bagian dari Kolaborator aktif yang dinominasikan oleh anggota TSC lain yang sudah ada.
[consensus seeking]: https://id.wikipedia.org/wiki/Musyawarah
[readme.md]: https://github.com/nodejs/node/blob/main/README.md#current-project-team-members
diff --git a/apps/site/pages/id/about/index.mdx b/apps/site/pages/id/about/index.mdx
index bb2d0e29b91ee..b420da357524f 100644
--- a/apps/site/pages/id/about/index.mdx
+++ b/apps/site/pages/id/about/index.mdx
@@ -56,7 +56,7 @@ Jika ada yang belum familiar dengan bahasa ini, ada artikel lengkap tentang [Blo
---
-Node.js memiliki desain yang mirip dengan, dan dipengaruhi oleh, sistem seperti [Event Machine] \[] Ruby dan \[Twisted] \[] Python. Node.js membawa model acara sedikit lebih jauh. Ini menyajikan loop peristiwa sebagai konstruksi runtime, bukan sebagai perpustakaan. Di sistem lain, selalu ada panggilan pemblokiran untuk memulai perulangan peristiwa. Biasanya, perilaku ditentukan melalui callback di awal skrip, dan di akhir skrip, server dimulai melalui panggilan pemblokiran seperti `EventMachine::run()`. Di Node.js, tidak ada panggilan start-the-event-loop. Node.js cukup memasuki loop acara setelah menjalankan skrip input. Node.js keluar dari loop peristiwa ketika tidak ada lagi callback yang harus dilakukan. Perilaku ini seperti JavaScript browser — loop peristiwa disembunyikan dari pengguna.
+Node.js memiliki desain yang mirip dengan, dan dipengaruhi oleh, sistem seperti [Event Machine][] Ruby dan [Twisted][] Python. Node.js membawa model acara sedikit lebih jauh. Ini menyajikan loop peristiwa sebagai konstruksi runtime, bukan sebagai perpustakaan. Di sistem lain, selalu ada panggilan pemblokiran untuk memulai perulangan peristiwa. Biasanya, perilaku ditentukan melalui callback di awal skrip, dan di akhir skrip, server dimulai melalui panggilan pemblokiran seperti `EventMachine::run()`. Di Node.js, tidak ada panggilan start-the-event-loop. Node.js cukup memasuki loop acara setelah menjalankan skrip input. Node.js keluar dari loop peristiwa ketika tidak ada lagi callback yang harus dilakukan. Perilaku ini seperti JavaScript browser — loop peristiwa disembunyikan dari pengguna.
HTTP adalah warga negara kelas satu di Node.js, dirancang dengan streaming dan rendah
latensi dalam pikiran. Ini membuat Node.js sangat cocok untuk fondasi web
@@ -68,4 +68,4 @@ Node.js dirancang tanpa thread bukan berarti Anda tidak dapat memanfaatkan banya
[`child_process.fork()`]: https://nodejs.org/api/child_process.html
[`cluster`]: https://nodejs.org/api/cluster.html
[event machine]: https://github.com/eventmachine/eventmachine
-[berpilin]: https://twisted.org/
+[twisted]: https://twisted.org/
diff --git a/apps/site/pages/id/download/package-manager/all.md b/apps/site/pages/id/download/package-manager/all.md
index c1781eaeed769..892c7d0f1e9c9 100644
--- a/apps/site/pages/id/download/package-manager/all.md
+++ b/apps/site/pages/id/download/package-manager/all.md
@@ -1,5 +1,5 @@
---
-layout: download
+layout: article
title: Menginstal Node.js melalui manajer paket
---
@@ -7,36 +7,6 @@ title: Menginstal Node.js melalui manajer paket
> Paket-paket di halaman ini dijaga dan didukung oleh para pemberi paket mereka masing-masing, bukan tim inti Node.js. Harap laporkan setiap masalah yang Anda temui kepada pemelihara paket. Jika masalah Anda ternyata adalah bug dalam Node.js itu sendiri, pemelihara akan melaporkan masalah tersebut ke hulu.
----
-
-- [Alpine Linux](#alpine-linux)
-- [Android](#android)
-- [Arch Linux](#arch-linux)
-- [CentOS, Fedora dan Red Hat Enterprise Linux](#centos-fedora-and-red-hat-enterprise-linux)
-- [Distribusi Linux berbasis Debian dan Ubuntu](#debian-and-ubuntu-based-linux-distributions)
-- [Exherbo Linux](#exherbo-linux)
-- [fnm](#fnm)
-- [FreeBSD](#freebsd)
-- [Gentoo](#gentoo)
-- [IBM i](#ibm-i)
-- [macOS](#macos)
-- [n](#n)
-- [NetBSD](#netbsd)
-- [Nodenv](#nodenv)
-- [nvm](#nvm)
-- [nvs](#nvs)
-- [OpenBSD](#openbsd)
-- [openSUSE dan SLE](#opensuse-and-sle)
-- [SmartOS dan illumos](#smartos-and-illumos)
-- [Snap](#snap)
-- [Solus](#solus)
-- [vfox](#vfox)
-- [Void Linux](#void-linux)
-- [Windows](#windows-1)
-- [z/OS](#zos)
-
----
-
## Alpine Linux
Paket Node.js LTS dan npm tersedia di Repository Utama.
diff --git a/apps/site/pages/id/index.mdx b/apps/site/pages/id/index.mdx
index b7ca646a0b6ab..530b6a53daf62 100644
--- a/apps/site/pages/id/index.mdx
+++ b/apps/site/pages/id/index.mdx
@@ -21,7 +21,7 @@ Node.js® adalah lingkungan runtime JavaScript gratis dan sumber terbuka yang li
Unduhan Node.js {release.versionWithPrefix}1 dengan dukungan jangka panjang (LTS).
- Node.js juga dapat diinstal melalui manajer paket.
+ Node.js juga dapat diinstal melalui manajer paket.
>
)}
diff --git a/apps/site/pages/ja/index.mdx b/apps/site/pages/ja/index.mdx
index ba34b86b0c6c4..0853e6b7bfa6d 100644
--- a/apps/site/pages/ja/index.mdx
+++ b/apps/site/pages/ja/index.mdx
@@ -21,7 +21,7 @@ Node.js®は自由かつオープンソースでクロスプラットフォー
長期サポート版Node.js {release.versionWithPrefix}1をダウンロードする。
- パッケージマネージャーを利用したインストール方法もあります。
+ パッケージマネージャーを利用したインストール方法もあります。
>
)}
diff --git a/apps/site/pages/ko/index.mdx b/apps/site/pages/ko/index.mdx
index 7fb3d0a27bbed..6e5d2141a6fcc 100644
--- a/apps/site/pages/ko/index.mdx
+++ b/apps/site/pages/ko/index.mdx
@@ -21,7 +21,7 @@ Node.js®는 무료, 오픈소스, 크로스플랫폼 JavaSript 런타임 환경
Node.js 다운로드 {release.versionWithPrefix}1 LTS.
- Node.js는 package managers를 통해서도 다운로드 할 수 있습니다..
+ Node.js는 package managers를 통해서도 다운로드 할 수 있습니다..
>
)}
diff --git a/apps/site/pages/pt/about/branding.mdx b/apps/site/pages/pt/about/branding.mdx
index 9e20fdf437a4d..e281a14fb546b 100644
--- a/apps/site/pages/pt/about/branding.mdx
+++ b/apps/site/pages/pt/about/branding.mdx
@@ -9,6 +9,8 @@ Consultar a [política de marcas registadas](https://trademark-policy.openjsf.or
## Mascote da Node.js®
+Crédito a [@Ang_ngl on X](https://x.com/Ang_ngl) por desenhar e contribuir com a Tartaruga do Foguetão.
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
### Logótipo Empilhado da Node.js®
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
### Ícones da JS
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/site/pages/pt/about/get-involved/index.md b/apps/site/pages/pt/about/get-involved/index.md
index 03833b4a02692..abdbf70a9d109 100644
--- a/apps/site/pages/pt/about/get-involved/index.md
+++ b/apps/site/pages/pt/about/get-involved/index.md
@@ -1,26 +1,36 @@
---
-title: Participe
+title: Participar
layout: about
---
# Participe
+Aos que estiverem interessados em colaborar com a comunidade da Node.js, existem muitas maneiras de fazê-lo. O projeto Node.js é grande e diverso em comunidade, e existem muitas maneiras de colaborar, para além de escrever código.
+
## Discussão de Comunidade
-- A [Lista de Problemas no Github](https://github.com/nodejs/node/issues) é o local para discussões sobre as funcionalidades principais do Node.js.
-- Para comunicação em tempo real sobre o desenvolvimento do Node.js, use uma das plataformas abaixo
- - Para IRC, acesse `irc.libera.chat` no canal `#node.js` utilizando um [cliente IRC](https://en.wikipedia.org/wiki/Comparison_of_Internet_Relay_Chat_clients) ou junte-se ao canal com o seu navegador usando um [cliente web](https://kiwiirc.com/nextclient/)
- - Para o Slack, existe duas opções:
- - O [OpenJSF Slack](https://slack-invite.openjsf.org/) é um Slack administrado pela Fundação com vários canais Node.js (canais com o prefixo `#nodejs-` estão relacionados ao projeto).
- - [Node Slackers](https://www.nodeslackers.com/) é uma comunidade do Slack focada em Node.js.
+- A [lista de problemas da GitHub](https://github.com/nodejs/node/issues) é o lugar para as discussões sobre as funcionalidades nucleares da Node.js e se tivermos questões sobre a Node.js, podemos utilizar as [discussões da GitHub](https://github.com/orgs/nodejs/discussions).
+- O repositório [`nodejs/help`](https://github.com/nodejs/help/issues) é o lugar para fazer-se questões sobre a Node.js.
- A conta oficial do Node.js no Twitter é [nodejs](https://twitter.com/nodejs).
- O [calendário do projeto Node.js](https://nodejs.org/calendar) com todas as reuniões públicas da equipa.
-## Estudos
+## Materiais de Estudo
+
+Se estivermos interessados em saber ou aprender mais sobre a Node.js, existem muitos recursos a nossa disposição.
- [Secção oficial de aprendizagem](https://nodejs.org/en/learn/) do sítio da Node.js.
- [Documentação oficial de referência da API](https://nodejs.org/api/).
- [NodeSchool.io](https://nodeschool.io/) ensina conceitos de Node.js por jogos interativos da linha de comandos.
- [A tag Stack Overflow Node.js](https://stackoverflow.com/questions/tagged/node.js) coleta novas informações todos os dias.
- [A tag Node.js da comunidade DEV](https://dev.to/t/node) é um lugar para partilhar projetos, artigos e tutoriais do Node.js, bem como iniciar discussões e pedir feedback sobre assuntos relacionados ao Node.js. Desenvolvedores de todos os níveis de habilidade podem participar.
+- A [comunidade da Node.js da Reddit](https://www.reddit.com/r/node) é o lugar para partilhar os projetos, artigos, e tutoriais de Node.js, bem como o lugar para começar discussões e pedir por comentários relacionados a Node.js. Programadores de todos os níveis de habilidade são bem-vindos a participar.
+
+## Áreas de Discussões Não Oficiais
+
+Se estivermos a procura de um lugar informal para discutir a Node.js, existem vários lugares de discussão não oficial. Notemos que estes não são oficialmente endossados pelo projeto Node.js. E também devemos seguir seus respetivos código de conduta ou regras.
+
+- [Node Slackers](https://www.nodeslackers.com/) é uma comunidade do Slack focada em Node.js.
+- A [Slack da OpenJSF](https://slack-invite.openjsf.org/) é um espaço de trabalho da Fundação OpenJS. Existem vários canais relacionados a Node.js. _(canais prefixados por `#nodejs-`) são relacionados ao projeto_
- [Nodeiflux](https://discordapp.com/invite/vUsrbjd) é uma comunidade amigável de desenvolvedores de backend Node.js que se apoiam uns aos outros no Discord.
+- A [Comunidade ES](https://discord.gg/zJsuc6vvhn) é uma comunidade da Discord para programadores da JavaScript falantes do Francês.
+- `irc.libera.chat` no canal `#node.js` com um [cliente de Conversa-Resposta da Internet](https://en.wikipedia.org/wiki/Comparison_of_Internet_Relay_Chat_clients) ou podemos conectar o nosso navegador da Web ao canal ao utilizar [um cliente da Web](https://kiwiirc.com/nextclient/).
diff --git a/apps/site/pages/pt/download/package-manager/all.md b/apps/site/pages/pt/download/package-manager/all.md
index 7a9b32cab0f5e..2df1370f6a692 100644
--- a/apps/site/pages/pt/download/package-manager/all.md
+++ b/apps/site/pages/pt/download/package-manager/all.md
@@ -1,5 +1,5 @@
---
-layout: download
+layout: article
title: Instalação da Node.js através do Gestor de Pacote
---
@@ -7,36 +7,6 @@ title: Instalação da Node.js através do Gestor de Pacote
> Os pacotes nesta página são mantidos e suportados por seus respetivos empacotadores, **não** pela equipa principal da Node.js. Precisamos reportar quaisquer problemas que encontrarmos ao responsável do pacote. Se o nosso problema for um erro de programação na própria Node.js, o responsável reportará o problema.
----
-
-- [Alpine Linux](#alpine-linux)
-- [Android](#android)
-- [Arch Linux](#arch-linux)
-- [CentOS, Fedora e Red Hat Enterprise Linux](#centos-fedora-e-red-hat-enterprise-linux)
-- [Distribuições de Linux baseadas em Debian e Ubuntu](#distribuicoes-de-linux-baseadas-em-debian-e-ubuntu)
-- [Exherbo Linux](#exherbo-linux)
-- [fnm](#fnm)
-- [FreeBSD](#freebsd)
-- [Gentoo](#gentoo)
-- [IBM i](#ibm-i)
-- [macOS](#macos)
-- [n](#n)
-- [NetBSD](#netbsd)
-- [Nodenv](#nodenv)
-- [nvm](#nvm)
-- [nvs](#nvs)
-- [OpenBSD](#openbsd)
-- [openSUSE e SLE](#opensuse-e-sle)
-- [SmartOS e illumos](#smartos-e-illumos)
-- [Snap](#snap)
-- [Solus](#solus)
-- [vfox](#vfox)
-- [Void Linux](#void-linux)
-- [Windows](#windows-1)
-- [z/OS](#zos)
-
----
-
## Linux Alpino
Os pacotes da Node.js com suporte de longo prazo e npm estão disponíveis no repositório principal.
diff --git a/apps/site/pages/pt/download/prebuilt-installer/index.mdx b/apps/site/pages/pt/download/prebuilt-installer/index.mdx
index 22ef2c0d72f25..ce5d362e13d0a 100644
--- a/apps/site/pages/pt/download/prebuilt-installer/index.mdx
+++ b/apps/site/pages/pt/download/prebuilt-installer/index.mdx
@@ -21,6 +21,6 @@ Saber como verificar o SHASUMS assinado opções de descarga disponíveis da Node.js
-Saber mais sobre os Lançamentos da Node.js
+Saber mais sobre os Lançamentos da Node.js
diff --git a/apps/site/pages/pt/index.mdx b/apps/site/pages/pt/index.mdx
index 3b0d913dfe3cd..a1ca7594dc92b 100644
--- a/apps/site/pages/pt/index.mdx
+++ b/apps/site/pages/pt/index.mdx
@@ -21,7 +21,7 @@ Node.js® é uma ambiente de execução de JavaScript disponível para várias p
Descarregar a Node.js {release.versionWithPrefix}1 com o suporte de longo prazo.
- A Node.js também pode ser instalada através dos gestores de pacotes.
+ A Node.js também pode ser instalada através dos gestores de pacotes.
>
)}
diff --git a/apps/site/pages/tr/about/branding.mdx b/apps/site/pages/tr/about/branding.mdx
new file mode 100644
index 0000000000000..e3646bdebd2d0
--- /dev/null
+++ b/apps/site/pages/tr/about/branding.mdx
@@ -0,0 +1,84 @@
+---
+title: Node.js'in markalaşması
+layout: about
+---
+
+Node.js'in markalaşması
+
+Node.js® logolarının ve işaretlerinin izin verilen kullanımına ilişkin bilgi için lütfen [ticari marka politikasını](https://trademark-policy.openjsf.org/) inceleyin.
+
+## Node.js® Maskot
+
+Roket Kaplumbağayı tasarlayıp katkıda bulunduğu için [X'de @Ang_ngl](https://x.com/Ang_ngl)'e teşekkürler.
+
+
+
+## Node.js® Logo
+
+### Node.js® Yatay Logo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+### Node.js® Dikey Logo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+### JS Simgeleri
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/site/pages/tr/about/get-involved/collab-summit.md b/apps/site/pages/tr/about/get-involved/collab-summit.md
new file mode 100644
index 0000000000000..4146129418cd4
--- /dev/null
+++ b/apps/site/pages/tr/about/get-involved/collab-summit.md
@@ -0,0 +1,16 @@
+---
+title: İş Birliği Zirvesi
+layout: about
+---
+
+# İş Birliği Zirvesi
+
+Node.js'in İş Birliği Zirvesi, Node.js'i canlı iş birliği, eğitim ve bilgi paylaşımıyla tartışmak üzere mevcut ve potansiyel katkıda bulunanları bir araya getiren bir konferanstır. Topluluktan ekipler, çalışma grupları ve katkıda bulunanlar yılda iki kez bir araya gelerek karar almaya yardımcı olacak tartışmalar gerçekleştirirken aynı zamanda bizzat ilerletmek istedikleri heyecan verici çabalar üzerinde de çalışıyorlar.
+
+## Kimler katılıyor?
+
+İş Birliği Zirvesine öncelikli olarak mevcut katkıda bulunanlar ve topluluk üyeleri katılıyor, ancak henüz katkıda bulunmayan ve katılmak isteyenlere de ev sahipliği yapıyor. Node.js'e katkıda bulunma konusunda yeniyseniz İş Birliği Zirvesi, toplulukta neler olup bittiğini öğrenmenize ve sahip olduğunuz ve geliştirmek istediğiniz becerilerle katkıda bulunmanıza yardımcı olacak iyi bir fırsat olabilir.
+
+Zirve öncesi, katkı da bulunanlar ve topluluk üyeleri bir program oluşturmak için oturum önerilerini gönderirler. Katılımcılar yerlerini almadan önce oturumları tanıyabilir, genel katılımcı tartışmalarını yapabilir ve ardından oturumlara dalabilirler. Ayrıca koridor da fikir alışverişi ve beyin fırtınaları için de pek çok fırsat olacak.
+
+Yaklaşan ve geçmiş İş Birliği Zirveleri hakkında bilgi için [Zirve deposuna](https://github.com/openjs-foundation/summit) göz atın. Katkıda bulunanların ve topluluk üyelerinin yüz yüze tartışmayı önerdikleri konuları paylaşan [sorunlar dosyasına](https://github.com/nodejs/summit/issues) bir göz atın.
diff --git a/apps/site/pages/tr/about/get-involved/contribute.md b/apps/site/pages/tr/about/get-involved/contribute.md
index 0c812116db400..2d71fa5c8f9e8 100644
--- a/apps/site/pages/tr/about/get-involved/contribute.md
+++ b/apps/site/pages/tr/about/get-involved/contribute.md
@@ -9,13 +9,13 @@ Node.js'e katkıda bulunmaya ilginiz için teşekkür ederiz! Katkıda bulunabil
## Genel Yardım Talebi
-Nodejs/node\\` deposundaki etkinlik düzeyi çok yüksek olduğundan, Node.js kullanımıyla ilgili genel yardım soruları veya talepleri [Node.js yardım deposu] (https\://github.com/nodejs/help/issues) adresine yönlendirilmelidir.
+`nodejs/node` deposundaki etkinlik düzeyi çok yüksek olduğundan, Node.js kullanımıyla ilgili genel yardım soruları veya talepleri [Node.js yardım deposu](https://github.com/nodejs/help/issues) adresine yönlendirilmelidir.
## Sorun Bildirme
Eğer Node.js ile ilgili bir sorun bulduysanız, lütfen GitHub projesinde bir sorun (issue) bildirmekten çekinmeyin. Sorununuzu bildirirken, sorunun tekrarlanabilir bir test örneği ile ifade edilebildiğinden emin olun, ve bu test örneği dış bağımlılıklar içermemelidir. Yani, test örneği sadece Node.js'in kendisi ile çalıştırılabilir olmalıdır.
-Bir sorun bildirirken, mümkün olduğunca çevrenizle ilgili bilgi de dahil etmeniz gerekmektedir. Sorunu daraltmaya çalışırken hangi bilgilerin önemli olacağını bilemeyiz. En azından aşağıdaki bilgileri içermeye çalışın:
+Bir sorun bildirirken, mümkün olduğunca geliştirme ortamınız ile ilgili bilgi de dahil etmeniz gerekmektedir. Sorunu daraltmaya çalışırken hangi bilgilerin önemli olacağını bilemeyiz. En azından aşağıdaki bilgileri sağlamaya çalışın:
- Node.js Sürümü
- Çalıştırdığınız platform (macOS, SmartOS, Linux, Windows)
@@ -23,25 +23,25 @@ Bir sorun bildirirken, mümkün olduğunca çevrenizle ilgili bilgi de dahil etm
Node.js projesi şu anda birkaç ayrı GitHub deposu üzerinden yönetilmektedir, her birinin kendi ayrı sorun veritabanı bulunmaktadır. Mümkünse, bildirdiğiniz herhangi bir sorunu uygun deposuna yönlendirin, ancak yanlış yere yerleştirilirse endişelenmeyin, katkıda bulunan topluluk sizi doğru yöne yönlendirmekten memnuniyet duyacaktır.
-- Node.js'ye özgü sorunları bildirmek için lütfen [nodejs/node](https://github.com/nodejs/node) adresini kullanın
+- Node.js'e özgü sorunları bildirmek için lütfen [nodejs/node](https://github.com/nodejs/node) adresini kullanın
- Bu web sitesine özgü sorunları bildirmek için lütfen [nodejs/nodejs.org](https://github.com/nodejs/nodejs.org/issues) adresini kullanın
## Kod katkıları
-Node.js'ye hata düzeltmek veya yeni bir özellik eklemek istiyorsanız, lütfen [Node.js Katkı Yönergelerine] (https\://github.com/nodejs/node/blob/main/CONTRIBUTING.md/#pull-requests) başvurduğunuzdan emin olun. Projeye yapılan tüm katkılar için mevcut işbirlikçiler tarafından yapılan inceleme süreci de burada açıklanmaktadır.
+Node.js'e hata düzeltmek veya yeni bir özellik eklemek istiyorsanız, lütfen [Node.js Katkı Yönergelerini](https://github.com/nodejs/node/blob/main/CONTRIBUTING.md/#pull-requests) dikkate aldığınızdan emin olun. Projeye yapılan tüm katkılar için mevcut iş birlikçiler tarafından yapılan inceleme süreci de burada açıklanmaktadır.
-Nasıl başlayacağınızı merak ediyorsanız, ilk katkınıza doğru size rehberlik edebilecek [Node Todo] (https\://www\.nodetodo.org/) adresini kontrol edebilirsiniz.
+Nasıl başlayacağınızı merak ediyorsanız, ilk katkınızda size rehberlik edebilecek [Node Todo](https://www.nodetodo.org/) adresini kontrol edebilirsiniz.
-## İşbirlikçi olmak
+## İş birlikçi olmak
-İşbirlikçi olarak kabul edilerek, katkıda bulunanlar projeye daha da büyük bir etki yapabilirler. Diğer katkı sağlayıcıları, katkılarını gözden geçirerek, sorunları sınıflandırarak ve projenin geleceğini şekillendirmede daha büyük bir rol alarak yardımcı olabilirler. Node.js topluluğu tarafından herhangi bir Node.js deposunda önemli ve değerli katkılar yapan bireyler İşbirlikçi olarak belirlenebilir ve projeye commit erişimi verilebilir. Dikkate alınan faaliyetler şunları içerir (ancak bunlarla sınırlı değildir):
+İş birlikçi olarak kabul edilerek, katkıda bulunanlar projeye daha da büyük bir etki yapabilirler. Diğer katkı sağlayıcıları, katkılarını gözden geçirerek, sorunları sınıflandırarak ve projenin geleceğini şekillendirmede daha büyük bir rol alarak yardımcı olabilirler. Node.js topluluğu tarafından herhangi bir Node.js deposunda önemli ve değerli katkılar yapan bireyler İş birlikçi olarak belirlenebilir ve projeye taahhüt(commit) erişimi verilebilir. Dikkate alınan faaliyetler şunları içerir (ancak bunlarla sınırlı değildir):
-- kod taahhütleri ve pull request istekleri
-- kod taahhütleri ve pull request istekleri
-- sorunlar ve pull request istekleri hakkında yorumlar
-- node.js web sitesine katkılar
-- son kullanıcılara ve acemi katılımcılara sağlanan yardım
-- çalışma gruplarına destek
+- kod taahhütleri ve çekme istekleri
+- belge taahhütleri ve çekme istekleri
+- sorunlar ve çekme istekleri hakkındaki yorumlar
+- Node.js web sitesine katkılar
+- son kullanıcılara ve acemi katkıda bulunanlara sağlanan yardım
+- çalışma gruplarına katılım
- daha geniş Node.js topluluklarında katkı sağlamak
-Kişiler değerli katkılarının dikkate alınmadığını düşünürlerse, bunu sorun olarak bildirebilir veya bir TSC üyesi ile doğrudan iletişime geçebilir.
+Değerli katkılarda bulunan kişiler dikkate alınmadıklarına inanıyorlarsa [bir sorun kaydedebilirler](https://github.com/nodejs/TSC/issues) veya [bir TSC üyesiyle iletişime geçebilirler](https://github.com/nodejs/node#tsc-technical-steering-committee).
diff --git a/apps/site/pages/tr/about/get-involved/index.md b/apps/site/pages/tr/about/get-involved/index.md
index e8b872f9cf709..a9b30b0b26f80 100644
--- a/apps/site/pages/tr/about/get-involved/index.md
+++ b/apps/site/pages/tr/about/get-involved/index.md
@@ -5,22 +5,32 @@ layout: about
# Dahil Olun
+Node.js topluluğuna dahil olmanın birden çok yolu vardır. Node.js projesi büyük ve çeşitliliğe sahip bir topluluktur, kod yazmanın ötesinde katkıda bulunmanın birçok yolu vardır.
+
## Topluluk Tartışması
-- [GitHub sorunlar listesi] (https\://github.com/nodejs/node/issues) Node.js temel özelliklerinin tartışıldığı yerdir.
-- Node.js geliştirme hakkında gerçek zamanlı sohbet için aşağıdaki platformlardan birini kullanabilirsiniz
- - IRC için, bir [IRC istemcisi](https://en.wikipedia.org/wiki/Comparison_of_Internet_Relay_Chat_clients) ile `#node.js` kanalındaki `irc.libera.chat` adresine gidin veya [bir web istemcisi](https://kiwiirc.com/nextclient/) kullanarak web tarayıcınızdan kanala bağlanın
- - Slack için iki seçenek vardır:
- - OpenJSF Slack] (https\://slack-invite.openjsf.org/), birkaç Node.js kanalına sahip bir Vakıf tarafından işletilen Slack'tir (`#nodejs-` ile ön eklenmiş kanallar projeyle ilgilidir).
- - [Node Slackers](https://www.nodeslackers.com/) Node.js odaklı bir Slack topluluğudur.
-- Resmi Node.js Twitter hesabı [nodejs](https://twitter.com/nodejs) şeklindedir.
-- Tüm genel ekip toplantılarını içeren [Node.js proje takvimi] (https\://nodejs.org/calendar).
+- [GitHub sorunlar listesi](https://github.com/nodejs/node/issues), Node.js'in çekirdek özelliklerinin tartışıldığı yerdir ve Node.js hakkında sorularınız varsa [GitHub tartışmalarını](https://github.com/orgs/nodejs/discussions) kullanabilirsiniz.
+- Node.js hakkında soru sormak için [`nodejs/help`](https://github.com/nodejs/help/issues) deposunu kullanabilirsiniz.
+- Resmi Node.js X (eski adıyla Twitter) hesabı [nodejs](https://twitter.com/nodejs) şeklindedir.
+- Tüm herkese açık ekip toplantılarını içeren [Node.js proje takvimi](https://nodejs.org/calendar).
+
+## Öğrenme Materyalleri
-## Öğrenme
+Node.js hakkında daha fazla bilgi edinmek istiyorsanız, sizin için birçok kaynak mevcuttur.
-- Node.js web sitesinin [Resmi Öğrenme bölümü] (https\://nodejs.org/en/learn/).
+- Node.js web sitesinin [Resmi Öğrenme bölümü](https://nodejs.org/en/learn/).
- [Resmi API referans belgeleri](https://nodejs.org/api/).
- [NodeSchool.io](https://nodeschool.io/) size Node.js kavramlarını etkileşimli komut satırı oyunları aracılığıyla öğretecek.
-- [Stack Overflow Node.js etiketi] (https://stackoverflow.com/questions/tagged/node.js) her gün yeni bilgiler toplamaktadır.
-- [DEV Topluluğu Node.js etiketi] (https://dev.to/t/node) Node.js projelerini, makalelerini ve eğitimlerini paylaşmanın yanı sıra Node.js ile ilgili konularda tartışmalar başlatmak ve geri bildirim istemek için bir yerdir. Tüm beceri seviyelerindeki geliştiriciler katılabilir.
-- [Nodeiflux] (https://discordapp.com/invite/vUsrbjd), Discord'da birbirini destekleyen Node.js arka uç geliştiricilerinden oluşan samimi bir topluluktur.
+- [Stack Overflow Node.js etiketi](https://stackoverflow.com/questions/tagged/node.js) her gün yeni bilgiler toplamaktadır.
+- [DEV Topluluğu Node.js etiketi](https://dev.to/t/node) Node.js projelerini, makalelerini ve eğitimlerini paylaşmanın yanı sıra Node.js ile ilgili tartışmalar başlatıp ve geri bildirim isteyebileceğiniz bir yerdir. Tüm beceri seviyelerindeki geliştiriciler katılabilir.
+- [Reddit'teki Node.js topluluğu](https://www.reddit.com/r/node), Node.js projelerini, makalelerini ve eğitimlerini paylaşabileceğin bir yer. Ayrıca Node.js ile ilgili tartışmalar başlatabilir ve geri bildirim isteyebilirsin. Her seviyeden geliştirici burada yer alabilir.
+
+## Resmi olmayan Tartışma Alanları
+
+Node.js hakkında daha samimi bir ortamda tartışmak istiyorsanız, birkaç tane resmi olmayan tartışma alanı var. Ancak, bunların Node.js projesi tarafından resmi olarak desteklenmediğini unutmayın.Ayrıca ilgili davranış kurallarına/kurallara uyun.
+
+- [Node Slackers](https://www.nodeslackers.com/) Node.js odaklı bir Slack topluluğudur.
+- [OpenJSF Slack](https://slack-invite.openjsf.org/) OpenJS Kuruluşu için Slack çalışma alanıdır. Node.js ile ilgili birkaç kanal bulunuyor. _(#nodejs-’ ile başlayan kanallar projeyle ilgilidir)_
+- [Nodeiflux](https://discordapp.com/invite/vUsrbjd), Discord'da birbirini destekleyen Node.js arka uç geliştiricilerinden oluşan samimi bir topluluktur.
+- [ES Topluluğu](https://discord.gg/zJsuc6vvhn), Fransızca konuşan JavaScript geliştiricileri için bir Discord topluluğudur.
+- `#node.js` kanalındaki `irc.libera.chat`'e [IRC istemcisi](https://en.wikipedia.org/wiki/Comparison_of_Internet_Relay_Chat_clients) ile bağlanın veya web tarayıcınızdan [web istemcisi](https://kiwiirc.com/nextclient/) kullanarak kanala bağlanın.
diff --git a/apps/site/pages/tr/about/governance.md b/apps/site/pages/tr/about/governance.md
new file mode 100644
index 0000000000000..0a1db1d9735fa
--- /dev/null
+++ b/apps/site/pages/tr/about/governance.md
@@ -0,0 +1,31 @@
+---
+title: Proje Yönetimi
+layout: about
+---
+
+# Proje Yönetimi
+
+## Uzlaşma Arama Süreci
+
+Node.js projesi bir [Uzlaşma Arayışı][consensus seeking] karar verme modeli izlemektedir.
+
+## İş birlikçiler
+
+[nodejs/node][] çekirdek GitHub deposu, mevcut diğer İş birlikçiler tarafından aday gösterilen İş birlikçiler tarafından sürdürülmektedir.
+
+Önemli ve değerli katkılarda bulunanlar İş birlikçi yapılır ve projeye taahhüt erişimi verilir. Bu kişiler diğer İş birlikçiler tarafından belirlenir ve adaylıkları mevcut İş birlikçilerle görüşülür.
+
+İş birlikçilerin güncel listesi için, projenin [README.md][] dosyasına bakın.
+
+İşbirlikçiler için bir rehber, [collaborator-guide.md][] dosyasında bulunmaktadır.
+
+## Teknik Yönlendirme Komitesi
+
+Proje, projenin üst düzey rehberliğinden sorumlu olan [Teknik Yönlendirme Komitesi (TYK)][technical steering committee (tsc)] tarafından yönetilmektedir. TYK, diğer mevcut TYK üyeleri tarafından aday gösterilen aktif İş birlikçilerin bir alt kümesidir.
+
+[consensus seeking]: https://en.wikipedia.org/wiki/Consensus-seeking_decision-making
+[readme.md]: https://github.com/nodejs/node/blob/main/README.md#current-project-team-members
+[tsc]: https://github.com/nodejs/TSC
+[technical steering committee (tsc)]: https://github.com/nodejs/TSC/blob/main/TSC-Charter.md
+[collaborator-guide.md]: https://github.com/nodejs/node/blob/main/doc/contributing/collaborator-guide.md
+[nodejs/node]: https://github.com/nodejs/node
diff --git a/apps/site/pages/tr/about/index.mdx b/apps/site/pages/tr/about/index.mdx
new file mode 100644
index 0000000000000..bc4e9683f1bf1
--- /dev/null
+++ b/apps/site/pages/tr/about/index.mdx
@@ -0,0 +1,60 @@
+---
+title: Node.js® Hakkında
+layout: about
+---
+
+Node.js® Hakkında
+
+Asenkron olaya dayalı bir JavaScript çalıştırma ortamı olarak, Node.js, ölçeklenebilir ağ uygulamaları oluşturmak için tasarlanmıştır. Aşağıdaki "merhaba dünya" örneğinde, birçok bağlantı aynı anda işlenebilir. Her bağlantıda geri çağrı tetiklenir, ancak yapılacak iş yoksa, Node.js uyur.
+
+```cjs
+const { createServer } = require('node:http');
+
+const hostname = '127.0.0.1';
+const port = 3000;
+
+const server = createServer((req, res) => {
+ res.statusCode = 200;
+ res.setHeader('Content-Type', 'text/plain');
+ res.end('Hello World');
+});
+
+server.listen(port, hostname, () => {
+ console.log(`Server running at http://${hostname}:${port}/`);
+});
+```
+
+```mjs
+import { createServer } from 'node:http';
+
+const hostname = '127.0.0.1';
+const port = 3000;
+
+const server = createServer((req, res) => {
+ res.statusCode = 200;
+ res.setHeader('Content-Type', 'text/plain');
+ res.end('Hello World');
+});
+
+server.listen(port, hostname, () => {
+ console.log(`Server running at http://${hostname}:${port}/`);
+});
+```
+
+Bu, bugünün daha yaygın olan eş zamanlılık modeline karşı bir durumdur, bu modelde işletim sistemi iş parçacıkları kullanılır. İş parçacığı tabanlı ağ iletişimi nispeten verimsizdir ve çok zor kullanılır. Ayrıca, Node.js kullanıcıları, kilitlenme endişelerinden bağımsızdır, çünkü kilitler yoktur. Node.js'deki neredeyse hiçbir işlev doğrudan G/Ç yapmaz, bu nedenle işlem, Node.js standart kitaplığının senkron yöntemleri kullanılarak G/Ç gerçekleştirildiğinde dışında asla bloke olmaz. Hiçbir şey bloke olmadığı için, ölçeklenebilir sistemlerin Node.js'te geliştirilmesi çok mantıklıdır.
+
+Eğer bu dilin bir kısmı size yabancı geliyorsa, [Blokajlı ve Blokajlı Olmayan][] hakkında tam bir makale bulunmaktadır.
+
+---
+
+Node.js, Ruby'nin [Event Machine][] ve Python'un [Twisted][] gibi sistemlere benzer şekilde tasarlanmış ve etkilenmiştir. Node.js, olay modelini biraz daha ileri götürür. Olay döngüsünü bir kütüphane olarak değil, bir çalışma zamanı yapısı olarak sunar. Diğer sistemlerde, olay döngüsünü başlatmak için her zaman bir blokajlı çağrı vardır. Tipik olarak, davranış, betiğin başında geri çağrılar aracılığıyla tanımlanır ve sonunda EventMachine::run() gibi bir blokajlı çağrı ile bir sunucu başlatılır. Node.js'te böyle bir olay-döngüsünü-başlatma çağrısı yoktur. Node.js, girdi betiğini yürüttükten sonra basitçe olay döngüsüne girer. Node.js, yapılacak başka geri çağrı kalmadığında olay döngüsünden çıkar. Bu davranış, tarayıcı JavaScript'iyle benzerdir - olay döngüsü kullanıcıdan gizlenir.
+
+HTTP, Node.js'de birinci sınıf bir vatandaştır ve akış ve düşük gecikme düşünülerek tasarlanmıştır. Bu, Node.js'in bir web kitaplığının veya çerçevesinin temeli için uygun olmasını sağlar.
+
+Node.js'in iş parçacıkları olmadan tasarlanmış olması, çevrenizdeki birden fazla çekirdeği kullanamayacağınız anlamına gelmez. Çocuk süreçler, [child\_process.fork()][] API'si kullanılarak oluşturulabilir ve iletişim kurmak için tasarlanmıştır. Aynı arayüz üzerine inşa edilmiş olan [`cluster`][] modülü, çekirdekleriniz üzerinde yük dengelemeyi etkinleştirmek için süreçler arasında soket paylaşmanıza izin verir.
+
+[blokajlı ve Blokajlı Olmayan]: /learn/asynchronous-work/overview-of-blocking-vs-non-blocking
+[`child_process.fork()`]: https://nodejs.org/api/child_process.html
+[`cluster`]: https://nodejs.org/api/cluster.html
+[event machine]: https://github.com/eventmachine/eventmachine
+[twisted]: https://twisted.org/
diff --git a/apps/site/pages/tr/about/previous-releases.mdx b/apps/site/pages/tr/about/previous-releases.mdx
new file mode 100644
index 0000000000000..cbbcd9b271da3
--- /dev/null
+++ b/apps/site/pages/tr/about/previous-releases.mdx
@@ -0,0 +1,21 @@
+---
+title: Node.js Sürümleri
+layout: about
+---
+
+Node.js Sürümleri
+
+Ana Node.js sürümleri altı ay boyunca Mevcut yayın durumuna girer, bu da kütüphane yazarlarına destek eklemeleri için zaman tanır.
+Altı ayın ardından, tek sayılı sürümler (9, 11, vb.) desteklenmez hale gelir ve çift sayılı sürümler (10, 12, vb.) Etkin LTS durumuna geçer ve genel kullanıma hazırdır.
+LTS yayın durumu "uzun vadeli destek" anlamına gelir ve genellikle kritik hataların toplamda 30 ay boyunca düzeltileceğini garanti eder.
+Üretim uygulamaları yalnızca Etkin LTS veya Bakım LTS sürümlerini kullanmalıdır.
+
+## Yayın Takvimi
+
+![Yayınlar](https://raw.githubusercontent.com/nodejs/Release/main/schedule.svg?sanitize=true)
+
+Node.js sürüm takvimine ilişkin tüm ayrıntılar [GitHub'da](https://github.com/nodejs/release#release-schedule) mevcuttur.
+
+## Bir sürüm dalının en son sürümünü mü arıyorsunuz?
+
+
diff --git a/apps/site/pages/tr/about/security-reporting.mdx b/apps/site/pages/tr/about/security-reporting.mdx
new file mode 100644
index 0000000000000..8c5cf0326847d
--- /dev/null
+++ b/apps/site/pages/tr/about/security-reporting.mdx
@@ -0,0 +1,66 @@
+---
+title: Güvenlik Raporlaması
+layout: about
+---
+
+Güvenlik Raporlaması
+
+Aktif Güvenlik Politikaları hakkında daha fazla bilgi için [bu sayfaya](https://github.com/nodejs/node/security/policy) göz atın.
+
+## Node.js'de bir hata bildirme
+
+Node.js'deki güvenlik hatalarını [HackerOne](https://hackerone.com/nodejs) aracılığıyla bildirin.
+
+Raporunuz 5 gün içinde onaylanacak ve 10 gün içinde raporunuza, gönderiminizi ele alırken sonraki adımları belirten daha ayrıntılı bir yanıt alacaksınız.
+
+Raporunuza yapılan ilk yanıttan sonra, güvenlik ekibi sorunun düzeltilmesi ve tam bir duyuru yapılması için yapılan ilerlemeler hakkında sizi bilgilendirmeye çalışacaktır. Ayrıca, bildirilen sorun hakkında ek bilgi veya rehberlik talep edebilirler.
+
+### Node.js hata ödül programı
+
+Node.js projesi, güvenlik araştırmacıları ve sorumlu kamu açıklamaları için resmi bir hata ödül programı yürütmektedir. Program HackerOne platformu üzerinden yönetilmektedir. Daha fazla ayrıntı için [https://hackerone.com/nodejs](https://hackerone.com/nodejs) adresine bakın.
+
+## Üçüncü taraf bir modüldeki hatayı bildirme
+
+Üçüncü taraf modüllerdeki güvenlik hataları ilgili bakımcılara bildirilmelidir.
+
+## Bilgilendirme politikası
+
+Node.js için güvenlik açıklama politikası
+
+Güvenlik raporu alınır ve birincil bir işleyici atanır. Bu kişi düzeltme ve sürüm sürecini koordine edecektir. Sorun doğrulanır ve etkilenen tüm sürümlerin bir listesi belirlenir. Kod, olası benzer sorunları bulmak için denetlenir. Hala bakım altında olan tüm sürümler için düzeltmeler hazırlanır. Bu düzeltmeler genel depoya taahhüt edilmez, bunun yerine duyuruya kadar yerel olarak tutulur.
+
+Bu zafiyet için önerilen ambargo tarihi belirlenir ve bir CVE (Common Vulnerabilities and Exposures - Ortak Zayıflıklar ve Maruz Kalma) talep edilir.
+
+Ambargo tarihinde, Node.js güvenlik posta listesine duyurunun bir kopyası gönderilir. Değişiklikler genel depoya gönderilir ve yeni yapılar nodejs.org'a dağıtılır. Posta listesine bildirim yapıldıktan sonraki 6 saat içinde, duyurunun bir kopyası Node.js blogunda yayınlanır.
+
+Genellikle, zafiyetin yayınlandığı tarihten itibaren 72 saat sonra ambargo tarihi belirlenir. Ancak, bu, hatanın ciddiyetine veya bir düzeltmenin uygulanmasındaki zorluğa bağlı olarak değişebilir.
+
+Bu süreç, özellikle diğer projelerin bakımcılarıyla koordinasyon gerektiğinde biraz zaman alabilir. Hatanın mümkün olduğunca zamanında ele alınması için her türlü çaba gösterilecektir; ancak, ifşanın tutarlı bir şekilde ele alınmasını sağlamak için yukarıdaki yayın sürecini takip etmemiz önemlidir.
+
+## Güvenlik güncellemeleri almak
+
+Güvenlik bildirimleri aşağıdaki yöntemlerle dağıtılacaktır.
+
+[Google Grubu](https://groups.google.com/group/nodejs-sec)
+[Node.js Bloğu](/blog)
+
+## Bu politikaya ilişkin yorumlar
+
+Bu sürecin nasıl geliştirilebileceğine dair önerileriniz varsa lütfen
+[çekme isteği yapın](https://github.com/nodejs/nodejs.org) veya
+Tartışmak için [bir konuyu dosyalayın](https://github.com/nodejs/security-wg/issues/new).
+
+## OpenSSF En İyi Uygulamaları
+
+
+
+
+
+Açık Kaynak Güvenlik Vakfı (OpenSSF) [En İyi Uygulamalar rozeti](https://github.com/coreinfrastructure/best-practices-badge), Özgür/Kütüphane ve Açık Kaynak Yazılım (FLOSS) projelerinin en iyi uygulamaları takip ettiklerini göstermeleri için bir yoldur. Projeler gönüllü olarak her bir en iyi uygulamayı nasıl takip ettiklerini kendi kendilerine belgeleyebilirler. Rozetin tüketicileri, hangi FLOSS projelerinin en iyi uygulamaları takip ettiğini ve sonuç olarak daha yüksek kalitede güvenli yazılım üretme olasılığının daha yüksek olduğunu hızlı bir şekilde değerlendirebilirler.
diff --git a/apps/site/pages/tr/download/package-manager/all.md b/apps/site/pages/tr/download/package-manager/all.md
new file mode 100644
index 0000000000000..fd38a3884c4a2
--- /dev/null
+++ b/apps/site/pages/tr/download/package-manager/all.md
@@ -0,0 +1,398 @@
+---
+layout: article
+title: Node.js'i paket yöneticisi aracılığıyla yüklemek
+---
+
+# Paket Yöneticileri Aracılığıyla Node.js Kurulumu
+
+> Bu sayfadaki paketler, ilgili paketleyiciler tarafından sürdürülür ve desteklenir, Node.js çekirdek ekibi tarafından **değil**. Karşılaştığınız herhangi bir sorunu paketin bakımını üstlenen kişiye bildirin. Sorununuzun Node.js'in kendisinde bir hata olduğu ortaya çıkarsa, bakımı üstlenen kişi bu sorunu yukarıya raporlayacaktır.
+
+## Alpine Linux
+
+Node.js LTS ve npm paketleri Ana Depo'da bulunmaktadır.
+
+```bash
+apk add nodejs npm
+```
+
+Node.js Current, Topluluk Deposu'ndan kurulabilir.
+
+```bash
+apk add nodejs-current
+```
+
+## Android
+
+Android desteği Node.js'de hala deneyseldir, bu nedenle önceden derlenmiş ikili (binary) dosyalar henüz Node.js geliştiricileri tarafından sağlanmamaktadır.
+
+Ancak, bazı üçüncü parti çözümler de mevcuttur. Örneğin, [Termux](https://termux.com/) topluluğu, Android için terminal emülatörü ve Linux ortamının yanı sıra kendi paket yöneticisini ve önceden derlenmiş birçok uygulamanın [kapsamlı koleksiyonunu](https://github.com/termux/termux-packages) sağlar. Termux uygulamasındaki bu komut mevcut son Node.js sürümünü yükleyecektir:
+
+```bash
+pkg install nodejs
+```
+
+Şu anda, Termux Node.js ikili dosyaları system-icu'ya (`libicu` paketine bağlı olarak) bağlanmıştır.
+
+## Arch Linux
+
+Node.js ve npm paketleri Topluluk Deposu'nda bulunmaktadır.
+
+```bash
+pacman -S nodejs npm
+```
+
+## CentOS, Fedora ve Red Hat Enterprise Linux
+
+CentOS/RHEL 8 ve Fedora'da, Node.js `nodejs` adında bir modül olarak mevcuttur.
+
+```bash
+dnf module install nodejs:
+```
+
+`` düğümü, Node.js'in ana sürümüne karşılık gelir.
+Kullanılabilir akışların listesini görmek için:
+
+```bash
+dnf module list nodejs
+```
+
+Örneğin, Node.js 18'i yüklemek için:
+
+```bash
+dnf module install nodejs:18/common
+```
+
+### Alternatifler
+
+Bu kaynaklar CentOS, Fedora ve RHEL ile uyumlu paketler sağlamaktadır.
+
+- [Node.js snapleri](#snap) https://github.com/nodejs/snap adresinde tutulmakta ve desteklenmektedir
+- [Node.js ikili dağıtımları](#debian-and-ubuntu-based-linux-distributions) [NodeSource](https://github.com/nodesource/distributions) tarafından sürdürülür ve desteklenir
+
+## Debian ve Ubuntu tabanlı Linux dağıtımları
+
+[Node.js ikili dağıtımları](https://github.com/nodesource/distributions) NodeSource'tan temin edilebilir.
+
+### Alternatifler
+
+Debian ve Ubuntu tabanlı Linux dağıtımları ile uyumlu paketler [Node.js snapleri](#snap) üzerinden temin edilebilir.
+
+## Exherbo Linux
+
+Node.js ve npm paketleri [arbor deposunda](https://gitlab.exherbo.org/exherbo/arbor/-/tree/master/packages/dev-lang/node) mevcuttur.
+
+```bash
+cave resolve -x node
+```
+
+## fnm
+
+Rust'ta yerleşik hızlı ve basit Node.js sürüm yöneticisi, birden fazla yayınlanan Node.js sürümünü yönetmek için kullanılır. Yükleme, kaldırma, geçerli dizine göre Node sürümlerini otomatik olarak değiştirme vb. işlemleri gerçekleştirmenize olanak tanır.
+Fnm'yi yüklemek için bu [install script](https://github.com/Schniz/fnm#using-a-script-macoslinux) kullanın.
+
+fnm, macOS, Windows, Linux gibi çapraz platform desteği sunar ve tüm yaygın kabuklar (Bash, Zsh, Fish, PowerShell, Windows Komut İstemi) ile uyumludur. fnm, hızlı bir şekilde oluşturulmuştur ve.node-version ve.nvmrc dosyaları için uyumluluk desteği sunar.
+
+## FreeBSD
+
+Node.js'nin en güncel sürümü [www/node](https://www.freshports.org/www/node) bağlantısı üzerinden erişilebilir.
+
+[pkg](https://www.freebsd.org/cgi/man.cgi?pkg) aracılığıyla ikili bir paket yükleyin:
+
+```bash
+pkg install node
+```
+
+Ya da [ports](https://www.freebsd.org/cgi/man.cgi?ports) kullanarak kendi başınıza derleyin:
+
+```bash
+cd /usr/ports/www/node && make install
+```
+
+## Gentoo
+
+Node.js portage ağacında mevcuttur.
+
+```bash
+emerge nodejs
+```
+
+## IBM i
+
+Node.js'nin LTS sürümleri IBM'den temin edilebilir ve [yum paket yöneticisi](https://ibm.biz/ibmi-rpms) aracılığıyla kullanılabilir. Paket adı `nodejs` ve ardından ana sürüm numarasıdır (örneğin, `nodejs18`, `nodejs20` vb.)
+
+Node.js 20.x'i komut satırından yüklemek için, \*ALLOBJ özel yetkisine sahip bir kullanıcı olarak aşağıdakileri çalıştırın:
+
+```bash
+yum install nodejs20
+```
+
+Node.js, IBM i Access Client Solutions ürünü ile de kurulabilir. Daha fazla ayrıntı için [bu destek belgesine](http://www-01.ibm.com/support/docview.wss?uid=nas8N1022619) bakın
+
+## macOS
+
+MacOS Installer](/#home-downloadhead) doğrudan [nodejs.org](https://nodejs.org/) web sitesinden indirin.
+
+_Eğer paketi bash ile indirmek istiyorsanız:_
+
+```bash
+curl "https://nodejs.org/dist/latest/$(curl -s https://nodejs.org/dist/latest/ | grep "pkg" | cut -d'"' -f 2)" -o "$HOME/Downloads/node-latest.pkg" && sudo installer -store -pkg "$HOME/Downloads/node-latest.pkg" -target "/"
+```
+
+### Alternatifler
+
+[Homebrew](https://brew.sh/)\*\* kullanarak:
+
+```bash
+brew install node
+```
+
+[MacPorts](https://www.macports.org/)\*\* kullanarak:
+
+```bash
+port install nodejs
+
+# Example
+port install nodejs7
+```
+
+**[pkgsrc](https://pkgsrc.joyent.com/install-on-macos/)** kullanılıyor:
+
+binary paketi yükleyin:
+
+```bash
+pkgin -y install nodejs
+```
+
+Veya pkgsrc'den manuel olarak derleyin:
+
+```bash
+cd pkgsrc/lang/nodejs && bmake install
+```
+
+## n
+
+n\`, Mac ve Linux için kullanımı kolay bir Node.js sürüm yöneticisidir. Zengin bir sözdizimi kullanarak yüklemek için hedef sürümü belirtin,
+veya önceden indirilmiş sürümlerden oluşan bir menüden seçim yapabilirsiniz. Sürümler sistem genelinde veya kullanıcı genelinde yüklenir ve daha fazlası için
+Hedeflenen kullanım için bir sürümü doğrudan önbelleğe alınmış indirmelerden çalıştırabilirsiniz.
+
+Yükleme yöntemleri (bootstrap, npm, Homebrew, üçüncü taraf) ve tüm kullanım ayrıntıları için [homepage](https://github.com/tj/n) adresine bakın.
+
+Eğer zaten `npm` kullanıyorsanız, `n` ve ardından en yeni LTS `node` sürümünü yüklemek kadar basittir:
+
+```
+npm install -g n
+n lts
+```
+
+## NetBSD
+
+Node.js pkgsrc ağacında mevcuttur:
+
+```bash
+cd /usr/pkgsrc/lang/nodejs && make install
+```
+
+Veya pkgin kullanarak binary paket (platformunuz için mevcutsa) yükleyin:
+
+```bash
+pkgin -y install nodejs
+```
+
+## Nodenv
+
+nodenv`, `nvm`ye benzer hafif bir node sürüm yöneticisidir. Basit ve öngörülebilirdir. Zengin bir eklenti ekosistemi, onu ihtiyaçlarınıza göre uyarlamanızı sağlar. Uygulamanız için bir Node sürümü seçmek ve geliştirme ortamınızın üretimle eşleşmesini garanti etmek için `nodenv\` kullanın.
+
+Nodenv kurulum talimatları [Github sayfasında](https://github.com/nodenv/nodenv#installation) tutulmaktadır. Kurulum adımlarının en son sürümünü takip ettiğinizden emin olmak için lütfen bu sayfayı ziyaret edin.
+
+## nvm
+
+Node Version Manager, birden fazla yayınlanmış Node.js sürümünü yönetmek için kullanılan bir bash betiğidir. İzin verir
+yükleme, kaldırma, sürüm değiştirme vb. işlemleri gerçekleştirebilirsiniz.
+Nvm yüklemek için bu [install script](https://github.com/nvm-sh/nvm#install--update-script) kullanın.
+
+Unix / OS X sistemlerinde kaynaktan oluşturulan Node.js şu şekilde kurulabilir
+nvm'nin beklediği konuma yükleyerek [nvm](https://github.com/creationix/nvm):
+
+```bash
+env VERSION=`python tools/getnodeversion.py` make install DESTDIR=`nvm_version_path v$VERSION` PREFIX=""
+```
+
+Bundan sonra, yayınlanan sürümler ve sürümler arasında geçiş yapmak için `nvm` kullanabilirsiniz
+kaynaktan oluşturulmuştur.
+Örneğin, Node.js sürümü v8.0.0-pre ise:
+
+```bash
+nvm use 8
+```
+
+Resmi sürüm çıktığında, oluşturulmuş sürümü kaldırmak isteyeceksiniz
+Kaynaktan:
+
+```bash
+nvm uninstall 8
+```
+
+## nvs
+
+#### Windows
+
+`nvs` sürüm yöneticisi çapraz platformdur ve Windows, macOS ve Unix benzeri sistemlerde kullanılabilir
+
+Windows'a `nvs` yüklemek için buradan [sürüm sayfasına](https://github.com/jasongin/nvs/releases) gidin ve en son sürümün MSI yükleyici dosyasını indirin.
+
+Yüklemek için `chocolatey` de kullanabilirsiniz:
+
+```bash
+choco install nvs
+```
+
+#### macos, Unix benzeri
+
+MacOS/Unix benzeri sistemlerde `nvs` kurulum adımlarına ilişkin belgelere [buradan](https://github.com/jasongin/nvs/blob/master/doc/SETUP.md#mac-linux) ulaşabilirsiniz
+
+#### Kullanım
+
+Bundan sonra farklı node sürümleri arasında geçiş yapmak için `nvs` kullanabilirsiniz.
+
+Node'un en son sürümünü eklemek için:
+
+```bash
+nvs add latest
+```
+
+Veya node'un en son LTS sürümünü eklemek için:
+
+```bash
+nvs add lts
+```
+
+Ardından, geçerli kabuk için `PATH`inize bir node sürümü eklemek için `nvs use` komutunu çalıştırın:
+
+```bash
+$ nvs use lts
+PATH -= %LOCALAPPDATA%\nvs\default
+PATH += %LOCALAPPDATA%\nvs\node\14.17.0\x64
+```
+
+Then run the `nvs use` command to add a version of node to your `PATH` for the current shell:
+
+```bash
+nvs link lts
+```
+
+## OpenBSD
+
+Node.js port sistemi aracılığıyla kullanılabilir.
+
+```bash
+/usr/ports/lang/node
+```
+
+OpenBSD üzerinde [pkg_add](https://man.openbsd.org/OpenBSD-current/man1/pkg_add.1) kullanımı:
+
+```bash
+pkg_add node
+```
+
+## openSUSE ve SLE
+
+Node.js ana depolarda aşağıdaki paketler altında mevcuttur:
+
+- **openSUSE Leap 15.2**: `nodejs10`, `nodejs12`, `nodejs14`
+- **openSUSE Tumbleweed**: `nodejs20`
+- **SUSE Linux Enterprise Server (SLES) 12**: `nodejs10`, `nodejs12` ve `nodejs14`
+ ("Web ve Komut Dosyası Modülü" [etkin](https://www.suse.com/releasenotes/x86_64/SUSE-SLES/12-SP5/#intro-modulesExtensionsRelated) olmalıdır.)
+- **SUSE Linux Enterprise Server (SLES) 15 SP2**: `nodejs10`, `nodejs12` ve `nodejs14`
+ ("Web ve Komut Dosyası Modülü" [etkin](https://www.suse.com/releasenotes/x86_64/SUSE-SLES/15/#Intro.Module) olmalıdır.)
+
+Örneğin, openSUSE Leap 15.2 üzerinde Node.js 14.x yüklemek için aşağıdakileri root olarak çalıştırın:
+
+```bash
+zypper install nodejs14
+```
+
+Node'un farklı ana sürümleri aynı anda kurulabilir ve kullanılabilir.
+
+## SmartOS ve illumos
+
+SmartOS imajları pkgsrc önceden yüklenmiş olarak gelir. Diğer illumos dağıtımlarında, önce **[pkgsrc](https://pkgsrc.joyent.com/install-on-illumos/)** yükleyin, ardından ikili paketi normal şekilde yükleyebilirsiniz:
+
+```bash
+pkgin -y install nodejs
+```
+
+Veya pkgsrc'den manuel olarak derleyin:
+
+```bash
+cd pkgsrc/lang/nodejs && bmake install
+```
+
+## Yakala
+
+[Node.js snaps](https://github.com/nodejs/snap), Snap deposunda [`node`](https://snapcraft.io/node) olarak mevcuttur.
+
+## Solus
+
+Solus, ana deposunda Node.js sağlar.
+
+```bash
+sudo eopkg install nodejs
+```
+
+## vfox
+
+Platformlar arası (Windows, macOS, Linux) ve **genişletilebilir** bir sürüm yöneticisi.
+
+**Farklı projeler için farklı sürümler**, **farklı kabuklar için farklı sürümler** ve geçerli dizine göre Node sürümlerini otomatik olarak değiştirmenize vb. olanak tanır.
+
+Tüm popüler kabukları (Bash, Zsh, Fish, PowerShell, Clink, Cmder) destekler.
+
+Vfox'u hızlı bir şekilde kullanmak ve tüm kullanım ayrıntıları için [Hızlı Başlangıç](https://vfox.lhan.me/guides/quick-start.html) bölümüne bakın.
+
+## Void Linux
+
+Void Linux, Node.js'yi ana depoda kararlı olarak gönderir.
+
+```bash
+xbps-install -Sy nodejs
+```
+
+## Windows
+
+Windows Installer](/#home-downloadhead) doğrudan [nodejs.org](https://nodejs.org/) web sitesinden indirin.
+
+### Alternatifler
+
+[Winget](https://aka.ms/winget-cli)\*\* kullanarak:
+
+```bash
+winget install OpenJS.NodeJS
+# or for LTS
+winget install OpenJS.NodeJS.LTS
+```
+
+Yukarıdaki iki komuttan birini çalıştırdıktan sonra, yeniden başlatmak gerekebilir
+CLI komutu kullanılabilir hale gelmeden önce terminal emülatörü.
+
+[Chocolatey](https://chocolatey.org/)\*\* kullanarak:
+
+```bash
+cinst nodejs
+# or for full install with npm
+cinst nodejs.install
+```
+
+[Scoop](https://scoop.sh/)\*\* kullanarak:
+
+```bash
+scoop install nodejs
+# or for LTS
+scoop install nodejs-lts
+```
+
+## z/OS
+
+IBM® SDK for Node.js - z/OS® SMP/E ve PAX olarak iki kurulum formatında sunulur. Size uygun olan kurulum formatını seçin:
+
+- [z/OS üzerinde Node.js'nin SMP/E sürümünün kurulması ve yapılandırılması](https://www.ibm.com/docs/en/sdk-nodejs-zos/14.0?topic=configuring-installing-smpe-edition)
+- [z/OS üzerinde Node.js PAX sürümünün kurulması ve yapılandırılması](https://www.ibm.com/docs/en/sdk-nodejs-zos/14.0?topic=configuring-installing-pax-edition)
diff --git a/apps/site/pages/tr/download/package-manager/current.mdx b/apps/site/pages/tr/download/package-manager/current.mdx
new file mode 100644
index 0000000000000..1d22f74b12455
--- /dev/null
+++ b/apps/site/pages/tr/download/package-manager/current.mdx
@@ -0,0 +1,24 @@
+---
+layout: download
+title: Node.js® İndir
+subtitle: Node.js'i istediğiniz şekilde indirin.
+---
+
+
+ kullanarak 'a Node.js yükleyin
+
+
+
+
+
+Node.js içerir.
+
+Bu sürüm için değişiklik günlüğünü okuyun
+
+Bu sürüm için blog yazısını buradan okuyun
+
+İmzalı SHASUMS'u nasıl doğrulayacağınızı buradan öğrenin
+
+Diğer topluluk tarafından desteklenen paket yöneticilerine göz atın
+
+
diff --git a/apps/site/pages/tr/download/package-manager/index.mdx b/apps/site/pages/tr/download/package-manager/index.mdx
new file mode 100644
index 0000000000000..9e4ff5cdf845f
--- /dev/null
+++ b/apps/site/pages/tr/download/package-manager/index.mdx
@@ -0,0 +1,25 @@
+---
+layout: download
+title: Node.js® İndir
+subtitle: Node.js'i istediğiniz şekilde indirin.
+---
+
+
+ kullanarak üzerinde Node.js yükleyin
+
+
+
+
+
+Node.js içerir.
+
+Bu sürüm için değişiklik
+günlüğünü okuyun
+
+ Bu sürüm için blog yazısını okuyun
+
+İmzalı SHASUMS'u nasıl doğrulayacağınızı buradan öğrenin
+
+Diğer topluluk tarafından desteklenen paket yöneticilerine göz atın
+
+
diff --git a/apps/site/pages/tr/download/prebuilt-binaries/current.mdx b/apps/site/pages/tr/download/prebuilt-binaries/current.mdx
new file mode 100644
index 0000000000000..8c8033438df85
--- /dev/null
+++ b/apps/site/pages/tr/download/prebuilt-binaries/current.mdx
@@ -0,0 +1,24 @@
+---
+layout: download
+title: Node.js® İndir
+subtitle: Node.js'i istediğiniz şekilde indirin.
+---
+
+
+Node.js'ın işletim sistemi için çalışan sürümünü istiyorum
+
+
+
+
+
+Node.js içerir.
+
+Bu sürüm için değişiklik günlüğünü okuyun
+
+Bu sürüm için blog yazısını buradan okuyun
+
+İmzalı SHASUMS'u nasıl doğrulayacağınızı buradan öğrenin
+
+Diğer platformlar için Nightly önceden oluşturulmuş ikili dosyalara veya Resmi Olmayan Derlemeler'e göz atın
+
+
diff --git a/apps/site/pages/tr/download/prebuilt-binaries/index.mdx b/apps/site/pages/tr/download/prebuilt-binaries/index.mdx
new file mode 100644
index 0000000000000..5f0516b982eef
--- /dev/null
+++ b/apps/site/pages/tr/download/prebuilt-binaries/index.mdx
@@ -0,0 +1,26 @@
+---
+layout: download
+title: Node.js® İndir
+subtitle: Node.js'i istediğiniz şekilde indirin.
+---
+
+
+Node.js'in işletim sistemi için çalışan sürümünü istiyorum
+
+
+
+
+
+Node.js içerir.
+
+Bu sürüm için değişiklik
+günlüğünü okuyun.
+
+Bu sürüm için blog yazısını buradan okuyun.
+
+imzalı SHASUMS doğrulamayı
+öğrenin.
+
+Diğer platformlar için Nightly önceden oluşturulmuş ikili dosyalara, tüm Release önceden oluşturulmuş ikili dosyalarına veya Resmi Olmayan Derlemeler'e göz atın.
+
+
diff --git a/apps/site/pages/tr/download/prebuilt-installer/current.mdx b/apps/site/pages/tr/download/prebuilt-installer/current.mdx
new file mode 100644
index 0000000000000..bc0f788a4fe04
--- /dev/null
+++ b/apps/site/pages/tr/download/prebuilt-installer/current.mdx
@@ -0,0 +1,26 @@
+---
+layout: download
+title: Node.js® İndir
+subtitle: Node.js'i istediğiniz şekilde indirin.
+---
+
+
+Node.js'in çalıştıran için sürümünü istiyorum
+
+
+
+
+
+Node.js içerir.
+
+Bu sürüm için değişiklik
+günlüğünü okuyun
+
+Bu sürüm için blog yazısını buradan okuyun
+
+İmzalı SHASUMS'u nasıl doğrulayacağınızı buradan öğrenin
+
+Mevcut tüm Node.js indirme seçeneklerine göz atın
+
+Node.js Sürümleri hakkında bilgi alın
+
diff --git a/apps/site/pages/tr/download/prebuilt-installer/index.mdx b/apps/site/pages/tr/download/prebuilt-installer/index.mdx
new file mode 100644
index 0000000000000..4aaca742f05a1
--- /dev/null
+++ b/apps/site/pages/tr/download/prebuilt-installer/index.mdx
@@ -0,0 +1,26 @@
+---
+layout: download
+title: Node.js® İndir
+subtitle: Node.js'i istediğiniz şekilde indirin.
+---
+
+
+Node.js'in çalıştıran için sürümünü istiyorum
+
+
+
+
+
+Node.js içerir.
+
+Bu sürüm için değişiklik
+günlüğünü okuyun
+
+Bu sürüm için blog yazısını buradan okuyun
+
+İmzalı SHASUMS'u nasıl doğrulayacağınızı buradan öğrenin
+
+Mevcut tüm Node.js indirme seçeneklerine göz atın
+
+Node.js Sürümleri hakkında bilgi alın
+
diff --git a/apps/site/pages/tr/download/source-code/current.mdx b/apps/site/pages/tr/download/source-code/current.mdx
new file mode 100644
index 0000000000000..b0e68f2b2598c
--- /dev/null
+++ b/apps/site/pages/tr/download/source-code/current.mdx
@@ -0,0 +1,24 @@
+---
+layout: download
+title: Node.js® İndir
+subtitle: Node.js'i istediğiniz şekilde indirin.
+---
+
+
+Node.js kaynak kodunun sürümünü istiyorum.
+
+
+
+
+
+Node.js içerir.
+
+Bu sürüm için değişiklik
+günlüğünü okuyun
+
+Bu sürüm için blog yazısını buradan okuyun
+
+İmzalı SHASUMS'u nasıl doğrulayacağınızı buradan öğrenin
+
+Node.js'i kaynaktan 'nasıl oluşturacağınıza göz atın.
+
diff --git a/apps/site/pages/tr/download/source-code/index.mdx b/apps/site/pages/tr/download/source-code/index.mdx
new file mode 100644
index 0000000000000..fede6378b5d53
--- /dev/null
+++ b/apps/site/pages/tr/download/source-code/index.mdx
@@ -0,0 +1,24 @@
+---
+layout: download
+title: Node.js® İndir
+subtitle: Node.js'i istediğiniz şekilde indirin.
+---
+
+
+Node.js kaynak kodunun sürümünü istiyorum.
+
+
+
+
+
+Node.js içerir.
+
+Bu sürüm için değişiklik
+günlüğünü okuyun
+
+Bu sürüm için blog yazısını buradan okuyun
+
+İmzalı SHASUMS'u nasıl doğrulayacağınızı buradan öğrenin
+
+Node.js'i kaynaktan nasıl oluşturacağınıza göz atın.
+
diff --git a/apps/site/pages/tr/index.mdx b/apps/site/pages/tr/index.mdx
new file mode 100644
index 0000000000000..d8e43069cd368
--- /dev/null
+++ b/apps/site/pages/tr/index.mdx
@@ -0,0 +1,143 @@
+---
+title: JavaScript'i Her Yerde Çalıştırın
+layout: home
+---
+
+
+
+
+
+
Her Yerde JavaScript Çalıştırın
+
+Node.js®, ücretsiz, açık kaynaklı, çapraz platform JavaScript çalıştırma ortamıdır. Geliştiricilere sunucular, web uygulamaları, komut satırı araçları ve betikler oluşturma imkanı sağlar.
+
+
+
+
+
+ {({ release }) => (
+ <>
+ Node.js'i İndir (LTS)
+
+ Node.js'i indir {release.versionWithPrefix}
+ 1 uzun vadeli destek ile indirin.
+ Node.js ayrıca paket yöneticileri aracılığıyla da kurulabilir.
+
+ >
+ )}
+
+
+
+ {({ release }) => (
+
+ Yeni özellikleri daha erken mi istiyorsunuz?{" "}
+
+ Node.js{" "}
+
+ {release.versionWithPrefix}
+
+ {" "}
+ 1{" "}
+ alabilirsiniz.
+
+ )}
+
+
+
+
+
+
+ ```js displayName="Create an HTTP Server"
+ // server.mjs
+ import { createServer } from 'node:http';
+
+const server = createServer((req, res) => {
+res.writeHead(200, { 'Content-Type': 'text/plain' });
+res.end('Hello World!\n');
+});
+
+// starts a simple http server locally on port 3000
+server.listen(3000, '127.0.0.1', () => {
+console.log('Listening on 127.0.0.1:3000');
+});
+
+// run with `node server.mjs`
+
+````
+
+```js displayName="Write Tests"
+// tests.mjs
+import assert from 'node:assert';
+import test from 'node:test';
+
+test('that 1 is equal 1', () => {
+ assert.strictEqual(1, 1);
+});
+
+test('that throws as 1 is not equal 2', () => {
+ // throws an exception because 1 != 2
+ assert.strictEqual(1, 2);
+});
+
+// run with `node tests.mjs`
+````
+
+```js displayName="Read and Hash a File"
+// crypto.mjs
+import { createHash } from 'node:crypto';
+import { readFile } from 'node:fs/promises';
+
+const hasher = createHash('sha1');
+
+hasher.setEncoding('hex');
+// ensure you have a `package.json` file for this test!
+hasher.write(await readFile('package.json'));
+hasher.end();
+
+const fileHash = hasher.read();
+
+// run with `node crypto.mjs`
+```
+
+```js displayName="Streams Pipeline"
+// streams.mjs
+import { pipeline } from 'node:stream/promises';
+import { createReadStream, createWriteStream } from 'node:fs';
+import { createGzip } from 'node:zlib';
+
+// ensure you have a `package.json` file for this test!
+await pipeline(
+ createReadStream('package.json'),
+ createGzip(),
+ createWriteStream('package.json.gz')
+);
+
+// run with `node streams.mjs`
+```
+
+```js displayName="Work with Threads"
+// threads.mjs
+import {
+ Worker,
+ isMainThread,
+ workerData,
+ parentPort,
+} from 'node:worker_threads';
+
+if (isMainThread) {
+ const data = 'some data';
+ const worker = new Worker(import.meta.filename, { workerData: data });
+ worker.on('message', msg => console.log('Reply from Thread:', msg));
+} else {
+ const source = workerData;
+ parentPort.postMessage(btoa(source.toUpperCase()));
+}
+
+// run with `node threads.mjs`
+```
+
+