Sail 0.10.6

Sail 0.10.6 has been released, with quite a few minor bug fixes and improvements. Our xhprof fork has also been updated and shipped with this Sail release, allowing the built-in profiler to better group and display closure functions.

Arbitrary Commands in Blueprints

A new commands section has been added to the blueprints system, allowing users to run arbitrary SSH/WP-CLI commands during the provision phase or later. Commands are provided as a list of strings or arrays in the blueprint YAML file:

commands:
  - wp option get home
  - ['wp', 'custom-command', '--with-args']
  - rm -rf wp-content/uploads/cache

Blueprints had already supported installing and activating WordPress plugins and themes, and with this addition, users are now able to run various import/setup/configuration scripts and routines.

Profiling Closures

Closure functions are sometimes difficult to track down and debug. In version 0.10.6 we’ve patched the built-in xhprof profiler to note the filename and line number of all closure functions, including ones hidden inside classes.

Profiling closure functions in classes

This change will make it easier to find some of the more tricky and hidden performance bottlenecks. If you’re new to profiling in Sail, check out our knowledgebase article.

Other Changes

  • New --json flags for regions, sizes, init and destroy commands.
  • Updated SSH configuration to keep client connections open, even when inactive for a while.
  • Fixed a bug in the import command which didn’t allow the database import to complete.
  • Reload Nginx after a successful Certbot renewal
  • Fixed a Python error when running profile curl
  • Bumped minimum Python version to 3.8 in install script
  • Removed and updated various dependencies

For a full list of changes, please refer to the GitHub repository.

Upgrade

To upgrade Sail to the latest version, use the following command:

curl -sSLf https://sailed.io/install.sh | bash

If you’ve installed Sail using other methods, such as Homebrew or PyPI, please refer to our installation/upgrade guide in the Knowledgebase. If you have any questions or problems with upgrading or using Sail, don’t hesitate to get in touch.

About the author

Konstantin Kovshenin

Konstantin is a WordPress Core Contributor, public speaker, DevOps engineer and consultant, theme and plugin developer, founder and maintainer of Sail for WordPress.