You'll notice a big cosmetic change in this release: the default logging
format has been changed to
Airbrussh. For more details on
what Airbrussh does
and how to configure it, visit the
Airbrussh README.
- To opt out of the new format, simply add
set :format, :pretty
to switch to
the old default of Capistrano 3.4.0 and earlier. - If you are already an Airbrussh user, note that the default configuration has
changed, and the syntax for configuring Airbrussh has changed as well.
This simple upgrade guide
will walk you through it.
Potentially breaking changes:
- Drop support for Ruby 1.9.3 (Capistrano does no longer work with 1.9.3)
- Git version 1.6.3 or greater is now required
- Remove 'vendor/bundle' from default :linked_dirs (@ojab)
- Old versions of SSHKit (before 1.9.0) are no longer supported
- SHA1 hash of current git revision written to REVISION file is no longer abbreviated
- Ensure task invocation within after hooks is namespace aware, which may require
you to change how yourafter
hooks are declared in some cases; see
#1652 for an example
and how to correct it (@thickpaddy) - Validation of the
:application
variable forbids special characters such as slash,
this may be a breaking change in case that you rely on using a/
in your application
name to deploy from a sub directory.
New features:
- Added a
doctor
task that outputs helpful troubleshooting information. Try it like this:cap production doctor
. (@mattbrictson) - Added a
dry_run?
helper method remove
DSL method for removing values like from arrays likelinked_dirs
append
DSL method for pushing values likelinked_dirs
#1447,
#1586- Added support for git shallow clone
- Added new runtime option
--print-config-variables
that inspect all defined config variables in order to assist development of new capistrano tasks (@gerardo-navarro) - Prune dead tracking branches from git repositories while updating
- Added options to set username and password when using Subversion as SCM (@dsthode)
- Allow after() to refer to tasks that have not been loaded yet (@jcoglan)
- Allow use "all" as string for server filtering (@theist)
- Print a warning and abort if "load:defaults" is erroneously invoked after
capistrano is already loaded, e.g. when a plugin is loaded indeploy.rb
instead ofCapfile
. (@mattbrictson) - Added option to set specific revision when using Subversion as SCM (@marcovtwout)
- Deduplicate list of linked directories
- Integration with Harrow.io (See http://capistranorb.com/documentation/harrow/) when running
cap install
- Added validate method to DSL to allow validation of certain values (@Kriechi)
- validate values before assignment inside of
set(:key, value)
- should raise a
Capistrano::ValidationError
if invalid
- validate values before assignment inside of
- Added default validation for Capistrano-specific variables (@Kriechi)
Fixes:
- Capistrano is now fully-compatible with Rake 11.0. (@mattbrictson)
- Fix filtering behaviour when using literal hostnames in on() block (@townsen)
- Allow dot in :application name (@marcovtwout)
- Fixed git-ssh permission error (@spight)