In the before-times, for client-initiated dynamic request routing, we used to have only two headers to choose from: fly-force-instance-id, and fly-prefer-region. There’s a peculiar asymmetry here: why are you only able to force an instance ID, not prefer one, and why are you only allowed to prefer a region? So, we later added preferred instances, which also gives your app notification about when the preferred instance is not available.
We’re still missing one from the full suite of fly-force-* / fly-prefer-* headers, though, and that is fly-force-region. All the pieces necessary for it were already in place: in fact, for the past few months, fly-prefer-region simply got translated internally to a list of region preferences with ,any tucked at the end, signalling we’re willing to select any available region as a fallback. There’s really no reason we shouldn’t have a fly-force-region header that does not have that default, so a quick mini-update was shipped to add support for that header!
Everything about the syntax of this new fly-force-region header is exactly the same as fly-prefer-region, minus the part where we tuck a ,any at the end. Our docs will soon be updated to reflect this update, too.