Skip to content

[pull] main from TryGhost:main#1038

Merged
pull[bot] merged 4 commits into
code:mainfrom
TryGhost:main
Apr 8, 2026
Merged

[pull] main from TryGhost:main#1038
pull[bot] merged 4 commits into
code:mainfrom
TryGhost:main

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented Apr 8, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

troyciesco and others added 4 commits April 7, 2026 15:21
closes
https://linear.app/ghost/issue/NY-1164/add-ability-to-edit-sender-info-using-existing-verification-flow

## Summary

Adds the ability for admins to customize sender name, email, and
reply-to address for welcome emails, shared across both free and paid
welcome email types.

## Changes

### Backend
- New `PUT /automated_emails/senders/` endpoint to update `sender_name`,
`sender_email`, and `sender_reply_to` across all welcome emails in a
single call
- New `PUT /automated_emails/verifications/` endpoint to verify pending
email changes via single-use token (magic link)
- `MemberWelcomeEmailService` now uses per-automated-email sender
overrides when sending, falling back to newsletter/default settings
- Email verification flow for `sender_reply_to` changes (uses existing
`SingleUseTokenProvider`)
- Test sends now also respect per-email sender overrides

### Frontend
- New `useEditAutomatedEmailSenders` and `useVerifyAutomatedEmailSender`
API hooks
- `EmailPreview` component updated to show From/Reply-to in envelope
header, with optional recipient/subject line visibility props
- Member emails settings page handles `verifyEmail` query param on load,
shows confirmation modal after successful verification

### Tests
- E2E API tests for shared sender editing and token-based verification
- Integration tests confirming sender overrides are applied when sending
real and test welcome emails

---------

Co-authored-by: Chris Raible <chris@ghost.org>
no issue

- the `yarn.lock` file had become out of sync, causing it to update when running `yarn install`
- this contains the up-to-date lockfile
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [human-number](https://redirect.github.com/Kikobeats/human-number) |
[`2.0.8` →
`2.0.9`](https://renovatebot.com/diffs/npm/human-number/2.0.8/2.0.9) |
![age](https://developer.mend.io/api/mc/badges/age/npm/human-number/2.0.9?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/human-number/2.0.8/2.0.9?slim=true)
|

---

### Release Notes

<details>
<summary>Kikobeats/human-number (human-number)</summary>

###
[`v2.0.9`](https://redirect.github.com/Kikobeats/human-number/blob/HEAD/CHANGELOG.md#209-2026-04-03)

[Compare
Source](https://redirect.github.com/Kikobeats/human-number/compare/v2.0.8...v2.0.9)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - Only on Sunday and Saturday ( * * * * 0,6 ), Between 12:00
AM and 12:59 PM, only on Monday ( * 0-12 * * 1 ), Between 10:00 PM and
11:59 PM, Monday through Friday ( * 22-23 * * 1-5 ), Between 12:00 AM
and 04:59 AM, Tuesday through Saturday ( * 0-4 * * 2-6 ) in timezone
Etc/UTC.

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/TryGhost/Ghost).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ1cGRhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…es (#27185)

towards https://linear.app/ghost/issue/NY-1188
ref #27183
ref #27184

Previous patches added new dormant tables and models. This change
actually uses them.

More specifically, this does a database migration to move
`automated_emails` to `welcome_email_automations` and
`welcome_email_automated_emails`. Then, it updates all relevant code to
use those new tables.

The old model is deleted, but the tables are not. (That's forthcoming.)
@pull pull Bot locked and limited conversation to collaborators Apr 8, 2026
@pull pull Bot added the ⤵️ pull label Apr 8, 2026
@pull pull Bot merged commit a597db6 into code:main Apr 8, 2026
6 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants