capistrano 3.3.5 → 3.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (138) hide show
  1. checksums.yaml +5 -5
  2. data/.github/issue_template.md +19 -0
  3. data/.github/pull_request_template.md +22 -0
  4. data/.github/release-drafter.yml +17 -0
  5. data/.github/workflows/push.yml +12 -0
  6. data/.gitignore +8 -5
  7. data/.rubocop.yml +62 -0
  8. data/.travis.yml +25 -7
  9. data/CHANGELOG.md +1 -273
  10. data/CONTRIBUTING.md +63 -93
  11. data/DEVELOPMENT.md +127 -0
  12. data/Dangerfile +1 -0
  13. data/Gemfile +36 -3
  14. data/LICENSE.txt +1 -1
  15. data/README.md +118 -292
  16. data/RELEASING.md +17 -0
  17. data/Rakefile +9 -1
  18. data/UPGRADING-3.7.md +86 -0
  19. data/bin/cap +1 -1
  20. data/capistrano.gemspec +24 -24
  21. data/features/deploy.feature +35 -1
  22. data/features/doctor.feature +11 -0
  23. data/features/installation.feature +8 -3
  24. data/features/sshconnect.feature +11 -0
  25. data/features/stage_failure.feature +9 -0
  26. data/features/step_definitions/assertions.rb +57 -20
  27. data/features/step_definitions/cap_commands.rb +9 -0
  28. data/features/step_definitions/setup.rb +56 -8
  29. data/features/subdirectory.feature +9 -0
  30. data/features/support/env.rb +5 -5
  31. data/features/support/remote_command_helpers.rb +12 -6
  32. data/features/support/vagrant_helpers.rb +17 -11
  33. data/lib/Capfile +1 -1
  34. data/lib/capistrano/all.rb +10 -10
  35. data/lib/capistrano/application.rb +47 -34
  36. data/lib/capistrano/configuration.rb +95 -44
  37. data/lib/capistrano/configuration/empty_filter.rb +9 -0
  38. data/lib/capistrano/configuration/filter.rb +16 -46
  39. data/lib/capistrano/configuration/host_filter.rb +29 -0
  40. data/lib/capistrano/configuration/null_filter.rb +9 -0
  41. data/lib/capistrano/configuration/plugin_installer.rb +51 -0
  42. data/lib/capistrano/configuration/question.rb +31 -9
  43. data/lib/capistrano/configuration/role_filter.rb +29 -0
  44. data/lib/capistrano/configuration/scm_resolver.rb +149 -0
  45. data/lib/capistrano/configuration/server.rb +30 -62
  46. data/lib/capistrano/configuration/servers.rb +38 -12
  47. data/lib/capistrano/configuration/validated_variables.rb +110 -0
  48. data/lib/capistrano/configuration/variables.rb +112 -0
  49. data/lib/capistrano/defaults.rb +26 -4
  50. data/lib/capistrano/deploy.rb +1 -2
  51. data/lib/capistrano/doctor.rb +6 -0
  52. data/lib/capistrano/doctor/environment_doctor.rb +19 -0
  53. data/lib/capistrano/doctor/gems_doctor.rb +45 -0
  54. data/lib/capistrano/doctor/output_helpers.rb +79 -0
  55. data/lib/capistrano/doctor/servers_doctor.rb +105 -0
  56. data/lib/capistrano/doctor/variables_doctor.rb +72 -0
  57. data/lib/capistrano/dotfile.rb +1 -2
  58. data/lib/capistrano/dsl.rb +49 -18
  59. data/lib/capistrano/dsl/env.rb +16 -46
  60. data/lib/capistrano/dsl/paths.rb +11 -25
  61. data/lib/capistrano/dsl/stages.rb +14 -2
  62. data/lib/capistrano/dsl/task_enhancements.rb +7 -12
  63. data/lib/capistrano/framework.rb +1 -1
  64. data/lib/capistrano/i18n.rb +32 -24
  65. data/lib/capistrano/immutable_task.rb +30 -0
  66. data/lib/capistrano/install.rb +1 -1
  67. data/lib/capistrano/plugin.rb +95 -0
  68. data/lib/capistrano/proc_helpers.rb +13 -0
  69. data/lib/capistrano/scm.rb +7 -20
  70. data/lib/capistrano/scm/git.rb +100 -0
  71. data/lib/capistrano/scm/hg.rb +55 -0
  72. data/lib/capistrano/scm/plugin.rb +13 -0
  73. data/lib/capistrano/scm/svn.rb +56 -0
  74. data/lib/capistrano/scm/tasks/git.rake +73 -0
  75. data/lib/capistrano/scm/tasks/hg.rake +53 -0
  76. data/lib/capistrano/scm/tasks/svn.rake +53 -0
  77. data/lib/capistrano/setup.rb +20 -6
  78. data/lib/capistrano/tasks/console.rake +4 -8
  79. data/lib/capistrano/tasks/deploy.rake +105 -74
  80. data/lib/capistrano/tasks/doctor.rake +24 -0
  81. data/lib/capistrano/tasks/framework.rake +13 -14
  82. data/lib/capistrano/tasks/install.rake +14 -15
  83. data/lib/capistrano/templates/Capfile +22 -11
  84. data/lib/capistrano/templates/deploy.rb.erb +18 -27
  85. data/lib/capistrano/templates/stage.rb.erb +36 -20
  86. data/lib/capistrano/upload_task.rb +1 -1
  87. data/lib/capistrano/version.rb +1 -1
  88. data/lib/capistrano/version_validator.rb +5 -10
  89. data/spec/integration/dsl_spec.rb +311 -289
  90. data/spec/integration_spec_helper.rb +3 -5
  91. data/spec/lib/capistrano/application_spec.rb +23 -39
  92. data/spec/lib/capistrano/configuration/empty_filter_spec.rb +17 -0
  93. data/spec/lib/capistrano/configuration/filter_spec.rb +83 -79
  94. data/spec/lib/capistrano/configuration/host_filter_spec.rb +71 -0
  95. data/spec/lib/capistrano/configuration/null_filter_spec.rb +17 -0
  96. data/spec/lib/capistrano/configuration/plugin_installer_spec.rb +98 -0
  97. data/spec/lib/capistrano/configuration/question_spec.rb +58 -26
  98. data/spec/lib/capistrano/configuration/role_filter_spec.rb +80 -0
  99. data/spec/lib/capistrano/configuration/scm_resolver_spec.rb +55 -0
  100. data/spec/lib/capistrano/configuration/server_spec.rb +124 -100
  101. data/spec/lib/capistrano/configuration/servers_spec.rb +143 -123
  102. data/spec/lib/capistrano/configuration_spec.rb +231 -59
  103. data/spec/lib/capistrano/doctor/environment_doctor_spec.rb +44 -0
  104. data/spec/lib/capistrano/doctor/gems_doctor_spec.rb +67 -0
  105. data/spec/lib/capistrano/doctor/output_helpers_spec.rb +47 -0
  106. data/spec/lib/capistrano/doctor/servers_doctor_spec.rb +86 -0
  107. data/spec/lib/capistrano/doctor/variables_doctor_spec.rb +89 -0
  108. data/spec/lib/capistrano/dsl/paths_spec.rb +201 -42
  109. data/spec/lib/capistrano/dsl/task_enhancements_spec.rb +57 -37
  110. data/spec/lib/capistrano/dsl_spec.rb +84 -11
  111. data/spec/lib/capistrano/immutable_task_spec.rb +31 -0
  112. data/spec/lib/capistrano/plugin_spec.rb +84 -0
  113. data/spec/lib/capistrano/scm/git_spec.rb +184 -0
  114. data/spec/lib/capistrano/scm/hg_spec.rb +109 -0
  115. data/spec/lib/capistrano/scm/svn_spec.rb +137 -0
  116. data/spec/lib/capistrano/scm_spec.rb +7 -8
  117. data/spec/lib/capistrano/upload_task_spec.rb +7 -7
  118. data/spec/lib/capistrano/version_validator_spec.rb +61 -46
  119. data/spec/lib/capistrano_spec.rb +2 -3
  120. data/spec/spec_helper.rb +21 -8
  121. data/spec/support/Vagrantfile +18 -8
  122. data/spec/support/tasks/database.rake +3 -3
  123. data/spec/support/tasks/fail.rake +4 -3
  124. data/spec/support/tasks/failed.rake +2 -2
  125. data/spec/support/tasks/plugin.rake +6 -0
  126. data/spec/support/tasks/root.rake +11 -0
  127. data/spec/support/test_app.rb +63 -39
  128. metadata +121 -44
  129. data/features/remote_file_task.feature +0 -14
  130. data/lib/capistrano/git.rb +0 -46
  131. data/lib/capistrano/hg.rb +0 -43
  132. data/lib/capistrano/svn.rb +0 -38
  133. data/lib/capistrano/tasks/git.rake +0 -81
  134. data/lib/capistrano/tasks/hg.rake +0 -52
  135. data/lib/capistrano/tasks/svn.rake +0 -52
  136. data/spec/lib/capistrano/git_spec.rb +0 -81
  137. data/spec/lib/capistrano/hg_spec.rb +0 -81
  138. data/spec/lib/capistrano/svn_spec.rb +0 -79
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: c070509b8ffb4ed5817485be5837b7f33b98a99c
4
- data.tar.gz: 08c9555174d74715e0615738d7deb4f472e77595
2
+ SHA256:
3
+ metadata.gz: 34b4f8bf408d7e3aeeb3adcb61a44af437f1015c2206d41dae97602445411558
4
+ data.tar.gz: 99d880dedf50994b9e8ac61d43ed3ad5a7a2e11a84269a085f59bc463aff3407
5
5
  SHA512:
6
- metadata.gz: 338b464cb5443d6ce1f63a121637c5d3acb5c8b956add0b7a0af1fbd27d92d57ebf34ecb052dccdd6ff1d7fb1579cbc54027a9c4d219b6dc269998af6457bdfb
7
- data.tar.gz: d4e7ab991450dc7f6072137b09e10e5500cbbb79c536896b8b4228a4976cd6e7a37dd57970d3908662d2083e78457a4376d45d0144e753bc13a50f307cfc9544
6
+ metadata.gz: b07d663529584f6a0fb8b324f55cc4033eabb6812d7212e8dfc5dff4c84a2c6afd038341070811370d92bbbff5fbc93836118e3d5be949a48b47e1c7af5099cf
7
+ data.tar.gz: a0cd52b0c258c527320fec4057b98014856ebbecebfe187ac29f88f3c562843882457cfcfb33addfe2c17a4c6d0b4b3af625941812ef9bf779998cc4d1aa6cb3
@@ -0,0 +1,19 @@
1
+ **Important:** GitHub issues are for feature requests or bug reports. The Capistrano team recommends you use [Stack Overflow](http://stackoverflow.com/questions/tagged/capistrano) for general questions. For more details, please see our [contribution policy](https://github.com/capistrano/capistrano/blob/master/CONTRIBUTING.md).
2
+
3
+ ---
4
+
5
+ ### Steps to reproduce
6
+ If reasonable, you can help by creating a Capistrano skeleton example project which reproduces the issue you are seeing. You can then upload the individual files to a GitHub Gist or a GitHub project. Others can simply modify the configuration to point at a test server/repository of their own. Often times, an issue is resolved simply by making this test case.
7
+
8
+ An example test case is here: https://gist.github.com/will-in-wi/527327e31af30b3eae2068e2965be05b
9
+
10
+ ### Expected behavior
11
+ Tell us what should happen
12
+
13
+ ### Actual behavior
14
+ Tell us what happens instead
15
+
16
+ ### System configuration
17
+ Please link to the output of `cap <stage> doctor` in a GitHub Gist.
18
+
19
+ Thanks for helping improve Capistrano!
@@ -0,0 +1,22 @@
1
+ ### Summary
2
+
3
+ (Guidelines for creating a bug report are available
4
+ here: https://github.com/capistrano/capistrano/blob/master/DEVELOPMENT.md)
5
+
6
+ Provide a general description of the code changes in your pull
7
+ request... were there any bugs you had fixed? If so, mention them. If
8
+ these bugs have open GitHub issues, be sure to tag them here as well,
9
+ to keep the conversation linked together.
10
+
11
+ ### Short checklist
12
+
13
+ - [ ] Did you run `bundle exec rubocop -a` to fix linter issues?
14
+ - [ ] If relevant, did you create a test?
15
+ - [ ] Did you confirm that the RSpec tests pass?
16
+
17
+ ### Other Information
18
+
19
+ If there's anything else that's important and relevant to your pull
20
+ request, mention that information here.
21
+
22
+ Thanks for helping improve Capistrano!
@@ -0,0 +1,17 @@
1
+ name-template: "$NEXT_PATCH_VERSION"
2
+ tag-template: "v$NEXT_PATCH_VERSION"
3
+ categories:
4
+ - title: "⚠️ Breaking Changes"
5
+ label: "⚠️ Breaking"
6
+ - title: "✨ New Features"
7
+ label: "✨ Feature"
8
+ - title: "🐛 Bug Fixes"
9
+ label: "🐛 Bug Fix"
10
+ - title: "📚 Documentation"
11
+ label: "📚 Docs"
12
+ - title: "🏠 Housekeeping"
13
+ label: "🏠 Housekeeping"
14
+ change-template: "- $TITLE (#$NUMBER) @$AUTHOR"
15
+ no-changes-template: "- No changes"
16
+ template: |
17
+ $CHANGES
@@ -0,0 +1,12 @@
1
+ on: push
2
+ name: Push
3
+ jobs:
4
+ draftRelease:
5
+ name: Draft Release
6
+ runs-on: ubuntu-latest
7
+ steps:
8
+ - uses: actions/checkout@master
9
+ - name: Draft Release
10
+ uses: toolmantim/release-drafter@v5.2.0
11
+ env:
12
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
data/.gitignore CHANGED
@@ -1,10 +1,15 @@
1
1
  *.gem
2
2
  *.rbc
3
+ *.swp
3
4
  .bundle
4
5
  .config
6
+ .rspec
7
+ .rspec-local
8
+ .ruby-version
5
9
  .yardoc
6
10
  Gemfile.lock
7
11
  InstalledFiles
12
+ _site
8
13
  _yardoc
9
14
  coverage
10
15
  doc/
@@ -12,11 +17,9 @@ lib/bundler/man
12
17
  pkg
13
18
  rdoc
14
19
  spec/reports
20
+ tags
15
21
  test/tmp
16
22
  test/version_tmp
17
23
  tmp
18
- .rspec-local
19
- .ruby-version
20
- _site
21
- .rspec
22
- *.swp
24
+ /docs/_site/
25
+ vendor/
data/.rubocop.yml ADDED
@@ -0,0 +1,62 @@
1
+ AllCops:
2
+ DisplayCopNames: true
3
+ DisplayStyleGuide: true
4
+ TargetRubyVersion: 2.0
5
+
6
+ Lint/AmbiguousBlockAssociation:
7
+ Enabled:
8
+ false
9
+ Metrics/BlockLength:
10
+ Exclude:
11
+ - "*.gemspec"
12
+ - "spec/**/*"
13
+ - "lib/**/*.rake"
14
+ Style/BarePercentLiterals:
15
+ EnforcedStyle: percent_q
16
+ Style/ClassAndModuleChildren:
17
+ Enabled: false
18
+ Style/DoubleNegation:
19
+ Enabled: false
20
+ Style/FileName:
21
+ Exclude:
22
+ - "Dangerfile"
23
+ Style/IndentHeredoc:
24
+ Enabled: false
25
+ Style/SpaceAroundEqualsInParameterDefault:
26
+ EnforcedStyle: no_space
27
+ Style/StringLiterals:
28
+ EnforcedStyle: double_quotes
29
+ Style/TrivialAccessors:
30
+ AllowPredicates: true
31
+ Style/PercentLiteralDelimiters:
32
+ Enabled: false
33
+ Style/SingleLineBlockParams:
34
+ Enabled: false
35
+ Style/ModuleFunction:
36
+ Enabled: false
37
+
38
+ # Enable someday
39
+ Style/Documentation:
40
+ Enabled: false
41
+
42
+ # Needs refactors
43
+ Metrics/PerceivedComplexity:
44
+ Enabled: false
45
+ Metrics/CyclomaticComplexity:
46
+ Enabled: false
47
+ Metrics/MethodLength:
48
+ Enabled: false
49
+ Style/PredicateName:
50
+ Enabled: false
51
+ Metrics/LineLength:
52
+ Enabled: false
53
+ Metrics/AbcSize:
54
+ Enabled: false
55
+ Style/PerlBackrefs:
56
+ Enabled: false
57
+ Metrics/ClassLength:
58
+ Enabled: false
59
+ Metrics/ModuleLength:
60
+ Enabled: false
61
+ Style/AccessorMethodName:
62
+ Enabled: false
data/.travis.yml CHANGED
@@ -1,12 +1,30 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.1.0
4
- - 2.0.0
5
- - 1.9.3
6
- - rbx-2
7
- script: bundle exec rake spec
3
+ - 3.0
4
+ - 2.7
5
+ - 2.6
6
+ - 2.5
7
+ - 2.4
8
+ - 2.3
9
+ - 2.2
10
+ - 2.1
11
+ - 2.0
12
+ matrix:
13
+ # Rubinius periodically fails in general, and it always segfaults for RuboCop
14
+ # in particular. Until we figure out how to make it work consistently, allow
15
+ # it to fail without breaking the build.
16
+ allow_failures:
17
+ - rvm: rbx-2
18
+ include:
19
+ - rvm: rbx-2
20
+ script: bundle exec rake spec
21
+ # Run Danger only once, on 2.5
22
+ - rvm: 2.5
23
+ before_script: bundle exec danger
24
+
25
+ script: bundle exec rake spec rubocop
8
26
  install: bundle install --jobs=1
9
27
  cache: bundler
10
28
  branches:
11
- except:
12
- - legacy-v2
29
+ only:
30
+ - master
data/CHANGELOG.md CHANGED
@@ -1,273 +1 @@
1
- # Capistrano 3.x Changelog
2
-
3
- Reverse Chronological Order:
4
-
5
- ## master
6
-
7
- https://github.com/capistrano/capistrano/compare/v3.3.5...HEAD
8
-
9
- ## `3.3.5`
10
-
11
- https://github.com/capistrano/capistrano/compare/v3.3.4...v3.3.5
12
-
13
- * Fixed setting properties twice when creating new server. See [issue
14
- #1214](https://github.com/capistrano/capistrano/issues/1214) (@ayastreb)
15
-
16
- ## `3.3.4`
17
-
18
- https://github.com/capistrano/capistrano/compare/v3.3.3...v3.3.4
19
-
20
- * Minor changes:
21
- * Rely on a newer version of capistrano-stats with better privacy (@leehambley)
22
- * Fix cucumber spec for loading tasks from stage configs (@sponomarev)
23
- * Minor documentation fixes (@deeeki, @seuros, @andresilveira)
24
- * Spec improvements (@dimitrid, @sponomarev)
25
- * Fix to CLI flags for git-ls-remote (@dimitrid)
26
-
27
- ## `3.3.3`
28
-
29
- https://github.com/capistrano/capistrano/compare/v3.2.1...v3.3.3
30
-
31
- * Enhancement (@townsen)
32
- * Added the variable `:repo_tree` which allows the specification of a sub-tree that
33
- will be extracted from the repository. This is useful when deploying a project
34
- that lives in a subdirectory of a larger repository.
35
- Implemented only for git and hg.
36
- If not defined then the behaviour is as previously and the whole repository is
37
- extracted (subject to git-archive `.gitattributes` of course).
38
-
39
- * Enhancement (@townsen): Remove unnecessary entries from default backtrace
40
-
41
- When the `--backtrace` (or `--trace`) command line option is not supplied
42
- Rake lowers the noise level in exception backtraces by building
43
- a regular expression containing all the system library paths and
44
- using it to exclude backtrace entries that match.
45
-
46
- This does not always go far enough, particularly in RVM environments when
47
- many gem paths are added. This commit reverses that approach and _only_
48
- include backtrace entries that fall within the Capfile and list of tasks
49
- imported thereafter. This makes reading exceptions much easier on the eye.
50
-
51
- If the full unexpurgated backtrace is required then the --backtrace
52
- and --trace options supply it as before.
53
-
54
- * Disable loading stages configs on `cap -T` (@sponomarev)
55
- * Track (anonymous) statistics, see https://github.com/capistrano/stats
56
-
57
- * Enhancements (@townsen)
58
- * Fix matching on hosts with custom ports or users set
59
- * Previously filtering would affect any generated configuration files so that
60
- files newly deployed would not be the same as those on the hosts previously
61
- deployed (and now excluded by filters). This is almost certainly not what is
62
- wanted: the filters should apply only to the on() method and thus any
63
- configuration files deployed will be identical across the set of servers
64
- making up the stage.
65
- * Host and Role filtering now affects only `on()` commands
66
- and not the `roles()`, `release_roles()` and `primary()` methods.
67
- * This applies to filters defined via the command line, the environment
68
- and the :filter variable.
69
- * Filtering now supports Regular expressions
70
- * This change _could_ cause existing scripts that use filtering and depend on
71
- the old behaviour to fail, though it is unlikely. Users who rely on
72
- filtering should check that generated configuration files are correct, and
73
- where not introduce server properties to do the filtering. For example, if a
74
- filter was used to specify an active subset of servers (by hostname), it should
75
- be removed and replaced with an 'active' property (set to true or false) on the
76
- server definitions. This keeps the stage file as the canonical model of the
77
- deployment environment.
78
-
79
- * See the documentation in the README.md file
80
-
81
- * Enhancements (@townsen)
82
- * Added set_if_empty method to DSL to allow conditional setting
83
- * Altered standard Capistrano defaults so that they are not set
84
- at the start of a stage if they have been previously set. This
85
- allows variables like :default_env to be set in deploy.rb.
86
- * Deep copy properties added using the 'roles' keyword
87
- * If a property exists on a server when another definition is
88
- encountered and is an Array, Set or Hash then add the new values
89
-
90
- This allows roles to specify properties common to all servers and
91
- then for individual servers to modify them, keeping things DRY
92
-
93
- Breaking Changes:
94
- * By using Ruby's noecho method introduced in Ruby version 1.9.3, we dropped support for Ruby versions prior to 1.9.3. See [issue #878](https://github.com/capistrano/capistrano/issues/878) and [PR #1112](https://github.com/capistrano/capistrano/pull/1112) for more information. (@kaikuchn)
95
-
96
- * Bug Fixes:
97
- * Fixed compatibility with FreeBSD tar (@robbertkl)
98
- * remote_file can be used inside a namespace (@mikz)
99
-
100
- * Minor Changes
101
- * Remove -v flag from mkdir call. (@caligo-mentis)
102
- * Capistrano now allows to customize `local_user` for revision log. (@sauliusgrigaitis)
103
- * Added tests for after/before hooks features (@juanibiapina, @miry)
104
- * Added `--force` flag to `svn export` command to fix errors when the release directory already exists.
105
- * Improved the output of `cap --help`. (@mbrictson)
106
- * Cucumber suite now runs on the latest version of Vagrant (@tpett)
107
- * The `ask` method now supports the `echo: false` option. (@mbrictson, @kaikuchn)
108
- * Cucumber scenario improvements (@bruno-)
109
- * Added suggestion to Capfile to use 'capistrano-passenger' gem, replacing suggestion in config/deploy.rb to re-implement 'deploy:restart' (@betesh)
110
- * Updated svn fetch_revision method to use `svnversion`
111
- * `cap install` no longer overwrites existing files. (@dmarkow)
112
-
113
- ## `3.2.1`
114
-
115
- https://github.com/capistrano/capistrano/compare/v3.2.0...v3.2.1
116
-
117
- * Bug Fixes:
118
- * 3.2.0 introduced some behaviour to modify the way before/after hooks were called, to allow the optional
119
- preservation of arguments to be passed to tasks. This release reverts that commit in order to restore
120
- original functionality, and fix (fairly serious) bugs introduced by the refactoring.
121
-
122
- * Minor changes:
123
- * Update dsl#local_user method and add test for it. (@bruno-)
124
- * Revert short sha1 revision with git. (@blaugueux)
125
- * Changed asking question to more standard format (like common unix commandline tools) (@sponomarev)
126
- * Fixed typos in the README. (@sponomarev)
127
- * Added `keys` method to Configuration to allow introspection of configuration options. (@juanibiapina)
128
- * Improve error message when git:check fails (raise instead of silently `exit 1`) (@mbrictson)
129
-
130
- ## `3.2.0`
131
-
132
- The changelog entries here are incomplete, because many authors choose not to
133
- be credited for their work, check the tag comparison link for Github.
134
-
135
- https://github.com/capistrano/capistrano/compare/v3.1.0...v3.2.0
136
-
137
- * Minor changes:
138
- * Added `keys` method to Server properties to allow introspection of automatically added
139
- properties.
140
- * Compatibility with Rake 10.2.0 - `ensure_task` is now added to `@top_level_tasks` as a string. (@dmarkow)
141
- * Amended the git check command, "ls-remote", to use "-h", limiting the list to refs/heads
142
-
143
- ## `3.1.0`
144
-
145
- https://github.com/capistrano/capistrano/compare/v3.0.1...v3.1.0
146
-
147
- Breaking changes:
148
-
149
- * `deploy:restart` task **is no longer run by default**.
150
- From this version, developers who restart the app on each deploy need to declare it in their deploy flow (eg `after 'deploy:publishing', 'deploy:restart'`)
151
- or, for passenger applications, use the capistrano-passenger gem.
152
-
153
- Please, check https://github.com/capistrano/capistrano/commit/4e6523e1f50707499cf75eb53dce37a89528a9b0 for more information. (@kirs)
154
-
155
- * Minor changes
156
- * Tasks that used `linked_dirs` and `linked_files` now run on all roles, not just app roles (@mikespokefire)
157
- * Tasks `deploy:linked_dirs`, `deploy:make_linked_dirs`, `deploy:linked_files`, `deploy:cleanup_rollback`,
158
- `deploy:log_revision` and `deploy:revert_release` now use `release_roles()` not `roles()` meaning that they
159
- will only run on servers where the `no_release` property is not falsy. (@leehambley)
160
- * Fixed bug when `deploy:cleanup` was executed twice by default (@kirs)
161
- * Config location can now be changed with `deploy_config_path` and `stage_config_path` options (@seenmyfate)
162
- * `no_release` option is now available (@seenmyfate)
163
- * Raise an error if developer tries to define `:all` role, which is reserved (@kirs)
164
- * `deploy:failed` hook was added to add some custom behaviour on failed deploy (@seenmyfate)
165
- * Correctly infer namespace in task enhancements (@seenmyfate)
166
- * Add SHA to revision log (@blackxored)
167
- * Allow configuration of multiple servers with same hostname but different ports (@rsslldnphy)
168
- * Add command line option to control role filtering (@andytinycat)
169
- * Make use of recent changes in Rake to over-ride the application name (@shime)
170
- * Readme corrections (@nathanstitt)
171
- * Allow roles to be fetched with a variable containing an array (@seenmyfate)
172
- * Improve console (@jage)
173
- * Add ability to filter tasks to specific servers (host filtering). (@andytinycat)
174
- * Add a command line option to control role filter (`--roles`) (@andytinycat)
175
- * Use an SCM object with a pluggable strategy (@coffeeaddict)
176
-
177
- Big thanks to @Kriechi for his help.
178
-
179
- ## `3.0.1`
180
-
181
- https://github.com/capistrano/capistrano/compare/v3.0.0...v3.0.1
182
-
183
- * `capify` not listed as executable (@leehambley)
184
- * Confirm license as MIT (@leehambley)
185
- * Move the git ssh helper to application path (@mpapis)
186
-
187
- ## `3.0.0`
188
-
189
- https://github.com/capistrano/capistrano/compare/2.15.5...v3.0.0
190
-
191
- If you are coming here to wonder why your Capfile doesn't work anymore, please
192
- vendor lock your Capistrano at 2.x, whichever version was working for you
193
- until today.
194
-
195
- Capistrano 3 is a ground-up rewrite with modularity, stability, speed and
196
- future proofing in mind. It's a big change, but now the code is 10x smaller,
197
- runs faster, is easier to read, and quicker to extend. In the reduction we've
198
- come up with a great gem based modular system for plugins and we're really
199
- proud of this release.
200
-
201
- The 3.0.0 release contains 38 patches from the following amazing people:
202
-
203
- * Tom `seenmyfate` Clements: more than 28 patches including cucumber integration tests! Not to
204
- mention Rails asset pipeline code, and bundler integrations.
205
- * Lee Hambley: Small changes around compatibility and log formatting
206
- * Kir Shatrov: for improvements in the core to make it easier to write extensions, for
207
- improving documentation, and for effectively building the chruby, rvm and rbenv integrations.
208
- * Michael Nikitochkin: Fixing a bug around linked files and directories.
209
- * Jack Thorne: for improvements to the default `Capfile` to fix some bad example syntax.
210
- * Erik Hetzner: for (what looks like great) work on the Mercurial (Hg) support. The Hg and Git
211
- source control mechanisms do not work the same way, but rather lean on the strengths of the
212
- underlying tools.
213
-
214
- (If I missed anyone, I'm sorry, your contributions have been awesome)
215
-
216
- The 2.x branch of code is now no longer maintained. Towards the end of it's
217
- useful life there were an increasing number of features and pieces of code
218
- which didn't make sense for certain groups of people, in certain situations,
219
- leading a to a ping-pong tennis effect with pull requests every few weeks
220
- "fixing" a use-case which had already been "fixed" shortly before. As many of
221
- the use-cases are outside the scope of the testing environments I (and by
222
- extension the trusted contributors and IRC regulars) were able to test for.
223
-
224
- There's a more extensive post about my failure to be able to keep up with the
225
- demands of maintaining v2 whilst trying to build something which is appropriate
226
- for the current landscape. If you are affected by the unsupported 2 branch,
227
- please contact me (Lee Hambley) to discuss how my company can help support you.
228
- Otherwise, please try v3, we're sure you'll like it, and the code is designed
229
- to be so simple that anyone can work on it.
230
-
231
- ## `3.0.0.pre14`
232
-
233
- * Thanks to numerous contributors, in particular (@teohm) for a series of improvements.
234
-
235
- ## `3.0.0.pre13`
236
-
237
- * Fixed typos in the Capfile. (@teohm)
238
- * Allow setting SSH options globally. (@korin)
239
- * Change the flow (and hooks) see http://www.capistranorb.com/documentation/getting-started/flow/ for more information. Requires min SSHKit 0.0.34 (@teohm)
240
- * Fix sorting releases in lexicographical order (@teohm)
241
-
242
- ## `3.0.0.pre12`
243
-
244
- * `capistrano/bundler` now runs bundle on all roles, this addresses the same
245
- issue as the related changes in `pre11`. (@leehambley)
246
-
247
- ## `3.0.0.pre11`
248
-
249
- * Some deploy.rake tasks now apply to all servers, not expecting a
250
- primary(:app) server which may not exist in all deploy environments.
251
- (@leehambley).
252
-
253
- ## `3.0.0.pre10`
254
-
255
- * Fixes pre9.
256
-
257
- ## `3.0.0.pre9`
258
-
259
- * Fixes a syntax error introduced with filtering (with tests) introduced in
260
- `pre8`. (@leehambley)
261
-
262
- ## `3.0.0.pre8`
263
-
264
- * Fixed a syntax where `roles(:foo, :bar)` was being mistaken as a filter
265
- (roles(:foo, :bar => nil). The correct syntax to use is: roles([:foo,:bar])
266
- (@leehambley)
267
-
268
- ## `3.0.0.pre7`
269
-
270
- * Fix Git https authentication. (@leehambley)
271
- * Capfile template fixes (repo/repo_url) (@teohm)
272
- * Readme Fixes (@ffmike, @kejadlen, @dwickwire)
273
- * Fix the positioning of the bundler hook, now immediately after finalize. (@teohm)
1
+ Release notes for this project are kept here: https://github.com/capistrano/capistrano/releases