Django-MOJO
MarkdownOpen in ClaudeOpen in ChatGPT

1.24.3 — phonehub: a failed carrier lookup is negative-cached instead of crashing

Editorial identity incomplete

2026-09-09

A provider error on a never-cached phone number no longer raises IntegrityError and no longer re-bills the provider on every retry. The error is cached briefly with exponential backoff and exposed as lookup_unavailable; is_valid is never written by the error path, so a Twilio outage cannot mint a false verdict. Consumers that read PhoneNumber.is_valid must check lookup_unavailable first.

Changed

Fixed

Upgrade notes