github capistrano/capistrano v3.5.0
3.5.0

latest releases: v3.18.1, v3.18.0, v2.15.11...
7 years ago

v3.4.1...v3.5.0

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 your after 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 like linked_dirs
  • append DSL method for pushing values like linked_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 in deploy.rb
    instead of Capfile. (@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
  • 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)

Other changes:

  • Internal Rubocop cleanups.
  • Removed the post-install message (@Kriechi)
  • Refactor Configuration::Filter to use filtering strategies instead
    of case statements (@cshaffer)
  • Clean up rubocop lint warnings (@cshaffer)

Don't miss a new capistrano release

NewReleases is sending notifications on new releases.