Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

root/tags/capistrano_2-2-0/CHANGELOG

Revision 8939, 21.5 kB (checked in by minam, 6 months ago)

version bump

Line 
1 *2.2.0* February 27, 2008
2
3 * Fix git submodule support to init on sync [halorgium]
4
5 * Add alternative server-centric role definition method [James Duncan Davidson]
6
7 * Add support for password prompts from the Mercurial SCM [ches]
8
9 * Add support for :max_hosts option in task definition or run() [Rob Holland <rob@inversepath.com>]
10
11 * Distributed git support for better operability with remote_cache strategy [voidlock]
12
13 * Use a default line length in help text if line length is otherwise too small [Jamis Buck]
14
15 * Fix incorrect reference to the 'setup' task in task documentation [rajeshduggal]
16
17 * Don't try to kill the spawner process on deploy:stop if no spawner process exists [Jamis Buck]
18
19 * Dynamic roles (e.g. role(:app) { "host.name" }) [dmasover]
20
21 * Implement Bzr#next_revision so that pending changes can be reported correctly [casret]
22
23 * Use a proper export command for bzr SCM [drudru]
24
25 * Use checkout instead of merge for git SCM [nuttycom]
26
27 * Fix typo in Subversion SCM module, encountered when an update fails [kemiller]
28
29 * Fix documentation typo in upload.rb [evolving_jerk]
30
31 * Added test case to show that the :scm_command is honored by the git SCM module [grempe]
32
33 * Fail gracefully when double-colons are used to delimit namespaces [richie]
34
35 * Add support for :git_enable_submodules variable, to enable submodules with the git SCM [halorgium]
36
37 * If subversion asks for a password, prompt as a last resort [Jamis Buck]
38
39 * Use checkout --lightweight for bzr checkout, instead of branch [michiels]
40
41 * Make sure bzr SCM works when revision is head (or unspecified) [michiels]
42
43 * Support p4sync_flags and p4client_root variables for Perforce [gseidman]
44
45 * Prepare for Net::SSH v2 by making sure Capistrano only tries to load Net::SSH versions less than 1.99.0 [Jamis Buck]
46
47
48 *2.1.0* October 14, 2007
49
50 * Default to 0664 instead of 0660 on upload [Jamis Buck]
51
52 * Fix deploy:pending to query SCM for the subsequent revision so that it does not include the last deployed change [Jamis Buck]
53
54 * Prefer 'Last Changed Rev' over 'Revision' when querying latest revision via Subversion [Jamis Buck]
55
56 * Explicitly require 'stringio' in copy_test [mislav]
57
58 * When Subversion#query_revision fails, give a more sane error [Jamis Buck]
59
60 * Don't run the upgrade:revisions task on non-release servers [Jamis Buck]
61
62 * Fix cap shell to properly recognize sudo prompt [Mark Imbriaco, barnaby, Jamis Buck]
63
64 * Git SCM module [Garry Dolley, Geoffrey Grosenbach, Scott Chacon]
65
66 * Use the --password switch for subversion by default, but add :scm_prefer_prompt variable (defaults to false) [Jamis Buck]
67
68
69 *2.0.100 (2.1 Preview 1)* September 1, 2007
70
71 * capify-generated Capfile will autoload all recipes from vendor/plugins/*/recipes/*.rb [Graeme Mathieson]
72
73 * Use sudo -p switch to set sudo password prompt to something predictable [Mike Bailey]
74
75 * Allow independent configurations to require the same recipe file [Jamis Buck]
76
77 * Set :shell to false to run a command without wrapping it in "sh -c" [Jamis Buck]
78
79 * Don't request a pty by default [Jamis Buck]
80
81 * Add a "match" remote dependency method [Adam Greene]
82
83 * Allow auth-caching of subversion credentials to be enabled via :scm_auth_cache [tsmith]
84
85 * Don't let a task trigger itself when used as the source for an "on" hook [Jamis Buck]
86
87 * Avoid using the --password switch with subversion for security purposes [sentinel]
88
89 * Add version_dir, current_dir, and shared_dir variables for naming the directories used in deployment [drinkingbird]
90
91 * Use Windows-safe binary reads for reading file contents [Ladislav Martincik]
92
93 * Add Accurev SCM support [Doug Barth]
94
95 * Use the :runner variable to determine who to sudo as for deploy:restart [Graham Ashton]
96
97 * Add Namespaces#top to always return a reference to the topmost namespace [Jamis Buck]
98
99 * Change the "-h" output so that it does not say that "-q" is the default [Jamis Buck]
100
101
102 *2.0.0* July 21, 2007
103
104 * Make the "no matching servers" error more sane [halorgium]
105
106 * Make sure the invoke task gives a sane error when the COMMAND value is omitted [halorgium]
107
108 * Make sure variables are conditionally set in the deploy recipes, so as not to clobber values set elsewhere [Jamis Buck]
109
110 * Fix "input stream is empty" errors from HighLine on prompt [Jamis Buck]
111
112 * Added "synchronous_connect" setting to try and work around SFTP hangs for certain users [Jamis Buck]
113
114 * Auto-require the SSH shell service, to avoid race conditions [Jamis Buck]
115
116 * Add a millisecond sleep in upload to reduce CPU impact [Jamis Buck]
117
118 * Allow the logger to be set via Configuration#logger= [Jamis Buck]
119
120 * Allow $CAPISTRANO:HOST$ to be used in filenames to the put command [Jamis Buck]
121
122 * Allow execute_on_servers to be called without a current task again [Jamis Buck]
123
124 * Put $stdout in sync mode, so that Net::SSH prompts are displayed [Jamis Buck]
125
126 * Make sure deploy:check aborts if it fails [Jamis Buck]
127
128 * Spelling corrections in docs [Tim Carey-Smith, Giles Bowkett]
129
130
131 *1.99.3 (2.0 Preview 4)* June 28, 2007
132
133 * Don't break task descriptions on a period that appears in the middle of a sentence [Jamis Buck]
134
135 * Added support for :on_error => :continue in task definitions, allowing tasks to effectively ignore connection and execution errors that occur as they run [Rob Holland]
136
137 * Use correct parameters for Logger constructor in the SCM and Strategy base initializers [Jamis Buck]
138
139 * Set LC_ALL=C before querying the revision, to make sure the output is in a predictable locale and can be parsed predictably [via Leandro Nunes dos Santos]
140
141 * Add :copy_remote_dir variable for the :copy strategy, to indicate where the archive should be copied to on the remote servers [Jamis Buck]
142
143 * Make the awk use in the dependencies code work with POSIX awk [mcornick]
144
145 * Make variable accesses thread safe [via Adrian Danieli]
146
147 * Make user input for yes/no prompts work correctly in the Mercurial module [Matthew Elder]
148
149 * Use single quotes to escape semicolon in find command, instead of a backslash [via michael.italia@gmail.com]
150
151 * Better quoting of reserved characters in commands [Jamis Buck]
152
153 * Make sure Net::SSH versions prior to 1.1.0 still work [Jamis Buck]
154
155 * Allow the :hosts and :roles keys to accept lambdas, which will be evaluated lazily to allow runtime selection of hosts and roles in tasks [Jamis Buck]
156
157 * Use `which' to test whether a command exists in the remote path, instead of `test -p' [Jamis Buck]
158
159 * Make sure the connection factory is established synchronously, to avoid multiple gateway instances being spawned [Jamis Buck]
160
161 * Make sure symlink and finalize_update tasks reference the most recent release when called by themselves [Jamis Buck]
162
163
164 *1.99.2 (2.0 Preview 3)* June 15, 2007
165  
166 * CVS SCM module [Brian Phillips]
167
168 * Fix typo in Perforce SCM module [Chris Bailey]
169
170 * ssh_options < server options when connecting [Jamis Buck]
171
172 * Logger defaults to $stderr instead of STDERR [lhartley]
173
174 * Use cp -RPp instead of -a in the remote cache strategy
175
176 * Make the UploadError exception include an array of the hosts that failed [rob@inversepath.com]
177
178 * Allow "empty" roles to be declared [Jamis Buck]
179
180 * Mercurial SCM module [Tobias Luetke, Matthew Elder]
181
182 * Invoke all commands via sh (customizable via :default_shell) [Jamis Buck]
183
184 * Make sure all directories exist on each deploy which are necessary for subsequent commands to succeed, since some SCM's won't save empty directories [Matthew Elder]
185
186 * Add :default_environment variable, which is applied to every command
187
188
189 *1.99.1 (2.0 Preview 2)* May 10, 2007
190
191 * Fix some documentation typos [eventualbuddha]
192
193 * Don't retry failed connections if an explicit auth_methods list is given [Chris Farms]
194
195 * Added support for load and exit callbacks, which get invoked when all recipes have been loaded and when all requested tasks have been executed [Jamis Buck]
196
197 * Added support for start and finish callbacks, which get invoked when any task is called via the command-line [Jamis Buck]
198
199 * Make `capify' understand simple command-line switches [Jamis Buck]
200
201 * Make the server definition itself available to SSH channels, rather than just the host name [Jamis Buck]
202
203 * Identify servers by their complete credentials in logs, rather than simply by hostname [Jamis Buck]
204
205 * Uniquely identify servers based on hostname, port, and username, instead of merely on hostname [Jamis Buck]
206
207 * Allow (e.g.) scm_command and local_scm_command to be set in the event of different paths to the scm command on local vs. remote hosts. [Jamis Buck]
208
209 * Kill the "deploy:app" namespace and move those tasks into deploy, directly. [Jamis Buck]
210
211 * Make sure 'desc' applies to the next defined task, in any namespace. [Jamis Buck]
212
213 * Fix shell so that servers for a task are correctly discovered. [Jamis Buck]
214
215 * Added before(), after(), and on() callback creation methods. [Jamis Buck]
216
217 * Fix broken check! method for some deployment strategies. [Jamis Buck]
218
219 * deploy:cold should also run migrations before starting the app [Jamis Buck]
220
221 * Make the copy strategy check out to a temporary directory [Jamis Buck]
222
223
224 *1.99.0 (2.0 Preview 1)* April 24, 2007
225
226 * Add `capify' script to make it easier to prepare a project for deployment using cap [Jamis Buck]
227
228 * Make sure the sudo helper understands the SuSE dialect of the sudo password prompt [Steven Wisener]
229
230 * Fix synchronization issue with Gateway initialization [Doug Barth]
231
232 * Added opt-in "compat" and "upgrade" recipes for tasks to aid in the upgrade process to Capistrano 2 [Jamis Buck]
233
234 * The deployment recipes are now opt-in. Just do 'load "deploy"' in your recipe script. [Jamis Buck]
235
236 * Added $CAPISTRANO:HOST$ placeholder in commands, which will be replaced with the name of the host on which the command is executing [Jamis Buck]
237
238 * Added -e switch to explain specific task. Added -X to extend -x. Made -h much briefer. Added -T to list known tasks. [Jamis Buck]
239
240 * Added namespaces for tasks [Jamis Buck]
241
242 * Merged the Configuration and Actor classes, performed various other massive refactorings of the code [Jamis Buck]
243
244
245 *1.4.1* (February 24, 2007)
246
247 * Use the no-auth-cache option with subversion so that username/password tokens do not get cached by capistrano usage [jonathan]
248
249 * Deprecated upper-cased variables [Jamis Buck]
250
251 * Make sure Actor#get does not close the SFTP channel (so subsequent SFTP operations work) [Dov Murik]
252
253 * Add :env option to 'run' (and friends) so that you can specify environment variables to be injected into the new process' environment [Mathieu Lajugie]
254
255
256 *1.4.0* (February 3, 2007)
257
258 * Use the auth info for subversion more consistently [Jamis Buck]
259
260 * Add a "capture" helper, for capturing the stdout of a remote command and returning it as a string [Jamis Buck]
261
262 * Add a "get" helper, to pull a file from a remote server to the localhost [bmihelac]
263
264 * Fix gateway to actually increment local_port if a port is in use, so that multiple capistrano instances can run at the same time [Mark Imbriaco]
265
266 * Refactor the permissions tweaking in update_code to a separate task so that people on shared hosts can override it as necessary [jaw6]
267
268 * Set umask during the setup task, so that intermediate directories are created with the proper permissions [NeilW]
269
270 * Removed -c/--caprc switch, since the new load order renders it meaningless (just use -f now) [Mike Bailey]
271
272 * Make sure the standard recipe loads first, so that .caprc and friends can override what it defines. [Mike Bailey]
273
274 * Add support for a system-wide capistrano config file [Mike Bailey]
275
276 * Make cold_deploy call update instead of deploy (to avoid invoking the restart task).
277
278 * Make the touch command run by update_code set the TZ to UTC, for consistent setting of asset timestamps. [NeilW]
279
280 * Fix off-by-one bug in show_tasks width-computation [NeilW]
281
282
283 *1.3.1* (January 5, 2007)
284
285 * Fix connection problems when using gateways [Ezra Zygmuntowicz]
286
287
288 *1.3.0* (December 23, 2006)
289
290 * Deprecate rake integration in favor of invoking `cap' directly [Jamis Buck]
291
292 * Make sure the CVS module references the repository explicitly in cvs_log [weyus@att.net]
293
294 * Remove trace messages when loading a file [Jamis Buck]
295
296 * Cleaner error messages for authentication failures and command errors [Jamis Buck]
297
298 * Added support for ~/.caprc, also -x and -c switches. [Jamis Buck]
299
300 * Updated migrate action to use db:migrate task in Rails instead of the deprecated migrate task [DHH]
301
302 * Allow SSH user and port to be encoded in the hostname strings [Ezra Zygmuntowicz]
303
304 * Fixed that new checkouts were not group-writable [DHH, Jamis Buck]
305
306 * Fixed that cap setup would use 755 on the deploy_to and shared directory roots instead of 775 [DHH]
307
308 * Don't run the cleanup task on servers marked no_release [Jamis Buck]
309
310 * Fix typo in default_io_proc so it correctly checks the stream parameter to see if it is the error stream [Stephen Haberman]
311
312 * Make sure assets in images, javascripts, and stylesheets are touched after updating the code, to ensure the asset timestamping feature of rails works correctly [Jamis Buck]
313
314 * Added warning if password is prompted for and termios is not installed [John Labovitz]
315
316 * Added :as option to sudo, so you can specify who the command is executed as [Mark Imbriaco]
317
318
319 *1.2.0* (September 14, 2006)
320
321 * Add experimental 'shell' task [Jamis Buck]
322
323 * Display file for external configurations, rather than inspected proc. [Jamis Buck]
324
325 * Connect to multiple servers in parallel, rather than serially. [Jamis Buck]
326
327 * Add SCM module for Mercurial (closes #4150) [Matthew Elder]
328
329 * Remove unused line in SCM::Base (closes #5619) [chris@seagul.co.uk]
330
331 * More efficient "svn log" usage (closes #5620) [Anatol Pomozov]
332
333 * Better support for key passphrases in the SVN module (closes #5920) [llasram@gmail.com]
334
335 * Fix missing default for :local in cvs.rb (closes #3645) [jeremy@hinegardner.org]
336
337 * Fix awkward spacing in gemspec file (closes #3888) [grant@antiflux.org]
338
339 * Add support for :sudo variable to specify path to sudo (closes #4578) [timothee.peignier@tryphon.org]
340
341 * Make previous_release return nil if there are no previous releases (closes #4959) [bdabney@cavoksolutions.com]
342
343 * Uncache releases list after update_code is called so that newly released dir is included (closes #3766) [Jamis Buck]
344
345 * Allow the subversion scm to accept HTTPS certificates (closes #4792) [Jamis Buck]
346
347 * Make sure rollbacks occur within the scope of the task that triggered them [Jamis Buck]
348
349 * Fixed the default recipe to work with setups that haven't yet gone pids [DHH]
350
351 * Symlink and setup for shared/pids to tmp/pids [DHH]
352
353 * Fix some incorrect usage text (closes #4507) [gerry_shaw@yahoo.com]
354
355 * Added Actor#stream method that makes it easy to create cross-server streams [DHH]. Example:
356
357     desc "Run a tail on multiple log files at the same time"
358     task :tail_fcgi, :roles => :app do
359       stream "tail -f #{shared_path}/log/fastcgi.crash.log"
360     end
361
362 * Make update_code and symlink a macro task under the name "update" for easy of deploy to servers that does not run fcgis [DHH]
363
364 * Changed setup, update_code, rollback_code, and symlink to work on all servers instead of only those in the :app, :web, and :db roles. A server can opt out of being part of the release deployment by setting :no_release => true [DHH]
365
366 * Added support for :except on task declarations as the opposite of :only [DHH]. Example:
367
368     role :app, "192.168.0.2"
369     role :file, "192.168.0.3", :no_release => true
370
371     task :symlink, :except => { :no_release => true } do
372       on_rollback { run "ln -nfs #{previous_release} #{current_path}" }
373       run "ln -nfs #{current_release} #{current_path}"
374     end
375    
376     cap symlink # will not run on 192.168.0.3
377
378 * Deprecate the -r/--recipe switch in favor of -f/--file (for more make/rake-like semantics) [Jamis Buck]
379
380 * Fix gemspec to include a dependency on rake 0.7 [Jamis Buck]
381
382 * Added respect for ENV["HOSTS"] that'll be used instead of the roles specified in the task definition [DHH]. Example:
383
384     HOSTS=192.168.0.1 cap setup # one-off setup for that server, doesn't need to be prespecified in the recipes file
385
386 * Added respect for ENV["ROLES"] that'll be used instead of the roles specified in the task definition [DHH]. Example:
387
388     task :setup, :roles => [ :app, :web, :db ]
389       # normally this would run every where
390     end
391    
392     ROLES=app cap setup # this will only run for the app role, overwritting the default declaration
393
394 * Added :hosts option to task definition that allows you to specify cross-cutting tasks [DHH]. Example:
395
396     task :setup, :hosts => [ "06.example.com", "01.example.com" ] do
397       # this task will happen on 06 and 01 regardless of which roles they belong to
398     end
399
400 * Fix operator precedence problem in script for touching the revisions.log #3223 [jason.garber@emu.edu]
401
402
403 *1.1.0* (March 6th, 2006)
404
405 * Simplify the generated capistrano.rake file, and make it easier to customize
406
407 * Use rake-like command-line semantics ("cap deploy", in addition to "cap -a deploy")
408
409 * Rename to capistrano
410
411 * Make the generated capistrano.rake file use rake namespaces, and include all default tasks
412
413 * Look for config/deploy.rb, capfile, and Capfile by default
414
415
416 *1.0.1* (February 20th, 2006)
417
418 * Fix broken switchtower_invoke function in switchtower.rake (missing require statement)
419
420
421 *1.0.0* (Feburary 18th, 2006)
422
423 * Make CVS module's :local value default to "."
424
425 * Add "invoke" task for executing one-off commands
426
427 * Make port selection smarter for gateway connections
428
429 * Add extension mechanism for custom ST operations and third-party task libraries
430
431 * Make ST rails rake tasks more configurable
432
433 * Add Actor#current_task and simplify Task#servers
434
435 * Add Actor#connect! method for working around lazy connection establishing
436
437 * Make sure IO::TRUNC is specified for Net::SFTP uploads (#3510)
438
439 * Add branch support to CVS [jeremy@hinegardner.org] (#3596)
440
441 * Add bazaar-ng SCM module [Damien Merenne]
442
443 * Add optional :svn_username and :svn_password variables
444
445 * Allow Proc-valued variables to be set more conveniently (set(:foo) { "bar" })
446
447 * Add perforce SCM module [Richard McMahon]
448
449 * Add bazaar (v1) SCM module [Edd Dumbill] (#3533)
450
451 * Fix stftime format string used in CVS module to be Windows-compatible (fixes #3383)
452
453 * Add an better error when a task is run and no servers match the required conditions
454
455 * Add default spinner and cold_deploy tasks, and spinner_user variable
456
457 * Changed restart_via variable to (boolean) use_sudo
458
459 * Only chmod when the revisions.log file is first created
460
461 * Make UPPERCASE variables work
462
463 * Added rails_env variable (defaults to production) for use by tasks that employ the RAILS_ENV environment variable
464
465 * Added Actor.default_io_proc
466
467 * Set :actor key on SSH channel instances
468
469
470 *0.10.0* (January 2nd, 2006)
471
472 * Handle ssh password prompts like "someone's password:"
473
474 * Make CLI#echo available as a class method.
475
476 * Add CLI#with_echo.
477
478 * Make the default password prompt available as a class method.
479
480 # Add documentation for the CLI class.
481
482 * Add a sanity check to make sure the correct versions of Net::SSH and Net::SFTP are installed.
483
484 * Added a cleanup task to remove unused releases from the deployment directory
485
486 * Allow password to be reentered on sudo if it was entered incorrectly
487
488 * Use && as the command separator for the checkouts, so that errors are caught early.
489
490 * Ping each SSH connection every 1s during command processing so that long-running commands don't cause the connection to timeout.
491
492 * Add a 0.01s sleep during the command loop so that the CPU doesn't go ballistic while ST is doing its thing.
493
494 * Add :restart_via variable for specifying whether restart ought to use :sudo (default, use sudo)
495
496 * Use SFTP for file transfers (if available).
497
498 * Add an "update_current" task that will do an svn up on the current release
499
500 * Use the :checkout variable to determine what operation to use for svn checkouts (instead of co, like "export").
501
502 * The Rails rake tasks now load ST directly, instead of invoking it via system
503
504 * Added ssh_options variable to configure the SSH connection parameters #2734 [jerrett@bravenet.com]
505
506 * Require Net::SSH 1.0.5
507
508
509 *0.9.0* (October 18th, 2005)
510
511 * Use process reaper instead of custom reap script for restarting
512
513 * Use -S switch to set variables before reading recipe files #2242
514
515 * Have setup.rb create a switchtower.cmd file on Win32 platforms #2402
516
517 * Add diff_from_last_deploy to the rails switchtower rakefile template
518
519 * Add diff_from_last_deploy task (currently only works with subversion)
520
521 * Add deploy_with_migrations task.
522
523 * Make the migrate task more customizable.
524
525 * If no password is given with the -p switch, prompt for password immediately.
526
527 * Do not install a switchtower stub in the script directory. Assume the switchtower executable is in the path.
528
529 * Remove trailing newlines from commands to prevent trailing backslash #2141
530
531 * Default parameters work correctly with the generator #2218 [Scott Barron]
532
533 * Attempt to require 'rubygems' explicitly when running the switchtower utility #2134
534
535 * Make default tasks work only on app/db/web roles, so that additional roles may be created for boxes with specific needs without needing to (for instance) deploy the app to those boxes
536
537 * Default the application name to "Application" when using --apply-to
538
539 * Show the help screen instead of an error when no arguments are given
540
541 * Make SwitchTower easier to invoke programmatically via SwitchTower::CLI
542
543 * Specify the revision to release via the :revision variable (defaults to latest revision)
544
545 * Allow variables to be set via the cli using the -s switch
546
547 * Log checkouts to a "revisions.log" file
548
549 * Changed behavior of checkout to use the timestamp as the release name, instead of the revision number
550
551 * Added CVS module (very very experimental!)
552
553 * Works with public keys now, for passwordless deployment
554
555 * Subversion module recognizes the password prompt for HTTP authentication
556
557 * Preserve +x on scripts when using darcs #1929 [Scott Barron]
558
559 * When executing multiline commands, use a backslash to escape the newline
Note: See TracBrowser for help on using the browser.