Phased release is one of those App Store Connect toggles that's easy to enable, easy to forget, and worth understanding properly before the day you actually need it. The short version: when we ship an update with phased release turned on, Apple doesn't hand the new build to every existing user at once. It goes out to a small slice on day one and expands over roughly a week until the rollout hits everyone. If something is wrong, we have room to react before the whole install base is affected.
At Olnesta Ltd we treat this as the default posture for any update that touches something we're nervous about, which in practice means most of them. It costs nothing to enable, it doesn't slow the review itself, and the downside case, catching a regression before it reaches the last 80 or 90 percent of users, is exactly the case that would otherwise ruin a week.
What it actually does, and what it doesn't
Phased release applies to automatic updates delivered to users already on a previous version. It does not gate manual updates: anyone who opens the App Store, finds our app, and taps Update will get the new build immediately regardless of what percentage the rollout is currently at. That's important to keep in mind, because it means the rollout percentage is a ceiling on automatic delivery, not a hard wall around who can possibly be running the new version. TestFlight users, users who read release notes and update by hand, and anyone reinstalling fresh from the store are all outside the phased curve.
It also does not apply to a brand new app's first version. There is no existing user base to phase against, so the option simply isn't offered until there's a version 1.1 to roll out over a 1.0. Every update after that first ship can use it.
The rollout runs over about seven days, with the percentage increasing each day. We've generally treated the exact daily numbers as an implementation detail Apple can adjust, and we plan around the shape of the curve rather than the specific figures: a small day one, growing through the week, everyone by the end. If that shape changes at some point, our operational habits still hold.
The two controls that matter
The reason phased release is worth caring about isn't the curve itself. It's the two buttons next to it in App Store Connect.
The first is pause. If we start seeing a spike in crashes, a support inbox lighting up, or a regression we didn't catch in review, we can pause the rollout. Users who have already received the update stay on it, but the automatic distribution stops advancing. That buys time to decide whether to ship a fix, revert, or resume. Pausing is reversible and doesn't require talking to anyone at Apple.
The second is release to all users, which pushes the update to 100 percent immediately. We use this when the rollout has been quiet for a couple of days and we're confident, or when we specifically want a fix to reach everyone as fast as the store can deliver it. It's the opposite lever from pause, and having both available means we can move in either direction as the data comes in.
What this combination gives us, in practical terms, is the ability to limit the blast radius of a bad build without needing an expedited review to undo it. Expedited review exists, and it works, but it's a favor to ask and it still takes hours in the best case. A paused phased rollout takes effect right away, and it protects the users who haven't updated yet even while we're still writing the fix.
How we use it in practice
Our habit is to enable phased release on almost every update, watch crash reports and support mail closely for the first day or two, and only reach for the release to all users button once we've seen the new build behave in the wild at a nontrivial share of users. If an update is genuinely low risk, a localization pass, a small copy change, a store metadata tweak paired with a rebuild, the phased curve just runs on its own and nobody notices. If it isn't low risk, we're glad the ceiling is there.
The thing to internalize is that phased release isn't a safety net that catches you after a mistake. It's a throttle you set before shipping, and its value shows up specifically in the window between when a problem appears and when a fix is live. Treat it as standard equipment on updates, know where the pause button is, and the worst version of a bad release day gets meaningfully less bad.