Skip to content

Latest commit

 

History

History
691 lines (556 loc) · 32.6 KB

CHANGELOG.md

File metadata and controls

691 lines (556 loc) · 32.6 KB

2.2.0 (10th July, 2013)

Features:

  • Additional rules may now be shipped as gems. Files matching the path foodcritic/rules/**/*.rb will be loaded if the --search-gems option is specified (related issue). Thanks to @rteabeault for implementing this feature.
  • You can now control the rules applied to individual cookbooks by including a .foodcritic file at the root of your cookbook with the tags you want checked (related issue). Thanks to @sabat for implementing this feature.
  • The project license is now included in the built gem (related issue). Thanks @stefanor.
  • Foodcritic no longer uses the rak gem to generate output with context (related issue). Thanks to @stefanor for re-implementing context output to remove this dependency.
  • A man page is now included with foodcritic in ronn-format. Thanks @stefanor.

Bugfixes:

2.1.0 (17th April, 2013)

Features:

  • DSL metadata will now reflect the version of Chef selected with --chef-version. For example this means that FC009: Resource attribute not recognised will warn about attributes not present in the specified version of Chef.

Bugfixes:

Other:

  • Known to run on MRI 2.0.0 - added to Travis CI matrix.

2.0.1 (31st March, 2013)

Bugfixes:

  • Matches that should be ignored were not if the rule implementation used the cookbook block (related issue).
  • FC033: Missing Template would warn incorrectly when the template resource was nested within another resource (related issue). Thanks @justinforce.
  • The #resource_attributes API method now copes with nested resources.

2.0.0 (24th March, 2013)

Features

  • Support added for ignoring individual matches. To ignore a match add a comment to the affected line in your cookbook of the format # ~FC006 (related issue). Big thanks to @grosser.
  • Command line help now specifies the tag to use to fail the build on any rule match (related issue). Thanks @grosser.
  • FC046: Attribute assignment uses assign unless nil rule added (related issue). Thanks @jaymzh.

Bugfixes:

Other:

  • The --repl command line flag has been removed. This feature little used and was problematic for users attempting to use newer versions of pry or guard (related issue). Thanks @jperry, @miketheman, @jtimberman.
  • The os_command? api method has been removed.
  • The deprecated cookbook_path and valid_path? methods have been removed. This may cause breakage if you are using foodcritic programatically from Ruby. Please update your code to use the cookbook_paths and valid_paths? methods instead.
  • Added regression test for expected output against opscode-cookbooks. Run bundle exec rake regressions to perform this test.

1.7.0 (27th December, 2012)

Features

Bugfixes:

1.6.1 (31st August, 2012)

Bugfixes:

1.6.0 (28th August, 2012)

Bugfixes:

  • Removed FC035: Template uses node attribute directly. For a discussion of the reasons for removal see the related issue.

1.5.1 (21st August, 2012)

Bugfixes:

  • Remove pry-doc dependency to resolve pry version conflict.

1.5.0 (21st August, 2012)

Features:

Bugfixes:

  • FC020: Conditional execution string attribute looks like Ruby rule has been removed as unreliable.
  • The #attribute_access API method now correctly allows a type of :any.
  • The #notifications API method now supports notifications enclosed in braces (related issue).
  • Ensure command-line help is shown when an invalid option is passed. Thanks to @juanje for finding and fixing this issue.

1.4.0 (15th June, 2012)

Features:

Bugfixes:

1.3.1 (9th June, 2012)

Bugfixes:

  • Changes made to support multiple cookbook paths in 1.3.0 broke compatibility with earlier versions of the linting API. This release restores compatibility with third party code that uses the linter #cookbook_path or #valid_path? methods.
  • The Nokogiri dependency constraint has been locked to 1.5.0 again as Nokogiri 1.5.3 also appears to segfault in certain circumstances.

1.3.0 (21st May, 2012)

Features:

Bugfixes:

Other:

1.2.0 (21st April, 2012)

Features:

Bugfixes:

1.1.0 (25th March, 2012)

Features:

Bugfixes:

  • The cookbook_name method now reflects the cookbook name if specified in metadata. This prevents a warning from being shown by FC007: Ensure recipe dependencies are reflected in cookbook metadata if the cookbook is in a differently named directory.
  • The declared_dependencies method previously would intermix version strings in the list of cookbook names.

Other:

  • Chef 0.10.10 will include a new DSL method for defining a default_action for resources. Rule FC016: LWRP does not declare a default action has been updated to recognise the DSL change.
  • Nokogiri dependency constraint changed to no longer lock to 1.5.0 as their next release should include the fix for custom XPath functions.

1.0.1 (15th March, 2012)

Bugfixes:

  • Nokogiri 1.5.1 and 1.5.2 cause a segfault so prevent their use until a fix is released (related issue). Thanks @miah.

1.0.0 (4th March, 2012)

Features:

  • New -I option added to specify the path to your own custom rules (related issue).
  • The Rule API was previously not supported and subject to change without warning. From this release it will now follow the same versioning policy as the command line interface.
  • A version flag (--version or -V) has been added (related issue).

Bugfixes:

0.11.1 (29th February, 2012)

Bugfixes:

  • Foodcritic could fail to activate yajl-json in some circumstances, failing with a runtime error. Whether this occurred was dependent on the version of yajl-ruby activated by Chef, which would vary dependent on the other gems installed on the system. See the related issue for more information. Thanks @jaymzh for identifying the issue and striving to get Foodcritic playing well with Omnibus.

0.11.0 (22nd February, 2012)

Bugfixes:

0.10.0 (20th February, 2012)

Features:

  • Performance improvements.
  • FC023: Prefer conditional attributes rule added. Stolen from @ampledata with thanks.
  • New -S option added to allow an alternate search grammar to be specified.

Other:

  • Chef is no longer loaded at startup for performance reasons. Foodcritic now ships with Chef DSL metadata.

0.9.0 (26th January, 2012)

Features:

Bugfixes:

Other:

0.8.1 (20th January, 2012)

Bugfixes:

0.8.0 (19th January, 2012)

Features:

Other:

  • Rule 'FC016: LWRP does not declare a default action' was incorrectly checking the provider for a default action rather than the resource. Removed this rule temporarily to avoid showing false positives. A user has patched this and will be submitting a pull request shortly.

0.7.0 (31st December, 2011)

Features:

  • New -f option added to allow you to specify which warnings should result in the build being failed. See the new documentation on using Foodcritic in Continuous Integration for more information.
  • New -r option added to drop you into the Pry REPL to interactively develop rules. See the updated documentation on Writing a new rule for more information.

Bugfixes:

Other:

  • Project features now run much faster, running in-process by default. You can set an environment variable (FC_FORK_PROCESS) to specify that Cucumber runs should match the earlier behaviour and spawn a separate process using Aruba.

0.6.0 (18th December, 2011)

Features:

Bugfixes:

0.5.2 (15th December, 2011)

Bugfixes:

  • Fix JSON version range for compatibility with Bundler / Chef 0.10.6. (related issue). Thanks @dysinger.

0.5.1 (14th December, 2011)

Features:

  • Relaxed Ruby version constraint so we can run on 1.9.2 (related issue). Yay. Thanks @someara.

0.5.0 (13th December, 2011)

Features:

0.4.0 (10th December, 2011)

Features:

Bugfixes:

  • Fixed typo in FC004 feature description (related issue). Thanks @smith.
  • Prevented statements within nested resource blocks from being interpreted as resource attributes.

0.3.0 (4th December, 2011)

Features:

  • Significantly slower! But now you can write rules using xpath or css selectors.
  • FC006: File mode rule added.
  • FC007: Undeclared recipe dependencies rule added.

0.2.0 (1st December, 2011)

Bugfixes:

  • Removed 'FC001: Use symbols in preference to strings to access node attributes' until a policy mechanism is introduced (related issue). Thanks @jtimberman

0.1.0 (30th November, 2011)

Initial version.