From 07114163003aa3b2e906e8e097a13b63960e4fc3 Mon Sep 17 00:00:00 2001 From: vjrj Date: Thu, 16 Jul 2026 12:29:10 +0200 Subject: [PATCH] meteor3: nodemailer 4 -> 6.10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Drop-in for our usage: email.js only does createTransport(MAIL_URL) and reads transport.options.auth.user (production-only from() branch) — both verified identical in v6 (createTransport from a URL still populates options.auth.user). Actual sending goes through ostrio:mailer (MailTime 2.5), v6-compatible. Mail server inits clean ('I'm the mail server'); REST smoke byte-identical (12/12). --- UPGRADE.md | 2 +- package-lock.json | 9 +++++---- package.json | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/UPGRADE.md b/UPGRADE.md index 9c1a244..7789fe9 100644 --- a/UPGRADE.md +++ b/UPGRADE.md @@ -305,7 +305,7 @@ MONGO_CONTAINER=tcef-mongo7 MONGO_SHELL=mongosh MONGO_PORT=27019 ./smoke/smoke.s | Server async/await | Fibers | `*Async` APIs | ✅ done — REST, publications, methods, startup and migrations all on `*Async`. | | bcrypt | 1.0.3 (broken binding) | 5.x | ✅ done — 1.0.3 didn't load on Node 22 (accounts-password silently fell back to pure JS) and wouldn't compile in the Docker build; 5.1.1 ships Node-22 prebuilds. | | raven / flowkey:raven | 2.4 | @sentry/node + @sentry/browser 8.x | ✅ done — `flowkey:raven` (Sentry legacy SDK, dead on 3.x, spammed the boot log with 502s against the dead sentry.comunes.org) replaced by the modern SDKs behind the same `ravenLogger.log()` facade (6 call sites unchanged). Backend: **GlitchTip** self-hosted on `aaron` (Sentry-compatible DSN/API; Sentry proper needs 16 GB RAM, didn't fit), deployed via the Comunes ansible (`glitchtip.yml`, org "comunes" / project "tcef-web"), fronted at `https://sentry.comunes.org` (nginx on `assange` → `aaron:8000`). DSN set in `settings-development.json`; end-to-end verified (a test exception sent from the dev server showed up in GlitchTip within seconds). | -| nodemailer | 4 | 6+ | pending | +| nodemailer | 4 | 6.10 | ✅ done — drop-in for our usage: `email.js` only calls `nodemailer.createTransport(MAIL_URL)` and reads `transport.options.auth.user` (in the production-only `from()` branch); both verified unchanged in v6. Sending goes through `ostrio:mailer` (MailTime 2.5), which is v6-compatible. | | Babel | 7 beta | 7 stable | ✅ done (escala 1) | | i18next | 10 | current | debt — pin; not on the critical path | | Leaflet | 1.3.1 | current | debt — pin; not on the critical path | diff --git a/package-lock.json b/package-lock.json index 5489430..040cd0a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -51,7 +51,7 @@ "moment-timezone": "^0.5.14", "node-geocoder": "^3.21.1", "node-gyp": "^3.7.0", - "nodemailer": "^4.4.2", + "nodemailer": "^6.10.1", "npm": "^5.8.0", "pm2-master": "^1.1.3", "popper.js": "^1.12.7", @@ -13406,9 +13406,10 @@ } }, "node_modules/nodemailer": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-4.4.2.tgz", - "integrity": "sha512-sstDxbCSPHDXrWRQhH++khr3yVU0CGvH2dCtAHOPQQ0lRR7xwq2txItEXckMpX481B/cN+0akER2bfExh7Gu/Q==", + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.10.1.tgz", + "integrity": "sha512-Z+iLaBGVaSjbIzQ4pX6XV41HrooLsQ10ZWPUehGmuantvzWoDVBnmsdUcOIDM1t+yPor5pDhVlDESgOMEGxhHA==", + "license": "MIT-0", "engines": { "node": ">=6.0.0" } diff --git a/package.json b/package.json index cd4f252..ad89ca8 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "moment-timezone": "^0.5.14", "node-geocoder": "^3.21.1", "node-gyp": "^3.7.0", - "nodemailer": "^4.4.2", + "nodemailer": "^6.10.1", "npm": "^5.8.0", "pm2-master": "^1.1.3", "popper.js": "^1.12.7",