1.15.12 — Opt-in read-replica routing for the database and Redis
Editorial identity incomplete
2026-08-21
This release adds opt-in read-replica support for both the database and Redis — off unless you configure it — plus three bug fixes: safer Redis URL credential encoding, a fix for provisioning a brand-new empty account, and a fix for the admin assistant's rate-limit inspection tool.
Added
- Opt-in database reader routing: set
DATABASE_READER_HOSTto route safe (GET/HEAD/OPTIONS) reads to a replica while writes and everything else stay pinned to primary. Includesuse_reader()/use_primary()helpers to force routing for a specific block of code. - Opt-in Redis reader connections via
get_connection(reader=True)/get_client(reader=True), configured withREDIS_READER_URLorREDIS_READER_SERVER. Falls back to the primary Redis connection when no reader is configured.
Changed
- Reads from the account app are always pinned to primary under reader routing, since stale replica data on auth/session checks is unsafe.
Fixed
- Redis URLs with a
/in the username or password are now fully percent-encoded, preventing a malformed connection URL. - Provisioning a brand-new, empty account no longer fails outright — a fresh account's absent KMS alias was being treated as a hard failure instead of the expected empty state.
- The admin assistant's rate-limit inspection tool now actually works — it was silently failing on a bad import and scanning the wrong Redis key pattern.