== 1.2.8 (2010-04-26)

=== Major Changes
* Smell detectors can be configured or disabled in code comments
** Comment with :reek:smell_name disables the named smell for a class, module or method
** Comment with :reek:smell_name:{...} for more detailed configuration
* Additional config file(s) can be specified:
** on the command-line using -c
** via Reek::Rake::Task in the rakefile

=== Minor Changes
* Duplication can be configured to ignore specific calls
* IrresponsibleModule now reports scoped module names correctly (#66)
* NestedIterators is now more configurable:
** Option to specify permitted nesting depth (#14)
** Option to ignore certain iterator methods

== 1.2.7.3 (2010-03-29)

=== Minor Changes
* UtilityFunction no longer reported when local method called in param initializer (#60)
* Spaces removed from smell class names in report output
* Masked smells are no longer reported
** the -a command-line option has been removed
** some methods on Examiner are now deprecated
* DataClump no longer needs infinite memory for large classes (#57 again)

== 1.2.7.2 (2010-03-05)

=== Minor Changes
* Number of masked smells is no longer shown in report headers
* Masked smells are no longer listed in --yaml reports
* DataClump no longer needs infinite memory for large classes (#57)
* DataClump reports the names of the offending methods in the YAML report
* UncommunicativeMethodName now accepts operator names (+, -, ...)
* Uncommunicative Name now warns about uppercase letters in method & var names

== 1.2.7.1 (2010-02-03)

=== Minor Changes
* Fixed crash on a case statement with no condition (#58)

== 1.2.7 (2010-02-01)

=== Major Changes
* New option --yaml reports smells in YAML format
* Now require 'reek/rake/task' to use the rake task
* Now require 'reek/spec' to use the Rspec matchers
* Developer API completely revised and documented

=== Minor Changes
* New smell: Irresponsible Module (has no meaningful comment)
* ControlCouple no longer checks arguments yielded to blocks
* FeatureEnvy and UtilityFunction are now subclasses of a new smell: LowCohesion
* NestedIterators now reports the nesting depth
* Fixed problem checking for UtilityFunctions in Object
* Improved detection of invalid config files
* Invalid config files are now ignored
* Non-existent files are now ignored

See http://wiki.github.com/kevinrutherford/reek for further details.

== 1.2.6 (2009-11-28)

=== Minor Changes
* Corrected display of module methods to use # (#56)

== 1.2.5 (2009-11-19)

=== Minor Changes
* Ignores ruby_parser errors and pretends the offending file was empty

== 1.2.4 (2009-11-17)

=== Major Changes
* The -f, -c and -s options for formatting smell warnings have been removed

=== Minor Changes
* ControlCouple now warns about parameters defaulted to true/false

== 1.2.3 (2009-11-2)

=== Minor Changes
* New smell: Attribute (disabled by default)
* Expanded DataClump to check modules (#9)
* Fixed LargeClass to ignore inner classes and modules
* Fixed LargeClass to ignore singleton methods
* Removed support for MyClass.should_not reek due to ParseTree EOL
* Removed internal requiring of 'rubygems'

== 1.2.1 (2009-10-02)

=== Minor Changes
* New smell: Class Variable

See http://wiki.github.com/kevinrutherford/reek for details

== 1.2 2009-09-20

=== Major Changes
* Reek passes all its tests under ruby 1.8.6, 1.8.7 and 1.9.1 (fixed #16)
* New smell -- Data Clump:
** Looks within a class for 3 or more methods taking the same 2 or more parameters
* New smell -- Simulated Polymorphism:
** Currently only performs basic check for multiple tests of same value
* Reek's output reports are now formatted differently:
** Reek is no longer silent about smell-free source code
** Output now reports on all files examined, even if they have no smells
** Smell warnings are indented in the report; file summary headers are not
** Reports for multiple sources are run together; no more blank lines
** Reports in spec matcher failures are quiet (fixed #38)
* The smells masked by *.reek config files can now be seen:
** The header for each source file now counts masked smells
** The --show-all (-a) option shows masked warnings in the report
* The spec matchers are now accessed by requiring 'reek/adapters/spec'

=== Minor Changes
* Reek's RDoc is now hosted at http://rdoc.info/projects/kevinrutherford/reek
* If a dir is passed on the command-line all **/*.rb files below it are examined (fixed #41)
* Duplication warnings now report the number of identical calls
* FeatureEnvy no longer ignores :self when passed as a method parameter
* LargeClass is disabled when checking in-memory classes (fixed #28)
* LongParameterList accepts upto 5 parameters for #initialize methods
* Several changes to the LongMethod counting algorithm:
** LongMethod now counts statements deeper into each method (fixed #25)
** LongMethod no longer counts control structures, only their contained stmts
** See http://wiki.github.com/kevinrutherford/reek/long-method for details
* UncommunicativeName warns about any name ending in a number (fixed #18)
* UtilityFunction has been relaxed somewhat:
** no longer reports methods that call 'super' (fixed #39)
** no longer reports simple helper methods
** can be configured based on number of calls out
* Now reports an error for corrupt config files
* Empty config files are ignored
* Smells can be configured with scope-specific overrides for any config item


== 1.1.3 2009-05-19

=== Minor Changes
* No longer depends directly on the sexp_processor gem

=== Fixes
* LargeClass now relies only on the given source code (fixed #26)

== 1.1.2 2009-05-18

=== Major Enhancements
* Switched from ParseTree to ruby_parser for source code parsing
* 'MyClass.should_not reek' now only possible if ParseTree gem installed

== 1.1.1 2009-05-08

=== Minor enhancements
* LargeClass now also warns about any class with > 9 instance variables (fixed #6)
* Now depends on ruby2ruby, to display code better
* Duplication notices more repeated method calls
* Smells within blocks are now reported better

== 1.1.0 2009-04-10

=== Minor enhancements
* Now possible to write 'MyClass.should_not reek' (fixed #33)

=== Fixes
* Now counts attr assignments ([]= etc) in feature envy calculations
* Doesn't attempt to find *.reek files when reading code from stdin

== 1.0.1 2009-04-06

=== Fixes
* Dir[...].to_source now creates a Report that can be browsed (fixed #36)

== 1.0.0 2009-04-05

=== Major enhancements
* Use *.reek files in source tree to configure Reek's behaviour
* Added -f option to configure report format
* --sort_order replaced by -f, -c and -s
* Matchers provided for rspec; eg. foo.should_not reek

=== Minor enhancements
* Smells in singleton methods are now analysed
* Uncommunicative parameter names in blocks now reported
* Modules and blocks now reflected in scope of smell reports

=== Fixes
* Corrected false reports of long arg lists to yield
* A method can now be a UtilityFunction only when it includes a call

== 0.3.1 2008-11-17

=== Minor enhancements
* Uncommunicative Name now checks instance variables more thoroughly
* Uncommunicative Name now warns about names of the form 'x2'
* Added check for duplicated calls within a method
* Reduced scope of Feature Envy warnings to cover only overuse of lvars
* Added rdoc comments explaining what each smell is about
* Chained iterators are no longer mis-reported as nested

== 0.3.0 2008-11-02

=== Minor enhancements
* New smell: first naive checks for Control Couple
* reek now only checks sources passed on the command line
* Code snippets can be supplied on the commandline
* Added headings and warnings count when smells in multiple files
* Added Reek::RakeTask to run reek from rakefiles

=== Fixes
* Fixed: Returns exit status 2 when smells are reported
* Fixed: no longer claims an empty method is a Utility Function

== 0.2.3 2008-09-22

* Minor enhancements:
  * Only reports Feature Envy when the method isn't a Utility Function
  * General improvements to assessing Feature Envy
* Tweaks:
  * Fixed: coping with parameterless yield call
  * Fixed: copes with :self as an expression
  * Fixed: displaying the receiver of many more kinds of Feature Envy
  * Fixed: Large Class calculation for Object

== 0.2.2 2008-09-15

* Tweaks:
  * Fixed --version!

== 0.2.1 2008-09-14

* Tweaks:
  * Now works from the source code, instead of requiring each named file
  * Added integration tests that run reek on a couple of gems

== 0.2.0 2008-09-10

* Minor enhancements:
  * Added --help, --version options
  * Added --sort option to sort the report by smell or by code location

== 0.1.1 2008-09-09

* Some tweaks:
  * Fixed report printing for Feature Envy when the receiver is a block
  * Fixed: successive iterators reported as nested
  * Fixed: Long Method now reports the total length of the method
  * Fixed: each smell reported only once

== 0.1.0 2008-09-09

* 1 minor enhancement:
  * Added a check for nested iterators within a method
* Some tweaks:
  * Begun adding some rdoc
  * Split some of the specs into more meaningful chunks
  * Updated the rakefile so that rcov is no longer the default

== 0.0.1 2008-09-08

* 1 major enhancement:
  * Initial release
