# Suppression history for every recipient | Changelog

Source: https://wraps.dev/changelog/suppression-history

![Wraps Logo](https://wraps.dev/wraps-light-logo.png)![Wraps Logo](https://wraps.dev/wraps-dark-logo.png)

](https://wraps.dev/)

[](https://github.com/wraps-team/wraps)[Log in](https://app.wraps.dev/auth?mode=signin)[Sign up](https://app.wraps.dev/auth?mode=signup)

Toggle menu

[← All changes](https://wraps.dev/changelog)

CLICDK & PulumiSDKSeptember 2026

### Suppression history for every recipient

Look up why an address stopped receiving your email, and when, even after it has left the SES suppression list.

-   Run `wraps email sync` on CLI v3.15.0, or redeploy with CDK v0.5.0 or Pulumi v0.6.0, to start recording. Each hard bounce, complaint and validation suppression writes one record per recipient to the `wraps-email-history` table in your AWS account. Transient bounces are skipped, and suppressions from before the redeploy are not backfilled
-   Call `email.events.getSuppressionHistory(address)` in `@wraps.dev/email` v0.15.0 to read the reason, the SES subtype, and when the address was first and last suppressed
-   The record outlives the SES suppression list entry, and it exists for recipients who are not contacts
-   Use `email.suppression.get()` for current state. A history record says what happened, not whether it is safe to send, and a `null` result does not mean the address is clean

Also fixed (1)

-   The cost estimate in wraps email init and wraps email upgrade prices SES sends on your SES plan, Essentials by default, instead of the $0.10 per 1,000 à la carte rate.

CLI v3.15.0 · CDK v0.5.0 · Pulumi v0.6.0 · @wraps.dev/email v0.15.0

[Read the docs →](https://wraps.dev/docs/sdk-reference#suppression)
