Fly.io makes it easy to host applications worldwide the same way a CDN hosts HTML pages. Our users ship us containers, and we transmute them into Firecracker microVMs that run on our hardware in data centers around the world. The easiest way to learn more is to sign up; if you’ve got a working container now, it can be running in Sydney, Chennai, or Amsterdam in just a few minutes.
Here’s our latest changelog. This week we’re putting the in-browser UI updates a little closer to all the other ones, to see if they’ll play nicely together.
- [Feature] Our WireGuard peers sync a lot faster with the kernel’s wg state, by adding only peers that have changed. This should make userspace WireGuard features dramatically faster and eliminate API timeout issues some users were seeing—especially significant for GitHub Actions and other CI processes that may create a new WireGuard peer every time.
- [Feature] Improved proxy lock contention (by getting rid of a global lock) in our tracing instrumentation. The proxy is much faster at tls handshaking and http parsing when it’s under load now. This should reduce response times for almost everyone.
- [Feature]
fly deploy
now accepts build-time secrets via the--build-secret
flag. You should use this instead of insecurely passing secrets as build arguments. (flyctl v0.0.333) - [Feature] Rolling deploys now update more VMs in each batch. This will make deploys 2-5x faster for apps that run in many regions.
- [Feature] Our Jupyter launcher still fits on our free tier, but now it requires a credit card, because we saw significant abuse when it didn’t. This is why we can’t have nice things!
- [Feature] Dashboard style improvements continue, including such highlights as making the certificates “delete” button not-invisible.
- [Feature/Fix] Shipped an intelligent longpolling fallback in response to the occasional user report of the dashboard failing to load. This also resulted in a new feature in Phoenix 1.6.10 to make identifying websocket health easier.
- [Feature] Added permanent redirects to make sure our UI only shows up at the
fly.io
domain where it belongs. Our UI apps are Fly apps, and like all Fly apps, they get.fly.dev
URLs for free. We don’t want Google indexing them at these addresses; it’s confusing and dilutes our SEO something something. - [Feature] Clicking on an app’s status badge now takes you to its Monitoring tab. Because it felt like it should work like that.
- [Feature] Before you can delete an app from the dashboard, you’ll now have to type the full app name. This will make it harder to accidentally delete an app, or to delete the wrong one.
- [Feature] Simplified adding a credit card to a new organization. Previously you had to juggle between links on Fly and on Stripe to get this done.
- [Fix] Automatic redeployment of Turboku apps from Heroku deploys should work again now. We had broken our Turboku webhook with recent code changes.
- [Fix] Fixed a bug that wouldn’t let you delete your user if that user was an admin on a deleted org.
- [Fix] The app metrics page now loads properly, and also hides raw queries by default.
- [Fix] All customers with coupons should now be able to see them on the dashboard. Coupons were not showing for orgs that hadn’t incurred charges yet.