capistrano 3.3.5 → 3.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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