weppos / capistrano forked from capistrano/capistrano
- Source
- Commits
- Network (72)
- Graphs
-
Tree:
b96507c
Capistrano Release Notes - Version 2.5.9
Thank you to the community for their massive contribution to Capistrano 2.5.9. I am pleased to ship this release with no fewer than 9 incredibly important bug fixes from the community.
Tickets Resolved In This Release
105 - Add skip_hostfilter option to find_servers()
103 - Using non-master branch fails with Ruby 1.9
96 - Tweak for 1.9 Compatibility
79 - Capistrano hangs on shell command for many computers
77 - Copy command doesn't work on Solaris due to tar/gtar
76 - Invalid Subversion URL
50 - Configuration Logger Options
Other Improvements
- Improved web:disable task
Improvements Explained
#105 - Add skip_hostfilter option to find_servers()
Thanks to Eric, we can now ignore the HOSTFILTER environmental variable when calling find servers; consider the following:
role :app, 'app1.example.com', 'app2.example.com', 'app3.example.com'
task :test do
find_servers(:app)
end
You would correctly expect find_servers() to return all three servers; when using the host filter environmental variable you can restrict operations to certain hosts
cap HOSTFILTER=app2.example.com deploy
Which can be used to act on a single host, ignoring the others, in this instance find_servers() will only return app2.example.com; Eric's patch allows you to call find_servers() with an optional argument which will ensure that it ignores the HOSTFILTER, and returns everything listed for that role; here's the code:
find_servers(:app, :skip_hostfilter => true)
#103 - Using non-master branch fails with Ruby 1.9
Suraj Kurapati discovered that under Ruby 1.9 when setting your branch name like this:
set :branch, :some-branch-you-want-to-use
That there is a problem comparing the symbol provided against the string that the SCM module returns. This appears only to be a problem under Ruby 1.9, we have a cross-platform fix in the shape of a .to_s on the branch name where the comparison takes place.
The work around if you cannot upgrade to 2.5.9 is to specify the branch name as a string.
#96 - Tweak for 1.9 Compatibility
Here on IsItRuby1.9 we've had reports that Capistrano would work fine if we swapped a retry for a redo, there are subtle differences but we think it is acceptable to perform this way, and doesn't seem to cause any problems.
This bug would also have manifested under some circumstances for anyone capifying a new application with Ruby 1.9, this has also been fixed.
Regrettably without upgrading there is no workaround; save for rolling back to Ruby 1.8x.
#79 - Capistrano hangs on shell command for many computers
We apologise to anyone that has suffered at the hand of this bug; it really had us stumped, we were fortunate to meet Daniel Azuma who was working in isolation and came up with a fix, this has been applied to Net:SSH (see Other News for more info) and they have shipped a new release 2.0.14 which contains the fix. There are a selection of links with more info for those who're interested below, rest assured though that this is fixed.
If you do not want to upgrade Capistrano, you can simply upgrade Net:SSH, version 2.0.14 should be working now.
#77 - Copy command doesn't work on Solaris due to tar/gtar
Solaris 10 by default has a gtar command that provides the normal tar functionality, and the tar command works slightly differently. Thanks to Jeremy we have a patch, if you are affected you can specify which command to use now using:
set :copy_local_tar, 'gtar'
set :copy_remote_tar, 'gtar'
These are then used by :copy_compression
If you want to workaround this issue in previous releases of Capistrano, you can try:
set :copy_compression, :zip
#76 - Invalid Subversion URL
Somewhere between 2.5.0 and 2.5.5 we think this bug related to paths for Subversion on Windows, and possibly others came to light. This has been patched and fixed in this release we hope; Thank you to David Mitchell and Rafa Garcia for the suggestion, and patch.
#50 - Configuration Logger Options
Now when calling cap on the command line, you should be able to send it a --logger (-l) option:
--logger [STDERR|STDOUT|file]
- Improved web:disable task
Now when calling web:disable you will see output for the code block to insert into your .htaccess, this should mean we don't need to worry about people being confused and forgetting to put this in!
Other News
Net::SSH, the library upon which Capistrano is built is now being managed by Delano Mandelbaum, there is a bug tracker at http://net-ssh.lighthouseapp.com/ - for related issues, we still suggest using the Capistrano Google Groups mailing list; as many issues are cross-over and both communities can contribute; Delano is on the list, and
