---
title: "Fly.io Changelog"
description: "New features, improvements and fixes across Fly.io."
url: "https://fly.io/changelog/"
---

# Fly.io Changelog

- [Agents can now send us feedback](https://fly.io/changelog/agents-can-now-send-us-feedback.md) (2026-11-04): Agents can now report bugs, docs gaps and feature requests through the Fly API, tied to a request ID or a URL.
- [An Oban Odyssey](https://fly.io/changelog/an-oban-odyssey.md) (2026-11-03): A slow internal Oban dashboard led us to a chatty metrics plugin, a missing index and a 460 GB index that shrank to about 2 GB.
- [Use Droid with Fly](https://fly.io/changelog/use-droid-with-fly.md) (2026-11-03): Fly MCP support, skills and a plugin for Factory's droid agent, installable with `fly skills` or `fly setup agent`.
- [Give your agent the fly CLI](https://fly.io/changelog/give-your-agent-the-fly-cli.md) (2026-10-30): flyctl gains `fly skills` and `fly setup agent`, which install Fly agent skills and configure the Fly MCP for your coding agent.
- [New Fly MCP](https://fly.io/changelog/new-fly-mcp.md) (2026-10-23): Earlier this year, with the launch of Sprites, we released the Sprites MCP. That has been very useful for people using agents to work with Fly. But, it was always missing the rest of Fly.
- [Rotate MPG user passwords from flyctl](https://fly.io/changelog/rotate-postgres-passwords-flyctl.md) (2026-10-07): Rotate Managed Postgres user passwords from flyctl with fly mpg users rotate-password.
- ['List' endpoints in Machines API now support pagination](https://fly.io/changelog/machines-api-pagination.md) (2026-10-01): The Machines API's list endpoints for Machines, volumes and apps now support pagination.
- [`fly auth logout` is now less likely to bite you](https://fly.io/changelog/fly-auth-logout-fix.md) (2026-09-22): fly auth logout now only revokes your locally stored token, not FLY_API_TOKEN or FLY_ACCESS_TOKEN.
- [Managed Postgres is now in the Machines API](https://fly.io/changelog/managed-postgres-machines-api.md) (2026-09-15): Create, fork, restore and delete Managed Postgres clusters through the Machines API.
- [Cutting Corrosion’s Broadcast Bandwidth by 10x](https://fly.io/changelog/corrosion-bandwidth-reduction.md) (2026-09-02): Corrosion, our state-replication system, now uses about a tenth of the bandwidth, thanks to compression and Plumtree.
- [Egress IP support in Machines API](https://fly.io/changelog/machines-api-egress-ips.md) (2026-09-01): Create and manage app-scoped egress IPs through the Machines API.
- ["Where is my billing page?"; alternative title: making billing page easier to find](https://fly.io/changelog/find-billing-page.md) (2026-08-13): Billing is now linked from settings and the account menu, where people kept looking for it.
- [Tweaks and improvements for PaaS deployments in UI and CLI!](https://fly.io/changelog/bluegreen-deploy-improvements.md) (2026-08-11): Dashboard scale operations show up in activity, and bluegreen deploys in flyctl catch more misconfigurations.
- [You can now restore your MPGv1 backups as a v2 cluster](https://fly.io/changelog/managed-postgres-v1-backup-to-v2.md) (2026-08-11): Restore a Managed Postgres v1 backup into a new v2 cluster from the dashboard.
- [fly mpg restore now supports naming and point-in-time restore](https://fly.io/changelog/managed-postgres-point-in-time-restore.md) (2026-08-10): fly mpg restore can now restore to a point in time and name the restored cluster.
- [Small tweaks to repo-reattachment flow](https://fly.io/changelog/github-repo-reconnect.md) (2026-08-03): Reconnecting a GitHub repo to an app no longer triggers a new deploy, and finds fly.toml outside the repo root.
- [Fly Machines API connector for Sprites](https://fly.io/changelog/sprites-machines-api-connector.md) (2026-08-03): Connect Sprites to the Fly Machines API without putting a Fly token inside the Sprite.
- [Improvements to PaaS UI settings](https://fly.io/changelog/dashboard-app-settings.md) (2026-08-03): More per-app settings are editable in the dashboard, and changes open a PR against your fly.toml if you've connected GitHub.
- [Secrets batch import on UI!](https://fly.io/changelog/dashboard-secrets-bulk-import.md) (2026-07-30): Paste a whole .env file into the dashboard to import secrets in one go.
- [MPGv2: New Regions and GA](https://fly.io/changelog/managed-postgres-v2-ga.md) (2026-07-20): Managed Postgres v2 is in seven more regions and heading to GA. New v1 clusters will be turned off.
- [Machine details page now shows cordon and lease status](https://fly.io/changelog/machine-cordon-lease-status.md) (2026-07-16): The Machine details page now shows whether a Machine is cordoned or leased.
- [MPGv2 has forking in beta](https://fly.io/changelog/managed-postgres-v2-forking.md) (2026-07-16): Fork a Managed Postgres v2 cluster from the dashboard, much faster than restoring a backup.
- [Sprites now run Ubuntu 26.04 LTS](https://fly.io/changelog/sprites-ubuntu-26-04.md) (2026-07-08): New Sprites now run Ubuntu 26.04 LTS.
- [A new home page for your MPG v2 clusters](https://fly.io/changelog/managed-postgres-v2-cluster-overview.md) (2026-07-03): A rebuilt overview page for Managed Postgres v2 clusters.
- [MPGv2 is available in more regions](https://fly.io/changelog/managed-postgres-v2-more-regions.md) (2026-06-30): Managed Postgres v2 is now available in ams, iad, fra and ord.
- [New docs: keeping long-running tasks alive and running private apps with Flycast](https://fly.io/changelog/long-running-tasks-flycast-guides.md) (2026-06-22): Two new guides: keeping background work alive with autostop, and running private apps with Flycast.
- [Managed Postgres V2 beta now in yyz](https://fly.io/changelog/managed-postgres-v2-toronto.md) (2026-06-09): The Managed Postgres v2 beta is now available in yyz as well as dfw.
- [Fly Machines Security Update: DirtyFrag, Fragnesia, and CopyFail](https://fly.io/changelog/kernel-update-dirtyfrag-fragnesia.md) (2026-06-04): Machines now run kernel 6.12.91, which fixes the DirtyFrag and Fragnesia privilege-escalation bugs.
- [HTTP Service editor via dashboard](https://fly.io/changelog/dashboard-http-service-editor.md) (2026-05-26): Edit your app's HTTP service settings, like auto stop/start and minimum running Machines, from the dashboard.
- [Clipboards, mobile machines view, managing scale, minor tweaks!](https://fly.io/changelog/dashboard-copy-buttons-mobile.md) (2026-05-20): Copy buttons all over the dashboard, a mobile-friendly Machines list, and other small fixes.
- [Managed Postgres v2 is now in beta!](https://fly.io/changelog/managed-postgres-v2-beta.md) (2026-05-19): Managed Postgres v2, rebuilt on Fly Machines for better stability, is now in beta.
- [(Unfortunately) We're NAT'ing Fly Machines' IPv6 Addresses](https://fly.io/changelog/machines-ipv6-nat.md) (2026-05-19): Individual Machines no longer get public IPv6 addresses. They keep IPv6 connectivity, and app IPv6 addresses are unchanged.
- [Mini produce: landing page now shows button to latest visited org](https://fly.io/changelog/last-visited-org-shortcut.md) (2026-05-13): The fly.io home page now has a button back to the org you visited last.
- [Scale machines UI improvements and fixes](https://fly.io/changelog/dashboard-machine-scaling.md) (2026-05-08): Scaling Machines from the dashboard now creates a release, and the fly.toml page tells you when a newer version exists.
- [Background restart via dashboard](https://fly.io/changelog/dashboard-background-app-restarts.md) (2026-05-06): App restarts from the dashboard now run in the background, and everyone viewing the app sees them in real time.
- [New guide: Integrating flyctl into automation and CI/CD pipelines](https://fly.io/changelog/flyctl-ci-cd-guide.md) (2026-05-05): A new guide to running flyctl from CI: picking token types, GitHub Actions workflows, monorepos and parsing JSON output.
- [Your posts* are now getting sent directly to our desks](https://fly.io/changelog/community-forum-support-tickets.md) (2026-05-01): Posts in the forum's Questions / Help category now land directly in the support team's ticketing system.
- [fly-replay is now scoped to private networks (by default)](https://fly.io/changelog/fly-replay-private-network-scope.md) (2026-05-01): fly-replay now only routes between apps on the same private network unless your org allows cross-network replays.
- [Copy Fail](https://fly.io/changelog/copy-fail-vulnerability.md) (2026-04-30): Machines and Sprites aren't affected by the Copy Fail vulnerability unless you share one instance between untrusted users.
- [Migrating from Machine-scoped to App-scoped Egress IPs](https://fly.io/changelog/app-scoped-egress-ip-migration.md) (2026-04-21): Promote a Machine-scoped egress IP to an app-scoped one yourself with fly m egress-ip promote, in flyctl v0.4.37 and later.
- [fly-proxy now gracefully terminates WebSocket connections before stopping/suspending a machine](https://fly.io/changelog/websocket-graceful-shutdown-autostop.md) (2026-04-09): fly-proxy now sends WebSocket clients a close frame before a Machine auto-stops or suspends, so they know to reconnect.
- [New guide: Managing Machines with the Machines API](https://fly.io/changelog/machines-api-guide.md) (2026-04-08): A new guide to creating, configuring and updating Machines from your own code with the Machines API.
- [Introducing t3.tigrisfiles.io for public content](https://fly.io/changelog/tigris-public-content-domain.md) (2026-04-02): New Tigris accounts serve public buckets and objects from t3.tigrisfiles.io. Existing URLs keep working.
- [Return to sender: Fallbacks for fly-replay](https://fly.io/changelog/fly-replay-timeout-fallback.md) (2026-03-20): fly-replay has two new fields: a timeout, and a fallback for when the replay target is unhealthy or unavailable.
- [Infra Log Season Two](https://fly.io/changelog/infra-log-relaunch.md) (2026-03-11): The Infra Log is back, with write-ups of what went wrong in our incidents and why.
- [Sprites: Cold Storage Allowance](https://fly.io/changelog/sprites-free-cold-storage.md) (2026-03-09): Every org now gets 20GB of Sprites cold storage free each month.
- [Fly-ifying our internal DNS](https://fly.io/changelog/internal-dns-reliability.md) (2026-03-06): Our per-host DNS resolvers now talk to each other through fly-proxy, so lookups get health checks, retries and fallback routing.
- [Sprites Now Speak MCP](https://fly.io/changelog/sprites-mcp-support.md) (2026-03-04): Sprites now support MCP natively, so your agent can create Sprites, run commands, manage services and take snapshots itself.
- [:authority pseudo-header is now properly forwarded to h2_backend apps](https://fly.io/changelog/h2-backend-authority-header.md) (2026-02-27): Apps using h2_backend now receive the original :authority pseudo-header from fly-proxy.
- [Better load balancing when your nearest region is unhealthy](https://fly.io/changelog/load-balancing-unhealthy-regions.md) (2026-02-26): Fly Proxy now routes around your nearest region faster when it's unhealthy, instead of trying it first every time.
- [Sprites: Plan upgrades/downgrades now possible](https://fly.io/changelog/sprites-plan-upgrades-downgrades.md) (2026-02-25): Change your Sprites plan from the Plan & Billing page. Upgrades apply immediately, downgrades at the end of the month.
- [Easier certs behind Cloudflare, BYO certs, and other goodies](https://fly.io/changelog/custom-certificates-cloudflare.md) (2026-02-17): Verify domains behind Cloudflare with a TXT record, import your own certificates, and manage certs through the Machines API.
- [Proxy Fairness, Take 2 (Or: Why Did I Have Trouble Connecting to Fly in Europe)](https://fly.io/changelog/fly-proxy-fairness-fix.md) (2026-01-28): A fix in fly-proxy so that one app's flood of small WebSocket messages can't slow connections for everyone else in a region.
- [Fixing an Intermittent WebSocket Issue](https://fly.io/changelog/websocket-connection-fix.md) (2026-01-23): We found and fixed a proxy bug that made WebSocket connections sometimes fail to open, mostly hitting Phoenix LiveView apps.
- [HTTP/1.1 trailers support in fly-proxy](https://fly.io/changelog/http-1-1-trailers-fly-proxy.md) (2026-01-21): fly-proxy now passes HTTP trailers through to HTTP/1.1 apps, not just apps using h2_backend.
- [Cheaper Sprites Storage](https://fly.io/changelog/sprites-storage-price-cut.md) (2026-01-20): Sprites storage now costs $0.02/GB-month cold and $0.50/GB-month hot, which makes inactive Sprites much cheaper to keep around.
- [Taking Wireguard out of the Hot Path](https://fly.io/changelog/fly-proxy-tls-instead-of-wireguard.md) (2026-01-19): fly-proxy now forwards traffic between servers over its own mutually authenticated TLS connections instead of WireGuard, removing a bandwidth bottleneck.
- [More Sprites Plans!](https://fly.io/changelog/new-sprites-plans.md) (2026-01-16): New Sprites plans with higher limits on concurrent active Sprites, for teams running more of them at once.
- [Launch your app from the dashboard! Better UI! Heck yeah!](https://fly.io/changelog/dashboard-app-launch-redesign.md) (2026-01-15): Launching an app from GitHub in the dashboard now takes fewer steps and has cleaner config.
- [Vanta support (finally!)](https://fly.io/changelog/vanta-integration.md) (2026-01-08): Orgs with the Compliance package can now connect Vanta, from Vanta or from the Compliance tab in the dashboard.
- [Attaching Managed Postgres Clusters to Apps](https://fly.io/changelog/managed-postgres-app-attachments.md) (2026-01-08): Managed Postgres clusters now show which apps they're attached to, so you can tell what depends on a cluster before you delete it.
