Skip to content

v2.0.0

Choose a tag to compare

@TimRots TimRots released this 08 Mar 18:10
· 6 commits to main since this release

What's New

Major upgrade bringing full MailOdds API coverage to the WordPress plugin.

Suppression List Management

  • Admin page under Tools > MailOdds Suppressions with search, filter, and pagination
  • Add/remove entries via admin UI or WP-CLI
  • Optional suppression pre-check on form submissions (saves API credits)
  • Fail-open with admin notice when suppression API is unreachable

Bulk Validation Jobs API

  • Smart routing: synchronous batch for under 100 users, async jobs for 100+
  • Real-time progress polling with cancel and resume support
  • Job history table
  • Two-phase cron for shared hosting (no max_execution_time issues)

Validation Policies

  • Admin page under Settings > MailOdds Policies
  • Create custom policies or use presets (strict, permissive, smtp_required)
  • Rule management (add/remove)
  • Test policy sandbox
  • Policy dropdown replaces the bare number input in settings

Telemetry Dashboard Widget

  • Server-side telemetry from MailOdds API (24h and 30d windows)
  • Credits used, deliverable/rejected/unknown rates, top rejection reasons
  • Privacy safeguard: top domains never cached, widget can be disabled for GDPR/CCPA

WP REST API

  • POST /wp-json/mailodds/v1/validate -- single email validation
  • POST /wp-json/mailodds/v1/validate/batch -- batch up to 100 emails
  • POST /wp-json/mailodds/v1/suppression/check -- suppression check
  • GET /wp-json/mailodds/v1/status -- plugin health

Webhook Receiver

  • POST /wp-json/mailodds/v1/webhook for job.completed events
  • HMAC-SHA256 signature verification
  • Closed by default (requires webhook secret in settings)

GitHub Auto-Updater

  • Checks for new releases every 12 hours
  • Graceful SSL error handling for shared hosts

API Client Improvements

  • Generic request() method supporting GET, POST, PUT, DELETE
  • 429 rate-limit handling with single retry (capped at 5 seconds)
  • Transient cache flush when API key changes

WP-CLI

  • 17 commands total (was 3): validate, bulk, status, plus suppression (5), jobs (5), and policies (4) subcommands

Tests

  • 96 unit tests, 262 assertions
  • New test suites: suppression, jobs, policies

Breaking Changes

None. All existing settings and user meta are preserved. The plugin is a drop-in upgrade from v1.x.