Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1107 commits
Select commit Hold shift + click to select a range
e7c00c4
refactor(editor): add useEvent hook and module-augment EditorEventMap…
joaopcm Apr 2, 2026
f6e9dc4
feat(editor): initial inspector API, only supports Document inspectin…
joaopcm Apr 2, 2026
2cc7641
feat(editor): defaults for theme basic and minimal (#3176)
gabrielmfern Apr 2, 2026
b0f1245
feat(editor): add inspector utilities and config (#3170)
joaopcm Apr 2, 2026
be636d9
feat: delete empty section on backspace (#3180)
gabrielmfern Apr 6, 2026
1092e7c
feat: menu position docs (#3179)
zehfernandes Apr 6, 2026
3f3517b
feat(editor): add inspector hooks (#3183)
joaopcm Apr 6, 2026
ad29084
chore(editor): bump (#3184)
gabrielmfern Apr 6, 2026
83b1dbb
feat(editor): add inspector UI primitives (#3185)
joaopcm Apr 6, 2026
e6a2157
feat(editor): add inspector picker components (#3186)
joaopcm Apr 6, 2026
4ba85eb
feat(editor): add Inspector.Node and Inspector.Text (#3187)
joaopcm Apr 6, 2026
eeef615
chore(docs): grammar nits (#3178)
christina-de-martinez Apr 7, 2026
c7ec654
feat(editor): add pre-built inspector section components (#3188)
joaopcm Apr 7, 2026
edd0b4f
feat(editor): add Inspector.Document defaults and EmailTheming valida…
joaopcm Apr 7, 2026
9a52bf4
feat(editor): add default rendering for Inspector.Breadcrumb (#3196)
joaopcm Apr 7, 2026
285da36
feat(editor): add inspector examples for defaults, composed, and cust…
joaopcm Apr 7, 2026
b49dd2d
feat: add docs links to examples and examples links to docs (#3182)
gabrielmfern Apr 7, 2026
d532d79
feat(editor): api that allows better focus handling (#3191)
gabrielmfern Apr 7, 2026
c5c9dbe
refactor(editor): standardize icon naming and shared IconProps (#3197)
joaopcm Apr 7, 2026
1cf21da
feat(editor): add UndoRedo to StarterKit configuration (#3195)
gabrielmfern Apr 7, 2026
291aea4
chore(root): version packages (#3117)
github-actions[bot] Apr 7, 2026
88be917
feat(editor): proper README (#3200)
gabrielmfern Apr 7, 2026
8983dc7
chore(editor): add proper description (#3199)
gabrielmfern Apr 7, 2026
46cfeb7
feat(editor): sort marks in composeReactEmail like ProseMirror (#3203)
gabrielmfern Apr 8, 2026
aa7374b
chore(editor): bump (#3204)
gabrielmfern Apr 8, 2026
17f1818
chore(editor): simplify dependencies (#3205)
gabrielmfern Apr 9, 2026
d1defa0
fix(editor): layout breadcrumb focusing first node (#3206)
gabrielmfern Apr 9, 2026
7f0edc3
feat(docs): inspector (#3208)
gabrielmfern Apr 9, 2026
e48be5a
fix(deps): update dependency mintlify to v4.2.502 (#3157)
renovate[bot] Apr 9, 2026
61bdf1a
fix(docs): left-align navbar tabs in production (#3207)
gabrielmfern Apr 9, 2026
30d4006
chore(docs): address Danilo's feedback (#3210)
gabrielmfern Apr 9, 2026
2195540
chore(deps): bump vite from 7.3.1 to 7.3.2 (#3192)
dependabot[bot] Apr 9, 2026
36646fc
chore(ci): move everything to github runners (#3224)
gabrielmfern Apr 9, 2026
fceaf7a
fix(docs): tabs alignment (actually) (#3212)
gabrielmfern Apr 9, 2026
8625ecb
fix(editor): is document visually empty with inline marks (#3223)
gabrielmfern Apr 9, 2026
5d44c49
chore: standardize editor example titles and docs cards (#3211)
gabrielmfern Apr 9, 2026
ff0591d
chore(editor): remove useEditor from core and unlist docs page (#3225)
gabrielmfern Apr 9, 2026
606c6ac
feat(editor): render Bubble Menu Default when there's no children (#3…
gabrielmfern Apr 10, 2026
ed6bba8
fix(preview-server): enrich Zod failure message for email module expo…
gabrielmfern Apr 10, 2026
a3a15ea
fix(preview-server): replace deprecated url.parse() (#3227)
gabrielmfern Apr 10, 2026
ace7e14
feat: skill react email improvements (#3229)
felipefreitag Apr 10, 2026
53c4183
fix(editor): zero body padding removing default padding from email cl…
gabrielmfern Apr 10, 2026
b4a91a6
fix(editor): preserve list styles in minimal theme (#3246)
joaopcm Apr 10, 2026
d0a7a52
feat(react-email): unify all components into react-email (breaking ch…
gabrielmfern Apr 13, 2026
80ddfdb
fix(editor): inline CSS parsing preserves URL values with colons (#3214)
bukinoshita Apr 13, 2026
4530eba
feat(web): integrate editor examples into react.email website (#3202)
joaopcm Apr 13, 2026
f5793de
chore: enter canary, ignore adjustments (#3249)
gabrielmfern Apr 13, 2026
2da5fc6
chore(editor): update examples links to react.email/editor/examples (…
joaopcm Apr 13, 2026
5d85d7b
chore(editor): add docs links to editor examples page (#3254)
joaopcm Apr 13, 2026
d9de837
feat(skill): update imports from @react-email/components to react-ema…
felipefreitag Apr 13, 2026
08c2865
feat(editor): add EmailEditor + Inspector docs and example (#3255)
joaopcm Apr 13, 2026
980dae4
fix: remove editor-examples from changeset pre.json (#3256)
joaopcm Apr 13, 2026
a541da3
feat(ci): use depot (#3258)
gabrielmfern Apr 13, 2026
860544f
chore(ci): token specific to bump action (#3259)
gabrielmfern Apr 13, 2026
162ea78
chore(ci): revert token specific to bump action (#3260)
gabrielmfern Apr 13, 2026
b23f0d7
chore(skill): add ClawHub openclaw metadata (#3250)
felipefreitag Apr 13, 2026
13a753f
chore(docs): revert documentation changes (#3261)
gabrielmfern Apr 13, 2026
accf65d
chore(deps): update dependency next to v16.2.3 [security] (#3230)
renovate[bot] Apr 13, 2026
77ddf2d
chore(docs): add 6.0 documentation back in again (#3262)
gabrielmfern Apr 13, 2026
53282f1
fix(editor): preserve button href through HTML round-trip (#3217)
bukinoshita Apr 13, 2026
a67c0e4
chore(root): version packages (canary) (#3257)
github-actions[bot] Apr 14, 2026
c30a08c
chore(docs): install editor as canary not experimental (#3267)
gabrielmfern Apr 14, 2026
29a2cd9
fix: drop line-height from default inbox email styles (#3266)
danilowoz Apr 14, 2026
bc9a6ce
fix: grammar fixes and clarity around Inspector (#3265)
christina-de-martinez Apr 14, 2026
c9af812
chore(ci): use the right size for depot runners (#3272)
gabrielmfern Apr 14, 2026
c95a1e5
feat(editor): add useEditorImage plugin for image uploads (#3263)
joaopcm Apr 14, 2026
7fc539d
fix(render): reorder `node` above `convex` in exports map (#3276)
sethconvex Apr 14, 2026
ed25acd
chore: ignore tsconfig package in changesets (#3280)
gabrielmfern Apr 15, 2026
66a2668
fix(docs): outdated codebase overview (#3281)
gabrielmfern Apr 15, 2026
012630c
chore(docs): backfill the changelog (#3275)
gabrielmfern Apr 15, 2026
3ea987b
fix: avoid injecting css with undefined value (#3283)
danilowoz Apr 15, 2026
274647c
fix: add placeholder style and polish buble menu (#3279)
danilowoz Apr 15, 2026
9ef4a07
chore: rename "One-Line Editor" to "Standalone Editor" (#3285)
danilowoz Apr 15, 2026
71005d6
chore: don't ignore tsconfig in changesets (#3287)
gabrielmfern Apr 15, 2026
3ca799d
feat: rename preview-server -> ui (#3290)
gabrielmfern Apr 15, 2026
5bd0d43
feat(ui): copy toolbar insights to ai button (#3264)
zehfernandes Apr 15, 2026
80d6ba8
fix(react-email): export silently delete (#3282)
bukinoshita Apr 15, 2026
d277b2c
fix: avoid layout shift on the public page (#3288)
danilowoz Apr 15, 2026
ee40d28
feat(editor): add image upload example and docs (#3284)
joaopcm Apr 15, 2026
f3f988b
refactor(editor): collapse SlashCommand.Root, unexport CommandList (#…
joaopcm Apr 15, 2026
a80fa9e
feat: add canary tip banner to Editor examples page (#3292)
gabrielmfern Apr 15, 2026
783f16f
feat(editor): skip EditorFocusScopeProvider when one already exists h…
gabrielmfern Apr 15, 2026
fb1cefd
fix: resolve biome warnings that can't be auto-fixed (#3289)
gabrielmfern Apr 15, 2026
c5a0bcf
fix(web): build (#3296)
gabrielmfern Apr 15, 2026
055c8bb
chore(docs): use same UI for docs links as we use for tabs in top bar…
gabrielmfern Apr 15, 2026
8316dad
feat(docs): editor focus scope API docs (#3270)
gabrielmfern Apr 15, 2026
93d9401
feat(docs): document container and trailing node (#3268)
gabrielmfern Apr 15, 2026
9e9ee49
feat: added skin, tech, barebones, dither and collage email templates…
isabelsa Apr 15, 2026
18323bd
feat(editor): support array of node types in TrailingNode `appendTo` …
gabrielmfern Apr 15, 2026
48daf18
chore(root): version packages (canary) (#3271)
github-actions[bot] Apr 15, 2026
4313652
chore(editor): update TrailingNode docs to reflect array support for …
gabrielmfern Apr 15, 2026
07fb6f0
fix(editor): root color picker autoclosing on click (#3299)
gabrielmfern Apr 15, 2026
abb7e8d
feat(editor): add getEmailHTML/getEmailText, rename onChange to onUpd…
joaopcm Apr 15, 2026
7870e69
feat: polish templates (#3303)
zehfernandes Apr 16, 2026
77aaf76
chore(docs): update updating guide (#3308)
gabrielmfern Apr 16, 2026
91ca688
fix: remove margin from send button and fix typos (#3306)
danilowoz Apr 16, 2026
ab9064f
fix: polish matte templates (#3307)
danilowoz Apr 16, 2026
e91433a
feat: editor on the landing page (#3305)
danilowoz Apr 16, 2026
766cc41
chore(editor): remove placeholder from StarterKit, keep it in EmailEd…
gabrielmfern Apr 16, 2026
8616d4e
feat: add illustrations for editor examples (#3277)
luxonauta Apr 16, 2026
7d587f3
feat(editor): pass editor container to EmailEditor onReady (#3309)
gabrielmfern Apr 16, 2026
ca6a71d
fix(editor): render Table as native `<table>` instead of Section to f…
bukinoshita Apr 16, 2026
744094c
chore(root): group renovate security updates (#3312)
gabrielmfern Apr 16, 2026
ba75aa1
chore(root): version packages (canary) (#3300)
github-actions[bot] Apr 16, 2026
c171de2
fix(deps): update react monorepo (#3150)
renovate[bot] Apr 16, 2026
7f74f61
chore(deps): update dependency @vitejs/plugin-react to v5.2.0 (#3158)
renovate[bot] Apr 16, 2026
9a647db
chore(deps): update dependency css-tree to v3.2.1 (#3160)
renovate[bot] Apr 16, 2026
116ea39
chore(deps): update dependency @types/node to v22.19.17 (#3314)
renovate[bot] Apr 16, 2026
124435c
chore(deps): update dependency @biomejs/biome to v2.4.11 (#3222)
renovate[bot] Apr 16, 2026
3599c14
chore(deps): update dependency postcss to v8.5.10 (#3315)
renovate[bot] Apr 16, 2026
a8363df
chore(deps): update dependency esbuild to v0.27.5 (#3156)
renovate[bot] Apr 16, 2026
6256b45
chore(deps): update dependency @lottiefiles/dotlottie-react to v0.18.…
renovate[bot] Apr 16, 2026
af487ff
chore(deps): update dependency prettier to v3.8.3 (#3318)
renovate[bot] Apr 16, 2026
3adb7cc
chore(deps): update dependency @biomejs/biome to v2.4.12 (#3317)
renovate[bot] Apr 16, 2026
cfc1907
fix: turbo's playground caching (#3313)
gabrielmfern Apr 16, 2026
c9cfb15
refactor(editor): root inspector layer as body FocusedNode (#3294)
joaopcm Apr 16, 2026
0b21a78
feat(web): add source code to editor examples page (#3310)
joaopcm Apr 16, 2026
4f64c8b
chore: update overrides, ensure mintlify-related ones are scoped (#3320)
gabrielmfern Apr 16, 2026
73ae830
feat(editor): allow theme customization via ThemeConfig API (#3301)
joaopcm Apr 16, 2026
88a47e9
chore(editor): add custom theme examples and documentation (#3302)
joaopcm Apr 16, 2026
289290b
feat(editor): polish inspector (#3321)
danilowoz Apr 16, 2026
e7f5ce9
chore(editor): manually bump to 1.0 (#3328)
gabrielmfern Apr 16, 2026
5812084
fix: keep "Editor" highlighted in topbar on editor subpages (#3325)
joaopcm Apr 16, 2026
8b4387d
chore: exit canary (#3330)
gabrielmfern Apr 16, 2026
34e8fd7
feat: update homepage copy (#3331)
zenorocha Apr 16, 2026
d3e5469
fix(editor): numeric styles getting reset after blur (#3334)
gabrielmfern Apr 16, 2026
12f4620
chore(root): version packages (#3322)
github-actions[bot] Apr 16, 2026
bd14364
chore(create-email): update, skip test (#3336)
gabrielmfern Apr 16, 2026
50f1048
chore(deps): update dependency happy-dom to v20.9.0 (#3335)
renovate[bot] Apr 16, 2026
a8fca81
chore(ci): move back to github actions (#3339)
gabrielmfern Apr 16, 2026
7ba33d3
feat: figma link and editor page (#3340)
zehfernandes Apr 16, 2026
a74cbe7
chore(root): version packages (#3337)
github-actions[bot] Apr 16, 2026
cb6d791
feat: stabler release script (#3342)
gabrielmfern Apr 16, 2026
7d1596e
chore(docs): update changelog with new 6.0 (#3344)
gabrielmfern Apr 16, 2026
61dc904
chore(docs): update editor install scripts (#3346)
gabrielmfern Apr 16, 2026
b5621c4
chore(ci): bring depot back (#3345)
gabrielmfern Apr 16, 2026
580329f
feat: add more editor examples illustrations (#3319)
luxonauta Apr 17, 2026
8e4226a
fix: introduce paragraph to theme (#3349)
danilowoz Apr 17, 2026
26b37f7
fix: polishing examples container (#3350)
danilowoz Apr 17, 2026
33c7d05
feat(docs): api reference for EmailEditor, and show it in getting sta…
gabrielmfern Apr 17, 2026
8166383
chore(docs): updating extensions list (#3353)
gabrielmfern Apr 17, 2026
75cfde0
chore(docs): update icon for Editor tab (#3355)
gabrielmfern Apr 17, 2026
07bf7ad
chore(docs): image upload api reference, some other updates (#3354)
gabrielmfern Apr 17, 2026
aa6d864
fix: extra spacing on the homepage (#3357)
danilowoz Apr 17, 2026
ab29ec4
refactor(web): move /editor/examples to /editor (#3361)
joaopcm Apr 17, 2026
48aa0eb
chore(docs): fix icon, merge provider and focus scope pages (#3356)
gabrielmfern Apr 17, 2026
2b772a4
chore(root): version packages (#3351)
github-actions[bot] Apr 17, 2026
ea5ed72
feat(web): make editor Send interactive with test email dialog (#3358)
gabrielmfern Apr 17, 2026
4155ec9
fix(editor): clip slash command scrollbar to rounded corners (#3362)
joaopcm Apr 17, 2026
82c5310
chore(root): version packages (#3363)
github-actions[bot] Apr 17, 2026
971342c
feat(readme): refreshed README (#3364)
gabrielmfern Apr 17, 2026
b1377cd
chore(docs): update codebase overview (#3365)
gabrielmfern Apr 17, 2026
77ebd66
chore(docs): also update authors in docs (#3366)
gabrielmfern Apr 17, 2026
061d915
chore(deps): update dependency esbuild to v0.28.0 (#3327)
renovate[bot] Apr 17, 2026
16e4d63
fix(deps): update dependency mintlify to v4.2.518 (#3323)
renovate[bot] Apr 17, 2026
afa5c56
chore(deps): update dependency framer-motion to v12.38.0 (#3333)
renovate[bot] Apr 17, 2026
ab35f7d
chore(deps): update dependency next-safe-action to v8.5.2 (#3338)
renovate[bot] Apr 17, 2026
9788fa3
fix(deps): update dependency mintlify to v4.2.520 (#3368)
renovate[bot] Apr 17, 2026
f5b1338
fix(editor): complete image bubble menu edit-link flow (#3371)
joaopcm Apr 17, 2026
1ec1ab9
feat(docs): document image bubble menu form and unlink (#3372)
joaopcm Apr 17, 2026
16b9407
chore(deps): group routine Renovate update PRs (#3370)
gabrielmfern Apr 17, 2026
1be5684
fix: revert "fix(editor): preserve button href through HTML round-tri…
joaopcm Apr 17, 2026
441d0cc
chore(root): version packages (#3373)
github-actions[bot] Apr 17, 2026
bbf6e89
chore(deps): update dependency zod to v4.3.6 (#3375)
renovate[bot] Apr 17, 2026
2f269c7
fix(docs): add missing `Community/` prefix to demo preview URLs (#3380)
joaopcm Apr 17, 2026
53d3d47
fix(react-email): mistaken changelog (#3381)
gabrielmfern Apr 17, 2026
74ffe2c
chore(deps): update pnpm to v10.33.0 (#3383)
renovate[bot] Apr 17, 2026
5d07911
feat(docs): allow light theme (#3384)
gabrielmfern Apr 17, 2026
0304104
chore(deps): update tooling updates (#3385)
renovate[bot] Apr 17, 2026
c9af267
chore(deps): update dev dependency updates (#3377)
renovate[bot] Apr 17, 2026
a18f07f
fix(deps): update dependency mintlify to v4.2.521 (#3382)
renovate[bot] Apr 17, 2026
c8243d6
feat: agent discovery (#3387)
felipefreitag Apr 17, 2026
57b8b7a
fix(react-email): e2e tests not running (#3391)
gabrielmfern Apr 17, 2026
f990bb2
fix: remaining references to @react-email/components (#3392)
gabrielmfern Apr 17, 2026
b36dc3d
chore(ci): use a github app's token to create bump pull request (#3388)
gabrielmfern Apr 17, 2026
5141175
fix(web): editor text color when the browser's in light mode (#3405)
gabrielmfern Apr 19, 2026
2377e89
fix(editor): emit theme link styles in renderHTML (#3418)
joaopcm Apr 24, 2026
d064012
chore(root): version packages (#3419)
resend-version-bump[bot] Apr 24, 2026
a292361
chore: update year in README from 2025 to 2026 (#3425)
R44VC0RP Apr 27, 2026
599b8c5
fix: missing `types` in tsconfig, and type errors in starter template…
Tokonigeorge Apr 27, 2026
ad69b8f
chore(root): version packages (#3427)
resend-version-bump[bot] Apr 27, 2026
14b7680
chore(deps): update dependency @changesets/cli to v2.31.0 (#3394)
renovate[bot] Apr 27, 2026
e95b864
chore(deps): bump postcss from 8.4.31 to 8.5.10 (#3420)
dependabot[bot] Apr 27, 2026
a850081
fix(docs): description for Updating React Email page (#3396)
laurendorman Apr 27, 2026
55a6dbc
chore(deps): update dependency nypm to v0.6.6 (#3428)
renovate[bot] Apr 27, 2026
bb98565
chore(docs): fix small typo in readme.md (#3408)
dielduarte Apr 27, 2026
6b24228
fix(ui): avoid ChatGPT 431 for long Copy for AI prompts (#3404)
ompathak2004 Apr 27, 2026
9d0bcb6
chore: update to pnpm v11 (#3434)
gabrielmfern Apr 28, 2026
f2a8a42
fix(editor): reliability for focus scope handling (#3431)
gabrielmfern Apr 28, 2026
63b6e71
fix(markdown): crash on loose lists with paragraph continuation (#343…
actuallyzefe Apr 28, 2026
4b12104
chore(ci): only set `react-email` as the latest (#3435)
gabrielmfern Apr 28, 2026
32e4d0b
chore(root): version packages (#3429)
resend-version-bump[bot] Apr 28, 2026
bb51e5e
fix(react-email): missing react peer dependencies (#3439)
gabrielmfern Apr 28, 2026
ec50c6d
chore(root): version packages (#3436)
resend-version-bump[bot] Apr 28, 2026
4f109bc
fix(editor): silence browser test warnings (#3437)
gabrielmfern Apr 28, 2026
f7ac2be
chore(ci): release flow tweaks (#3440)
gabrielmfern Apr 28, 2026
5cf57ae
chore(react-email): unpin esbuild (#3441)
gabrielmfern Apr 28, 2026
96af3a7
feat(react-email): replace ora with picospinner (#3442)
gabrielmfern Apr 28, 2026
ad0f2fe
fix(examples): catalog use (#3444)
gabrielmfern Apr 28, 2026
e0e896f
fix(render): remove nul bytes when using React 18 (#3406)
rockingskier Apr 28, 2026
9ba3de9
feat: mailgun docs integration and example (#3027)
djbriane Apr 28, 2026
7b8df09
fix(editor): clear global CSS style on empty input (#3448)
joaopcm Apr 28, 2026
961d1d2
chore(root): version packages (#3445)
resend-version-bump[bot] Apr 28, 2026
ccdf1f5
chore: run `pnpm audit --fix override` (#3449)
gabrielmfern Apr 28, 2026
26849a1
feat(editor): celspacing attribute for columns (#3430)
gabrielmfern Apr 28, 2026
3898590
chore(root): version packages (#3450)
resend-version-bump[bot] Apr 28, 2026
61df218
fix(ui): path aliases breaking ui build publishing (#3451)
gabrielmfern Apr 28, 2026
d03a14f
chore(root): version packages (#3452)
resend-version-bump[bot] Apr 28, 2026
523bf15
chore(docs): reorder email export sections (#3453)
gabrielmfern Apr 29, 2026
dbd400d
fix(editor): bubble menu closing when clicking node selector (#3456)
gabrielmfern Apr 30, 2026
164f56d
chore(root): version packages (#3457)
resend-version-bump[bot] Apr 30, 2026
bbc9293
feat(editor): drive node defaults from email theme reset (#3459)
gabrielmfern Apr 30, 2026
84bb7ab
fix(tailwind): collapse empty-fallback var() refs in inline styles (#…
mvanhorn Apr 30, 2026
96691f5
chore(root): version packages (#3461)
resend-version-bump[bot] Apr 30, 2026
87a2486
fix(tailwind): downlevel CSS for email client compatibility (#3086)
Ouranos27 May 4, 2026
17dd905
fix: changeset (#3464)
gabrielmfern May 4, 2026
f254785
chore(root): version packages (#3465)
resend-version-bump[bot] May 4, 2026
65525e0
fix(tailwind): parse non inline configuration variables (#3466)
dielduarte May 4, 2026
9f5b738
chore(root): version packages (#3467)
resend-version-bump[bot] May 4, 2026
47eeece
fix(react-email): tighten error when <head> is missing inside <Tailwi…
mvanhorn May 6, 2026
8f3970d
fix(docs): remove stray + chars in inbound integration frontmatter (#…
ibrahim123-sia May 6, 2026
72c0c1b
chore(root): add MailerSend to integrations list in readme (#3468)
ibrahim123-sia May 6, 2026
d5c89d0
chore(web): update snapshot (#3475)
gabrielmfern May 6, 2026
561462e
fix(ci): bump workflow closing existing PRs (#3476)
gabrielmfern May 6, 2026
dee7254
fix(ui): detect hsl()/hsla() as Outlook-incompatible CSS (#3401)
sjhddh May 6, 2026
07d5288
chore(root): version packages (#3477)
resend-version-bump[bot] May 6, 2026
3c62bd0
fix(react-email): dividers with extra borders around it (#3478)
gabrielmfern May 6, 2026
db5a156
chore(root): version packages (#3479)
resend-version-bump[bot] May 6, 2026
9e4a577
fix(editor): hr border width (#3481)
gabrielmfern May 7, 2026
74cabb3
chore(root): version packages (#3482)
resend-version-bump[bot] May 7, 2026
8cabf52
fix(ui): fs warnings on every fs import (#3484)
gabrielmfern May 8, 2026
479c274
chore(root): version packages (#3485)
resend-version-bump[bot] May 8, 2026
6b163d2
chore: update next.js (#3491)
gabrielmfern May 12, 2026
62417f5
chore: add changeset (#3492)
gabrielmfern May 12, 2026
95d286f
chore(root): version packages (#3493)
resend-version-bump[bot] May 12, 2026
6671a74
feat(render): e2e test for vite and nextjs (#2176)
gabrielmfern May 12, 2026
ab94fbe
chore: remove dangling changeset (#3495)
gabrielmfern May 12, 2026
1718669
feat(column): support column deletion (#3488)
dielduarte May 12, 2026
7ae89d3
chore: remove @types/prettier (#3496)
gabrielmfern May 12, 2026
991c10b
chore(root): version packages (#3494)
resend-version-bump[bot] May 12, 2026
ad6a9de
fix(cli): dependency installation not including dev dependencies (#3499)
gabrielmfern May 13, 2026
1c386ce
fix: spinner rendering for non tty environments (#3503)
gabrielmfern May 13, 2026
ff8dd56
fix(web): hide bubble menu when divider is selected in full-email-bui…
dielduarte May 13, 2026
5c6c805
fix: block typing over the divider block (#3502)
dielduarte May 13, 2026
33ce8ab
chore(root): version packages (#3500)
resend-version-bump[bot] May 13, 2026
1608ec1
chore: add in-app rate limiting for send test email endpoint (#3501)
felipefreitag May 13, 2026
80905f6
chore(ci): harden security (#3505)
gabrielmfern May 13, 2026
962f753
fix: hide rich text bubble menu options when inline code is active (#…
dielduarte May 13, 2026
42d24e3
chore(root): version packages (#3509)
resend-version-bump[bot] May 13, 2026
ac26414
chore: add sync-prs-to-linear action (#3508)
dielduarte May 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
15 changes: 8 additions & 7 deletions .changeset/config.json
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
{
"$schema": "https://unpkg.com/@changesets/config@3.0.0/schema.json",
"changelog": "@changesets/cli/changelog",
"commit": false,
"fixed": [["react-email-starter", "create-email"]],
"linked": [],
"access": "public",
"baseBranch": "main",
"updateInternalDependencies": "patch",
"changelog": "@changesets/cli/changelog",
"commit": false,
"fixed": [["react-email", "@react-email/ui"]],
"ignore": [
"@benchmarks/preview-server",
"@benchmarks/ui",
"@benchmarks/tailwind-component",
"playground",
"demo",
"email-dev",
"web"
]
],
"updateInternalDependencies": "patch"
}
File renamed without changes.
67 changes: 37 additions & 30 deletions .github/ISSUE_TEMPLATE/1.bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ name: Bug Report
description: Create a bug report for React Email
labels: ["Type: Bug"]
body:
- type: input
attributes:
label: What versions are you using? (if relevant)
value: "@react-email/components@x.y.z, react-email@x.y.z, etc."
- type: textarea
attributes:
label: Describe the Bug
Expand All @@ -10,45 +14,47 @@ body:
required: true
- type: dropdown
attributes:
label: Which package is affected (leave empty if unsure)
label: What is affected (leave empty if unsure)
multiple: true
options:
- "@react-email/body"
- "@react-email/button"
- "@react-email/column"
- "@react-email/components"
- "@react-email/container"
- "@react-email/font"
- "@react-email/head"
- "@react-email/heading"
- "@react-email/hr"
- "@react-email/html"
- "@react-email/img"
- "@react-email/link"
- "@react-email/preview"
- "@react-email/render"
- "@react-email/row"
- "@react-email/section"
- "@react-email/tailwind"
- "@react-email/text"
- "client"
- "create-email"
- "demo"
- "docs"
- "examples"
- "react-email"
- "web"
- type: input
- "Preview Server"
- "CLI"
- "Html Component"
- "Body Component"
- "Head Component"
- "Button Component"
- "Container Component"
- "CodeBlock Component"
- "CodeInline Component"
- "Column Component"
- "Row Component"
- "Font Component"
- "Heading Component"
- "Hr Component"
- "Img Component"
- "Link Component"
- "Markdown Component"
- "Preview Component"
- "Section Component"
- "Tailwind Component"
- "Text Component"
- "Render Utility"
- "@react-email/components package"
- "npx create-email"
- "Demo"
- "Website"
- "Examples"
- type: textarea
attributes:
label: Link to the code that reproduces this issue
description: |
A link to a GitHub repository minimal reproduction. A minimal reproduction code is really helpful to understand the issue.
value: |
A link to a GitHub repository minimal reproduction. Not your entire project, just the code necessary to reproduce the issue. Try going from the starter `npx create-email@latest` and adding only what's needed to cause the issue. If you don't share a reproduction, we might close the issue or it will take significantly longer for things to get sorted out.
validations:
required: true
- type: textarea
attributes:
label: To Reproduce
description: Steps to reproduce the behavior, please provide a clear description of how to reproduce the issue, based on the linked minimal reproduction. Screenshots can be provided in the issue body below. If using code blocks, make sure that [syntax highlighting is correct](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks#syntax-highlighting) and double check that the rendered preview is not broken.
value: Steps to reproduce the behavior, please provide a clear description of how to reproduce the issue, based on the linked minimal reproduction. Screenshots can be provided in the issue body below. If using code blocks, make sure that [syntax highlighting is correct](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks#syntax-highlighting) and double check that the rendered preview is not broken.
validations:
required: true
- type: textarea
Expand All @@ -67,3 +73,4 @@ body:
attributes:
label: What's your node version? (if relevant)
description: "Please specify the exact version."

52 changes: 0 additions & 52 deletions .github/workflows/bump-canary.yml

This file was deleted.

52 changes: 0 additions & 52 deletions .github/workflows/bump-stable.yml

This file was deleted.

47 changes: 47 additions & 0 deletions .github/workflows/bump.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Bump
on:
push:
branches:
- canary
concurrency: ${{ github.workflow }}-${{ github.ref }}
jobs:
bump:
timeout-minutes: 30
runs-on: depot-ubuntu-22.04-2
permissions:
contents: write
pull-requests: write
container:
image: node:24
steps:
- name: Generate GitHub App token
id: app-token
uses: actions/create-github-app-token@fee1f7d63c2ff003460e3d139729b119787bc349
with:
app-id: ${{ secrets.BOT_APP_ID }}
private-key: ${{ secrets.BOT_APP_PRIVATE_KEY }}
permission-contents: write
permission-pull-requests: write
- name: Checkout Repo
uses: actions/checkout@0c366fd6a839edf440554fa01a7085ccba70ac98
with:
fetch-depth: 1
token: ${{ steps.app-token.outputs.token }}
- run: git config --global --add safe.directory $GITHUB_WORKSPACE
- name: pnpm setup
uses: pnpm/action-setup@738f428026a1f5a72398de22aeed83d859c4a660
- name: Install packages
run: pnpm install --frozen-lockfile --prefer-offline
- name: Configure version bump git user
run: |
git config user.name "resend-version-bump[bot]"
git config user.email "277115511+resend-version-bump[bot]@users.noreply.github.com"
- name: Create "version packages" pull request
uses: changesets/action@6a0a831ff30acef54f2c6aa1cbbc1096b066edaf
with:
version: pnpm run version
title: "chore(root): version packages"
commitMode: git-cli
setupGitUser: false
env:
GITHUB_TOKEN: ${{ steps.app-token.outputs.token }}
52 changes: 52 additions & 0 deletions .github/workflows/e2e.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: E2E Tests
on:
push:
branches:
- main
- canary
pull_request:
permissions:
contents: read
pull-requests: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
e2e:
# Org secrets in step env: push + same-repo PRs only; fork PRs evaluate to empty (explicit for review).
timeout-minutes: 45
runs-on: depot-ubuntu-22.04-8
container:
image: mcr.microsoft.com/playwright:v1.59.1-noble
steps:
- name: Checkout Repo
uses: actions/checkout@0c366fd6a839edf440554fa01a7085ccba70ac98
with:
fetch-depth: 1
- run: git config --global --add safe.directory $GITHUB_WORKSPACE
- name: Setup Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e
with:
node-version: 24
- name: pnpm setup
uses: pnpm/action-setup@738f428026a1f5a72398de22aeed83d859c4a660
- name: Install packages
run: pnpm install --frozen-lockfile --prefer-offline
- name: Install Playwright browsers
run: pnpm exec playwright install chromium --with-deps
- name: Run Build
run: pnpm build
env:
REDIS_URL: redis://localhost:6379
SPAM_ASSASSIN_HOST: ${{ (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) && secrets.SPAM_ASSASSIN_HOST || '' }}
SPAM_ASSASSIN_PORT: ${{ (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) && secrets.SPAM_ASSASSIN_PORT || '' }}
TURBO_TOKEN: ${{ (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) && secrets.TURBO_TOKEN || '' }}
TURBO_TEAM: ${{ (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) && secrets.TURBO_TEAM || '' }}
- name: Run Tailwind integration tests
run: pnpm turbo test:e2e
env:
REDIS_URL: redis://localhost:6379
SPAM_ASSASSIN_HOST: ${{ (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) && secrets.SPAM_ASSASSIN_HOST || '' }}
SPAM_ASSASSIN_PORT: ${{ (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) && secrets.SPAM_ASSASSIN_PORT || '' }}
TURBO_TOKEN: ${{ (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) && secrets.TURBO_TOKEN || '' }}
TURBO_TEAM: ${{ (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) && secrets.TURBO_TEAM || '' }}
32 changes: 32 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Lint
on:
push:
branches:
- main
- canary
pull_request:
permissions:
contents: read
pull-requests: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
lint:
timeout-minutes: 20
runs-on: depot-ubuntu-22.04-2
container:
image: node:24-slim
steps:
- name: Checkout Repo
uses: actions/checkout@0c366fd6a839edf440554fa01a7085ccba70ac98
with:
fetch-depth: 1
- name: pnpm setup
uses: pnpm/action-setup@738f428026a1f5a72398de22aeed83d859c4a660
- name: Install packages
run: pnpm install --frozen-lockfile --prefer-offline
- name: Run Lint
run: pnpm lint
env:
SKIP_ENV_VALIDATION: true
30 changes: 30 additions & 0 deletions .github/workflows/pin-dependencies-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Pin Dependencies Check
on:
push:
branches:
- main
- canary
pull_request:
permissions:
contents: read
pull-requests: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
pin-dependencies-check:
timeout-minutes: 15
runs-on: depot-ubuntu-22.04-2
container:
image: node:24-slim
steps:
- name: Checkout Repo
uses: actions/checkout@0c366fd6a839edf440554fa01a7085ccba70ac98
with:
fetch-depth: 1
- name: pnpm setup
uses: pnpm/action-setup@738f428026a1f5a72398de22aeed83d859c4a660
- name: Install root dependencies only
run: pnpm install --frozen-lockfile --filter . --ignore-scripts
- name: Check for pinned dependencies
run: pnpm exec tsx ./scripts/check-dependency-versions.ts
Loading