foodcritic 2.1.0 → 2.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +691 -0
- data/LICENSE +21 -0
- data/README.md +28 -0
- data/chef_dsl_metadata/chef_0.10.10.json +22 -0
- data/chef_dsl_metadata/chef_10.12.0.json +22 -0
- data/chef_dsl_metadata/chef_10.14.0.json +22 -0
- data/chef_dsl_metadata/chef_10.14.2.json +22 -0
- data/chef_dsl_metadata/chef_10.14.4.json +22 -0
- data/chef_dsl_metadata/chef_10.16.0.json +22 -0
- data/chef_dsl_metadata/chef_10.16.2.json +22 -0
- data/chef_dsl_metadata/chef_10.16.4.json +22 -0
- data/chef_dsl_metadata/chef_10.16.6.json +22 -0
- data/chef_dsl_metadata/chef_10.18.0.json +22 -0
- data/chef_dsl_metadata/chef_10.18.2.json +22 -0
- data/chef_dsl_metadata/chef_10.20.0.json +22 -0
- data/chef_dsl_metadata/chef_10.22.0.json +22 -0
- data/chef_dsl_metadata/chef_10.24.0.json +22 -0
- data/chef_dsl_metadata/chef_10.24.4.json +8460 -0
- data/chef_dsl_metadata/chef_10.26.0.json +8460 -0
- data/chef_dsl_metadata/chef_11.0.0.json +22 -0
- data/chef_dsl_metadata/chef_11.2.0.json +22 -0
- data/chef_dsl_metadata/chef_11.4.0.json +22 -0
- data/chef_dsl_metadata/chef_11.4.2.json +8794 -0
- data/chef_dsl_metadata/chef_11.4.4.json +8794 -0
- data/features/002_check_string_interpolation.feature +45 -0
- data/features/003_check_for_chef_server.feature +56 -0
- data/features/004_check_service_resource_used.feature +53 -0
- data/features/005_check_for_resource_repetition.feature +64 -0
- data/features/006_check_file_mode.feature +35 -0
- data/features/007_check_for_undeclared_recipe_dependencies.feature +71 -0
- data/features/008_check_for_boilerplate_metadata.feature +25 -0
- data/features/009_check_for_unrecognised_resource_attributes.feature +77 -0
- data/features/010_check_search_syntax.feature +20 -0
- data/features/011_check_for_markdown_readme.feature +20 -0
- data/features/012_check_for_deprecated_readme_format.feature +20 -0
- data/features/013_check_for_hardcoded_tmpdir.feature +25 -0
- data/features/014_check_for_long_ruby_blocks.feature +30 -0
- data/features/015_check_for_definitions.feature +21 -0
- data/features/016_check_for_no_lwrp_default_action.feature +20 -0
- data/features/017_check_for_no_lwrp_notifications.feature +25 -0
- data/features/018_check_for_old_lwrp_notification_syntax.feature +25 -0
- data/features/019_check_for_consistent_node_access.feature +107 -0
- data/features/021_check_for_dodgy_lwrp_conditions.feature +28 -0
- data/features/022_check_for_dodgy_conditions_within_loop.feature +28 -0
- data/features/023_check_for_condition_around_resource.feature +52 -0
- data/features/024_check_for_missing_platforms.feature +43 -0
- data/features/025_check_for_deprecated_gem_install.feature +30 -0
- data/features/026_check_for_conditional_block_string.feature +20 -0
- data/features/027_check_for_internal_attribute_use.feature +22 -0
- data/features/028_check_for_incorrect_platform_method.feature +20 -0
- data/features/029_check_for_no_leading_cookbook_name.feature +18 -0
- data/features/030_check_for_debugger_breakpoints.feature +25 -0
- data/features/031_check_for_metadata_existence.feature +15 -0
- data/features/032_check_for_invalid_notification_timing.feature +22 -0
- data/features/033_check_for_missing_template.feature +75 -0
- data/features/034_check_for_unused_template_variables.feature +37 -0
- data/features/037_check_for_invalid_notification_action.feature +34 -0
- data/features/038_check_for_invalid_action.feature +51 -0
- data/features/039_check_for_key_access_to_node_methods.feature +33 -0
- data/features/040_check_raw_git_usage.feature +37 -0
- data/features/041_check_raw_download.feature +26 -0
- data/features/042_check_for_deprecated_require_recipe.feature +15 -0
- data/features/043_check_for_old_notification_style.feature +35 -0
- data/features/044_check_for_bare_attribute_keys.feature +43 -0
- data/features/045_check_for_cookbook_name_in_metadata.feature +20 -0
- data/features/046_check_for_assign_unless_nil_attributes.feature +21 -0
- data/features/build_framework_support.feature +99 -0
- data/features/checking_all_types_of_file.feature +40 -0
- data/features/choose_rules_to_apply.feature +49 -0
- data/features/command_line_help.feature +43 -0
- data/features/continuous_integration_support.feature +35 -0
- data/features/ignore_via_line_comments.feature +51 -0
- data/features/include_custom_rules.feature +29 -0
- data/features/individual_file.feature +12 -0
- data/features/limit_rules_to_specific_versions.feature +65 -0
- data/features/multiple_paths.feature +11 -0
- data/features/show_lines_matched.feature +20 -0
- data/features/sort_warnings.feature +10 -0
- data/features/specify_search_grammar.feature +25 -0
- data/features/step_definitions/cookbook_steps.rb +1791 -0
- data/features/support/command_helpers.rb +312 -0
- data/features/support/cookbook_helpers.rb +495 -0
- data/features/support/env.rb +11 -0
- data/lib/foodcritic.rb +0 -1
- data/lib/foodcritic/api.rb +3 -2
- data/lib/foodcritic/command_line.rb +4 -0
- data/lib/foodcritic/linter.rb +29 -6
- data/lib/foodcritic/output.rb +74 -26
- data/lib/foodcritic/rules.rb +6 -5
- data/lib/foodcritic/version.rb +1 -1
- data/man/foodcritic.1 +58 -0
- data/man/foodcritic.1.ronn +57 -0
- data/spec/foodcritic/api_spec.rb +1615 -0
- data/spec/foodcritic/chef_spec.rb +66 -0
- data/spec/foodcritic/command_line_spec.rb +51 -0
- data/spec/foodcritic/domain_spec.rb +24 -0
- data/spec/foodcritic/linter_spec.rb +91 -0
- data/spec/foodcritic/template_spec.rb +49 -0
- data/spec/regression/cookbooks.txt +135 -0
- data/spec/regression/expected-output.txt +443 -0
- data/spec/regression/regression_spec.rb +17 -0
- data/spec/regression_helpers.rb +37 -0
- data/spec/spec_helper.rb +10 -0
- metadata +87 -24
data/CHANGELOG.md
ADDED
@@ -0,0 +1,691 @@
|
|
1
|
+
## 2.2.0 (10th July, 2013)
|
2
|
+
|
3
|
+
Features:
|
4
|
+
|
5
|
+
- Additional rules may now be shipped as gems. Files matching the path
|
6
|
+
`foodcritic/rules/**/*.rb` will be loaded if the `--search-gems` option is
|
7
|
+
specified
|
8
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/143)). Thanks
|
9
|
+
to @rteabeault for implementing this feature.
|
10
|
+
- You can now control the rules applied to individual cookbooks by including
|
11
|
+
a `.foodcritic` file at the root of your cookbook with the tags you want
|
12
|
+
checked
|
13
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/141)). Thanks
|
14
|
+
to @sabat for implementing this feature.
|
15
|
+
- The [project license](https://github.com/acrmp/foodcritic/blob/master/LICENSE)
|
16
|
+
is now included in the built gem
|
17
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/145)).
|
18
|
+
Thanks @stefanor.
|
19
|
+
- Foodcritic no longer uses the `rak` gem to generate output with context
|
20
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/146)).
|
21
|
+
Thanks to @stefanor for re-implementing context output to remove this
|
22
|
+
dependency.
|
23
|
+
- A man page is now included with foodcritic in
|
24
|
+
[ronn-format](http://rtomayko.github.io/ronn/).
|
25
|
+
Thanks @stefanor.
|
26
|
+
|
27
|
+
Bugfixes:
|
28
|
+
|
29
|
+
- Definitions are now included in the files that are linted
|
30
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/142)). Thanks
|
31
|
+
@bpaquet.
|
32
|
+
- [FC009: Resource attribute not recognised](http://acrmp.github.com/foodcritic/#FC009)
|
33
|
+
would warn against Windows-specific resource attributes
|
34
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/135)). Thanks
|
35
|
+
@stormtrooperguy.
|
36
|
+
- [FC011: Missing README in markdown format](http://acrmp.github.com/foodcritic/#FC011)
|
37
|
+
was not shown when outputting with context enabled
|
38
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/146)). Thanks
|
39
|
+
@stefanor.
|
40
|
+
- [FC014: Consider extracting long ruby_block to library](http://acrmp.github.com/foodcritic/#FC014)
|
41
|
+
previously used the number of AST nodes to determine block length. This
|
42
|
+
was a poor proxy for length and this rule has been updated to warn if the
|
43
|
+
number of lines > 15
|
44
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/130)). Thanks
|
45
|
+
@adamjk-dev.
|
46
|
+
- [FC014: Consider extracting long ruby_block to library](http://acrmp.github.com/foodcritic/#FC014)
|
47
|
+
would warn against other blocks incorrectly
|
48
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/130)). Thanks
|
49
|
+
@adamjk-dev.
|
50
|
+
- [FC014: Consider extracting long ruby_block to library](http://acrmp.github.com/foodcritic/#FC014)
|
51
|
+
would raise an error if the ruby_block did not contain a nested `block`
|
52
|
+
attribute
|
53
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/139)). Thanks
|
54
|
+
@stevendanna.
|
55
|
+
- [FC033: Missing template](http://acrmp.github.com/foodcritic/#FC033)
|
56
|
+
would warn when the template file did not have an erb extension
|
57
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/131)). Thanks
|
58
|
+
@nvwls.
|
59
|
+
- [FC034: Unused template variables](http://acrmp.github.com/foodcritic/#FC034)
|
60
|
+
would warn when the template file did not have an erb extension
|
61
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/131)). Thanks
|
62
|
+
@nvwls.
|
63
|
+
|
64
|
+
## 2.1.0 (17th April, 2013)
|
65
|
+
|
66
|
+
Features:
|
67
|
+
|
68
|
+
- DSL metadata will now reflect the version of Chef selected with
|
69
|
+
`--chef-version`. For example this means that
|
70
|
+
[FC009: Resource attribute not recognised](http://acrmp.github.com/foodcritic/#FC009)
|
71
|
+
will warn about attributes not present in the specified version of Chef.
|
72
|
+
|
73
|
+
Bugfixes:
|
74
|
+
|
75
|
+
- [FC045: Consider setting cookbook name in metadata](http://acrmp.github.com/foodcritic/#FC045)
|
76
|
+
would warn incorrectly and other rules would fail to work when activesupport
|
77
|
+
had been loaded
|
78
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/118)). This
|
79
|
+
affected Berkshelf users. Thanks @scalp42 and @c-nolic.
|
80
|
+
- Upgrade the version of Gherkin dependency to avoid deprecation warnings
|
81
|
+
([related issue](https://github.com/acrmp/foodcritic/pull/122)).
|
82
|
+
Thanks @tmatilai.
|
83
|
+
|
84
|
+
Other:
|
85
|
+
|
86
|
+
- Known to run on MRI 2.0.0 - added to Travis CI matrix.
|
87
|
+
|
88
|
+
## 2.0.1 (31st March, 2013)
|
89
|
+
|
90
|
+
Bugfixes:
|
91
|
+
|
92
|
+
- Matches that should be ignored were not if the rule implementation used the
|
93
|
+
`cookbook` block
|
94
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/119)).
|
95
|
+
- [FC033: Missing Template](http://acrmp.github.com/foodcritic/#FC033)
|
96
|
+
would warn incorrectly when the template resource was nested within another
|
97
|
+
resource
|
98
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/96)).
|
99
|
+
Thanks @justinforce.
|
100
|
+
- The `#resource_attributes` API method now copes with nested resources.
|
101
|
+
|
102
|
+
## 2.0.0 (24th March, 2013)
|
103
|
+
|
104
|
+
Features
|
105
|
+
|
106
|
+
- Support added for ignoring individual matches. To ignore a match add a
|
107
|
+
comment to the affected line in your cookbook of the format `# ~FC006`
|
108
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/119)).
|
109
|
+
Big thanks to @grosser.
|
110
|
+
- Command line help now specifies the tag to use to fail the build on any
|
111
|
+
rule match
|
112
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/108)).
|
113
|
+
Thanks @grosser.
|
114
|
+
- FC046: Attribute assignment uses assign unless nil
|
115
|
+
rule added
|
116
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/52)).
|
117
|
+
Thanks @jaymzh.
|
118
|
+
|
119
|
+
Bugfixes:
|
120
|
+
|
121
|
+
- [FC003: Check whether you are running with chef server before using server-specific features](http://acrmp.github.com/foodcritic/#FC003)
|
122
|
+
updated to recognise checks that use return
|
123
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/92)).
|
124
|
+
Thanks @sethvargo, @miketheman.
|
125
|
+
- [FC003: Check whether you are running with chef server before using server-specific features](http://acrmp.github.com/foodcritic/#FC003)
|
126
|
+
updated to recognise checks that test for Chef Solo with alternation
|
127
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/103)).
|
128
|
+
Thanks @promisedlandt.
|
129
|
+
- [FC017: LWRP does not notify when updated](http://acrmp.github.com/foodcritic/#FC017)
|
130
|
+
modified to no longer warn when a notification is made without parentheses
|
131
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/121)).
|
132
|
+
Thanks @justinforce.
|
133
|
+
- [FC019: Access node attributes in a consistent manner](http://acrmp.github.com/foodcritic/#FC019)
|
134
|
+
would previously only show warnings for the first matching file.
|
135
|
+
- [FC019: Access node attributes in a consistent manner](http://acrmp.github.com/foodcritic/#FC019)
|
136
|
+
updated to avoid showing a false positive where a search is passed an
|
137
|
+
argument based on a node attribute accessed with a string.
|
138
|
+
- [FC019: Access node attributes in a consistent manner](http://acrmp.github.com/foodcritic/#FC019)
|
139
|
+
updated to exclude specs, removing a source of false positives.
|
140
|
+
- [FC019: Access node attributes in a consistent manner](http://acrmp.github.com/foodcritic/#FC019)
|
141
|
+
fixed regression in var_ref handling.
|
142
|
+
- [FC019: Access node attributes in a consistent manner](http://acrmp.github.com/foodcritic/#FC019)
|
143
|
+
updated to not trigger on quoted symbols
|
144
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/88)).
|
145
|
+
Thanks @spheromak.
|
146
|
+
- [FC024: Consider adding platform equivalents](http://acrmp.github.com/foodcritic/#FC024)
|
147
|
+
updated to only warn about platform equivalents that are listed in the
|
148
|
+
cookbook metadata
|
149
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/59)).
|
150
|
+
Thanks @tknerr.
|
151
|
+
- [FC037: Invalid notification action](http://acrmp.github.com/foodcritic/#FC037)
|
152
|
+
would cause foodcritic to halt with an error when a notification action was
|
153
|
+
specified as an expression
|
154
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/104)).
|
155
|
+
Thanks @jaymzh.
|
156
|
+
- [FC040: Execute resource used to run git commands](http://acrmp.github.com/foodcritic/#FC040)
|
157
|
+
updated to not match if the git command cannot be expressed as a `git`
|
158
|
+
resource.
|
159
|
+
([related issue](https://github.com/acrmp/foodcritic/pull/98)).
|
160
|
+
Thanks @trobrock for raising this issue and implementing the fix.
|
161
|
+
- [FC043: Prefer new notification syntax](http://acrmp.github.com/foodcritic/#FC043)
|
162
|
+
updated to apply only to Chef versions >= 0.9.10
|
163
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/114)).
|
164
|
+
Thanks @iainbeeston.
|
165
|
+
- [FC044: Avoid bare attribute keys](http://acrmp.github.com/foodcritic/#FC044)
|
166
|
+
changed to not raise false positives against block variables
|
167
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/105)).
|
168
|
+
Thanks @jaymzh.
|
169
|
+
|
170
|
+
Other:
|
171
|
+
|
172
|
+
- The `--repl` command line flag has been removed. This feature little used
|
173
|
+
and was problematic for users attempting to use newer versions of pry or
|
174
|
+
guard
|
175
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/50)).
|
176
|
+
Thanks @jperry, @miketheman, @jtimberman.
|
177
|
+
- The `os_command?` api method has been removed.
|
178
|
+
- The deprecated `cookbook_path` and `valid_path?` methods have been removed.
|
179
|
+
This may cause breakage if you are using foodcritic programatically from
|
180
|
+
Ruby. Please update your code to use the `cookbook_paths` and `valid_paths?`
|
181
|
+
methods instead.
|
182
|
+
- Added regression test for expected output against opscode-cookbooks. Run
|
183
|
+
`bundle exec rake regressions` to perform this test.
|
184
|
+
|
185
|
+
## 1.7.0 (27th December, 2012)
|
186
|
+
|
187
|
+
Features
|
188
|
+
|
189
|
+
- [FC038: Invalid resource action](http://acrmp.github.com/foodcritic/#FC038)
|
190
|
+
rule added
|
191
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/61)).
|
192
|
+
Thanks @jaymzh.
|
193
|
+
- [FC039: Node method cannot be accessed with key](http://acrmp.github.com/foodcritic/#FC039)
|
194
|
+
rule added.
|
195
|
+
- [FC040: Execute resource used to run git commands](http://acrmp.github.com/foodcritic/#FC040)
|
196
|
+
rule stolen from Etsy rules (ETSY003)
|
197
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/72)).
|
198
|
+
Thanks @jonlives.
|
199
|
+
- [FC041: Execute resource used to run curl or wget commands](http://acrmp.github.com/foodcritic/#FC041)
|
200
|
+
rule stolen from Etsy rules (ETSY002)
|
201
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/73)).
|
202
|
+
Thanks @jonlives.
|
203
|
+
- [FC042: Prefer include_recipe](http://acrmp.github.com/foodcritic/#FC042)
|
204
|
+
rule added
|
205
|
+
([related issue](https://github.com/acrmp/foodcritic/pull/77)).
|
206
|
+
Thanks @pwelch.
|
207
|
+
- [FC043: Prefer new notification syntax](http://acrmp.github.com/foodcritic/#FC043)
|
208
|
+
rule added
|
209
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/80)).
|
210
|
+
Thanks @jtimberman.
|
211
|
+
- [FC044: Avoid bare attribute keys](http://acrmp.github.com/foodcritic/#FC044)
|
212
|
+
rule added
|
213
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/75)).
|
214
|
+
Thanks @jtimberman.
|
215
|
+
- [FC045: Consider setting cookbook name in metadata](http://acrmp.github.com/foodcritic/#FC045)
|
216
|
+
rule added
|
217
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/64)).
|
218
|
+
Thanks @miketheman.
|
219
|
+
- Linter `#check` method no longer requires options to be explicitly passed if
|
220
|
+
you are using the defaults
|
221
|
+
([related issue](https://github.com/acrmp/foodcritic/pull/71)).
|
222
|
+
Thanks @kreynolds.
|
223
|
+
|
224
|
+
Bugfixes:
|
225
|
+
|
226
|
+
- Bump version of Nokogiri to
|
227
|
+
[fix installation failure on Ubuntu 12.10](https://github.com/sparklemotion/nokogiri/issues/680)
|
228
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/83)).
|
229
|
+
Thanks @dracoater.
|
230
|
+
- Support added for quoted symbols as notification actions
|
231
|
+
([related issue](https://github.com/acrmp/foodcritic/pull/94)).
|
232
|
+
Thanks @ohm.
|
233
|
+
- Add `spec/**/*` and `features/**/*` to default rake task `:exclude_paths`
|
234
|
+
([related issue](https://github.com/acrmp/foodcritic/pull/84)).
|
235
|
+
Thanks @fnichol.
|
236
|
+
- Remove unnecessary whitespace from rake task output
|
237
|
+
([related issue](https://github.com/acrmp/foodcritic/pull/78)).
|
238
|
+
Thanks @ketan.
|
239
|
+
- Removed [FC001: Use strings in preference to symbols to access node attributes](http://acrmp.github.com/foodcritic/#FC001)
|
240
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/86)).
|
241
|
+
Thanks @jtimberman.
|
242
|
+
- [FC003: Check whether you are running with chef server before using server-specific features](http://acrmp.github.com/foodcritic/#FC003)
|
243
|
+
updated to also match `unless`
|
244
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/58)).
|
245
|
+
Thanks @cap10morgan.
|
246
|
+
- Decode numeric attributes.
|
247
|
+
This could cause [FC005: Avoid repetition of resource declarations](http://acrmp.github.com/foodcritic/#FC005)
|
248
|
+
to warn incorrectly
|
249
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/79)).
|
250
|
+
Thanks @masterkorp.
|
251
|
+
- Recognise attributes correctly within a block.
|
252
|
+
This could cause [FC005: Avoid repetition of resource declarations](http://acrmp.github.com/foodcritic/#FC005)
|
253
|
+
to warn incorrectly
|
254
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/76)).
|
255
|
+
Thanks @masterkorp.
|
256
|
+
- [FC009: Resource attribute not recognised](http://acrmp.github.com/foodcritic/#FC009)
|
257
|
+
would warn incorrectly on methods used within a resource block
|
258
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/85)).
|
259
|
+
Thanks @arangamani.
|
260
|
+
- [FC019: Access node attributes in a consistent manner](http://acrmp.github.com/foodcritic/#FC019)
|
261
|
+
would warn incorrectly when referencing node attributes from a user-created
|
262
|
+
hash.
|
263
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/54)).
|
264
|
+
Thanks @schubert.
|
265
|
+
- [FC033: Missing Template](http://acrmp.github.com/foodcritic/#FC033)
|
266
|
+
would warn incorrectly when using templates from another cookbook
|
267
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/74)).
|
268
|
+
Thanks @woohgit.
|
269
|
+
|
270
|
+
## 1.6.1 (31st August, 2012)
|
271
|
+
|
272
|
+
Bugfixes:
|
273
|
+
|
274
|
+
- [FC030: Cookbook contains debugger breakpoints](http://acrmp.github.com/foodcritic/#FC030)
|
275
|
+
could prevent other rules from processing depending on the tags passed.
|
276
|
+
- [FC037: Invalid notification action](http://acrmp.github.com/foodcritic/#FC037)
|
277
|
+
would incorrectly warn against `subscribes` notifications
|
278
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/65)).
|
279
|
+
Thanks @jtimberman.
|
280
|
+
|
281
|
+
## 1.6.0 (28th August, 2012)
|
282
|
+
|
283
|
+
Bugfixes:
|
284
|
+
|
285
|
+
- Removed FC035: Template uses node attribute directly. For a discussion of
|
286
|
+
the reasons for removal see the
|
287
|
+
[related issue](https://github.com/acrmp/foodcritic/issues/60).
|
288
|
+
|
289
|
+
## 1.5.1 (21st August, 2012)
|
290
|
+
|
291
|
+
Bugfixes:
|
292
|
+
|
293
|
+
- Remove pry-doc dependency to resolve pry version conflict.
|
294
|
+
|
295
|
+
## 1.5.0 (21st August, 2012)
|
296
|
+
|
297
|
+
Features:
|
298
|
+
|
299
|
+
- [FC033: Missing template](http://acrmp.github.com/foodcritic/#FC033) rule
|
300
|
+
added.
|
301
|
+
- [FC034: Unused template variables](http://acrmp.github.com/foodcritic/#FC034)
|
302
|
+
rule added
|
303
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/36)).
|
304
|
+
- [FC035: Template uses node attribute directly](http://acrmp.github.com/foodcritic/#FC035)
|
305
|
+
rule added. This is a style rule that may prove controversial.
|
306
|
+
- [FC037: Invalid notification action](http://acrmp.github.com/foodcritic/#FC037)
|
307
|
+
rule added.
|
308
|
+
- The `#read_ast` API method now supports Erb templates.
|
309
|
+
- API method `#resource_action?` added.
|
310
|
+
- DSL extended to include `library`, `metadata` and `template`.
|
311
|
+
|
312
|
+
Bugfixes:
|
313
|
+
|
314
|
+
- [FC020: Conditional execution string attribute looks like Ruby](http://acrmp.github.com/foodcritic/#FC033)
|
315
|
+
rule has been removed as unreliable.
|
316
|
+
- The `#attribute_access` API method now correctly allows a type of `:any`.
|
317
|
+
- The `#notifications` API method now supports notifications enclosed in braces
|
318
|
+
([related issue](https://github.com/etsy/foodcritic-rules/issues/3)).
|
319
|
+
- Ensure command-line help is shown when an invalid option is passed. Thanks
|
320
|
+
to @juanje for finding and fixing this issue.
|
321
|
+
|
322
|
+
## 1.4.0 (15th June, 2012)
|
323
|
+
|
324
|
+
Features:
|
325
|
+
|
326
|
+
- [FC027: Resource sets internal attribute](http://acrmp.github.com/foodcritic/#FC027)
|
327
|
+
rule added.
|
328
|
+
Thanks @macros.
|
329
|
+
- [FC028: Incorrect #platform? usage](http://acrmp.github.com/foodcritic/#FC028)
|
330
|
+
rule added.
|
331
|
+
- [FC029: No leading cookbook name in recipe metadata](http://acrmp.github.com/foodcritic/#FC029)
|
332
|
+
rule added.
|
333
|
+
- [FC030: Cookbook contains debugger breakpoints](http://acrmp.github.com/foodcritic/#FC030)
|
334
|
+
rule added
|
335
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/36)).
|
336
|
+
Thanks @bryanwb.
|
337
|
+
- [FC031: Cookbook without metadata file](http://acrmp.github.com/foodcritic/#FC031)
|
338
|
+
rule added
|
339
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/43)).
|
340
|
+
Thanks to @juanje for proposing and implementing this rule.
|
341
|
+
- [FC032: Invalid notification timing](http://acrmp.github.com/foodcritic/#FC032)
|
342
|
+
rule added.
|
343
|
+
- Added the [notifications](http://acrmp.github.com/foodcritic/#notifications)
|
344
|
+
API method to provide more convenient access to resource notifications
|
345
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/31)).
|
346
|
+
|
347
|
+
Bugfixes:
|
348
|
+
|
349
|
+
- [FC003: Check whether you are running with chef server before using server-specific features](http://acrmp.github.com/foodcritic/#FC003)
|
350
|
+
would warn if solo was checked for with `Chef::Config.solo`
|
351
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/26)).
|
352
|
+
Thanks to @miketheman for identifying and fixing this issue.
|
353
|
+
- [FC007: Ensure recipe dependencies are reflected in cookbook metadata](http://acrmp.github.com/foodcritic/#FC007)
|
354
|
+
would incorrectly warn if the cookbook name specified for `include_recipe`
|
355
|
+
was dynamic
|
356
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/44)).
|
357
|
+
Thanks @markjreed.
|
358
|
+
- [FC019: Access node attributes in a consistent manner](http://acrmp.github.com/foodcritic/#FC019)
|
359
|
+
has been modified to no longer warn if the method called on node is called
|
360
|
+
explicitly with brackets
|
361
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/22)).
|
362
|
+
Thanks @jaymzh.
|
363
|
+
- The [resource_attributes](http://acrmp.github.com/foodcritic/#resource_attributes)
|
364
|
+
API method has been updated to return boolean values correctly.
|
365
|
+
|
366
|
+
## 1.3.1 (9th June, 2012)
|
367
|
+
|
368
|
+
Bugfixes:
|
369
|
+
|
370
|
+
- Changes made to support multiple cookbook paths in 1.3.0 broke
|
371
|
+
compatibility with earlier versions of the linting API. This release
|
372
|
+
restores compatibility with third party code that uses the linter
|
373
|
+
`#cookbook_path` or `#valid_path?` methods.
|
374
|
+
- The Nokogiri dependency constraint has been locked to 1.5.0 again as
|
375
|
+
Nokogiri 1.5.3 also appears to segfault in certain circumstances.
|
376
|
+
|
377
|
+
## 1.3.0 (21st May, 2012)
|
378
|
+
|
379
|
+
Features:
|
380
|
+
|
381
|
+
- [FC026: Conditional execution block attribute contains only string](http://acrmp.github.com/foodcritic/#FC026)
|
382
|
+
rule added
|
383
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/30)).
|
384
|
+
Thanks to @mkocher for proposing this rule.
|
385
|
+
- Foodcritic now accepts multiple cookbook paths as arguments and supports
|
386
|
+
linting of individual files only. Big thanks to @cgriego for these changes.
|
387
|
+
These lay the groundwork for his new
|
388
|
+
[guard-foodcritic](https://github.com/cgriego/guard-foodcritic) project.
|
389
|
+
|
390
|
+
Bugfixes:
|
391
|
+
|
392
|
+
- [FC003: Check whether you are running with chef server before using server-specific features](http://acrmp.github.com/foodcritic/#FC003)
|
393
|
+
would still warn if solo was checked for as a string
|
394
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/26)).
|
395
|
+
Thanks to @miketheman for identifying and fixing this issue.
|
396
|
+
- [FC019: Access node attributes in a consistent manner](http://acrmp.github.com/foodcritic/#FC019)
|
397
|
+
would warn when the node object had been re-opened for extension
|
398
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/22)).
|
399
|
+
Thanks @jaymzh.
|
400
|
+
- [FC020: Conditional execution string attribute looks like Ruby](http://acrmp.github.com/foodcritic/#FC020)
|
401
|
+
updated to not warn against strings that appear to contain file paths or Windows `net use`
|
402
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/30)).
|
403
|
+
Thanks @eherot and @mconigliaro.
|
404
|
+
- [FC022: Resource condition within loop may not behave as expected](http://acrmp.github.com/foodcritic/#FC022)
|
405
|
+
would warn incorrectly if the resource name was set directly to the block
|
406
|
+
variable rather than being a string expression
|
407
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/29)).
|
408
|
+
Thanks @eherot.
|
409
|
+
- The [resource_attributes](http://acrmp.github.com/foodcritic/#resource_attributes)
|
410
|
+
API method has been updated to return the AST for resource notifications
|
411
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/31)).
|
412
|
+
Thanks @jonlives.
|
413
|
+
|
414
|
+
Other:
|
415
|
+
|
416
|
+
- [Etsy have open-sourced their Foodcritic rules](https://github.com/etsy/foodcritic-rules).
|
417
|
+
You should definitely check these out.
|
418
|
+
- The effective Chef version for determining the rules to apply has been
|
419
|
+
bumped to 0.10.10.
|
420
|
+
|
421
|
+
## 1.2.0 (21st April, 2012)
|
422
|
+
|
423
|
+
Features:
|
424
|
+
|
425
|
+
- [FC025: Prefer chef_gem to compile-time gem install](http://acrmp.github.com/foodcritic/#FC025)
|
426
|
+
rule added.
|
427
|
+
- Rules can now declare which versions of Chef they `apply_to`. The new
|
428
|
+
command line argument `-c` (`--chef-version`) should be used to specify the
|
429
|
+
effective Chef version.
|
430
|
+
|
431
|
+
Bugfixes:
|
432
|
+
|
433
|
+
- [FC001: Use strings in preference to symbols to access node attributes](http://acrmp.github.com/foodcritic/#FC001)
|
434
|
+
could show false positives when using Chef search.
|
435
|
+
- [FC001: Use strings in preference to symbols to access node attributes](http://acrmp.github.com/foodcritic/#FC001)
|
436
|
+
would overlook the use of symbols to access node attributes when passing
|
437
|
+
template variables.
|
438
|
+
- [FC002: Avoid string interpolation where not required](http://acrmp.github.com/foodcritic/#FC002)
|
439
|
+
fixed to no longer ignore the first keypair in a Hash
|
440
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/24)).
|
441
|
+
Thanks @Ips1975.
|
442
|
+
- [FC004: Use a service resource to start and stop services](http://acrmp.github.com/foodcritic/#FC004)
|
443
|
+
modified not to warn if the action is not supported by the `service`
|
444
|
+
resource.
|
445
|
+
- [FC005: Avoid repetition of resource declarations](http://acrmp.github.com/foodcritic/#FC005)
|
446
|
+
modified not to warn when resources are branched within conditionals or
|
447
|
+
provider actions.
|
448
|
+
- [FC007: Ensure recipe dependencies are reflected in cookbook metadata](http://acrmp.github.com/foodcritic/#FC007)
|
449
|
+
modified to ignore the use of `include_recipe` with embedded expressions.
|
450
|
+
- [FC023: Prefer conditional attributes](http://acrmp.github.com/foodcritic/#FC023)
|
451
|
+
modified not to warn if the conditional expression has an `else`.
|
452
|
+
- The `resource_attributes` API method has been updated to return block
|
453
|
+
attributes which were previously ignored
|
454
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/23)).
|
455
|
+
Thanks @jonlives.
|
456
|
+
|
457
|
+
## 1.1.0 (25th March, 2012)
|
458
|
+
|
459
|
+
Features:
|
460
|
+
|
461
|
+
- [FC024: Consider adding platform equivalents](http://acrmp.github.com/foodcritic/#FC024) rule added.
|
462
|
+
- When writing new rules it is no longer necessary to explicitly map
|
463
|
+
matching AST nodes to matches. You can now just return the AST nodes.
|
464
|
+
|
465
|
+
Bugfixes:
|
466
|
+
|
467
|
+
- The `cookbook_name` method now reflects the cookbook name if specified in
|
468
|
+
metadata. This prevents a warning from being shown by
|
469
|
+
[FC007: Ensure recipe dependencies are reflected in cookbook metadata](http://acrmp.github.com/foodcritic/#FC007)
|
470
|
+
if the cookbook is in a differently named directory.
|
471
|
+
- The `declared_dependencies` method previously would intermix version strings
|
472
|
+
in the list of cookbook names.
|
473
|
+
|
474
|
+
Other:
|
475
|
+
|
476
|
+
- Chef 0.10.10 will include a new DSL method for defining a `default_action`
|
477
|
+
for resources. Rule
|
478
|
+
[FC016: LWRP does not declare a default action](http://acrmp.github.com/foodcritic/#FC016)
|
479
|
+
has been updated to recognise the DSL change.
|
480
|
+
- Nokogiri dependency constraint changed to no longer lock to 1.5.0 as their
|
481
|
+
next release should include the fix for custom XPath functions.
|
482
|
+
|
483
|
+
## 1.0.1 (15th March, 2012)
|
484
|
+
|
485
|
+
Bugfixes:
|
486
|
+
|
487
|
+
- Nokogiri 1.5.1 and 1.5.2 cause a segfault so prevent their use until a fix
|
488
|
+
is released
|
489
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/18)).
|
490
|
+
Thanks @miah.
|
491
|
+
|
492
|
+
## 1.0.0 (4th March, 2012)
|
493
|
+
|
494
|
+
Features:
|
495
|
+
|
496
|
+
- New `-I` option added to specify the path to your own custom rules
|
497
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/8)).
|
498
|
+
- The
|
499
|
+
[Rule API](https://github.com/acrmp/foodcritic/blob/v1.0.0/lib/foodcritic/api.rb)
|
500
|
+
was previously not supported and subject to change without warning. From
|
501
|
+
this release it will now follow the
|
502
|
+
[same versioning policy](http://docs.rubygems.org/read/chapter/7) as the
|
503
|
+
command line interface.
|
504
|
+
- A version flag (--version or -V) has been added ([related issue](https://github.com/acrmp/foodcritic/issues/16)).
|
505
|
+
|
506
|
+
Bugfixes:
|
507
|
+
|
508
|
+
- The evaluation of rule tags has been updated to be consistent with Cucumber.
|
509
|
+
The major version number of foodcritic has been bumped to indicate that this
|
510
|
+
is a breaking change. If you make use of tags (for example in a CI build)
|
511
|
+
you may need to update your syntax. See the
|
512
|
+
[related issue](https://github.com/acrmp/foodcritic/issues/11) for more
|
513
|
+
information. Thanks @jaymzh.
|
514
|
+
- [FC003: Check whether you are running with chef server before using
|
515
|
+
server-specific features](http://acrmp.github.com/foodcritic/#FC003) has
|
516
|
+
been updated to correctly identify the new version of chef-solo-search
|
517
|
+
([related issue](https://github.com/acrmp/foodcritic/issues/17)).
|
518
|
+
|
519
|
+
## 0.11.1 (29th February, 2012)
|
520
|
+
|
521
|
+
Bugfixes:
|
522
|
+
|
523
|
+
- Foodcritic could fail to activate yajl-json in some circumstances, failing
|
524
|
+
with a runtime error. Whether this occurred was dependent on the version of
|
525
|
+
yajl-ruby activated by Chef, which would vary dependent on the other gems
|
526
|
+
installed on the system. See the
|
527
|
+
[related issue](https://github.com/acrmp/foodcritic/issues/14) for more
|
528
|
+
information. Thanks @jaymzh for identifying the issue and striving to get
|
529
|
+
Foodcritic playing well with Omnibus.
|
530
|
+
|
531
|
+
## 0.11.0 (22nd February, 2012)
|
532
|
+
|
533
|
+
Bugfixes:
|
534
|
+
|
535
|
+
- Major bugfix to [FC006: Mode should be quoted or fully specified when setting file permissions](http://acrmp.github.com/foodcritic/#FC006). In earlier versions a four-digit literal file mode that set the first octet would not have been picked up by this rule ([related issue](https://github.com/acrmp/foodcritic/pull/9)). Thanks @aia for finding and fixing this bug. Check your cookbooks against FC006 after upgrading to see if you are affected.
|
536
|
+
|
537
|
+
## 0.10.0 (20th February, 2012)
|
538
|
+
|
539
|
+
Features:
|
540
|
+
|
541
|
+
- Performance improvements.
|
542
|
+
- [FC023: Prefer conditional attributes](http://acrmp.github.com/foodcritic/#FC023) rule added. Stolen from @ampledata with thanks.
|
543
|
+
- New `-S` option added to allow an alternate search grammar to be specified.
|
544
|
+
|
545
|
+
Other:
|
546
|
+
|
547
|
+
- Chef is no longer loaded at startup for performance reasons. Foodcritic now ships with Chef DSL metadata.
|
548
|
+
|
549
|
+
## 0.9.0 (26th January, 2012)
|
550
|
+
|
551
|
+
Features:
|
552
|
+
|
553
|
+
- New experimental `-C` option added to output context for rule matches.
|
554
|
+
- [FC021: Resource condition in provider may not behave as expected](http://acrmp.github.com/foodcritic/#FC021) rule
|
555
|
+
added.
|
556
|
+
- [FC022: Resource condition within loop may not behave as expected](http://acrmp.github.com/foodcritic/#FC022) rule
|
557
|
+
added.
|
558
|
+
|
559
|
+
Bugfixes:
|
560
|
+
|
561
|
+
- [FC005: Avoid repetition of resource declarations](http://acrmp.github.com/foodcritic/#FC005) rule modified to only
|
562
|
+
warn when there are at least three *consecutive* resources of the same type that could be 'rolled up' into a loop.
|
563
|
+
- [FC016: LWRP does not declare a default action](http://acrmp.github.com/foodcritic/#FC016) rule restored. Thanks @stevendanna
|
564
|
+
- [FC019: Access node attributes in a consistent manner](http://acrmp.github.com/foodcritic/#FC019) rule modified to no
|
565
|
+
longer treat DSL mixin methods as auto-vivified attributes. Identification of least used access method should now be
|
566
|
+
accurate.
|
567
|
+
|
568
|
+
Other:
|
569
|
+
|
570
|
+
- [FC020: Conditional execution string attribute looks like Ruby](http://acrmp.github.com/foodcritic/#FC020) rule now
|
571
|
+
grabs conditions from within single quotes.
|
572
|
+
|
573
|
+
## 0.8.1 (20th January, 2012)
|
574
|
+
|
575
|
+
Bugfixes:
|
576
|
+
|
577
|
+
- [FC019: Access node attributes in a consistent manner](http://acrmp.github.com/foodcritic/#FC019) modified
|
578
|
+
to avoid false positives on methods invoked on values in a Mash.
|
579
|
+
|
580
|
+
## 0.8.0 (19th January, 2012)
|
581
|
+
|
582
|
+
Features:
|
583
|
+
|
584
|
+
- [FC019: Access node attributes in a consistent manner](http://acrmp.github.com/foodcritic/#FC019) rule added.
|
585
|
+
- [FC020: Conditional execution string attribute looks like Ruby](http://acrmp.github.com/foodcritic/#FC020) rule added.
|
586
|
+
|
587
|
+
Other:
|
588
|
+
|
589
|
+
- Rule 'FC016: LWRP does not declare a default action' was incorrectly checking the provider for a default action
|
590
|
+
rather than the resource. Removed this rule temporarily to avoid showing false positives. A user has patched this
|
591
|
+
and will be submitting a pull request shortly.
|
592
|
+
|
593
|
+
## 0.7.0 (31st December, 2011)
|
594
|
+
|
595
|
+
Features:
|
596
|
+
|
597
|
+
- New `-f` option added to allow you to specify which warnings should result in the build being failed. See the new
|
598
|
+
documentation on [using Foodcritic in Continuous Integration](http://acrmp.github.com/foodcritic/#ci) for more
|
599
|
+
information.
|
600
|
+
- New `-r` option added to drop you into the Pry REPL to interactively develop rules. See the updated documentation on
|
601
|
+
[Writing a new rule](http://acrmp.github.com/foodcritic/#writing-a-new-rule) for more information.
|
602
|
+
|
603
|
+
Bugfixes:
|
604
|
+
|
605
|
+
- [FC003: Check whether you are running with chef server before using server-specific features](http://acrmp.github.com/foodcritic/#FC003) rule
|
606
|
+
modified to not warn if the [edelight chef-solo-search library](https://github.com/edelight/chef-solo-search) has been installed. Thanks @tobami.
|
607
|
+
- [FC007: Ensure recipe dependencies are reflected in cookbook metadata](http://acrmp.github.com/foodcritic/#FC007) rule
|
608
|
+
modified to flag undeclared dependencies against the offending file rather than metadata.rb.
|
609
|
+
- Removed the unused description field from the rule dsl.
|
610
|
+
|
611
|
+
Other:
|
612
|
+
|
613
|
+
- Project features now run much faster, running in-process by default. You can set an environment variable
|
614
|
+
(`FC_FORK_PROCESS`) to specify that Cucumber runs should match the earlier behaviour and spawn a separate process
|
615
|
+
using Aruba.
|
616
|
+
|
617
|
+
## 0.6.0 (18th December, 2011)
|
618
|
+
|
619
|
+
Features:
|
620
|
+
|
621
|
+
- [FC001: Use strings in preference to symbols to access node attributes](http://acrmp.github.com/foodcritic/#FC001)
|
622
|
+
rule added.
|
623
|
+
- [FC004: Use a service resource to start and stop services](http://acrmp.github.com/foodcritic/#FC004) rule extended
|
624
|
+
to recognise upstart and invoke-rc.d.
|
625
|
+
- [FC011: Missing README in markdown format](http://acrmp.github.com/foodcritic/#FC011) rule added.
|
626
|
+
- [FC012: Use Markdown for README rather than RDoc](http://acrmp.github.com/foodcritic/#FC012) rule added.
|
627
|
+
- [FC013: Use file_cache_path rather than hard-coding tmp paths ](http://acrmp.github.com/foodcritic/#FC013) rule added.
|
628
|
+
- [FC014: Consider extracting long ruby_block to library](http://acrmp.github.com/foodcritic/#FC014) rule added.
|
629
|
+
- [FC015: Consider converting definition to a LWRP](http://acrmp.github.com/foodcritic/#FC015) rule added.
|
630
|
+
- [FC016: LWRP does not declare a default action](http://acrmp.github.com/foodcritic/#FC016) rule added.
|
631
|
+
- [FC017: LWRP does not notify when updated](http://acrmp.github.com/foodcritic/#FC017) rule added.
|
632
|
+
- [FC018: LWRP uses deprecated notification syntax](http://acrmp.github.com/foodcritic/#FC018) rule added.
|
633
|
+
|
634
|
+
Bugfixes:
|
635
|
+
|
636
|
+
- Ensure warnings are line sorted numerically. Commit eb1762fd0fbf99fa513783d7838ceac0147c37bc
|
637
|
+
- [FC005: Avoid repetition of resource declarations](http://acrmp.github.com/foodcritic/#FC005) rule made less aggressive.
|
638
|
+
|
639
|
+
## 0.5.2 (15th December, 2011)
|
640
|
+
|
641
|
+
Bugfixes:
|
642
|
+
|
643
|
+
- Fix JSON version range for compatibility with Bundler / Chef 0.10.6. ([related issue](https://github.com/acrmp/foodcritic/issues/6)). Thanks @dysinger.
|
644
|
+
|
645
|
+
## 0.5.1 (14th December, 2011)
|
646
|
+
|
647
|
+
Features:
|
648
|
+
|
649
|
+
- Relaxed Ruby version constraint so we can run on 1.9.2 ([related issue](https://github.com/acrmp/foodcritic/issues/5)). Yay. Thanks @someara.
|
650
|
+
|
651
|
+
## 0.5.0 (13th December, 2011)
|
652
|
+
|
653
|
+
Features:
|
654
|
+
|
655
|
+
- Added the ability to choose rules to apply via tags ([related issue](https://github.com/acrmp/foodcritic/issues/4)).
|
656
|
+
This uses the same syntax as [Cucumber tag expressions](https://github.com/cucumber/cucumber/wiki/tags).
|
657
|
+
- [FC010: Invalid search syntax](http://acrmp.github.com/foodcritic/#FC010) rule added.
|
658
|
+
|
659
|
+
## 0.4.0 (10th December, 2011)
|
660
|
+
|
661
|
+
Features:
|
662
|
+
|
663
|
+
- [Spiffy new home page and documentation](http://acrmp.github.com/foodcritic/)
|
664
|
+
- [FC008: Generated cookbook metadata needs updating](http://acrmp.github.com/foodcritic/#FC008) rule added.
|
665
|
+
- [FC009: Resource attribute not recognised rule added](http://acrmp.github.com/foodcritic/#FC009).
|
666
|
+
This adds a dependency on the Chef gem.
|
667
|
+
- Performance improvement.
|
668
|
+
|
669
|
+
Bugfixes:
|
670
|
+
|
671
|
+
- Fixed typo in FC004 feature description ([related issue](https://github.com/acrmp/foodcritic/issues/2)). Thanks @smith.
|
672
|
+
- Prevented statements within nested resource blocks from being interpreted as resource attributes.
|
673
|
+
|
674
|
+
## 0.3.0 (4th December, 2011)
|
675
|
+
|
676
|
+
Features:
|
677
|
+
|
678
|
+
- Significantly slower! But now you can write rules using [xpath or css selectors](http://nokogiri.org/).
|
679
|
+
- FC006: File mode rule added.
|
680
|
+
- FC007: Undeclared recipe dependencies rule added.
|
681
|
+
|
682
|
+
## 0.2.0 (1st December, 2011)
|
683
|
+
|
684
|
+
Bugfixes:
|
685
|
+
|
686
|
+
- Removed 'FC001: Use symbols in preference to strings to access node attributes' until a policy mechanism is
|
687
|
+
introduced ([related issue](https://github.com/acrmp/foodcritic/issues/1)). Thanks @jtimberman
|
688
|
+
|
689
|
+
## 0.1.0 (30th November, 2011)
|
690
|
+
|
691
|
+
Initial version.
|