release_command machine can't authenticate to Upstash Redis, app machines can

Since this morning (2026-11-07), the release_command machine for one of our apps (iad) fails to connect to our Fly-provisioned Upstash Redis (Fixed plan, iad). It fails at AUTH:

RedisException: read error on connection to tcp://fly-<name>.upstash.io:6379
(phpredis, in Redis->auth())

It happened on two deploys in a row, about 35 minutes apart. Our release command is php artisan migrate; one migration clears a cache key in Redis.

At the same time, the app’s long-running machines (app, worker, scheduler) use the same REDIS_URL and connect fine. The Upstash dashboard shows ~25–29 TCP connections, well under the plan limit, with connections opening and closing normally. A migration that cleared the same cache from a release machine worked on 2026-10-27.

We’ve worked around it by letting the migration tolerate a failed cache clear, so deploys pass. But we’d like to understand why release machines can’t authenticate to Redis while app machines can. Is there a networking (6PN/IPv6) difference for release_command machines, or could this be a bad host, like in Launching a new Postgres 1.7 app with DB results in "Error release command failed, deployment aborted"?

Happy to share app and machine IDs privately with fly.io staff.