From fd4b69fa364b6c9caa0129c6c2b5932b6c0cb396 Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Wed, 24 Jun 2026 22:57:45 +0000 Subject: [PATCH 1/5] feat: Add TuxCare partner - Created a new directory for TuxCare logos. - Imported Favicon and Logo components from TuxCare directory. - Updated the main PartnerLogos index to include TuxCare. --- apps/site/pages/en/about/eol.mdx | 4 +- .../public/static/partners/constants.json | 7 + .../ui-components/src/Icons/Logos/Nodejs.tsx | 6 +- .../Icons/PartnerLogos/TuxCare/Favicon.tsx | 67 +++++++++ .../src/Icons/PartnerLogos/TuxCare/Logo.tsx | 135 ++++++++++++++++++ .../src/Icons/PartnerLogos/TuxCare/index.ts | 4 + .../src/Icons/PartnerLogos/index.ts | 2 + 7 files changed, 221 insertions(+), 4 deletions(-) create mode 100644 packages/ui-components/src/Icons/PartnerLogos/TuxCare/Favicon.tsx create mode 100644 packages/ui-components/src/Icons/PartnerLogos/TuxCare/Logo.tsx create mode 100644 packages/ui-components/src/Icons/PartnerLogos/TuxCare/index.ts diff --git a/apps/site/pages/en/about/eol.mdx b/apps/site/pages/en/about/eol.mdx index 7860f6ecd360c..2b43b63f0eb71 100644 --- a/apps/site/pages/en/about/eol.mdx +++ b/apps/site/pages/en/about/eol.mdx @@ -37,8 +37,10 @@ When a version reaches End-Of-Life, it means that it will no longer receive upda ## Commercial Support -Despite the obvious downsides of using EOL releases, in practice, organizations face constraints that prevent immediate upgrades, such as legacy codebases, compliance requirements, or complex dependency chains. Through the [OpenJS Foundation Ecosystem Sustainability Program](https://openjsf.org/blog/ecosystem-sustainability-program), Node.js is supported by HeroDevs and NodeSource to provide commercial services for security fixes. +Despite the obvious downsides of using EOL releases, in practice, organizations face constraints that prevent immediate upgrades, such as legacy codebases, compliance requirements, or complex dependency chains. Through the [OpenJS Foundation Ecosystem Sustainability Program](https://openjsf.org/blog/ecosystem-sustainability-program), Node.js is supported by HeroDevs, NodeSource and TuxCare to provide commercial services for security fixes. HeroDevs provides [Never-Ending Support (NES)](https://nodejs.org/esp/herodevs) for Node.js versions past their official maintenance phase. This includes security patches, compliance assistance, and technical support to help bridge the gap while you plan your upgrade strategy. +TuxCare’s Endless Lifecycle Support (ELS) gives you continued security patching for end-of-life Node.js versions, including 12, 14, 16, 18, and 20. Security fixes are backported from upstream, tested for integrity and regression, signed, SLA-backed, and delivered through your existing package managers. + Using EOL releases through commercial support should be viewed as a temporary solution—the goal should always be to upgrade to actively supported versions. diff --git a/apps/site/public/static/partners/constants.json b/apps/site/public/static/partners/constants.json index 9aaf25866ca86..acfd2c214b989 100644 --- a/apps/site/public/static/partners/constants.json +++ b/apps/site/public/static/partners/constants.json @@ -48,6 +48,13 @@ "weight": 3, "categories": ["security", "esp", "release"] }, + { + "id": "TUXCARE", + "name": "TuxCare", + "href": "https://tuxcare.com", + "weight": 2, + "categories": ["esp"] + }, { "id": "CODEMOD", "name": "Codemod", diff --git a/packages/ui-components/src/Icons/Logos/Nodejs.tsx b/packages/ui-components/src/Icons/Logos/Nodejs.tsx index aaa225687413a..78610b60680e9 100644 --- a/packages/ui-components/src/Icons/Logos/Nodejs.tsx +++ b/packages/ui-components/src/Icons/Logos/Nodejs.tsx @@ -57,7 +57,7 @@ const NodejsIcon: FC = ({ /> {variant === 'pride' && ( - + @@ -144,8 +144,8 @@ const NodejsIcon: FC = ({ dx="0" dy="0" stdDeviation="2" - flood-color="#000000" - flood-opacity="0.5" + floodColor="#000000" + floodOpacity="0.5" /> )} diff --git a/packages/ui-components/src/Icons/PartnerLogos/TuxCare/Favicon.tsx b/packages/ui-components/src/Icons/PartnerLogos/TuxCare/Favicon.tsx new file mode 100644 index 0000000000000..51937f6b82d7c --- /dev/null +++ b/packages/ui-components/src/Icons/PartnerLogos/TuxCare/Favicon.tsx @@ -0,0 +1,67 @@ +import classNames from 'classnames'; + +import type { FC, SVGProps } from 'react'; + +const TuxCare: FC> = props => ( + + + + + + + + + + + + +); + +export default TuxCare; diff --git a/packages/ui-components/src/Icons/PartnerLogos/TuxCare/Logo.tsx b/packages/ui-components/src/Icons/PartnerLogos/TuxCare/Logo.tsx new file mode 100644 index 0000000000000..2e9428f85bd35 --- /dev/null +++ b/packages/ui-components/src/Icons/PartnerLogos/TuxCare/Logo.tsx @@ -0,0 +1,135 @@ +import classNames from 'classnames'; + +import type { FC, SVGProps } from 'react'; + +const TuxCare: FC> = props => ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +); + +export default TuxCare; diff --git a/packages/ui-components/src/Icons/PartnerLogos/TuxCare/index.ts b/packages/ui-components/src/Icons/PartnerLogos/TuxCare/index.ts new file mode 100644 index 0000000000000..b4cd37328b21d --- /dev/null +++ b/packages/ui-components/src/Icons/PartnerLogos/TuxCare/index.ts @@ -0,0 +1,4 @@ +import Favicon from './Favicon'; +import Logo from './Logo'; + +export { Favicon, Logo }; diff --git a/packages/ui-components/src/Icons/PartnerLogos/index.ts b/packages/ui-components/src/Icons/PartnerLogos/index.ts index fd9ba073acc27..fbaa036580c5a 100644 --- a/packages/ui-components/src/Icons/PartnerLogos/index.ts +++ b/packages/ui-components/src/Icons/PartnerLogos/index.ts @@ -14,6 +14,7 @@ import * as OPENSSF from './OpenSSF'; import * as RACKSPACE from './Rackspace'; import * as SCALEWAY from './Scaleway'; import * as SENTRY from './Sentry'; +import * as TUXCARE from './TuxCare'; import * as VERCEL from './Vercel'; import * as VLT from './Vlt'; @@ -34,6 +35,7 @@ export { RACKSPACE, SCALEWAY, SENTRY, + TUXCARE, VERCEL, VLT, }; From f5121ba498b85d86deda678b776de72cb71b7e4b Mon Sep 17 00:00:00 2001 From: Sebastian Beltran Date: Wed, 24 Jun 2026 18:12:49 -0500 Subject: [PATCH 2/5] Update apps/site/pages/en/about/eol.mdx Co-authored-by: Jordan Harband Signed-off-by: Sebastian Beltran --- apps/site/pages/en/about/eol.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/site/pages/en/about/eol.mdx b/apps/site/pages/en/about/eol.mdx index 2b43b63f0eb71..f771286a75f92 100644 --- a/apps/site/pages/en/about/eol.mdx +++ b/apps/site/pages/en/about/eol.mdx @@ -37,7 +37,7 @@ When a version reaches End-Of-Life, it means that it will no longer receive upda ## Commercial Support -Despite the obvious downsides of using EOL releases, in practice, organizations face constraints that prevent immediate upgrades, such as legacy codebases, compliance requirements, or complex dependency chains. Through the [OpenJS Foundation Ecosystem Sustainability Program](https://openjsf.org/blog/ecosystem-sustainability-program), Node.js is supported by HeroDevs, NodeSource and TuxCare to provide commercial services for security fixes. +Despite the obvious downsides of using EOL releases, in practice, organizations face constraints that prevent immediate upgrades, such as legacy codebases, compliance requirements, or complex dependency chains. Through the [OpenJS Foundation Ecosystem Sustainability Program](https://openjsf.org/blog/ecosystem-sustainability-program), Node.js is supported by HeroDevs, NodeSource, and TuxCare to provide commercial services for security fixes. HeroDevs provides [Never-Ending Support (NES)](https://nodejs.org/esp/herodevs) for Node.js versions past their official maintenance phase. This includes security patches, compliance assistance, and technical support to help bridge the gap while you plan your upgrade strategy. From 21b94282281a589cc5ff6b1de81b52b7ed6c570c Mon Sep 17 00:00:00 2001 From: Brian Muenzenmeyer Date: Thu, 25 Jun 2026 09:21:29 -0500 Subject: [PATCH 3/5] remove specific Node.js versions per feedback from Kylie --- apps/site/pages/en/about/eol.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/site/pages/en/about/eol.mdx b/apps/site/pages/en/about/eol.mdx index f771286a75f92..2452163632238 100644 --- a/apps/site/pages/en/about/eol.mdx +++ b/apps/site/pages/en/about/eol.mdx @@ -41,6 +41,6 @@ Despite the obvious downsides of using EOL releases, in practice, organizations HeroDevs provides [Never-Ending Support (NES)](https://nodejs.org/esp/herodevs) for Node.js versions past their official maintenance phase. This includes security patches, compliance assistance, and technical support to help bridge the gap while you plan your upgrade strategy. -TuxCare’s Endless Lifecycle Support (ELS) gives you continued security patching for end-of-life Node.js versions, including 12, 14, 16, 18, and 20. Security fixes are backported from upstream, tested for integrity and regression, signed, SLA-backed, and delivered through your existing package managers. +TuxCare’s Endless Lifecycle Support (ELS) gives you continued security patching for end-of-life Node.js versions. Security fixes are backported from upstream, tested for integrity and regression, signed, SLA-backed, and delivered through your existing package managers. Using EOL releases through commercial support should be viewed as a temporary solution—the goal should always be to upgrade to actively supported versions. From c853a38350a8f46a5fe6445213a7b13b4fa09eb7 Mon Sep 17 00:00:00 2001 From: Brian Muenzenmeyer Date: Thu, 25 Jun 2026 10:57:53 -0500 Subject: [PATCH 4/5] improve visual weight of tuxcare logo --- .../ui-components/src/Icons/PartnerLogos/TuxCare/Logo.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/ui-components/src/Icons/PartnerLogos/TuxCare/Logo.tsx b/packages/ui-components/src/Icons/PartnerLogos/TuxCare/Logo.tsx index 2e9428f85bd35..aa34a125e70a5 100644 --- a/packages/ui-components/src/Icons/PartnerLogos/TuxCare/Logo.tsx +++ b/packages/ui-components/src/Icons/PartnerLogos/TuxCare/Logo.tsx @@ -9,7 +9,10 @@ const TuxCare: FC> = props => ( height="1080" viewBox="0 0 1920 1080" {...props} - className={classNames('text-[#231f20] dark:text-white', props.className)} + className={classNames( + 'h-[80px]! text-[#231f20] dark:text-white', + props.className + )} > Date: Thu, 25 Jun 2026 11:37:18 -0500 Subject: [PATCH 5/5] Update apps/site/pages/en/about/eol.mdx Co-authored-by: Sebastian Beltran Signed-off-by: Brian Muenzenmeyer --- apps/site/pages/en/about/eol.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/site/pages/en/about/eol.mdx b/apps/site/pages/en/about/eol.mdx index 2452163632238..f3295187f2d0c 100644 --- a/apps/site/pages/en/about/eol.mdx +++ b/apps/site/pages/en/about/eol.mdx @@ -41,6 +41,6 @@ Despite the obvious downsides of using EOL releases, in practice, organizations HeroDevs provides [Never-Ending Support (NES)](https://nodejs.org/esp/herodevs) for Node.js versions past their official maintenance phase. This includes security patches, compliance assistance, and technical support to help bridge the gap while you plan your upgrade strategy. -TuxCare’s Endless Lifecycle Support (ELS) gives you continued security patching for end-of-life Node.js versions. Security fixes are backported from upstream, tested for integrity and regression, signed, SLA-backed, and delivered through your existing package managers. +TuxCare’s [Endless Lifecycle Support (ELS)](https://tuxcare.com/endless-lifecycle-support/) gives you continued security patching for end-of-life Node.js versions. Security fixes are backported from upstream, tested for integrity and regression, signed, SLA-backed, and delivered through your existing package managers. Using EOL releases through commercial support should be viewed as a temporary solution—the goal should always be to upgrade to actively supported versions.