Repository navigation
v0.24.0
MillionSend v0.24.0 shows operators which teams are behind the console's hard-bounce and complaint numbers, and keeps every list row on one line (#197). Bounces and complaints that SES reports for mail it never attempted no longer count against a team, which matches SES's own rates. Several phone layouts are fixed. There are no database migrations and no new settings.
Console
- The teams behind the chart (#197). The Hard bounces and Complaints dialogs on the Overview list the teams behind the chart, for the dialog's period.
- Each row shows the team, its plan, when it was created, its status, the count, its sends, the rate and the latest day.
- The rows add up to the card.
- A team that sent nothing in the period shows its rate as "—": its feedback is about mail sent earlier.
- Seven rows show at first; "Show all" lists the rest.
- A row opens the team's Trust & safety page.
- The teams behind each point (#197). Hovering the chart lists the teams behind that day, or that hour on 24h, with their counts.
- Counted by arrival (#197). The chart note now says that counts follow the day feedback arrives, not the day the mail was sent.
- One status cell (#197). The Teams list, the team dialog and Trust & safety share one status cell: a dot and a word, with the reason on hover. A suspended team is no longer a badge.
- "—" instead of 0.00% (#197). Trust & safety and the review page show "—" when a 7-day rate had nothing to divide by.
- Small fixes (#197). A long reason on Trust & safety ends in an ellipsis, whole on hover, and period buttons render at their intended size.
Dashboard
- One line per row (#197). Every list keeps each row on one line at every width.
- Long text ends in an ellipsis inside its column, and the whole text is one hover away.
- Email and received subjects, log paths and contact segments gained that hover text.
- The webhooks list shows its queue as a count.
- Metrics (#197). The risk line's label moved onto the rate's row as a legend key, so no bar can cover it. The "below the guardrail's floor · not judged" tooltip line is gone.
- Broadcast page (#197). "By inbox provider" has a Complained column. Gmail and Apple never report complaints, so their cell is a dash with a tooltip instead of 0.00%.
- Phones (#197):
- The Metrics cards' "not counted" note moves under its label.
- Status dots keep their shape.
- The Return-Path and tracking fields put the domain under the input when it doesn't fit.
- A finished step shows a single check in place of its number, so the check no longer runs into the step card.
Deliverability accounting
- Feedback for mail SES never attempted no longer counts (#197). This covers SES's account and tenant suppression lists, email validation and unsubscribed recipients, plus complaints about mail SES didn't send. It applies to the sending guardrail, the console, the Metrics page and the broadcast page. The events are still recorded and the address is still suppressed.
- Delivered (#197). A broadcast's Delivered count keeps emails that later drew a complaint. A complaint about mail SES never sent counts neither as delivered nor as a complaint.
Upgrading a self-hosted instance
- No database migrations and no new environment variables. Run
docker compose pullanddocker compose up -d, or on Kubernetes upgrade with--version 0.24.0. - The MX has no changes in this release.
- Hard-bounce and complaint counters follow the new rule from the upgrade on. Counts stored before it keep their old meaning, so a console window that spans the upgrade mixes both until it moves past it.
- Rolling back to v0.23.0 is safe: no schema or pg-boss changes.