---
title: "Improvements to PaaS UI settings"
description: "More per-app settings are editable in the dashboard, and changes open a PR against your fly.toml if you've connected GitHub."
date: "2026-08-03"
author: "Lubien"
url: "https://fly.io/changelog/dashboard-app-settings/"
discussion: "https://community.fly.io/t/improvements-to-paas-ui-settings/28410"
---

# Improvements to PaaS UI settings

![image](https://global.discourse-cdn.com/fly1/original/3X/1/9/191f61504e7e20ddee5dc5bc35724fce91056e5f.png)

We just shipped many more settings forms that are tweakable via dashboard UI per-app!

These take effect immediately upon saving which means some changes require deploying the app.

As for the updated fly.toml

* If you have a connected GitHub repo: we will create a PR you can merge
* If you don't have a connected GitHub repo: we will advise you to run `fly config save -a APP_NAME` on your terminal to save the current state.

This is far from all what a fly.toml can do but hopefully this will let one scale their apps better

![image](https://global.discourse-cdn.com/fly1/original/3X/6/1/61e54eea54c5244dc16009fd71d7c2c7078d6e9e.jpeg)

Also we updated out machines list page to let you tweak more than scale for process groups! The "Edit app scale" button became a cog in the group name to make things easier to manage per group.

---

## Extensive list of changes

Yes I asked a LLM to scan my commits, sorry if this feels robot-y:

**Manage more of your fly.toml directly from the app dashboard**

* Edit the `[deploy]` section from the Configuration page: pick a deploy strategy (rolling, immediate, canary, blue/green), set a release command, tweak `wait_timeout`, `release_command_timeout`, and `max_unavailable`.
* Edit top-level app settings from the same page: primary region, kill signal, kill timeout, console command, and swap size.
* Configure a per-process-group restart policy (`always`, `never`, `on-failure`) and retry count from the process group scaling form.

**Better guardrails and hints**

* `min_machines_running` warnings now count only machines in your primary region, so you see accurate under-scaled warnings.
* If your app has mounted volumes, the Configuration page will tell you upfront that the "canary" deploy strategy isn't compatible.

**Better consistency with `flyctl`**

* Duration fields (`kill_timeout`, `wait_timeout`, `release_command_timeout`) accept the same units as `flyctl`: `ms`, `s`, `m`, `h`.
* Kill signal is now a free-form field with common suggestions rather than a rigid dropdown — pick anything valid (`SIGABRT`, `SIGHUP`, etc.), not just the six defaults.
* The `on-failure` restart policy — the platform default — is now a first-class option you can select explicitly and see round-trip through the form.
* `max_unavailable` is preserved for canary deploys (previously only kept for rolling).

**Under the hood**

* Config PRs now cover the new `[deploy]`, `[[restart]]`, and top-level scalar changes.
* All the new fields are validated at the form level with clear, actionable error messages before we ever hit the API.
