resend/react-email
💌 Build and send emails using React
30 Releases
Latest: today
react-email@6.6.4Latest
📋 Patch Changes
- f8279be: Fix Tailwind pill utilities like `rounded-t-full` and `rounded-e-full` leaving an unrenderable `calc(infinity * 1px)` in the inlined email CSS (previously only `rounded-full` was converted to `9999px`).
@react-email/ui@6.6.4
@react-email/editor@1.5.8
📋 Patch Changes
- Updated dependencies \[f8279be]
- react-email@6.6.4
react-email@6.6.3
react-email@6.6.2
📋 Patch Changes
- 437c414: Fix Tailwind opacity modifiers (e.g. `bg-blue-600/50`) rendering an invalid percentage alpha that breaks in some email clients.
react-email@6.6.1
📋 Patch Changes
- 21bac49: Fix `Markdown` corrupting double quotes in `markdownCustomStyles`. Inline style values containing a `"` (e.g. `fontFamily: '"Times New Roman", serif'`) were escaped to the apostrophe entity `'` instead of `"`, silently rewriting the quoted value. Double quotes are now escaped as `"`.
- Updated dependencies \[60a5b09]
- @react-email/render@2.0.9
@react-email/ui@6.6.3
📋 Patch Changes
- 5ad1d79: Update the existing Resend template on upload instead of always creating a new one. The "Upload to Resend" and "Bulk Upload" actions now look the template up by name and update it in place when exactly one matches, so re-uploading no longer produces duplicates (`welcome`, `welcome (1)`, ...).
@react-email/ui@6.6.2
@react-email/ui@6.6.1
📋 Patch Changes
- 1dd2bff: Fix line and column calculation for CRLF line endings in the email validation diagnostics. A `\r\n` was being counted as two line breaks, so line and column numbers reported for templates authored with Windows line endings were off.
@react-email/render@2.0.9
📋 Patch Changes
- 60a5b09: Add npm support metadata for the package homepage and issue tracker.
@react-email/editor@1.5.7
📋 Patch Changes
- react-email@6.6.3
@react-email/editor@1.5.6
📋 Patch Changes
- Updated dependencies \[437c414]
- react-email@6.6.2
@react-email/editor@1.5.5
📋 Patch Changes
- d6956c8: Fix the Strikethrough button in the typography inspector throwing "There is no mark type named 'line-through'". The `FORMAT_ITEMS` entry now uses the tiptap mark name `strike` instead of the CSS `text-decoration` value `line-through`.
- Updated dependencies \[21bac49]
- react-email@6.6.1
react-email@6.6.0
📋 Minor Changes
- 16ff94c: add a useTitleTag in Preview component so users can disable it if they want to
@react-email/ui@6.6.0
@react-email/editor@1.5.4
📋 Patch Changes
- Updated dependencies \[16ff94c]
- react-email@6.6.0
react-email@6.5.0
📋 Minor Changes
- 3875d2a: add a `--clients` option to `email dev` and a `COMPATIBILITY_EMAIL_CLIENTS` environment variable to narrow which email clients trigger compatibility warnings. By default the preview still warns for `gmail`, `apple-mail`, `outlook`, and `yahoo`. Teams that only target one or two clients can now skip the noise: `email dev --clients outlook,apple-mail`. The CLI flag wins over the env var; an empty or fully-invalid list falls back to the defaults so warnings can't be silently switched off. Builds on #2797 by @ReemX.
📋 Patch Changes
- d47825a: Add accessibility defaults to components: `dir`/`lang` on `Body`, an empty `alt` fallback on `Img`, `role="presentation"` on the `Markdown` table, and a `<title>` from `Preview`.
@react-email/ui@6.5.0
📋 Minor Changes
- 3875d2a: add a `--clients` option to `email dev` and a `COMPATIBILITY_EMAIL_CLIENTS` environment variable to narrow which email clients trigger compatibility warnings. By default the preview still warns for `gmail`, `apple-mail`, `outlook`, and `yahoo`. Teams that only target one or two clients can now skip the noise: `email dev --clients outlook,apple-mail`. The CLI flag wins over the env var; an empty or fully-invalid list falls back to the defaults so warnings can't be silently switched off. Builds on #2797 by @ReemX.
@react-email/editor@1.5.3
📋 Patch Changes
- Updated dependencies \[d47825a]
- Updated dependencies \[3875d2a]
- react-email@6.5.0
@react-email/editor@1.5.2
📋 Patch Changes
- 0963d30: scrub `javascript:`, `vbscript:`, and non-image `data:` URLs from pasted HTML and drop `script`, `iframe`, `object`, `embed`, `meta`, and `base` elements. This pass now runs on every paste; previously, content carrying the editor's `node-*` class marker took a fast-path that skipped sanitization entirely and could be spoofed by hosting attacker HTML with the same class name. Legitimate intra-editor copy/paste still round-trips `class`, `style`, and `data-*` attributes as before.
react-email@6.4.0
📋 Minor Changes
- ba99365: resolve and strip unresolved `--tw-*` CSS variables in non-inlinable rules so Tailwind media query utilities no longer break Gmail
@react-email/ui@6.4.0
@react-email/editor@1.5.1
📋 Patch Changes
- Updated dependencies \[ba99365]
- react-email@6.4.0
@react-email/editor@1.5.0
📋 Minor Changes
- 3353e03: expose the unformatted (non-prettified) HTML from `composeReactEmail` as a new `unformattedHtml` field on the result. The existing `html` field is unchanged and still Prettier-formatted. Consumers that persist or send the email should prefer `unformattedHtml`, since `pretty()` indentation can inflate the byte size by 5–10× on deeply-nested table layouts (e.g. exports from Stripo or Mailchimp) and pushes the output past Gmail's 102 KB clipping threshold.
react-email@6.3.3
@react-email/ui@6.3.3
📋 Patch Changes
- 86745ec: reject paths that resolve outside the configured emails directory in `renderEmailByPath` and `getEmailPathFromSlug` to close a path-traversal vector in the preview server
@react-email/editor@1.4.8
📋 Patch Changes
- f355fba: prevent prototype pollution in the email-theming plugin by building `cssJS` and merged theme objects from `Object.create(null)` so attacker-controlled `__proto__`, `constructor`, or `prototype` keys in panel-style input become regular own properties instead of mutating `Object.prototype`
- react-email@6.3.3
react-email@6.3.2
📋 Patch Changes
- fbda5c8: increase whitespace padding to 200 characters for better Gmail preview text rendering
react-email@6.3.1
📋 Patch Changes
- c610dc0: fix: padding in Container/Section failing on Klaviyo and Outlook desktop
@react-email/ui@6.3.2
