From 9ad96f47afc3fd9751dbe4bf94facb34fb63691a Mon Sep 17 00:00:00 2001 From: Thomas Chetwin Date: Sun, 10 Nov 2024 02:04:31 +0000 Subject: [PATCH 1/8] content(learn): Add TypeScript transform docs (#7202) Signed-off-by: tchetwin --- .../pages/en/learn/typescript/run-natively.md | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/apps/site/pages/en/learn/typescript/run-natively.md b/apps/site/pages/en/learn/typescript/run-natively.md index 6a101ad176012..e16a1bf38c85b 100644 --- a/apps/site/pages/en/learn/typescript/run-natively.md +++ b/apps/site/pages/en/learn/typescript/run-natively.md @@ -12,24 +12,29 @@ In the previous articles, we learned how to run TypeScript code using transpilat ## Running TypeScript code with Node.js -Since V22.6.0, Node.js has experimental support for some TypeScript syntax. You can write code that's valid TypeScript directly in Node.js without the need to transpile it first. +Since V22.6.0, Node.js has experimental support for some TypeScript syntax via "type stripping". You can write code that's valid TypeScript directly in Node.js without the need to transpile it first. -So how do you run TypeScript code with Node.js? +The `--experimental-strip-types` flag tells Node.js to strip the type annotations from the TypeScript code before running it. ```bash node --experimental-strip-types example.ts ``` -The `--experimental-strip-types` flag tells Node.js to strip the type annotations from the TypeScript code before running it. - And that's it! You can now run TypeScript code directly in Node.js without the need to transpile it first, and use TypeScript to catch type-related errors. + +In V22.7.0 this experimental support was extended to transform TypeScript-only syntax, like `enum`s and `namespace`, with the addition of the `--experimental-transform-types` flag. + +```bash +node --experimental-strip-types --experimental-transform-types another-example.ts +``` + Future versions of Node.js will include support for TypeScript without the need for a command line flag. ## Limitations -At the time of writing, the experimental support for TypeScript in Node.js has some limitations. To allow TypeScript to run in node.js, our collaborators have chosen to only strip types from the code. +At the time of writing, the experimental support for TypeScript in Node.js has some limitations. -You can get more information on the [API docs](https://nodejs.org/docs/latest/api/typescript.html#unsupported-typescript-features) +You can get more information on the [API docs](https://nodejs.org/docs/latest/api/typescript.html#typescript-features). ## Important notes From 344da5bc268df2b2362beff72eac89f6ab376ab8 Mon Sep 17 00:00:00 2001 From: Jan Amann Date: Mon, 11 Nov 2024 17:38:53 +0100 Subject: [PATCH 2/8] chore: Upgrade `next-intl` to 3.24, migrate deprecated APIs (#7177) * chore: Upgrade next-intl to 3.24, migrate deprecated APIs * reduce changes * revert another change * fix: Read locale from params in layout * address review points --------- Co-authored-by: Claudio W --- apps/site/app/[locale]/[[...path]]/page.tsx | 6 +- apps/site/app/[locale]/layout.tsx | 11 +- apps/site/components/__mocks__/next-intl.mjs | 2 +- .../hooks/react-generic/useSiteNavigation.ts | 2 +- apps/site/i18n.tsx | 27 +++-- apps/site/navigation.mjs | 7 +- apps/site/package.json | 2 +- package-lock.json | 105 +++++++++--------- 8 files changed, 90 insertions(+), 72 deletions(-) diff --git a/apps/site/app/[locale]/[[...path]]/page.tsx b/apps/site/app/[locale]/[[...path]]/page.tsx index 14aff4e2d41b4..f847b487c9b7f 100644 --- a/apps/site/app/[locale]/[[...path]]/page.tsx +++ b/apps/site/app/[locale]/[[...path]]/page.tsx @@ -1,6 +1,6 @@ import { setContext, setTags } from '@sentry/nextjs'; import { notFound, redirect } from 'next/navigation'; -import { unstable_setRequestLocale } from 'next-intl/server'; +import { setRequestLocale } from 'next-intl/server'; import type { FC } from 'react'; import { setClientContext } from '@/client-context'; @@ -69,7 +69,7 @@ const getPage: FC = async ({ params }) => { if (!availableLocaleCodes.includes(locale)) { // Forces the current locale to be the Default Locale - unstable_setRequestLocale(defaultLocale.code); + setRequestLocale(defaultLocale.code); if (!allLocaleCodes.includes(locale)) { // when the locale is not listed in the locales, return NotFound @@ -82,7 +82,7 @@ const getPage: FC = async ({ params }) => { } // Configures the current Locale to be the given Locale of the Request - unstable_setRequestLocale(locale); + setRequestLocale(locale); // Gets the current full pathname for a given path const pathname = dynamicRouter.getPathname(path); diff --git a/apps/site/app/[locale]/layout.tsx b/apps/site/app/[locale]/layout.tsx index 87d0f28dd1801..6ab90c90b3f87 100644 --- a/apps/site/app/[locale]/layout.tsx +++ b/apps/site/app/[locale]/layout.tsx @@ -1,7 +1,6 @@ import { Analytics } from '@vercel/analytics/react'; import { SpeedInsights } from '@vercel/speed-insights/next'; import classNames from 'classnames'; -import { getLocale } from 'next-intl/server'; import type { FC, PropsWithChildren } from 'react'; import BaseLayout from '@/layouts/Base'; @@ -15,8 +14,14 @@ import '@/styles/index.css'; const fontClasses = classNames(IBM_PLEX_MONO.variable, OPEN_SANS.variable); -const RootLayout: FC = async ({ children }) => { - const locale = await getLocale(); +const RootLayout: FC< + PropsWithChildren<{ + params: Promise<{ + locale: string; + }>; + }> +> = async ({ children, params }) => { + const { locale } = await params; const { langDir, hrefLang } = availableLocalesMap[locale] || defaultLocale; diff --git a/apps/site/components/__mocks__/next-intl.mjs b/apps/site/components/__mocks__/next-intl.mjs index a84400384381c..04af07d5abbac 100644 --- a/apps/site/components/__mocks__/next-intl.mjs +++ b/apps/site/components/__mocks__/next-intl.mjs @@ -27,7 +27,7 @@ export const useFormatter = () => { export const NextIntlClientProvider = ({ children }) => children; -export const createSharedPathnamesNavigation = () => ({ +export const createNavigation = () => ({ Link: Link, redirect: redirect, usePathname: usePathname, diff --git a/apps/site/hooks/react-generic/useSiteNavigation.ts b/apps/site/hooks/react-generic/useSiteNavigation.ts index 83b5403a4a883..4b11af46f0dd2 100644 --- a/apps/site/hooks/react-generic/useSiteNavigation.ts +++ b/apps/site/hooks/react-generic/useSiteNavigation.ts @@ -39,7 +39,7 @@ const useSiteNavigation = () => { const mapNavigationEntries = (entries: Navigation, context: Context = {}) => { const getFormattedMessage = (label: string, key: string) => - t.rich(label, context[key] || {}); + t.rich(label, context[key] || {}) as FormattedMessage; return Object.entries(entries).map( ([key, { label, link, items, target }]): [ diff --git a/apps/site/i18n.tsx b/apps/site/i18n.tsx index efed3f4d9c6fd..88cd1cf3e9341 100644 --- a/apps/site/i18n.tsx +++ b/apps/site/i18n.tsx @@ -1,7 +1,7 @@ import { importLocale } from '@node-core/website-i18n'; import { getRequestConfig } from 'next-intl/server'; -import { availableLocaleCodes } from '@/next.locales.mjs'; +import { availableLocaleCodes, defaultLocale } from '@/next.locales.mjs'; import deepMerge from './util/deepMerge'; @@ -13,7 +13,7 @@ const loadLocaleDictionary = async (locale: string) => { '@node-core/website-i18n/locales/en.json' ).then(f => f.default); - if (locale === 'en') { + if (locale === defaultLocale.code) { return defaultMessages; } @@ -30,9 +30,20 @@ const loadLocaleDictionary = async (locale: string) => { }; // Provides `next-intl` configuration for RSC/SSR -export default getRequestConfig(async ({ locale }) => ({ - // This is the dictionary of messages to be loaded - messages: await loadLocaleDictionary(locale), - // We always define the App timezone as UTC - timeZone: 'Etc/UTC', -})); +export default getRequestConfig(async ({ requestLocale }) => { + // This typically corresponds to the `[locale]` segment + let locale = await requestLocale; + + // Ensure that the incoming locale is valid + if (!locale || !availableLocaleCodes.includes(locale)) { + locale = defaultLocale.code; + } + + return { + locale, + // This is the dictionary of messages to be loaded + messages: await loadLocaleDictionary(locale), + // We always define the App timezone as UTC + timeZone: 'Etc/UTC', + }; +}); diff --git a/apps/site/navigation.mjs b/apps/site/navigation.mjs index edff2d9a0c197..b551ea2bcc390 100644 --- a/apps/site/navigation.mjs +++ b/apps/site/navigation.mjs @@ -1,8 +1,9 @@ 'use strict'; -import { createSharedPathnamesNavigation } from 'next-intl/navigation'; +import { createNavigation } from 'next-intl/navigation'; import { availableLocaleCodes } from './next.locales.mjs'; -export const { Link, redirect, usePathname, useRouter } = - createSharedPathnamesNavigation({ locales: availableLocaleCodes }); +export const { Link, redirect, usePathname, useRouter } = createNavigation({ + locales: availableLocaleCodes, +}); diff --git a/apps/site/package.json b/apps/site/package.json index 06ddf031da8df..5d59740ae6221 100644 --- a/apps/site/package.json +++ b/apps/site/package.json @@ -68,7 +68,7 @@ "glob": "~11.0.0", "gray-matter": "~4.0.3", "next": "~14.2.14", - "next-intl": "~3.21.1", + "next-intl": "~3.24.0", "next-themes": "~0.3.0", "postcss": "~8.4.47", "postcss-calc": "~10.0.2", diff --git a/package-lock.json b/package-lock.json index b79be4f9d634b..22977e34ec1fd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -66,7 +66,7 @@ "glob": "~11.0.0", "gray-matter": "~4.0.3", "next": "~14.2.14", - "next-intl": "~3.21.1", + "next-intl": "~3.24.0", "next-themes": "~0.3.0", "postcss": "~8.4.47", "postcss-calc": "~10.0.2", @@ -3031,53 +3031,48 @@ "license": "MIT" }, "node_modules/@formatjs/ecma402-abstract": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.2.0.tgz", - "integrity": "sha512-IpM+ev1E4QLtstniOE29W1rqH9eTdx5hQdNL8pzrflMj/gogfaoONZqL83LUeQScHAvyMbpqP5C9MzNf+fFwhQ==", - "license": "MIT", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.2.3.tgz", + "integrity": "sha512-aElGmleuReGnk2wtYOzYFmNWYoiWWmf1pPPCYg0oiIQSJj0mjc4eUfzUXaSOJ4S8WzI/cLqnCTWjqz904FT2OQ==", "dependencies": { - "@formatjs/fast-memoize": "2.2.1", - "@formatjs/intl-localematcher": "0.5.5", - "tslib": "^2.7.0" + "@formatjs/fast-memoize": "2.2.3", + "@formatjs/intl-localematcher": "0.5.7", + "tslib": "2" } }, "node_modules/@formatjs/fast-memoize": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.1.tgz", - "integrity": "sha512-XS2RcOSyWxmUB7BUjj3mlPH0exsUzlf6QfhhijgI941WaJhVxXQ6mEWkdUFIdnKi3TuTYxRdelsgv3mjieIGIA==", - "license": "MIT", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.3.tgz", + "integrity": "sha512-3jeJ+HyOfu8osl3GNSL4vVHUuWFXR03Iz9jjgI7RwjG6ysu/Ymdr0JRCPHfF5yGbTE6JCrd63EpvX1/WybYRbA==", "dependencies": { - "tslib": "^2.7.0" + "tslib": "2" } }, "node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.8.0.tgz", - "integrity": "sha512-r2un3fmF9oJv3mOkH+wwQZ037VpqmdfahbcCZ9Lh+p6Sx+sNsonI7Zcr6jNMm1s+Si7ejQORS4Ezlh05mMPAXA==", - "license": "MIT", + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.9.3.tgz", + "integrity": "sha512-9L99QsH14XjOCIp4TmbT8wxuffJxGK8uLNO1zNhLtcZaVXvv626N0s4A2qgRCKG3dfYWx9psvGlFmvyVBa6u/w==", "dependencies": { - "@formatjs/ecma402-abstract": "2.2.0", - "@formatjs/icu-skeleton-parser": "1.8.4", - "tslib": "^2.7.0" + "@formatjs/ecma402-abstract": "2.2.3", + "@formatjs/icu-skeleton-parser": "1.8.7", + "tslib": "2" } }, "node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.8.4", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.4.tgz", - "integrity": "sha512-LMQ1+Wk1QSzU4zpd5aSu7+w5oeYhupRwZnMQckLPRYhSjf2/8JWQ882BauY9NyHxs5igpuQIXZDgfkaH3PoATg==", - "license": "MIT", + "version": "1.8.7", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.7.tgz", + "integrity": "sha512-fI+6SmS2g7h3srfAKSWa5dwreU5zNEfon2uFo99OToiLF6yxGE+WikvFSbsvMAYkscucvVmTYNlWlaDPp0n5HA==", "dependencies": { - "@formatjs/ecma402-abstract": "2.2.0", - "tslib": "^2.7.0" + "@formatjs/ecma402-abstract": "2.2.3", + "tslib": "2" } }, "node_modules/@formatjs/intl-localematcher": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.5.tgz", - "integrity": "sha512-t5tOGMgZ/i5+ALl2/offNqAQq/lfUnKLEw0mXQI4N4bqpedhrSE+fyKLpwnd22sK0dif6AV+ufQcTsKShB9J1g==", - "license": "MIT", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.7.tgz", + "integrity": "sha512-GGFtfHGQVFe/niOZp24Kal5b2i36eE2bNL0xi9Sg/yd0TR8aLjcteApZdHmismP5QQax1cMnZM9yWySUUjJteA==", "dependencies": { - "tslib": "^2.7.0" + "tslib": "2" } }, "node_modules/@heroicons/react": { @@ -16165,15 +16160,14 @@ } }, "node_modules/intl-messageformat": { - "version": "10.7.1", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.7.1.tgz", - "integrity": "sha512-xQuJW2WcyzNJZWUu5xTVPOmNSA1Sowuu/NKFdUid5Fxx/Yl6/s4DefTU/y7zy+irZLDmFGmTLtnM8FqpN05wlA==", - "license": "BSD-3-Clause", + "version": "10.7.5", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.7.5.tgz", + "integrity": "sha512-CflbRvJiahVmnfxq/lO+DCM1/8ji4vC4rTnz6ZJEKKodViB+EWgY9M4EqXVRQ+3K0Ng5qwSyqybPP+KSfS4KZw==", "dependencies": { - "@formatjs/ecma402-abstract": "2.2.0", - "@formatjs/fast-memoize": "2.2.1", - "@formatjs/icu-messageformat-parser": "2.8.0", - "tslib": "^2.7.0" + "@formatjs/ecma402-abstract": "2.2.3", + "@formatjs/fast-memoize": "2.2.3", + "@formatjs/icu-messageformat-parser": "2.9.3", + "tslib": "2" } }, "node_modules/invariant": { @@ -21625,6 +21619,7 @@ "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.6" @@ -21687,24 +21682,31 @@ } }, "node_modules/next-intl": { - "version": "3.21.1", - "resolved": "https://registry.npmjs.org/next-intl/-/next-intl-3.21.1.tgz", - "integrity": "sha512-hQm4Wgq5i1lfOHAWmXBVl5d2/XAeddcjsrUmjotXEESzPSvW5j2t0Pr8AV8WorTILgqU748aXuenBhz5P78tdw==", + "version": "3.24.0", + "resolved": "https://registry.npmjs.org/next-intl/-/next-intl-3.24.0.tgz", + "integrity": "sha512-48X68QsI92grir2dH1W15yhyVnEjW4c9qmwNt+du+k6mI1QtlE6GyANWHoL4/leTixHv8knZ1y9B/Ys06gmKLg==", "funding": [ { "type": "individual", "url": "https://github.com/sponsors/amannn" } ], - "license": "MIT", "dependencies": { "@formatjs/intl-localematcher": "^0.5.4", - "negotiator": "^0.6.3", - "use-intl": "^3.21.1" + "negotiator": "^1.0.0", + "use-intl": "^3.24.0" }, "peerDependencies": { - "next": "^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "next": "^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0" + } + }, + "node_modules/next-intl/node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "engines": { + "node": ">= 0.6" } }, "node_modules/next-themes": { @@ -28926,16 +28928,15 @@ } }, "node_modules/use-intl": { - "version": "3.22.0", - "resolved": "https://registry.npmjs.org/use-intl/-/use-intl-3.22.0.tgz", - "integrity": "sha512-SoiPcyLJODhenrbDkcYJuOImgrBFN7Z8keLSHe7ffsNkIJtjdjet/RmqAv5Ym9TVxPpCs+fH2cl1J3YzFJSkWw==", - "license": "MIT", + "version": "3.24.0", + "resolved": "https://registry.npmjs.org/use-intl/-/use-intl-3.24.0.tgz", + "integrity": "sha512-lmrARod7yjMYehbyY9xBLjjgnlNcJsl1UAltAPlgspRG7RH6H0JYaGo4C3PZW/BTy0Dgmcvcl8rH/VemzGIhgQ==", "dependencies": { "@formatjs/fast-memoize": "^2.2.0", "intl-messageformat": "^10.5.14" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0" } }, "node_modules/use-sidecar": { From 2db91dc9c342f92ab10b0548c8d651de1917e3a6 Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Mon, 11 Nov 2024 21:51:00 +0000 Subject: [PATCH 3/8] Blog: v23.2.0 release post (#7213) Refs: https://github.com/nodejs/node/pull/55741 --- apps/site/pages/en/blog/release/v23.2.0.md | 202 +++++++++++++++++++++ 1 file changed, 202 insertions(+) create mode 100644 apps/site/pages/en/blog/release/v23.2.0.md diff --git a/apps/site/pages/en/blog/release/v23.2.0.md b/apps/site/pages/en/blog/release/v23.2.0.md new file mode 100644 index 0000000000000..e8d8c6bbda78f --- /dev/null +++ b/apps/site/pages/en/blog/release/v23.2.0.md @@ -0,0 +1,202 @@ +--- +date: '2024-11-11T21:24:21.692Z' +category: release +title: Node v23.2.0 (Current) +layout: blog-post +author: Antoine du Hamel +--- + +## 2024-11-11, Version 23.2.0 (Current), @aduh95 + +### Notable Changes + +#### Update root certificates to NSS 3.104 + +This is the version of NSS that shipped in Firefox 131.0 on 2024-10-01. + +Certificates added: + +- FIRMAPROFESIONAL CA ROOT-A WEB +- TWCA CYBER Root CA +- SecureSign Root CA12 +- SecureSign Root CA14 +- SecureSign Root CA15 + +#### Other notable changes + +- \[[`fa61dced44`](https://github.com/nodejs/node/commit/fa61dced44)] - **doc**: move typescript support to active development (Marco Ippolito) [#55536](https://github.com/nodejs/node/pull/55536) +- \[[`9dcca5441b`](https://github.com/nodejs/node/commit/9dcca5441b)] - **doc**: add jazelly to collaborators (Jason Zhang) [#55531](https://github.com/nodejs/node/pull/55531) +- \[[`f628fc43cb`](https://github.com/nodejs/node/commit/f628fc43cb)] - **(SEMVER-MINOR)** **fs**: make `dirent.path` writable (Antoine du Hamel) [#55547](https://github.com/nodejs/node/pull/55547) +- \[[`25b1422337`](https://github.com/nodejs/node/commit/25b1422337)] - **(SEMVER-MINOR)** **http**: add diagnostic channel `http.client.request.created` (Marco Ippolito) [#55586](https://github.com/nodejs/node/pull/55586) +- \[[`adda37f00c`](https://github.com/nodejs/node/commit/adda37f00c)] - **(SEMVER-MINOR)** **module**: add `findPackageJSON` util (Jacob Smith) [#55412](https://github.com/nodejs/node/pull/55412) +- \[[`69dd1e13c3`](https://github.com/nodejs/node/commit/69dd1e13c3)] - **(SEMVER-MINOR)** **module**: add `module.stripTypeScriptTypes` (Marco Ippolito) [#55282](https://github.com/nodejs/node/pull/55282) + +### Commits + +- \[[`9dbb255efb`](https://github.com/nodejs/node/commit/9dbb255efb)] - **assert**: fix `deepStrictEqual` on errors when `cause` is not undefined (Edigleysson Silva (Edy)) [#55406](https://github.com/nodejs/node/pull/55406) +- \[[`7af76ef0b3`](https://github.com/nodejs/node/commit/7af76ef0b3)] - **assert**: fix the string length check for printing the simple diff (Giovanni Bucci) [#55474](https://github.com/nodejs/node/pull/55474) +- \[[`34483a299b`](https://github.com/nodejs/node/commit/34483a299b)] - **benchmark**: add nodeTiming.uvmetricsinfo bench (RafaelGSS) [#55614](https://github.com/nodejs/node/pull/55614) +- \[[`b79e4835ab`](https://github.com/nodejs/node/commit/b79e4835ab)] - **build**: use rclone instead of aws CLI (Michaël Zasso) [#55617](https://github.com/nodejs/node/pull/55617) +- \[[`7ab1f46b8a`](https://github.com/nodejs/node/commit/7ab1f46b8a)] - **build**: stop pre-compiling `lint-md` (Aviv Keller) [#55266](https://github.com/nodejs/node/pull/55266) +- \[[`4887214e23`](https://github.com/nodejs/node/commit/4887214e23)] - **build**: fix building with system icu 76 (Michael Cho) [#55563](https://github.com/nodejs/node/pull/55563) +- \[[`f8df27aa5a`](https://github.com/nodejs/node/commit/f8df27aa5a)] - **build**: fix GN arg used in generate_config_gypi.py (Shelley Vohr) [#55530](https://github.com/nodejs/node/pull/55530) +- \[[`bb78904548`](https://github.com/nodejs/node/commit/bb78904548)] - **build**: fix GN build for sqlite and nghttp2 (Shelley Vohr) [#55529](https://github.com/nodejs/node/pull/55529) +- \[[`535f1b0d4c`](https://github.com/nodejs/node/commit/535f1b0d4c)] - **crypto**: update root certificates to NSS 3.104 (Richard Lau) [#55681](https://github.com/nodejs/node/pull/55681) +- \[[`9b351b0749`](https://github.com/nodejs/node/commit/9b351b0749)] - **crypto**: fix `RSA_PKCS1_PADDING` error message (Richard Lau) [#55629](https://github.com/nodejs/node/pull/55629) +- \[[`4b192daac0`](https://github.com/nodejs/node/commit/4b192daac0)] - **deps**: update acorn to 8.14.0 (Node.js GitHub Bot) [#55699](https://github.com/nodejs/node/pull/55699) +- \[[`dfb764cbc6`](https://github.com/nodejs/node/commit/dfb764cbc6)] - **deps**: update sqlite to 3.47.0 (Node.js GitHub Bot) [#55557](https://github.com/nodejs/node/pull/55557) +- \[[`3477492588`](https://github.com/nodejs/node/commit/3477492588)] - **deps**: update amaro to 0.2.0 (Node.js GitHub Bot) [#55601](https://github.com/nodejs/node/pull/55601) +- \[[`3a1d490535`](https://github.com/nodejs/node/commit/3a1d490535)] - **deps**: update nghttp2 to 1.64.0 (Node.js GitHub Bot) [#55559](https://github.com/nodejs/node/pull/55559) +- \[[`50552fdc92`](https://github.com/nodejs/node/commit/50552fdc92)] - **deps**: update acorn to 8.13.0 (Node.js GitHub Bot) [#55558](https://github.com/nodejs/node/pull/55558) +- \[[`1b82013f06`](https://github.com/nodejs/node/commit/1b82013f06)] - **deps**: update undici to 6.20.1 (Node.js GitHub Bot) [#55503](https://github.com/nodejs/node/pull/55503) +- \[[`09060045b1`](https://github.com/nodejs/node/commit/09060045b1)] - **dns**: stop using deprecated `ares_query` (Aviv Keller) [#55430](https://github.com/nodejs/node/pull/55430) +- \[[`2d0914f337`](https://github.com/nodejs/node/commit/2d0914f337)] - **doc**: consolidate history table of `CustomEvent` (Edigleysson Silva) [#55758](https://github.com/nodejs/node/pull/55758) +- \[[`cbe09b579f`](https://github.com/nodejs/node/commit/cbe09b579f)] - **doc**: add path aliases typescript doc (Carlos Espa) [#55766](https://github.com/nodejs/node/pull/55766) +- \[[`89aa83842a`](https://github.com/nodejs/node/commit/89aa83842a)] - **doc**: add esm example in `path.md` (Aviv Keller) [#55745](https://github.com/nodejs/node/pull/55745) +- \[[`ee12431298`](https://github.com/nodejs/node/commit/ee12431298)] - **doc**: consistent use of word child process (Gireesh Punathil) [#55654](https://github.com/nodejs/node/pull/55654) +- \[[`20cb52d1d8`](https://github.com/nodejs/node/commit/20cb52d1d8)] - **doc**: clarity to available addon options (Preveen P) [#55715](https://github.com/nodejs/node/pull/55715) +- \[[`bffbaa13a2`](https://github.com/nodejs/node/commit/bffbaa13a2)] - **doc**: update `--max-semi-space-size` description (Joe Bowbeer) [#55495](https://github.com/nodejs/node/pull/55495) +- \[[`505ff199b6`](https://github.com/nodejs/node/commit/505ff199b6)] - **doc**: broken `PerformanceObserver` code sample (Dom Harrington) [#54227](https://github.com/nodejs/node/pull/54227) +- \[[`b8ca9d89f4`](https://github.com/nodejs/node/commit/b8ca9d89f4)] - **doc**: add write flag when open file as the demo code's intention (robberfree) [#54626](https://github.com/nodejs/node/pull/54626) +- \[[`6662752b62`](https://github.com/nodejs/node/commit/6662752b62)] - **doc**: add a note on console stream behavior (Gireesh Punathil) [#55616](https://github.com/nodejs/node/pull/55616) +- \[[`9743fa44ed`](https://github.com/nodejs/node/commit/9743fa44ed)] - **doc**: remove mention of ECDH-ES in crypto.diffieHellman (Filip Skokan) [#55611](https://github.com/nodejs/node/pull/55611) +- \[[`5de2567644`](https://github.com/nodejs/node/commit/5de2567644)] - **doc**: improve c++ embedder API doc (Gireesh Punathil) [#55597](https://github.com/nodejs/node/pull/55597) +- \[[`f355054ec7`](https://github.com/nodejs/node/commit/f355054ec7)] - **doc**: capitalize "MIT License" (Aviv Keller) [#55575](https://github.com/nodejs/node/pull/55575) +- \[[`fa61dced44`](https://github.com/nodejs/node/commit/fa61dced44)] - **doc**: move typescript support to active development (Marco Ippolito) [#55536](https://github.com/nodejs/node/pull/55536) +- \[[`f77bf65059`](https://github.com/nodejs/node/commit/f77bf65059)] - **doc**: add suggested tsconfig for type stripping (Marco Ippolito) [#55534](https://github.com/nodejs/node/pull/55534) +- \[[`f00ad27132`](https://github.com/nodejs/node/commit/f00ad27132)] - **doc**: add esm examples to node:string_decoder (Alfredo González) [#55507](https://github.com/nodejs/node/pull/55507) +- \[[`9dcca5441b`](https://github.com/nodejs/node/commit/9dcca5441b)] - **doc**: add jazelly to collaborators (Jason Zhang) [#55531](https://github.com/nodejs/node/pull/55531) +- \[[`f628fc43cb`](https://github.com/nodejs/node/commit/f628fc43cb)] - **(SEMVER-MINOR)** **fs**: make `dirent.path` writable (Antoine du Hamel) [#55547](https://github.com/nodejs/node/pull/55547) +- \[[`dd9b6833c7`](https://github.com/nodejs/node/commit/dd9b6833c7)] - _**Revert**_ "**fs,win**: fix bug in paths with trailing slashes" (Rod Vagg) [#55527](https://github.com/nodejs/node/pull/55527) +- \[[`8d0526f1f4`](https://github.com/nodejs/node/commit/8d0526f1f4)] - **http**: add diagnostic channel `http.server.response.created` (Marco Ippolito) [#55622](https://github.com/nodejs/node/pull/55622) +- \[[`25b1422337`](https://github.com/nodejs/node/commit/25b1422337)] - **(SEMVER-MINOR)** **http**: add diagnostic channel `http.client.request.created` (Marco Ippolito) [#55586](https://github.com/nodejs/node/pull/55586) +- \[[`f92f20b930`](https://github.com/nodejs/node/commit/f92f20b930)] - **http**: don't emit error after destroy (Robert Nagy) [#55457](https://github.com/nodejs/node/pull/55457) +- \[[`137aa5c9f6`](https://github.com/nodejs/node/commit/137aa5c9f6)] - **http2**: fix client async storage persistence (Orgad Shaneh) [#55460](https://github.com/nodejs/node/pull/55460) +- \[[`d1965f9f5b`](https://github.com/nodejs/node/commit/d1965f9f5b)] - **lib**: implement webidl dictionary converter and use it in structuredClone (Jason Zhang) [#55489](https://github.com/nodejs/node/pull/55489) +- \[[`bf552fa3cc`](https://github.com/nodejs/node/commit/bf552fa3cc)] - **lib**: prefer number to string in webidl `type` function (Jason Zhang) [#55489](https://github.com/nodejs/node/pull/55489) +- \[[`7bfd295416`](https://github.com/nodejs/node/commit/7bfd295416)] - **meta**: bump actions/setup-python from 5.2.0 to 5.3.0 (dependabot\[bot]) [#55688](https://github.com/nodejs/node/pull/55688) +- \[[`21e3b7b2f4`](https://github.com/nodejs/node/commit/21e3b7b2f4)] - **meta**: bump actions/setup-node from 4.0.4 to 4.1.0 (dependabot\[bot]) [#55687](https://github.com/nodejs/node/pull/55687) +- \[[`2ae8d3b2ff`](https://github.com/nodejs/node/commit/2ae8d3b2ff)] - **meta**: bump rtCamp/action-slack-notify from 2.3.0 to 2.3.2 (dependabot\[bot]) [#55686](https://github.com/nodejs/node/pull/55686) +- \[[`42e6c47086`](https://github.com/nodejs/node/commit/42e6c47086)] - **meta**: bump actions/upload-artifact from 4.4.0 to 4.4.3 (dependabot\[bot]) [#55685](https://github.com/nodejs/node/pull/55685) +- \[[`9042e9acc9`](https://github.com/nodejs/node/commit/9042e9acc9)] - **meta**: bump actions/cache from 4.0.2 to 4.1.2 (dependabot\[bot]) [#55684](https://github.com/nodejs/node/pull/55684) +- \[[`5c2e4729cc`](https://github.com/nodejs/node/commit/5c2e4729cc)] - **meta**: bump actions/checkout from 4.2.0 to 4.2.2 (dependabot\[bot]) [#55683](https://github.com/nodejs/node/pull/55683) +- \[[`d79c8bf7a1`](https://github.com/nodejs/node/commit/d79c8bf7a1)] - **meta**: bump github/codeql-action from 3.26.10 to 3.27.0 (dependabot\[bot]) [#55682](https://github.com/nodejs/node/pull/55682) +- \[[`d0ea9815f6`](https://github.com/nodejs/node/commit/d0ea9815f6)] - **meta**: make review-wanted message minimal (Aviv Keller) [#55607](https://github.com/nodejs/node/pull/55607) +- \[[`b1ca7ab0a1`](https://github.com/nodejs/node/commit/b1ca7ab0a1)] - **meta**: show PR/issue title on review-wanted (Aviv Keller) [#55606](https://github.com/nodejs/node/pull/55606) +- \[[`19b1edfc5c`](https://github.com/nodejs/node/commit/19b1edfc5c)] - **module**: simplify --inspect-brk handling (Joyee Cheung) [#55679](https://github.com/nodejs/node/pull/55679) +- \[[`869e88c6a8`](https://github.com/nodejs/node/commit/869e88c6a8)] - **module**: simplify `findPackageJSON` implementation (Antoine du Hamel) [#55543](https://github.com/nodejs/node/pull/55543) +- \[[`56c46ab686`](https://github.com/nodejs/node/commit/56c46ab686)] - **module**: unify TypeScript and .mjs handling in CommonJS (Joyee Cheung) [#55590](https://github.com/nodejs/node/pull/55590) +- \[[`d3be3da6f8`](https://github.com/nodejs/node/commit/d3be3da6f8)] - **module**: fix error thrown from require(esm) hitting TLA repeatedly (Joyee Cheung) [#55520](https://github.com/nodejs/node/pull/55520) +- \[[`b3971bbf13`](https://github.com/nodejs/node/commit/b3971bbf13)] - **module**: trim off internal stack frames for require(esm) warnings (Joyee Cheung) [#55496](https://github.com/nodejs/node/pull/55496) +- \[[`a9e08cfe6d`](https://github.com/nodejs/node/commit/a9e08cfe6d)] - **module**: allow ESM that failed to be required to be re-imported (Joyee Cheung) [#55502](https://github.com/nodejs/node/pull/55502) +- \[[`adda37f00c`](https://github.com/nodejs/node/commit/adda37f00c)] - **(SEMVER-MINOR)** **module**: add `findPackageJSON` util (Jacob Smith) [#55412](https://github.com/nodejs/node/pull/55412) +- \[[`69dd1e13c3`](https://github.com/nodejs/node/commit/69dd1e13c3)] - **(SEMVER-MINOR)** **module**: add module.stripTypeScriptTypes (Marco Ippolito) [#55282](https://github.com/nodejs/node/pull/55282) +- \[[`6ab59c81b6`](https://github.com/nodejs/node/commit/6ab59c81b6)] - **os**: improve path check with direct index access (Mert Can Altin) [#55434](https://github.com/nodejs/node/pull/55434) +- \[[`038ac01d26`](https://github.com/nodejs/node/commit/038ac01d26)] - **path,win**: fix bug in resolve and normalize (Hüseyin Açacak) [#55623](https://github.com/nodejs/node/pull/55623) +- \[[`7aa250afda`](https://github.com/nodejs/node/commit/7aa250afda)] - **sqlite**: improve error handling using MaybeLocal (Tobias Nießen) [#55571](https://github.com/nodejs/node/pull/55571) +- \[[`2ec4ae7c16`](https://github.com/nodejs/node/commit/2ec4ae7c16)] - **sqlite**: add readOnly option (Tobias Nießen) [#55567](https://github.com/nodejs/node/pull/55567) +- \[[`88c7f5b489`](https://github.com/nodejs/node/commit/88c7f5b489)] - **sqlite**: refactor open options (Tobias Nießen) [#55442](https://github.com/nodejs/node/pull/55442) +- \[[`7853462a61`](https://github.com/nodejs/node/commit/7853462a61)] - **src**: provide workaround for container-overflow (Daniel Lemire) [#55591](https://github.com/nodejs/node/pull/55591) +- \[[`0302efe4b2`](https://github.com/nodejs/node/commit/0302efe4b2)] - **src**: move more key related stuff to ncrypto (James M Snell) [#55368](https://github.com/nodejs/node/pull/55368) +- \[[`d26dedf41d`](https://github.com/nodejs/node/commit/d26dedf41d)] - **src**: refactor ECDHBitsJob signature (Filip Skokan) [#55610](https://github.com/nodejs/node/pull/55610) +- \[[`4c34891454`](https://github.com/nodejs/node/commit/4c34891454)] - **src**: fix dns crash when failed to create NodeAresTask (theanarkh) [#55521](https://github.com/nodejs/node/pull/55521) +- \[[`467618418a`](https://github.com/nodejs/node/commit/467618418a)] - **src**: use NewFromUtf8Literal in NODE_DEFINE_CONSTANT (Charles Kerr) [#55581](https://github.com/nodejs/node/pull/55581) +- \[[`016baaebbe`](https://github.com/nodejs/node/commit/016baaebbe)] - **src**: do not run IsWindowsBatchFile on non-windows (Yagiz Nizipli) [#55560](https://github.com/nodejs/node/pull/55560) +- \[[`efa142c108`](https://github.com/nodejs/node/commit/efa142c108)] - **src**: migrate `String::Value` to `String::ValueView` (Aviv Keller) [#55458](https://github.com/nodejs/node/pull/55458) +- \[[`cfa4d960c8`](https://github.com/nodejs/node/commit/cfa4d960c8)] - **src,lib**: optimize nodeTiming.uvMetricsInfo (RafaelGSS) [#55614](https://github.com/nodejs/node/pull/55614) +- \[[`19da4de475`](https://github.com/nodejs/node/commit/19da4de475)] - **test**: update `performance-timeline` wpt (RedYetiDev) [#55197](https://github.com/nodejs/node/pull/55197) +- \[[`10b68ed975`](https://github.com/nodejs/node/commit/10b68ed975)] - **test**: ignore unrelated events in FW watch tests (Carlos Espa) [#55605](https://github.com/nodejs/node/pull/55605) +- \[[`7d93c0c3ae`](https://github.com/nodejs/node/commit/7d93c0c3ae)] - **test**: refactor some esm tests (Antoine du Hamel) [#55472](https://github.com/nodejs/node/pull/55472) +- \[[`815e2524a6`](https://github.com/nodejs/node/commit/815e2524a6)] - **test**: split up test-runner-mock-timers test (Julian Gassner) [#55506](https://github.com/nodejs/node/pull/55506) +- \[[`6aa797de4e`](https://github.com/nodejs/node/commit/6aa797de4e)] - **test**: remove unneeded listeners (Luigi Pinca) [#55486](https://github.com/nodejs/node/pull/55486) +- \[[`649d767a40`](https://github.com/nodejs/node/commit/649d767a40)] - **test**: increase coverage of `pathToFileURL` (Antoine du Hamel) [#55493](https://github.com/nodejs/node/pull/55493) +- \[[`71cc20a3a5`](https://github.com/nodejs/node/commit/71cc20a3a5)] - **test**: avoid `apply()` calls with large amount of elements (Livia Medeiros) [#55501](https://github.com/nodejs/node/pull/55501) +- \[[`2d19614020`](https://github.com/nodejs/node/commit/2d19614020)] - **test**: increase test coverage for `http.OutgoingMessage.appendHeader()` (Juan José) [#55467](https://github.com/nodejs/node/pull/55467) +- \[[`aebf676569`](https://github.com/nodejs/node/commit/aebf676569)] - **test,crypto**: update WebCryptoAPI WPT (Filip Skokan) [#55703](https://github.com/nodejs/node/pull/55703) +- \[[`53a7d8e75b`](https://github.com/nodejs/node/commit/53a7d8e75b)] - **test,crypto**: update WebCryptoAPI WPT (Filip Skokan) [#55512](https://github.com/nodejs/node/pull/55512) +- \[[`0ea74f3d02`](https://github.com/nodejs/node/commit/0ea74f3d02)] - **test,crypto**: make crypto tests work with BoringSSL (Shelley Vohr) [#55491](https://github.com/nodejs/node/pull/55491) +- \[[`3234dc6100`](https://github.com/nodejs/node/commit/3234dc6100)] - **test_runner**: pass `options` directly to `TestCoverage` (Aviv Keller) [#55578](https://github.com/nodejs/node/pull/55578) +- \[[`15028dd073`](https://github.com/nodejs/node/commit/15028dd073)] - **tools**: update ESLint to 9.14.0 (dependabot\[bot]) [#55689](https://github.com/nodejs/node/pull/55689) +- \[[`961cbc9c0f`](https://github.com/nodejs/node/commit/961cbc9c0f)] - **tools**: use `util.parseArgs` in `lint-md` (Aviv Keller) [#55694](https://github.com/nodejs/node/pull/55694) +- \[[`8fc962f1af`](https://github.com/nodejs/node/commit/8fc962f1af)] - **tools**: fix root certificate updater (Richard Lau) [#55681](https://github.com/nodejs/node/pull/55681) +- \[[`d0b2d6be84`](https://github.com/nodejs/node/commit/d0b2d6be84)] - **tools**: compact jq output in daily-wpt-fyi.yml action (Filip Skokan) [#55695](https://github.com/nodejs/node/pull/55695) +- \[[`cba05cda38`](https://github.com/nodejs/node/commit/cba05cda38)] - **tools**: run daily WPT.fyi report on all supported releases (Filip Skokan) [#55619](https://github.com/nodejs/node/pull/55619) +- \[[`7ce7eab324`](https://github.com/nodejs/node/commit/7ce7eab324)] - **tools**: lint README lists more strictly (Antoine du Hamel) [#55625](https://github.com/nodejs/node/pull/55625) +- \[[`c2fcda45ca`](https://github.com/nodejs/node/commit/c2fcda45ca)] - **typings**: fix `ModulesBinding` types (Antoine du Hamel) [#55549](https://github.com/nodejs/node/pull/55549) +- \[[`2b9928561d`](https://github.com/nodejs/node/commit/2b9928561d)] - **url**: refactor `pathToFileURL` to native (Antoine du Hamel) [#55476](https://github.com/nodejs/node/pull/55476) +- \[[`4129bc72e2`](https://github.com/nodejs/node/commit/4129bc72e2)] - **util**: do not catch on circular `@@toStringTag` errors (Aviv Keller) [#55544](https://github.com/nodejs/node/pull/55544) + +Windows 64-bit Installer: https://nodejs.org/dist/v23.2.0/node-v23.2.0-x64.msi \ +Windows ARM 64-bit Installer: https://nodejs.org/dist/v23.2.0/node-v23.2.0-arm64.msi \ +Windows 64-bit Binary: https://nodejs.org/dist/v23.2.0/win-x64/node.exe \ +Windows ARM 64-bit Binary: https://nodejs.org/dist/v23.2.0/win-arm64/node.exe \ +macOS 64-bit Installer: https://nodejs.org/dist/v23.2.0/node-v23.2.0.pkg \ +macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v23.2.0/node-v23.2.0-darwin-arm64.tar.gz \ +macOS Intel 64-bit Binary: https://nodejs.org/dist/v23.2.0/node-v23.2.0-darwin-x64.tar.gz \ +Linux 64-bit Binary: https://nodejs.org/dist/v23.2.0/node-v23.2.0-linux-x64.tar.xz \ +Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v23.2.0/node-v23.2.0-linux-ppc64le.tar.xz \ +Linux s390x 64-bit Binary: https://nodejs.org/dist/v23.2.0/node-v23.2.0-linux-s390x.tar.xz \ +AIX 64-bit Binary: https://nodejs.org/dist/v23.2.0/node-v23.2.0-aix-ppc64.tar.gz \ +ARMv7 32-bit Binary: https://nodejs.org/dist/v23.2.0/node-v23.2.0-linux-armv7l.tar.xz \ +ARMv8 64-bit Binary: https://nodejs.org/dist/v23.2.0/node-v23.2.0-linux-arm64.tar.xz \ +Source Code: https://nodejs.org/dist/v23.2.0/node-v23.2.0.tar.gz \ +Other release files: https://nodejs.org/dist/v23.2.0/ \ +Documentation: https://nodejs.org/docs/v23.2.0/api/ + +### SHASUMS + +``` +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA256 + +43e0c6a6ef0c123e33a9af2f055516c4170a58e26b473fff273c8bdbf0518c6b node-v23.2.0-aix-ppc64.tar.gz +ce70e41b0c12935864980b025f7de1b2a465c154e9cf92c0b9c2957e095a6ccd node-v23.2.0-arm64.msi +0a4c1379f81b02cb724b7f69b7e2fdf8a4765d98710ae8e05c4ee2da85a54f94 node-v23.2.0-darwin-arm64.tar.gz +95b51f1f70cddf5b0b4c1386edf1c788837b216ab7770cad89ac51963946d698 node-v23.2.0-darwin-arm64.tar.xz +5d5c8150b5b8dd31930f029535ccee06b259c2d75db8c78f7f33a7fa8b8152a7 node-v23.2.0-darwin-x64.tar.gz +b7eafd1152a4a263216eb8ef66ef4c4c8f76ab79e8d2718983c0426250496ac2 node-v23.2.0-darwin-x64.tar.xz +deee32988406bcd0fc6800a5863644f5d053e5ec663309a7a5fc148e00bafc04 node-v23.2.0-headers.tar.gz +9a9eb725dd42f020d4ed256be69689a4bffab0299e7b5b0a45994719d9d22163 node-v23.2.0-headers.tar.xz +987045f6b23dc9c6514ecae89bc5d116851992812698558d9641fd9bc34645ff node-v23.2.0-linux-arm64.tar.gz +f0bd2891886445447f4d69078e48916b4f631bc76ae05695ec8b225e5cb7217a node-v23.2.0-linux-arm64.tar.xz +9fb13ca5c47d30cfc67d51d6d38315f31c63a11653d0b08418ba61e09549024f node-v23.2.0-linux-armv7l.tar.gz +0bd30ec2b5dab4bcdd555b50295fc0a549f10c88743b5ce3a4a1dc2527bc5e9b node-v23.2.0-linux-armv7l.tar.xz +eafde03bccadf18e848f327a1d4766f935e3c1df05c5bb88fd20a3574d68ea1c node-v23.2.0-linux-ppc64le.tar.gz +2f875cec3661bb464ec4d1718bacce36d29b99ba86f7bad50617d88d596d5321 node-v23.2.0-linux-ppc64le.tar.xz +d9f602acfacdfad261062a1e5fac90aa29e82da0221cb809af24041e5d7e3b8c node-v23.2.0-linux-s390x.tar.gz +7b7f79f934d4ac4e00e8b421159ee3c83be6c5f28b6ee9f0c753a85f8fa0df43 node-v23.2.0-linux-s390x.tar.xz +b88f5d5b6f9a17818a85b7afbf325700434fc8755cec105c7709c6fd363b17ca node-v23.2.0-linux-x64.tar.gz +acafc5dd2254534b93f7c661948e3f5c49707fbd7d87f2c23e2be7be46c69bb0 node-v23.2.0-linux-x64.tar.xz +d15c79d34460104f9666f6da8a0b9fd3a223670b17bad90fb40d0d61764f9b6d node-v23.2.0-win-arm64.7z +e6977b48b5f39ea91c83bec0d21c60c476b214bd1e2276f1bf0d81b18d08b7bd node-v23.2.0-win-arm64.zip +72bd48c3b115d081be360e8fff0e9c377eaf51980e4b152198583ae0adcbc767 node-v23.2.0-win-x64.7z +67e037253c7550db9adad9647e9b330d0d75ec2685c0eecbe8aec7abe6921183 node-v23.2.0-win-x64.zip +875c4c1c7e96f546316627e65eaf16d6bf6ea6a39d3fe1492402b159870519f9 node-v23.2.0-x64.msi +433af0c46f4e417c7591de96b0b694e523da5b19ec8d3644416d880c9bf4411f node-v23.2.0.pkg +79900219d5f835cbfdc9092a9d3d60c5bf2f9f94eb8e19dccd327a6d15f560af node-v23.2.0.tar.gz +3cf7a8a36682775693691f1de901bb5973ad3c0ae2aa87b1add9de515e7b2fc7 node-v23.2.0.tar.xz +877ce8017b1bd46a41cbe9fc889e98757c35c036eea32bb90b3b6ae968a77bb5 win-arm64/node.exe +26f2d9ca9ec82df85c3cadee0de373a4836e46293149eec718ab716acbe4e1ab win-arm64/node.lib +68df4d79ee2010c8bbd63cf3a306ded68c34719cdb863dcf18c3d7316cb00e28 win-arm64/node_pdb.7z +db9fa5a803283a4f79d298b9739c02854d35d33ca0d44c0369cda127487f4be8 win-arm64/node_pdb.zip +29acdfb068df2aef03d8186f16666d7e24edaabb6922471136dd133403581be6 win-x64/node.exe +7ef14cabb18518a70e04ca067134d9a51beee11590ea3114e1baf68054124c62 win-x64/node.lib +d65afa1aa613d4f68b7897b8b962b6965937604525229d6de6cf1af4648a134b win-x64/node_pdb.7z +7d1c272a9f62673b6fe964c501ee952ab8d4f2cf73e913039ce808a1b48bee12 win-x64/node_pdb.zip +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCAAdFiEEwNYkhDnx1WBKr/tAIdkA/9sjN1YFAmcybCMACgkQIdkA/9sj +N1aSlg//XqGbfFuPb/W6OCBrb0NJhi4umHcW/gx1XgsnV7DBTm+Cn5Efze2pD3nD +kIBBZ18AOd0/YbfIEgxqCizP9aHfGixTfc8ZyG58DtdxTqUcUnoLkxTJIO+SVc9S +lOYKKCt1QIrNHiAQy/Axc81wHhENSssxqyh42MVt1akw3tlBZIY1aJpVVS4KVA6U +JIypYTp1wcwUS88UKNr/9jG7KqfI+GZQBsT7nRGcpyL3kRakjKjYyJWigB4cnIQl +Zt3QMLeSKyyuZmwdg0axiQJYHI5sw/RAPvfjdadmLQ8OpgKJA0IyRT9O+kbMZDIq +1m8W4I+L8EK4SZ+0KAVkLebZNEJm7Nz4D1p1kNIXg9aqWWXz/d61TXOAG9GRH7v0 +Xdi+qJv62kMD+zwdsh8WTz+3/44eK9b3uSubnnddTOL6LGPtKRJ0uXx104Ld+ND4 +YXJCQK35h5/w3LehZHp5t4tjRb8KxznZipA97VVB53a8itaIoIx7ljiEMYEZP5RR +rw+kifiT3gV3vrI7j+N4bwkAMJeNMbVFNoB/FPqF4zAeqcnbgzR88lr2uUmwW5iK +2IuFpbwE0EphGCUQNtTEKIFHuEq3MeldHk8CS09Jd3fkra4qd6HmBZg35ukE3OxO +79bzWaB/hI6kzSjkx5SvMZUCwcQocEgBqi5AD25RES9xTf0fUtA= +=ekkW +-----END PGP SIGNATURE----- +``` From 37290ad6b5b35a1f01f505e1711101ac6b03c0f3 Mon Sep 17 00:00:00 2001 From: Brian Muenzenmeyer Date: Mon, 11 Nov 2024 16:23:23 -0600 Subject: [PATCH 4/8] Update CODEOWNERS (#7216) --- CODEOWNERS | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/CODEOWNERS b/CODEOWNERS index 0978d490b386e..5949e894a60eb 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -6,12 +6,12 @@ .husky @nodejs/web-infra # Framework -app/site/next.config.mjs @nodejs/web-infra -app/site/next.dynamic.mjs @nodejs/web-infra +apps/site/next.config.mjs @nodejs/web-infra +apps/site/next.dynamic.mjs @nodejs/web-infra # Node.js Release Blog Posts -app/site/pages/en/blog/release @nodejs/releasers -app/site/pages/en/blog/announcements @nodejs/releasers +apps/site/pages/en/blog/release @nodejs/releasers +apps/site/pages/en/blog/announcements @nodejs/releasers # Package Ecosystem package.json @nodejs/nodejs-website @@ -19,5 +19,5 @@ turbo.json @nodejs/nodejs-website @nodejs/web-infra # Web Infrastructure crowdin.yml @nodejs/web-infra -app/site/redirects.json @nodejs/web-infra -app/site/site.json @nodejs/web-infra +apps/site/redirects.json @nodejs/web-infra +apps/site/site.json @nodejs/web-infra From 4f13306052218749564c8bb79fa04d5b8df72e08 Mon Sep 17 00:00:00 2001 From: Aviv Keller Date: Tue, 12 Nov 2024 08:09:22 -0500 Subject: [PATCH 5/8] chore: fix typo (to see if Copilot Review works) (#7212) Signed-off-by: Aviv Keller --- TRANSLATION.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TRANSLATION.md b/TRANSLATION.md index 710edf3281332..8f5ccd89efaf3 100644 --- a/TRANSLATION.md +++ b/TRANSLATION.md @@ -1,6 +1,6 @@ # Node.js Website Translation Policy -Node.js is a global platform and so this site has many translations. We use [Crowdin](https://crowdin.com) to translate the Node.js Website +Node.js is a global platform, so this site has many translations. We use [Crowdin](https://crowdin.com) to translate the Node.js Website The site's translation into languages other than English is handled by [Crowdin translators](https://support.crowdin.com/translation-process-overview/). From 4f5fbae75ef7b3c0391bdd2f6b1bbf4263d2a3ac Mon Sep 17 00:00:00 2001 From: Brian Muenzenmeyer Date: Tue, 12 Nov 2024 07:09:35 -0600 Subject: [PATCH 6/8] docs: fixing a random typo to see if copilot triggers on the PR (#7211) --- COLLABORATOR_GUIDE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/COLLABORATOR_GUIDE.md b/COLLABORATOR_GUIDE.md index be844b55769b7..ac5160ed08558 100644 --- a/COLLABORATOR_GUIDE.md +++ b/COLLABORATOR_GUIDE.md @@ -299,7 +299,7 @@ import NameOfComponent from '@components/PathTo/YourComponent'; type Story = StoryObj; type Meta = MetaObj; -// If the component has any props that are interactable, they should be passed here +// If the component has any props that are interactive, they should be passed here // We recommend reading Storybook docs for args: https://storybook.js.org/docs/react/writing-stories/args export const Default: Story = {}; From 24925de35dc6fd1a585ba6ec8c433193cb37916c Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Wed, 13 Nov 2024 01:10:13 +0000 Subject: [PATCH 7/8] Blog: v18.20.5 release post (#7221) Refs: https://github.com/nodejs/node/pull/55768 --- apps/site/pages/en/blog/release/v18.20.5.md | 166 ++++++++++++++++++++ 1 file changed, 166 insertions(+) create mode 100644 apps/site/pages/en/blog/release/v18.20.5.md diff --git a/apps/site/pages/en/blog/release/v18.20.5.md b/apps/site/pages/en/blog/release/v18.20.5.md new file mode 100644 index 0000000000000..332da1c9ad6ef --- /dev/null +++ b/apps/site/pages/en/blog/release/v18.20.5.md @@ -0,0 +1,166 @@ +--- +date: '2024-11-12T21:44:18.665Z' +category: release +title: Node v18.20.5 (LTS) +layout: blog-post +author: Antoine du Hamel +--- + +## 2024-11-12, Version 18.20.5 'Hydrogen' (LTS), @aduh95 + +### Notable Changes + +- \[[`ac37e554a5`](https://github.com/nodejs/node/commit/ac37e554a5)] - **esm**: mark import attributes and JSON module as stable (Nicolò Ribaudo) [#55333](https://github.com/nodejs/node/pull/55333) + +### Commits + +- \[[`c2e6a8f215`](https://github.com/nodejs/node/commit/c2e6a8f215)] - **benchmark**: fix napi/ref addon (Michaël Zasso) [#53233](https://github.com/nodejs/node/pull/53233) +- \[[`4c2e07aaac`](https://github.com/nodejs/node/commit/4c2e07aaac)] - **build**: pin doc workflow to Node.js 20 (Richard Lau) [#55755](https://github.com/nodejs/node/pull/55755) +- \[[`6ba4ebd060`](https://github.com/nodejs/node/commit/6ba4ebd060)] - **build**: fix build with Python 3.12 (Luigi Pinca) [#50582](https://github.com/nodejs/node/pull/50582) +- \[[`c50f01399e`](https://github.com/nodejs/node/commit/c50f01399e)] - **crypto**: ensure invalid SubtleCrypto JWK data import results in DataError (Filip Skokan) [#55041](https://github.com/nodejs/node/pull/55041) +- \[[`5c46782137`](https://github.com/nodejs/node/commit/5c46782137)] - **crypto**: make deriveBits length parameter optional and nullable (Filip Skokan) [#53601](https://github.com/nodejs/node/pull/53601) +- \[[`6e7274fa53`](https://github.com/nodejs/node/commit/6e7274fa53)] - **crypto**: reject dh,x25519,x448 in {Sign,Verify}Final (Huáng Jùnliàng) [#53774](https://github.com/nodejs/node/pull/53774) +- \[[`d2442044db`](https://github.com/nodejs/node/commit/d2442044db)] - **crypto**: reject Ed25519/Ed448 in Sign/Verify prototypes (Filip Skokan) [#52340](https://github.com/nodejs/node/pull/52340) +- \[[`93670de499`](https://github.com/nodejs/node/commit/93670de499)] - **deps**: upgrade npm to 10.8.2 (npm team) [#53799](https://github.com/nodejs/node/pull/53799) +- \[[`8531c95587`](https://github.com/nodejs/node/commit/8531c95587)] - **deps**: upgrade npm to 10.8.1 (npm team) [#53207](https://github.com/nodejs/node/pull/53207) +- \[[`fd9933ea0f`](https://github.com/nodejs/node/commit/fd9933ea0f)] - **deps**: upgrade npm to 10.8.0 (npm team) [#53014](https://github.com/nodejs/node/pull/53014) +- \[[`03852495d7`](https://github.com/nodejs/node/commit/03852495d7)] - **deps**: update simdutf to 5.6.0 (Node.js GitHub Bot) [#55379](https://github.com/nodejs/node/pull/55379) +- \[[`3597be4146`](https://github.com/nodejs/node/commit/3597be4146)] - **deps**: update simdutf to 5.5.0 (Node.js GitHub Bot) [#54434](https://github.com/nodejs/node/pull/54434) +- \[[`52d2c03738`](https://github.com/nodejs/node/commit/52d2c03738)] - **deps**: update simdutf to 5.3.4 (Node.js GitHub Bot) [#54312](https://github.com/nodejs/node/pull/54312) +- \[[`dd882ac483`](https://github.com/nodejs/node/commit/dd882ac483)] - **deps**: update simdutf to 5.3.1 (Node.js GitHub Bot) [#54196](https://github.com/nodejs/node/pull/54196) +- \[[`5fb8e1b428`](https://github.com/nodejs/node/commit/5fb8e1b428)] - **deps**: update simdutf to 5.3.0 (Node.js GitHub Bot) [#53837](https://github.com/nodejs/node/pull/53837) +- \[[`c952fd886d`](https://github.com/nodejs/node/commit/c952fd886d)] - **deps**: update simdutf to 5.2.8 (Node.js GitHub Bot) [#52727](https://github.com/nodejs/node/pull/52727) +- \[[`a1ae050ed5`](https://github.com/nodejs/node/commit/a1ae050ed5)] - **deps**: update simdutf to 5.2.6 (Node.js GitHub Bot) [#52727](https://github.com/nodejs/node/pull/52727) +- \[[`96ec48da7f`](https://github.com/nodejs/node/commit/96ec48da7f)] - **deps**: update brotli to 1.1.0 (Node.js GitHub Bot) [#50804](https://github.com/nodejs/node/pull/50804) +- \[[`11242bcfb4`](https://github.com/nodejs/node/commit/11242bcfb4)] - **deps**: update zlib to 1.3.0.1-motley-71660e1 (Node.js GitHub Bot) [#53464](https://github.com/nodejs/node/pull/53464) +- \[[`64f98a9869`](https://github.com/nodejs/node/commit/64f98a9869)] - **deps**: update zlib to 1.3.0.1-motley-c2469fd (Node.js GitHub Bot) [#53464](https://github.com/nodejs/node/pull/53464) +- \[[`4b815550e0`](https://github.com/nodejs/node/commit/4b815550e0)] - **deps**: update zlib to 1.3.0.1-motley-68e57e6 (Node.js GitHub Bot) [#53464](https://github.com/nodejs/node/pull/53464) +- \[[`f6b2f68ce7`](https://github.com/nodejs/node/commit/f6b2f68ce7)] - **deps**: update zlib to 1.3.0.1-motley-8b7eff8 (Node.js GitHub Bot) [#53464](https://github.com/nodejs/node/pull/53464) +- \[[`e151ebef86`](https://github.com/nodejs/node/commit/e151ebef86)] - **deps**: update zlib to 1.3.0.1-motley-e432200 (Node.js GitHub Bot) [#53464](https://github.com/nodejs/node/pull/53464) +- \[[`637a306e02`](https://github.com/nodejs/node/commit/637a306e02)] - **deps**: update zlib to 1.3.0.1-motley-887bb57 (Node.js GitHub Bot) [#53464](https://github.com/nodejs/node/pull/53464) +- \[[`569a739569`](https://github.com/nodejs/node/commit/569a739569)] - **deps**: update zlib to 1.3.0.1-motley-209717d (Node.js GitHub Bot) [#53156](https://github.com/nodejs/node/pull/53156) +- \[[`033f1e2ba5`](https://github.com/nodejs/node/commit/033f1e2ba5)] - **deps**: update zlib to 1.3.0.1-motley-4f653ff (Node.js GitHub Bot) [#53052](https://github.com/nodejs/node/pull/53052) +- \[[`aaa857fc01`](https://github.com/nodejs/node/commit/aaa857fc01)] - **deps**: update ada to 2.8.0 (Node.js GitHub Bot) [#53254](https://github.com/nodejs/node/pull/53254) +- \[[`d577321877`](https://github.com/nodejs/node/commit/d577321877)] - **deps**: update acorn to 8.13.0 (Node.js GitHub Bot) [#55558](https://github.com/nodejs/node/pull/55558) +- \[[`55b3c8a41f`](https://github.com/nodejs/node/commit/55b3c8a41f)] - **deps**: update acorn-walk to 8.3.4 (Node.js GitHub Bot) [#54950](https://github.com/nodejs/node/pull/54950) +- \[[`50a9456f1e`](https://github.com/nodejs/node/commit/50a9456f1e)] - **deps**: update acorn-walk to 8.3.3 (Node.js GitHub Bot) [#53466](https://github.com/nodejs/node/pull/53466) +- \[[`f56cfe776b`](https://github.com/nodejs/node/commit/f56cfe776b)] - **deps**: update acorn to 8.12.1 (Node.js GitHub Bot) [#53465](https://github.com/nodejs/node/pull/53465) +- \[[`fce3ab686d`](https://github.com/nodejs/node/commit/fce3ab686d)] - **deps**: update archs files for openssl-3.0.15+quic1 (Node.js GitHub Bot) [#55184](https://github.com/nodejs/node/pull/55184) +- \[[`46c782486e`](https://github.com/nodejs/node/commit/46c782486e)] - **deps**: upgrade openssl sources to quictls/openssl-3.0.15+quic1 (Node.js GitHub Bot) [#55184](https://github.com/nodejs/node/pull/55184) +- \[[`4a18581dc3`](https://github.com/nodejs/node/commit/4a18581dc3)] - **deps**: update corepack to 0.29.4 (Node.js GitHub Bot) [#54845](https://github.com/nodejs/node/pull/54845) +- \[[`67e98831ab`](https://github.com/nodejs/node/commit/67e98831ab)] - **deps**: update archs files for openssl-3.0.14+quic1 (Node.js GitHub Bot) [#54336](https://github.com/nodejs/node/pull/54336) +- \[[`c60c6630af`](https://github.com/nodejs/node/commit/c60c6630af)] - **deps**: upgrade openssl sources to quictls/openssl-3.0.14+quic1 (Node.js GitHub Bot) [#54336](https://github.com/nodejs/node/pull/54336) +- \[[`935a506377`](https://github.com/nodejs/node/commit/935a506377)] - **deps**: update corepack to 0.29.3 (Node.js GitHub Bot) [#54072](https://github.com/nodejs/node/pull/54072) +- \[[`dbdfdd0226`](https://github.com/nodejs/node/commit/dbdfdd0226)] - **deps**: update corepack to 0.29.2 (Node.js GitHub Bot) [#53838](https://github.com/nodejs/node/pull/53838) +- \[[`395ee44608`](https://github.com/nodejs/node/commit/395ee44608)] - **deps**: update corepack to 0.28.2 (Node.js GitHub Bot) [#53253](https://github.com/nodejs/node/pull/53253) +- \[[`6ba8bc0618`](https://github.com/nodejs/node/commit/6ba8bc0618)] - **deps**: update c-ares to 1.29.0 (Node.js GitHub Bot) [#53155](https://github.com/nodejs/node/pull/53155) +- \[[`81c3260cd2`](https://github.com/nodejs/node/commit/81c3260cd2)] - **deps**: update corepack to 0.28.1 (Node.js GitHub Bot) [#52946](https://github.com/nodejs/node/pull/52946) +- \[[`e4739e9aa6`](https://github.com/nodejs/node/commit/e4739e9aa6)] - **doc**: only apply content-visibility on all.html (Filip Skokan) [#53510](https://github.com/nodejs/node/pull/53510) +- \[[`4d2ac5d98f`](https://github.com/nodejs/node/commit/4d2ac5d98f)] - **doc**: move release key for Myles Borins (Richard Lau) [#54059](https://github.com/nodejs/node/pull/54059) +- \[[`1c4decc998`](https://github.com/nodejs/node/commit/1c4decc998)] - **doc**: add release key for aduh95 (Antoine du Hamel) [#55349](https://github.com/nodejs/node/pull/55349) +- \[[`a4f6f0918f`](https://github.com/nodejs/node/commit/a4f6f0918f)] - **doc**: add names next to release key bash commands (Aviv Keller) [#52878](https://github.com/nodejs/node/pull/52878) +- \[[`c679348f83`](https://github.com/nodejs/node/commit/c679348f83)] - **errors**: use `determineSpecificType` in more error messages (Antoine du Hamel) [#49580](https://github.com/nodejs/node/pull/49580) +- \[[`3059262185`](https://github.com/nodejs/node/commit/3059262185)] - **esm**: fix broken assertion in `legacyMainResolve` (Antoine du Hamel) [#55708](https://github.com/nodejs/node/pull/55708) +- \[[`ac37e554a5`](https://github.com/nodejs/node/commit/ac37e554a5)] - **esm**: mark import attributes and JSON module as stable (Nicolò Ribaudo) [#55333](https://github.com/nodejs/node/pull/55333) +- \[[`84b0ead758`](https://github.com/nodejs/node/commit/84b0ead758)] - **esm**: fix hook name in error message (Bruce MacNaughton) [#50466](https://github.com/nodejs/node/pull/50466) +- \[[`0092358d00`](https://github.com/nodejs/node/commit/0092358d00)] - **http**: handle multi-value content-disposition header (Arsalan Ahmad) [#50977](https://github.com/nodejs/node/pull/50977) +- \[[`d814fe935c`](https://github.com/nodejs/node/commit/d814fe935c)] - **src**: account for OpenSSL unexpected version (Shelley Vohr) [#54038](https://github.com/nodejs/node/pull/54038) +- \[[`6615fe5db1`](https://github.com/nodejs/node/commit/6615fe5db1)] - **src**: fix dynamically linked OpenSSL version (Richard Lau) [#53456](https://github.com/nodejs/node/pull/53456) +- \[[`d6114cb2e2`](https://github.com/nodejs/node/commit/d6114cb2e2)] - **test**: fix test when compiled without engine support (Richard Lau) [#53232](https://github.com/nodejs/node/pull/53232) +- \[[`ac3a39051c`](https://github.com/nodejs/node/commit/ac3a39051c)] - **test**: fix test-tls-junk-closes-server (Michael Dawson) [#55089](https://github.com/nodejs/node/pull/55089) +- \[[`c8520ff7d2`](https://github.com/nodejs/node/commit/c8520ff7d2)] - **test**: fix OpenSSL version checks (Richard Lau) [#53503](https://github.com/nodejs/node/pull/53503) +- \[[`9824827937`](https://github.com/nodejs/node/commit/9824827937)] - **test**: update tls test to support OpenSSL32 (Michael Dawson) [#55030](https://github.com/nodejs/node/pull/55030) +- \[[`1a4d497936`](https://github.com/nodejs/node/commit/1a4d497936)] - **test**: adjust tls-set-ciphers for OpenSSL32 (Michael Dawson) [#55016](https://github.com/nodejs/node/pull/55016) +- \[[`341496a5a2`](https://github.com/nodejs/node/commit/341496a5a2)] - **test**: add asserts to validate test assumptions (Michael Dawson) [#54997](https://github.com/nodejs/node/pull/54997) +- \[[`37a2f7eaa4`](https://github.com/nodejs/node/commit/37a2f7eaa4)] - **test**: adjust key sizes to support OpenSSL32 (Michael Dawson) [#54972](https://github.com/nodejs/node/pull/54972) +- \[[`75ff0cdf66`](https://github.com/nodejs/node/commit/75ff0cdf66)] - **test**: update test to support OpenSSL32 (Michael Dawson) [#54968](https://github.com/nodejs/node/pull/54968) +- \[[`b097d85dfe`](https://github.com/nodejs/node/commit/b097d85dfe)] - **test**: adjust test-tls-junk-server for OpenSSL32 (Michael Dawson) [#54926](https://github.com/nodejs/node/pull/54926) +- \[[`e9997388a6`](https://github.com/nodejs/node/commit/e9997388a6)] - **test**: adjust tls test for OpenSSL32 (Michael Dawson) [#54909](https://github.com/nodejs/node/pull/54909) +- \[[`c7de027adb`](https://github.com/nodejs/node/commit/c7de027adb)] - **test**: fix test test-tls-dhe for OpenSSL32 (Michael Dawson) [#54903](https://github.com/nodejs/node/pull/54903) +- \[[`68156cbae1`](https://github.com/nodejs/node/commit/68156cbae1)] - **test**: fix test-tls-client-mindhsize for OpenSSL32 (Michael Dawson) [#54739](https://github.com/nodejs/node/pull/54739) +- \[[`d5b73e5683`](https://github.com/nodejs/node/commit/d5b73e5683)] - **test**: increase key size for ca2-cert.pem (Michael Dawson) [#54599](https://github.com/nodejs/node/pull/54599) +- \[[`5316314755`](https://github.com/nodejs/node/commit/5316314755)] - **test**: update TLS test for OpenSSL 3.2 (Richard Lau) [#54612](https://github.com/nodejs/node/pull/54612) +- \[[`a1f0c87859`](https://github.com/nodejs/node/commit/a1f0c87859)] - **test**: fix test-tls-client-auth test for OpenSSL32 (Michael Dawson) [#54610](https://github.com/nodejs/node/pull/54610) +- \[[`e9e3306426`](https://github.com/nodejs/node/commit/e9e3306426)] - **test**: use assert.{s,deepS}trictEqual() (Sonny) [#54208](https://github.com/nodejs/node/pull/54208) +- \[[`1320fb9475`](https://github.com/nodejs/node/commit/1320fb9475)] - **test**: update TLS trace tests for OpenSSL >= 3.2 (Richard Lau) [#53229](https://github.com/nodejs/node/pull/53229) +- \[[`cc3cdf7cc0`](https://github.com/nodejs/node/commit/cc3cdf7cc0)] - **test**: check against run-time OpenSSL version (Richard Lau) [#53456](https://github.com/nodejs/node/pull/53456) +- \[[`fc43c6803e`](https://github.com/nodejs/node/commit/fc43c6803e)] - **test**: update TLS tests for OpenSSL 3.2 (Richard Lau) [#53384](https://github.com/nodejs/node/pull/53384) +- \[[`627d3993f0`](https://github.com/nodejs/node/commit/627d3993f0)] - **test**: fix unreliable assumption in js-native-api/test_cannot_run_js (Joyee Cheung) [#51898](https://github.com/nodejs/node/pull/51898) +- \[[`9f521f456e`](https://github.com/nodejs/node/commit/9f521f456e)] - **test**: update tests for OpenSSL 3.0.14 (Richard Lau) [#53373](https://github.com/nodejs/node/pull/53373) +- \[[`0fb652eba9`](https://github.com/nodejs/node/commit/0fb652eba9)] - **tools**: update gyp-next to v0.16.1 (Michaël Zasso) [#50380](https://github.com/nodejs/node/pull/50380) +- \[[`fa72b2c2de`](https://github.com/nodejs/node/commit/fa72b2c2de)] - **tools**: skip ruff on tools/gyp (Michaël Zasso) [#50380](https://github.com/nodejs/node/pull/50380) + +Windows 32-bit Installer: https://nodejs.org/dist/v18.20.5/node-v18.20.5-x86.msi \ +Windows 64-bit Installer: https://nodejs.org/dist/v18.20.5/node-v18.20.5-x64.msi \ +Windows 32-bit Binary: https://nodejs.org/dist/v18.20.5/win-x86/node.exe \ +Windows 64-bit Binary: https://nodejs.org/dist/v18.20.5/win-x64/node.exe \ +macOS 64-bit Installer: https://nodejs.org/dist/v18.20.5/node-v18.20.5.pkg \ +macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v18.20.5/node-v18.20.5-darwin-arm64.tar.gz \ +macOS Intel 64-bit Binary: https://nodejs.org/dist/v18.20.5/node-v18.20.5-darwin-x64.tar.gz \ +Linux 64-bit Binary: https://nodejs.org/dist/v18.20.5/node-v18.20.5-linux-x64.tar.xz \ +Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v18.20.5/node-v18.20.5-linux-ppc64le.tar.xz \ +Linux s390x 64-bit Binary: https://nodejs.org/dist/v18.20.5/node-v18.20.5-linux-s390x.tar.xz \ +AIX 64-bit Binary: https://nodejs.org/dist/v18.20.5/node-v18.20.5-aix-ppc64.tar.gz \ +ARMv7 32-bit Binary: https://nodejs.org/dist/v18.20.5/node-v18.20.5-linux-armv7l.tar.xz \ +ARMv8 64-bit Binary: https://nodejs.org/dist/v18.20.5/node-v18.20.5-linux-arm64.tar.xz \ +Source Code: https://nodejs.org/dist/v18.20.5/node-v18.20.5.tar.gz \ +Other release files: https://nodejs.org/dist/v18.20.5/ \ +Documentation: https://nodejs.org/docs/v18.20.5/api/ + +### SHASUMS + +``` +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA256 + +b01bc9ce5911152d2bedafb47b7dab868e2102907304162f54ebc93573f27b06 node-v18.20.5-aix-ppc64.tar.gz +bdfeaf59dbf29aec08c0c66130edf0a8a17014b4f2997727641dfd0b58b51f48 node-v18.20.5-darwin-arm64.tar.gz +9410da838c8bffd3e4c6a7b6765ebf6386c5144ff63ef5919af56b5efc2f6e3e node-v18.20.5-darwin-arm64.tar.xz +dff01068da7d3fe7b515f72a3903dca96a34dc377f6f426b6a813901274b6441 node-v18.20.5-darwin-x64.tar.gz +88c457ebad31436e448f7896ee6fd7054468d3eff790f26629710f01f6b28818 node-v18.20.5-darwin-x64.tar.xz +43f88591366ee21f7ef36f157ae101b9a8177c255e124b849e1241f7372793a4 node-v18.20.5-headers.tar.gz +87b8218bcbe6ca9934d91e28bad4cf19db37cac017f8c2be43c0bfcc470c0569 node-v18.20.5-headers.tar.xz +759cfb9f76a1019daf65db9c2e5e43074ee660ec9b9ff3f31dcc4a88cca671e9 node-v18.20.5-linux-arm64.tar.gz +a77db6ab34267f3bc80e02ed68abf51b7065eb5c82fcd69adc4b40e390d9b116 node-v18.20.5-linux-arm64.tar.xz +8d358452e4fcf34b0dcf51a441ec8cf192f8ff83bdd4488708dcab18e8007621 node-v18.20.5-linux-armv7l.tar.gz +8a5c4842ee0a516490e3c5d8b16a554b7ea54aa9cd2e2505276b83d390245915 node-v18.20.5-linux-armv7l.tar.xz +1f916c66f96d9265394e3145bfa92be918abbb45ac9711a441cce99d76618f4a node-v18.20.5-linux-ppc64le.tar.gz +63b4c6801c96fb452e3bd8125e8b5b195ecacc4fa2505e47a128e94587999aeb node-v18.20.5-linux-ppc64le.tar.xz +e9ca8239a1256ff66ecd156bf42e88eaad7a1276c421c1c5fd0d6936dcc59300 node-v18.20.5-linux-s390x.tar.gz +617d7456e16534a4b4e03f5285cc8d13581f39cdad9196efff2516d6588de319 node-v18.20.5-linux-s390x.tar.xz +e7b80346bb586790ac6b29aa25c96716fcdf6039a6929c2ed506cec09cebc3c0 node-v18.20.5-linux-x64.tar.gz +e4a3a21e5ac7e074ed50d2533dd0087d8460647ab567464867141a2b643f3fb3 node-v18.20.5-linux-x64.tar.xz +5f1adee2851f91fc4d6c4363f3e095b0b1ec29334cb2f7397af538784d732461 node-v18.20.5.pkg +938735364745b7d4cd650b9325df6f2d2ec4240c56f9318e38638af910a820c6 node-v18.20.5.tar.gz +76037b9bad0ab9396349282dbfcec1b872ff7bd8c8d698853bebd982940858bf node-v18.20.5.tar.xz +dda01ff5872579af06e81d7fd6a0ef8c7252f4901ebd7acde1ddc4a6c213633f node-v18.20.5-win-x64.7z +910237449895b4de61026568dc076fa6c3ffcd667563ed03112a4a77e1f1556b node-v18.20.5-win-x64.zip +f7c09403342618f7c6a6944b563fe7a64e363dd7d3e4046bd91fd8a5be3a5e55 node-v18.20.5-win-x86.7z +67c51107afe9aab134cb3f9289ea0eb9b7a074fcf210402e7ef5f6e5f91f529f node-v18.20.5-win-x86.zip +4df34632cc0966c014cd9d09761c5acbd6494fb886af1cbabfe16add91446f55 node-v18.20.5-x64.msi +2c0dccf04728ec7969870874a8e3fe9f6d96e87bd84a305b14f3b35cefca3388 node-v18.20.5-x86.msi +e1e41dd1c48e8f64e8273e1203af0f3db8f58327ca07676416c483533eb42fa5 win-x64/node.exe +1583793ddf300cc96dcc9068644eaead2188eda31ee9b6f7a8a07fdef920091d win-x64/node.lib +f0f145762137a0bbbb3267f16a414e7048434575cfbf9679a53b69ff196222b3 win-x64/node_pdb.7z +50d624f5a07bc1d1c2b1fcd0927037ed330850794b0e71bd9fda6b7c0793ac63 win-x64/node_pdb.zip +dfd1d08c8af29ba1c93e2f1774b4ba4e416e53d878574aadf395e9620e3016cb win-x86/node.exe +3442ac0d3ad2c5e840f0f2ae84a1c7abe1736a315d83a161b843c5c31a986f83 win-x86/node.lib +26436e70a9e586e4756de09ad518024b3d391b2c896ea23a7f9c1637151a707f win-x86/node_pdb.7z +bd6b96c7784f25e66cba7358208533ad92127933e6663587063f8d4a8ae157e5 win-x86/node_pdb.zip +-----BEGIN PGP SIGNATURE----- + +iQIzBAEBCAAdFiEEwNYkhDnx1WBKr/tAIdkA/9sjN1YFAmczy1oACgkQIdkA/9sj +N1ZX7Q/8D4QtAw1iajJx/9izpuXsfD/l66ZBG3X3Pks2MSp1vsiz8+2gVqFR270I +0L6fz3e2u4v6N5VWO06AmUSdKXY1A4bfadGP8vpfqFgeG29ExKPXxutUrvnpTAqB +YGgJymHfDEZOhqHmlkiBvXhM4QXjDKNjCRDJQYArrka7ZIhVd/JA5+X6NittFPEK +0efcWyKPPaFcI8DAWBLoylowACsq7FD6WrjQBe2XaTStRje7mTH3eotlE/z9wdto +eTPhDU0o+GpauC54G8Hm/aN2gTdOx98Ii6Sc5nOn3ZYhhDDeM3aZ9JWCd6R0WD0l +n6f+kbyv+0Cyl2tCAwbE7rLAyXUeNhhy8vhQVD/MwnwshBPXaJDuatwGOOV/0UdG +sRWErCv1hoPulWpAB/Kctm1h/++R7+xNhsf/CJy9l8zz2CvQ2mTELXBdfStfoosi +C7R0JgjoEpw0VEUzSpFDj9cq6obpGLgngfwkpb+Oyf/pWQylSQ3c+MjppCcxj9tg +DvActNGIOHMnDZTprZ7Is7GX1css+SZEvUOamDyQnL4h/FvsJ5jaCtC3av7/gh5/ +f256hcda9Cpe9mHJxWLA+UbehwdDEVbN0H41FDejYnJ3QhDRkwt+XdynxrIMwu8V +8Jqrc5zoncO/fPeRazBBJ1y6IsAMx99eMwxIrsY3O2eYu1iprGM= +=Kdg8 +-----END PGP SIGNATURE----- +``` From fa6fbd9a853ff904fa409d6a27ce572f90c5ff9c Mon Sep 17 00:00:00 2001 From: Claudio W Date: Thu, 14 Nov 2024 16:56:08 +0000 Subject: [PATCH 8/8] Revert "chore: Upgrade `next-intl` to 3.24, migrate deprecated APIs" (#7228) --- apps/site/app/[locale]/[[...path]]/page.tsx | 6 +- apps/site/app/[locale]/layout.tsx | 11 +- apps/site/components/__mocks__/next-intl.mjs | 2 +- .../hooks/react-generic/useSiteNavigation.ts | 2 +- apps/site/i18n.tsx | 27 ++--- apps/site/navigation.mjs | 7 +- apps/site/package.json | 2 +- package-lock.json | 105 +++++++++--------- 8 files changed, 72 insertions(+), 90 deletions(-) diff --git a/apps/site/app/[locale]/[[...path]]/page.tsx b/apps/site/app/[locale]/[[...path]]/page.tsx index f847b487c9b7f..14aff4e2d41b4 100644 --- a/apps/site/app/[locale]/[[...path]]/page.tsx +++ b/apps/site/app/[locale]/[[...path]]/page.tsx @@ -1,6 +1,6 @@ import { setContext, setTags } from '@sentry/nextjs'; import { notFound, redirect } from 'next/navigation'; -import { setRequestLocale } from 'next-intl/server'; +import { unstable_setRequestLocale } from 'next-intl/server'; import type { FC } from 'react'; import { setClientContext } from '@/client-context'; @@ -69,7 +69,7 @@ const getPage: FC = async ({ params }) => { if (!availableLocaleCodes.includes(locale)) { // Forces the current locale to be the Default Locale - setRequestLocale(defaultLocale.code); + unstable_setRequestLocale(defaultLocale.code); if (!allLocaleCodes.includes(locale)) { // when the locale is not listed in the locales, return NotFound @@ -82,7 +82,7 @@ const getPage: FC = async ({ params }) => { } // Configures the current Locale to be the given Locale of the Request - setRequestLocale(locale); + unstable_setRequestLocale(locale); // Gets the current full pathname for a given path const pathname = dynamicRouter.getPathname(path); diff --git a/apps/site/app/[locale]/layout.tsx b/apps/site/app/[locale]/layout.tsx index 6ab90c90b3f87..87d0f28dd1801 100644 --- a/apps/site/app/[locale]/layout.tsx +++ b/apps/site/app/[locale]/layout.tsx @@ -1,6 +1,7 @@ import { Analytics } from '@vercel/analytics/react'; import { SpeedInsights } from '@vercel/speed-insights/next'; import classNames from 'classnames'; +import { getLocale } from 'next-intl/server'; import type { FC, PropsWithChildren } from 'react'; import BaseLayout from '@/layouts/Base'; @@ -14,14 +15,8 @@ import '@/styles/index.css'; const fontClasses = classNames(IBM_PLEX_MONO.variable, OPEN_SANS.variable); -const RootLayout: FC< - PropsWithChildren<{ - params: Promise<{ - locale: string; - }>; - }> -> = async ({ children, params }) => { - const { locale } = await params; +const RootLayout: FC = async ({ children }) => { + const locale = await getLocale(); const { langDir, hrefLang } = availableLocalesMap[locale] || defaultLocale; diff --git a/apps/site/components/__mocks__/next-intl.mjs b/apps/site/components/__mocks__/next-intl.mjs index 04af07d5abbac..a84400384381c 100644 --- a/apps/site/components/__mocks__/next-intl.mjs +++ b/apps/site/components/__mocks__/next-intl.mjs @@ -27,7 +27,7 @@ export const useFormatter = () => { export const NextIntlClientProvider = ({ children }) => children; -export const createNavigation = () => ({ +export const createSharedPathnamesNavigation = () => ({ Link: Link, redirect: redirect, usePathname: usePathname, diff --git a/apps/site/hooks/react-generic/useSiteNavigation.ts b/apps/site/hooks/react-generic/useSiteNavigation.ts index 4b11af46f0dd2..83b5403a4a883 100644 --- a/apps/site/hooks/react-generic/useSiteNavigation.ts +++ b/apps/site/hooks/react-generic/useSiteNavigation.ts @@ -39,7 +39,7 @@ const useSiteNavigation = () => { const mapNavigationEntries = (entries: Navigation, context: Context = {}) => { const getFormattedMessage = (label: string, key: string) => - t.rich(label, context[key] || {}) as FormattedMessage; + t.rich(label, context[key] || {}); return Object.entries(entries).map( ([key, { label, link, items, target }]): [ diff --git a/apps/site/i18n.tsx b/apps/site/i18n.tsx index 88cd1cf3e9341..efed3f4d9c6fd 100644 --- a/apps/site/i18n.tsx +++ b/apps/site/i18n.tsx @@ -1,7 +1,7 @@ import { importLocale } from '@node-core/website-i18n'; import { getRequestConfig } from 'next-intl/server'; -import { availableLocaleCodes, defaultLocale } from '@/next.locales.mjs'; +import { availableLocaleCodes } from '@/next.locales.mjs'; import deepMerge from './util/deepMerge'; @@ -13,7 +13,7 @@ const loadLocaleDictionary = async (locale: string) => { '@node-core/website-i18n/locales/en.json' ).then(f => f.default); - if (locale === defaultLocale.code) { + if (locale === 'en') { return defaultMessages; } @@ -30,20 +30,9 @@ const loadLocaleDictionary = async (locale: string) => { }; // Provides `next-intl` configuration for RSC/SSR -export default getRequestConfig(async ({ requestLocale }) => { - // This typically corresponds to the `[locale]` segment - let locale = await requestLocale; - - // Ensure that the incoming locale is valid - if (!locale || !availableLocaleCodes.includes(locale)) { - locale = defaultLocale.code; - } - - return { - locale, - // This is the dictionary of messages to be loaded - messages: await loadLocaleDictionary(locale), - // We always define the App timezone as UTC - timeZone: 'Etc/UTC', - }; -}); +export default getRequestConfig(async ({ locale }) => ({ + // This is the dictionary of messages to be loaded + messages: await loadLocaleDictionary(locale), + // We always define the App timezone as UTC + timeZone: 'Etc/UTC', +})); diff --git a/apps/site/navigation.mjs b/apps/site/navigation.mjs index b551ea2bcc390..edff2d9a0c197 100644 --- a/apps/site/navigation.mjs +++ b/apps/site/navigation.mjs @@ -1,9 +1,8 @@ 'use strict'; -import { createNavigation } from 'next-intl/navigation'; +import { createSharedPathnamesNavigation } from 'next-intl/navigation'; import { availableLocaleCodes } from './next.locales.mjs'; -export const { Link, redirect, usePathname, useRouter } = createNavigation({ - locales: availableLocaleCodes, -}); +export const { Link, redirect, usePathname, useRouter } = + createSharedPathnamesNavigation({ locales: availableLocaleCodes }); diff --git a/apps/site/package.json b/apps/site/package.json index 5d59740ae6221..06ddf031da8df 100644 --- a/apps/site/package.json +++ b/apps/site/package.json @@ -68,7 +68,7 @@ "glob": "~11.0.0", "gray-matter": "~4.0.3", "next": "~14.2.14", - "next-intl": "~3.24.0", + "next-intl": "~3.21.1", "next-themes": "~0.3.0", "postcss": "~8.4.47", "postcss-calc": "~10.0.2", diff --git a/package-lock.json b/package-lock.json index 22977e34ec1fd..b79be4f9d634b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -66,7 +66,7 @@ "glob": "~11.0.0", "gray-matter": "~4.0.3", "next": "~14.2.14", - "next-intl": "~3.24.0", + "next-intl": "~3.21.1", "next-themes": "~0.3.0", "postcss": "~8.4.47", "postcss-calc": "~10.0.2", @@ -3031,48 +3031,53 @@ "license": "MIT" }, "node_modules/@formatjs/ecma402-abstract": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.2.3.tgz", - "integrity": "sha512-aElGmleuReGnk2wtYOzYFmNWYoiWWmf1pPPCYg0oiIQSJj0mjc4eUfzUXaSOJ4S8WzI/cLqnCTWjqz904FT2OQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.2.0.tgz", + "integrity": "sha512-IpM+ev1E4QLtstniOE29W1rqH9eTdx5hQdNL8pzrflMj/gogfaoONZqL83LUeQScHAvyMbpqP5C9MzNf+fFwhQ==", + "license": "MIT", "dependencies": { - "@formatjs/fast-memoize": "2.2.3", - "@formatjs/intl-localematcher": "0.5.7", - "tslib": "2" + "@formatjs/fast-memoize": "2.2.1", + "@formatjs/intl-localematcher": "0.5.5", + "tslib": "^2.7.0" } }, "node_modules/@formatjs/fast-memoize": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.3.tgz", - "integrity": "sha512-3jeJ+HyOfu8osl3GNSL4vVHUuWFXR03Iz9jjgI7RwjG6ysu/Ymdr0JRCPHfF5yGbTE6JCrd63EpvX1/WybYRbA==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.1.tgz", + "integrity": "sha512-XS2RcOSyWxmUB7BUjj3mlPH0exsUzlf6QfhhijgI941WaJhVxXQ6mEWkdUFIdnKi3TuTYxRdelsgv3mjieIGIA==", + "license": "MIT", "dependencies": { - "tslib": "2" + "tslib": "^2.7.0" } }, "node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.9.3.tgz", - "integrity": "sha512-9L99QsH14XjOCIp4TmbT8wxuffJxGK8uLNO1zNhLtcZaVXvv626N0s4A2qgRCKG3dfYWx9psvGlFmvyVBa6u/w==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.8.0.tgz", + "integrity": "sha512-r2un3fmF9oJv3mOkH+wwQZ037VpqmdfahbcCZ9Lh+p6Sx+sNsonI7Zcr6jNMm1s+Si7ejQORS4Ezlh05mMPAXA==", + "license": "MIT", "dependencies": { - "@formatjs/ecma402-abstract": "2.2.3", - "@formatjs/icu-skeleton-parser": "1.8.7", - "tslib": "2" + "@formatjs/ecma402-abstract": "2.2.0", + "@formatjs/icu-skeleton-parser": "1.8.4", + "tslib": "^2.7.0" } }, "node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.8.7", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.7.tgz", - "integrity": "sha512-fI+6SmS2g7h3srfAKSWa5dwreU5zNEfon2uFo99OToiLF6yxGE+WikvFSbsvMAYkscucvVmTYNlWlaDPp0n5HA==", + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.4.tgz", + "integrity": "sha512-LMQ1+Wk1QSzU4zpd5aSu7+w5oeYhupRwZnMQckLPRYhSjf2/8JWQ882BauY9NyHxs5igpuQIXZDgfkaH3PoATg==", + "license": "MIT", "dependencies": { - "@formatjs/ecma402-abstract": "2.2.3", - "tslib": "2" + "@formatjs/ecma402-abstract": "2.2.0", + "tslib": "^2.7.0" } }, "node_modules/@formatjs/intl-localematcher": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.7.tgz", - "integrity": "sha512-GGFtfHGQVFe/niOZp24Kal5b2i36eE2bNL0xi9Sg/yd0TR8aLjcteApZdHmismP5QQax1cMnZM9yWySUUjJteA==", + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.5.tgz", + "integrity": "sha512-t5tOGMgZ/i5+ALl2/offNqAQq/lfUnKLEw0mXQI4N4bqpedhrSE+fyKLpwnd22sK0dif6AV+ufQcTsKShB9J1g==", + "license": "MIT", "dependencies": { - "tslib": "2" + "tslib": "^2.7.0" } }, "node_modules/@heroicons/react": { @@ -16160,14 +16165,15 @@ } }, "node_modules/intl-messageformat": { - "version": "10.7.5", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.7.5.tgz", - "integrity": "sha512-CflbRvJiahVmnfxq/lO+DCM1/8ji4vC4rTnz6ZJEKKodViB+EWgY9M4EqXVRQ+3K0Ng5qwSyqybPP+KSfS4KZw==", + "version": "10.7.1", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.7.1.tgz", + "integrity": "sha512-xQuJW2WcyzNJZWUu5xTVPOmNSA1Sowuu/NKFdUid5Fxx/Yl6/s4DefTU/y7zy+irZLDmFGmTLtnM8FqpN05wlA==", + "license": "BSD-3-Clause", "dependencies": { - "@formatjs/ecma402-abstract": "2.2.3", - "@formatjs/fast-memoize": "2.2.3", - "@formatjs/icu-messageformat-parser": "2.9.3", - "tslib": "2" + "@formatjs/ecma402-abstract": "2.2.0", + "@formatjs/fast-memoize": "2.2.1", + "@formatjs/icu-messageformat-parser": "2.8.0", + "tslib": "^2.7.0" } }, "node_modules/invariant": { @@ -21619,7 +21625,6 @@ "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.6" @@ -21682,31 +21687,24 @@ } }, "node_modules/next-intl": { - "version": "3.24.0", - "resolved": "https://registry.npmjs.org/next-intl/-/next-intl-3.24.0.tgz", - "integrity": "sha512-48X68QsI92grir2dH1W15yhyVnEjW4c9qmwNt+du+k6mI1QtlE6GyANWHoL4/leTixHv8knZ1y9B/Ys06gmKLg==", + "version": "3.21.1", + "resolved": "https://registry.npmjs.org/next-intl/-/next-intl-3.21.1.tgz", + "integrity": "sha512-hQm4Wgq5i1lfOHAWmXBVl5d2/XAeddcjsrUmjotXEESzPSvW5j2t0Pr8AV8WorTILgqU748aXuenBhz5P78tdw==", "funding": [ { "type": "individual", "url": "https://github.com/sponsors/amannn" } ], + "license": "MIT", "dependencies": { "@formatjs/intl-localematcher": "^0.5.4", - "negotiator": "^1.0.0", - "use-intl": "^3.24.0" + "negotiator": "^0.6.3", + "use-intl": "^3.21.1" }, "peerDependencies": { - "next": "^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0" - } - }, - "node_modules/next-intl/node_modules/negotiator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", - "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", - "engines": { - "node": ">= 0.6" + "next": "^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, "node_modules/next-themes": { @@ -28928,15 +28926,16 @@ } }, "node_modules/use-intl": { - "version": "3.24.0", - "resolved": "https://registry.npmjs.org/use-intl/-/use-intl-3.24.0.tgz", - "integrity": "sha512-lmrARod7yjMYehbyY9xBLjjgnlNcJsl1UAltAPlgspRG7RH6H0JYaGo4C3PZW/BTy0Dgmcvcl8rH/VemzGIhgQ==", + "version": "3.22.0", + "resolved": "https://registry.npmjs.org/use-intl/-/use-intl-3.22.0.tgz", + "integrity": "sha512-SoiPcyLJODhenrbDkcYJuOImgrBFN7Z8keLSHe7ffsNkIJtjdjet/RmqAv5Ym9TVxPpCs+fH2cl1J3YzFJSkWw==", + "license": "MIT", "dependencies": { "@formatjs/fast-memoize": "^2.2.0", "intl-messageformat": "^10.5.14" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0" + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, "node_modules/use-sidecar": {