> ## Documentation Index
> Fetch the complete documentation index at: https://docs.robase.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> What shipped, and when.

<Update label="2026-04-17" description="SMS Phase 3">
  * **Multi-country routing.** Send to NG, GH, KE, CI through one API with per-country pricing and automatic country detection from E.164. [Guide](/sms/multi-country)
  * **Provider failover.** Added Termii as a Nigerian fallback to Beem. Every send records `provider_attempts` showing exactly who we tried.
  * **Python + Go SDK parity.** `pm.sms.*`, `pm.sender_ids.*`, `pm.sms_templates.*` now exposed with typed request/response structs in both languages.
</Update>

<Update label="2026-04-17" description="SMS Phase 2">
  * **SMS templates.** Server-rendered `{{.variable}}` interpolation. [Guide](/sms/templates)
  * **Sender-ID compliance.** Registered entity, doc URL, use case, sample message — reviewed by our team and submitted to regulators. [Guide](/sms/sender-ids)
  * **Test-mode keys.** `rb_test_*` keys route to a simulator with magic numbers. Unlimited and free. [Guide](/sms/test-mode)
  * **Batch partial success.** Per-row idempotency; per-row errors. [Guide](/sms/batch)
  * **Mandatory HMAC on DLR webhooks** in production with a 5-minute replay window.
  * **Reconciliation cron** re-enqueues SMS stuck in `queued` for >10 minutes.
  * **Per-carrier analytics.** `GET /v1/sms/analytics/carriers`.
</Update>

<Update label="2026-04-10" description="SMS Phase 1">
  * **Programmable SMS** launched. `POST /v1/sms` with Beem upstream, GSM-7/UCS-2 segmenting, NCC-compliant sender IDs, DLR webhooks.
</Update>

<Update label="2026-04" description="Email platform">
  * Initial **transactional email** launch with domain verification (DKIM/SPF/DMARC/BIMI), suppression lists, open/click tracking, templates, dedicated IPs with warmup, and batch sends.
</Update>
