Flyctl Evolved - Fly Changelog

There’s a new flyctl (v0.0.137) available for your command line, with cleaner commands and extra helpers. Find out more about it in the Changelog.

This flyctl release brings in some big changes in the command structure as we move to an app-centric command style. What does that mean? Well, the apps subcommand is being deprecated; we’ve kept it in place for this release but now all its commands have top level commands of their own:

Was Now
apps create init
apps destroy destroy
apps list list apps
apps move move
apps restart restart
apps resume resume
apps suspend suspend

The move, restart, resume, suspend commands also now take an appname as their last argument. The status command has also followed suit in this change, so you can now type flyctl status appname rather than flyctl status -a appname - The -a option will remain supported.

The list command at the top level has been around for a while and has advantages over the older list command: you can match appnames with fragments of text and filter on status or organization. Talking about organizations, flyctl list orgs will list the organizations your account has access to.

We’ve also made some small usability changes in how you initialize an application. The init command offers you a selection of builders or the chance to use a Dockerfile. If you don’t have one, init will create one for you with a simple hello world deployment to get you going. If you don’t want the example generated, use --dockerfile when running init. And, yes, you can still specify a builder with --builder, that’s not going away.

Other changes

  • The move command will now tell you what organization your app is in so you know where you are moving it from.
  • Setting and unsetting secrets on suspended deployments is now blocked.
  • Setting and unsetting secrets will start a deployment monitor. Add the --detach flag to return before starting the deployment monitor.
  • If you are setting a secret on an undeployed app, then we don’t start the deployment monitor, so no need to –detach.
  • The info command now supports --host which will display just the host name, along with (-n / --name ) which just displays the appname. These flags are designed to make it easier to script with flyctl.
  • The version command now outputs just the bare version number - add --full to get the detailed version/commit/date information if you need it.

Platform changes

It’s not all been flyctl changes. There’s a fix for a problem with cookie headers and HTTP/2 which is now in place. Also, if your application parses headers, you’ll find that a Via header has been added to enable applications to trace their route through the Fly edge.

This is the Fly Changelog where we list all significant changes to the Fly platform, tooling and web sites. You can also use the RSS feed of just changelog posts available on fly.io/changelog.xml or consult our dedicated ChangeLog page with all the recent updates.

9th July


flyctl: Version 0.0.137 released

  • New top level commands
  • Apps subcommand deprecated
  • --host added to info command
  • version displays bare version number, --full displays full details
  • secrets setting and unsetting will follow deployment where appropriate
  • secrets now supports --detach
  • move command now prompts with current organization
  • init command now prompts with list of builders or option to create/use Dockerfile
  • init command supports --dockerfile flag to completely skip builder query

Fly Platform/Web

  • Fixed a bug related to incoming HTTP/2 request cookies sent as multiple headers. Incoming HTTP/2 connections can present multiple cookie headers. The headers were sent on as is when the Fly edge downcast the connection to HTTP/1 which is used within the Fly network. Some servers could not handle the multiple headers though. Now, the downcasting process concatenates the multiple cookie headers into a single cookie header.
  • Added the Via header to both http requests and responses
  • Boosted the performance of the Optimizing Image phase of deployment by making better use of existing identical images.