• v0.2.6 8d88a9c235

    fix: database connection resilience — retry on transient errors, TCP keepalive, health check timeout
    All checks were successful
    Build & Deploy to Staging / Build & Deploy to Staging (push) Successful in 9m25s
    Promote to Production / Deploy to Production (push) Successful in 1m36s

    Ghost released this 2026-02-18 15:08:29 +01:00 | 167 commits to main since this release

    • Enable TCP keepalive on pg.Pool to detect dead connections
    • Add connectionTimeoutMillis (5s) to prevent hanging on stale connections
    • Add queryWithRetry() with exponential backoff for transient DB errors
    • Add connectWithRetry() for transaction-based operations
    • Detect PgBouncer "no available server" and other transient errors
    • Health check has 3s timeout and returns 503 on DB failure
    • All DB operations in keys, verification, usage use retry logic

    Fixes BUG-075: PgBouncer failover causes permanent pod failures

    Downloads