Managing screenshots and metadata for the app stores can be one of the biggest offenders when it comes to wasted time and context-switching during releases. For one, the stores limit when you can actually go update release notes and metadata for an upcoming version, often turning this part of the process into a last minute scramble and a lot of copy-pasting, with engineers needing to track down and loop in product or marketing help and then quickly update everything in the stores. Plus, if your app is localized, you can multiply that scramble by the number of languages you serve, with extra work to send out new metadata for translation and then pull the translations back in before submission (ideally without any languages slipping through the cracks!). Â Â
To help your team avoid the rush to get store release metadata sorted, and even allow you to plan ahead, you can now update release notes and metadata for upcoming releases as early as you like. As soon as a release exists in Runway, you can navigate in and save release notes and metadata, ahead of time. Runway will monitor the status of the release in store and automatically take care of syncing any updates as soon as itâs possible to do so â no manual copy-pasting required!
You can also leverage Runwayâs translations integration to get a head start on metadata localization. If you opt in to have your translation integration handle metadata, each metadata field will reflect a status that lets you see at a glance what needs to be uploaded for translation, whatâs still in the process of being translated, and whatâs translated and ready for export to the app store. Whenever youâre ready, you can trigger an export of all translated metadata, which automatically syncs it to the store directly from your translations provider.
You can also automate this entire process by enabling the new âSync metadata translationsâ automation. With the automation enabled, all you have to do is make the desired changes to a releaseâs metadata for your source language only. Runway will automatically upload everything for translation, watch the status of translations, and export completed translations to the app store as soon as theyâre ready.
New app versions arenât the only things you need to submit for review in App Store Connect. For teams that take advantage of Appleâs in-app events or custom product pages, youâll know that these items also need to undergo review before they go live. Youâll also know that you can only have one submission in review at a time. While Apple does let you combine new app versions with additional submission items to submit all together, this calls for a lot of extra coordination across the team â and often across disciplines, given folks like marketing are typically involved for in-app events and custom product pages. It can be difficult to make sure everything is ready to go at once, and seeing status and submitting multiple submission items in App Store Connect can be cumbersome and confusing (especially for less technical contributors). Â Â
Now, your team can handle in-app events and custom product pages alongside app version submissions in Runway for a clearer and easier way to coordinate across multiple submission items. On the Submission step in your iOS releases in Runway, you can now select one or more in-app events and custom product pages to queue up for submission alongside your app versions. All the different kinds of items that are selected for submission are visualized on the step, and when youâre ready to proceed (whether manually or automatically), Runway takes all of those items and submits them for review together.
Building on our new support for additional submission items, Runway now also gives you an easy way to resolve the frustrating roadblocks that crop up when coordination around multiple submission items breaks down. Odds are youâve experienced this kind of scenario before. Someone on one side of the org spins up a new in-app event, custom product page or product page optimization and excitedly submits it for review in App Store Connect, unaware that thereâs a new app version scheduled for submission shortly thereafter. When their teammates go to submit the new version, theyâre met with an error explaining that they canât proceed because other items are already submitted. A whole back-and-forth ensues to figure out whatâs already submitted and what needs to be submitted, then a bunch of clicking around in App Store Connect to remove items and resubmit. Â
Runwayâs âunblock submissionâ action seamlessly resolves this kind of situation with a single click. Alongside full context on all your submission items on the Submission step, when Runway detects a state that is blocking your app submission, we surface a button that allows you to instantly pull all blocking submission items from the queue or from review, then re-add each of those items alongside the build you want to submit so that you can easily proceed by submitting all items together.
IYKYK, and many of you have probably heard us talk about this before: thereâs a longstanding issue with the Play Console Publisher API whereby releases transition immediately from a draft status to live, even if they get flagged for review by Google, and even if you have managed publishing enabled and havenât yet hit the button to release. This creates a pretty difficult blind spot for anyone building tooling on top of the Publisher API, since you canât know for sure whether a given version is actually live in the Play Store. In Runway, weâve had to make less-than-ideal accommodations to deal with this, like optimistically considering releases as live immediately after submission, and giving teams a way to manually signal to Runway that we should start an automated staged rollout for them.
Judging from this issue thatâs been open with Google for years, they donât plan on fixing this anytime soon â so we decided to build a workaround. If you simply forward your Google publishing update emails to Runway, weâll use those to determine when your releases actually go live. Runway uses the broader context we have about your team's release cycles and timing at different stages to match emailed updates to the right releases, and to understand release status accordingly. The first piece of user-facing functionality that builds on top of this is a new Slack notification that goes out as soon as each release is actually live, and we plan to tie more features to this in future.
Making sense of all the work thatâs shipping â or expected to ship â with each release can be a daunting task. There are tickets to comb through, commits and PRs to check on, product owners and code owners to track down. Runwayâs Feature Readiness view already helps teams by creating a unified view across all these important pieces of the puzzle, but we heard from teams that they wanted more options for slicing and dicing this view to get at exactly the info they need.
Weâve added new functionality to the Feature Readiness view to help everyone on your team get exactly the view theyâre looking for. To allow you to quickly find a specific work item in Feature Readiness, weâve added search. You can drill into fields across both tickets and code, searching within commit messages, PR descriptions, and much more. There are also new filters available on Feature Readiness: for PR label or milestone, for ticket label or fix version, and one that will hide any unsquashed commits, showing only merged PRs or direct commits.
To allow you to build your preferred view on Feature Readiness and then keep it, we added persistence of filters and sort so that you can navigate away and then return exactly where you left off.
If youâre a Runway power user â or perhaps just someone who prefers to move across apps with just their keyboard â Runwayâs new Quick Actions Menu allows you to do just that. Quickly switch across apps, releases, or navigate to specific settings for your app by invoking the Quick Action Menu, which surfaces shortcuts to many of the most important pages within Runway. Enter command + K/ctrl + K from anywhere in Runway to invoke the Quick Action Menu and use it to supercharge how you navigate across pages.
One of the powerful ways in which Runway provides greater visibility into the release process across the entire team is with its rich and detailed timeline for each and every release, with timeline events broken out into (and accessible from) the most relevant release step within which they occurred. Timeline events can be an invaluable resource in many scenarios, like for example, during a post-mortem if youâre looking to track down specific actions involved or understand a sequence of events. And now itâs even easier to leverage Runwayâs release timeline to zoom into specific events with search, which is now available on the timeline across all the places it appears.
Runwayâs ability to handle artifacts produced as part of build runs is just a subset of the broader functionality that comes with our CI integrations. But itâs an important one for certain artifact automations on the mobile release management side (artifact upload, attachment to releases in version control, etc.), and an especially important one for Build Distro. Weâve expanded our support for artifact handling to cover many more of the CI integrations we already offer. Azure Pipelines, Jenkins, Xcode Cloud, and Buildkite are the latest integrations that are now supported for Build Distro and artifact automations.
In case you missed it, last week we announced a big new feature: Fixes. Itâs designed to help teams better manage their release diffs, offering a safer and more consistent way to get late-arriving changes into a release if needed. Fixes applies real guardrails that allow you to track, review, and approve any late additions, and automates away the busywork and context-switching required to actually get changes pulled in.
For some background on the launch and detail on how Fixes works, you can read more on the Runway blog!
If your app is available in more than a single language, youâre likely familiar with the extra work and headaches that the translation process can add to every release. You need to keep careful watch across all your localizable strings to ensure new copy is fully translated and that the translated strings made it safely into the release diff. The translation process adds (yet another) asynchronous element to release cycles, since translations are often sent out and finalized as other release prep continues in parallel. And thereâs uncertainty around situations in which the team might be okay proceeding with certain strings untranslated, versus those where key untranslated strings are showstoppers.
Now, you can integrate your teamâs translation and localization tooling in Runway, and weâll help you avoid mistakes and save time when it comes time to prepare app copy for release.
Runway surfaces all the localizable strings in your project and computes readiness relative to each release, so you can see at a glance which strings are fully ready to go â uploaded, translated, pulled back into the codebase (and onto your release branch, where applicable) â and which are still pending. Extra context on pending strings helps your team identify whatâs actually needed to get things wrapped up. Perhaps translations are actually complete but the translated strings have yet to be pulled down into the release, or perhaps certain late-arriving strings are still waiting for translation. To complete the picture and further help your team identify translation showstoppers, localizable string keys added or updated in the context of a given release are highlighted.
You can trigger a source file upload or export translations back to the codebase right from Runway when needed â or, save your team the steady drip of manual work and context-switching and let Runway automate the process of keeping translations synced and updated in your project. With the new âSync localizable string translationsâ automation enabled, Runway watches your release diff for any new or updated strings and will automatically upload source files for translation when needed, then pull translations back down to your release when ready. If your team prefers to merge all translations into your working branch first, thereâs another new automation that can watch your working branch for updated strings and automatically pull them over into the active release.
Currently available for Crowdin, with Localize, Lokalise, Smartling, and others to follow.
Most of you are probably already familiar with the release pilot rotation in Runway, which allows you to set up a list of team members that weâll iterate through to automatically assign as pilots (aka captains, drivers, etc.) on each release. You can manage your rotation within Runway, reordering and swapping in one-off subs as needed, and pilots have a special role to play with targeted reminders and action items that make it easier for folks to rotate into the role.
But we know that teams often use specific tools for scheduling rotations more broadly within their org, like PagerDuty, Opsgenie, or even Google Calendar. In true Runway fashion, we want to ensure you get the best of both worlds by offering an integration point for these specialized tools that Runway can tie into and extend from. Now, you can now connect your scheduling tool of choice and Runway will manage your release pilot rotation accordingly, automatically assigning pilots to releases based on a given on-call schedule, swapping folks when coverage changes, and re-assigning pilots if a release rolls over into another team memberâs shift. Reminders and alerts can be sent along the way so there are no surprises or gaps in coverage.
Currently available for PagerDuty, with Opsgenie, Google Calendar, and others to follow.
âAt Runway, weâre always looking for more ways to keep your team out of App Store Connect and Play Console. Theyâre not the friendliest of platforms and are two of the worst offenders when it comes to context-switching. You should already be able to do most if not all of what you need to do in the stores release to release from within Runway, manually or automated. But we do field feedback from teams wanting the ability to update even more of their store presence in Runway, and so weâre continuing to add more store-related functionality to the platform. Our latest additions include handling for preview videos, allowing you to view, edit, and upload new videos for both Android and iOS. On the metadata front, you can now edit promotional text, subtitle, and app name alongside the other fields Runway already surfaces. As always, Runwayâs user roles and scoped access can give your marketing and product folks an easy and safe way to interact with these items.
Runwayâs regression testing integrations allow your team to connect the test case management tooling your QA folks might be using (TestRail, Xray) to surface live status of test runs alongside each release. This already helps streamline a critical part of the release process by opening up what is typically a black box and removing the need for constant checking-in back and forth between engineering, product, and QA as final build validation is worked on.
Our new âCreate regression test runsâ automation goes a step further to save time thatâs wasted manually managing regression testing processes. Before, for each new release, QA folks would need to manually create a new test run in your teamâs test case management tool, copying over the necessary test plans, sticking to any particular naming conventions, etc. Now Runway can handle all of this for you, ensuring thereâs a new test run created and ready to go by the time QA hops in to begin regression testing each and every release.
If youâre part of an iOS team, chances are youâve had to deal with the massive headache that is wrangling device registration and managing provisioning profiles. Or, maybe you have some heroes on your platform team who spend way too much of their time dealing with all of this busywork for you and the rest of your team. Whatever the case, you can now hand off all this hassle to Runway: weâll keep your teamâs devices updated in the Apple Developer portal as folks come and go, and automatically generate and re-generate relevant provisioning profiles along the way.
It all starts with a seamless flow that makes it dead simple to collect new device identifiers from your team â no more fumbling around for those long IDs that no one knows how to find. With just a couple of taps, you can install a web clip on new devices to automatically collect the device identifier and send it over to Runway (plus, if youâre using Build Distro, the web clip also gives the device instant access to your teamâs build buckets). Â
Runway will automatically register new devices in the Apple Developer portal and disable devices when folks leave your team, freeing you from needing to stay on top of that constant cleanup. Each and every time your list of registered devices changes, Runway takes care of updating the necessary provisioning profiles to ensure new builds are installable by all the right team members.
When you identify a critical issue in production and need to get a hotfix going, time is of the essence. At the same time, the rush to get a fix in and out the door often leads to silly mistakes. So, weâve added a new automation to Runwayâs hotfix flow to both speed things up and make things less error-prone. In addition to existing options to automatically cut a branch from your last release tag and immediately bump version on that branch, you can now also select all the necessary fixes from your development branch, and Runway will cherry-pick them over into the hotfix â all in a single step.
Slack user groups are a good way to get the right comms in front of the right teams and roles within your org, but they take work to manage and keep up to date. Now, Runway can take that work off your plate. When you enable Runwayâs new âSync Slack groupsâ automation, youâll specify a mapping of roles (e.g. engineers, PMs, QA, etc.) to the Slack user groups you might already use â or want to use â for those different folks on your team, and weâll take it from there. First, Runway auto-creates any Slack groups that donât yet exist, then continuously ensures all groups are kept up to date by automatically adding or removing users for each as folks join, change roles, or leave your team.
Once you have your roles-to-groups mapping defined, and even if you choose not to enable the syncing automation, Runway can use the mapping to @mention the appropriate groups whenever needed â for example, if you have assigned a checklist or approval item to a specific role, or if you add a role to a specific Runway notification.Â
Every team has that post-release ritual where someone has to open up a bunch of browser tabs and chase other folks down for various pieces of release context, then copy-paste it all together and get that summary in front of a wider audience within the org. Of course, the Runway platform itself is one good substitute for this tedious exercise, giving everyone self-serve access to the complete picture release to release. But Runway now also helps you easily distribute release info outside the platform, to the constellation of interested folks who arenât as close to the process or to mobile in general, by automatically generating release summaries and optionally sending those out via email after each release. You can customize these release summaries to suit your teamâs needs, with a range of dynamic tokens that Runway will populate based on actual data from the release.Â
Oftentimes teams need to get artifacts to multiple different places as they advance through different stages of internal distribution. For example, you might start distributing feature builds through Build Distro, then advance to a wider audience via TestFlight or Play Console testing tracks. To help with this process, weâve taken the artifact upload automation that already existed on the release management side and brought it over to Build Distro as well. You can enable the upload automation on a per-bucket basis and configure the specific destination where artifacts are sent onwards to. Automatic retries safeguard against intermittent errors during this often-flaky part of the process.
Runwayâs existing trigger workflow automation makes it easy to generate new builds as needed, whenever there are new changes to build, based on a given Build Distro bucketâs rules. But there are certain flavors of builds, typically those off of busy shared branches, which need a more measured approach. Think nightlies or other shared builds off of your teamâs main development branch. A new option on the automatic trigger bucket automation allows you to change its behavior so that it runs on some recurring cadence you define â hourly, daily, every N hours â instead of on every diff.
Building on our functionality that lets you render certain release steps as non-blocking in the context of your overall release workflow in Runway, weâve added more ways to further customize release steps. First, for non-blocking steps, you can now choose to hide those steps completely from release timelines if theyâre not at all relevant for your team. And, you can configure non-blocking steps per release type, allowing you to adjust your teamâs workflow for normal releases vs hotfixes.
Many teams have already streamlined and shored-up their pipelines by handing the build upload step over to Runway: we take care of grabbing the right artifacts and ensuring they get uploaded, with automatic retries if needed. But on the Android side, with the way Play Console works, that just lands builds into âgeneral storageâ, with teams needing to move builds onwards to an initial track from there. Certain existing Runway automations help with track promotion later in the release cycle, but we can now also help with initial track release creation. A new option on Runwayâs build upload automation lets you specify a default initial track for uploads, so weâll make sure new builds make their way out of storage and onto that track.
â
If your company is on the larger side, chances are youâre managing your organizationâs teams, users and their permissions from a centralized directory like Okta, Microsoft Active Directory or similar. But up until now, for user and team management within Runway, admins have had to do things manually. Now, with directory sync support, Runway integrates with your companyâs directory provider to take care of everything automatically for you: from assigning new users the correct roles and app membership, to updating users who change teams along the way, to deactivating users who leave your org.
Plus, you might remember that Runway also supports automatically syncing users and roles to App Store Connect and Play Console â so, combined with this new directory sync functionality, you can now automate user management all the way from your orgâs centralized directory to the stores (something not available out-of-the-box from Apple or Google).
For many teams, getting a complete picture of release health means pulling from multiple different data sources, especially when it comes to things like performance monitoring and product analytics. To allow for this, you can now simultaneously connect as many of these kinds of observability and analytics tools as needed (Amplitude plus Datadog, say). Runway will pull signals from all of these sources into your Rollouts view and youâll be able to configure health metrics attached to each and every one.
Additionally, weâve added support for a number of new metric types: average, median, and 90th/95th/99th percentiles of property values are all now supported for most of our Observability & Analytics integrations, with even more metric types coming soon. Â
Depending when you first kick off a phased rollout, it could be that a big step-change in user adoption will happen on a day â or at a time â when your team might not be quite as ready to quickly address any issues that arise. Now, you can avoid this by configuring blackout days and times during which Runway will temporarily pause your rollouts. For example, you can prevent rollouts incrementing over the weekend, or outside of normal business hours.
One of the big goals with Build Distro is to make it dead easy to distribute and organize all the different build flavors your team cares about. Now, thereâs an even more seamless way to handle personal and team-specific feature builds, with user filters on build buckets that automatically direct these sorts of early dev builds to the right place.
How it works is quite simple. If youâve set up your bucket with a PR rule, only builds generated from PRs that were authored by the specified users will be pulled into the bucket. If youâve set up your bucket with a branch rule (not pictured), only builds generated from commits that were authored by the specified users will be pulled into the bucket. Specify single users to create personalized buckets for WIP dev builds, or groups of users to create dedicated build buckets for different feature teams across your org.
Typically, teams are stuck between a rock and a hard place when it comes to getting the variety of build types they care about distributed: either trigger each different flavor manually all the time, or else set up and maintain a delicate web of conditional triggers in CI. With the addition of automatic workflow triggers on Build Distro buckets, you now get hands-free distribution for every different build flavor, with all the correct configurations taken care of for you out-of-the-box.
For example, consider a build bucket one of your feature teams has set up. It might have a PR rule configured that grabs builds associated with PRs against your main branch, authored by members of that team. Now, if you flip on the bucketâs build trigger automation, Runway will automatically generate new builds for that team whenever their members open or push to PRs against main (and then route those builds to the right place as usual).
Letting your testers know whatâs new in a given build is a distribution best practice, but itâs also a tedious, manual step that quickly becomes error-prone and a drain on the team. Now, Runway can automatically generate and populate tester notes for you, based on the diff since the previous build of the same flavor. In addition to listing commit info, diff items link out to associated PRs and project management tickets, so your team gets the complete picture and things are easy to digest for technical and non-technical teammates alike.
Our goal with Build Distro is to make it dead simple for anyone on your team to grab the right build at the right time. And in order to achieve that, we need to be sure folks have a complete, understandable snapshot of what each build contains. So, weâre taking the popular Feature Readiness view from Runwayâs release workflow and applying it to each and every build you distribute via Build Distro.
When you click (or tap! â donât forget, Build Distro plays nicely on your phone) into the build detail view, youâll see a diff that contains a composite of code and tickets for a full picture of work that went into the build. In addition to seeing changes since the previous build of the same type, you can scroll further back in the diff with clear demarcation between older builds as you go â helpful for folks who havenât grabbed this kind of build in a while and need to catch up.
When itâs hard to get incremental, on-the-fly builds into peopleâs hands, teams tend not to bother â and that has a negative impact on collaboration and app quality. Build Distroâs buckets system already takes a big step towards making these sorts of one-off and feature-based builds easier to distribute. Now, weâre tackling more of the âlast mileâ problem by ensuring direct access to downloadable builds is never more than a click, tap, or QR scan away.
For any Build Distro buckets youâve configured to grab builds from pull requests, you can enable a new automation that will post comments on the appropriate PRs, including info on each new build and direct links and QR codes for seamless installation. Now, whether a teammate is in the weeds code-reviewing a PR or is just curious about its latest changes, they have that version of the app at their fingertips.
Most of you are probably familiar with the existing automations that allow you to set target dates and have Runway automatically submit and/or release on schedule â provided preceding steps and approvals in your release workflow are good to go. Those safeguards are important, but itâs also a shame to lose hands-free mode if youâve only missed your target deadline by a little bit and the last few pending items will be ready soon.
Now, you get the best of both worlds with a new option on Runwayâs submission and release automations that allows it to âproceed on greenâ. With this option enabled by itself, you can have Runway automatically submit or release just as soon as all preceding steps are in a good (green) state. Or, if you couple this new option with target dates, Runway can submit/release automatically at the scheduled time or, if not all steps are ready, any time afterwards once all steps are green.
ââSlack can be a noisy place, making it easy for important notifications to get missed. To ensure no balls get dropped and give you full confidence that folks who need to be aware of a critical update or time-sensitive blocker are indeed aware, you can now add targeted mentions to each and every Runway notification on a per-notification basis. You can assign roles or specific users and they will be called out or @-mentioned using their Slack handles, respectively.
For teams who use the backmerge approach to pull late-arriving fixes applied to release branches back over onto their development branch, some amount of Git wrangling is always necessary. Runway already offered a way to automate that away, by automatically backmerging from release branch into dev (and any upcoming release branches) at the end of each release cycle. But some teams told us that with the pace of their development cycles and multiple releases stacked up, they needed a more continuous backmerge operation â and they were wasting lots of time managing that by hand.
Now, Runway can offer automated continuous backmerges. Choose the corresponding option in the backmerge automation settings and Runway will perform immediate backmerges as each item of late-arriving work lands on your active release branch.
To save you even more context-switching and give even more of your team easy access to Runwayâs single source of truth, we added a new Slack action you can use for a quick overview of any upcoming, live, or past release. Just call /runway status from any Slack channel, passing in the app and version youâre interested in, and Runway will post a message containing target dates, release step statuses, phased rollout progress and health metrics.
Weâre continuing to integrate Runway with all the different tools mobile teams tell us theyâre using. Here are the noteworthy recent additions to our lineup of integrations: