CHANGELOG.md

Summary

Maintainability
Test Coverage
# Changelog

## 0.9.0

- Elixir: Add support for API format of InchEx v2

## 0.8.0

- CLI: Do not include `Term::ANSIColor` into `String`
- Ruby: Use newer version of YARD

## 0.7.1

- Ruby: Setters can now be documented via their @param or @return
- Elixir: Fix bug regarding parameter name recognition

## 0.7.0

BREAKING CHANGE:

- CLI: Uses an exit status different from zero in case of suggestions. This might break workflows based on `&&` (e.g. `rake && inch && ...`).

Improvements:

- Elixir: Skip analysis for function parameters starting with '_'
- JavaScript: Add support for @ignore and istanbul ignore comments
- JavaScript: Add support for @also (multiple signatures)

## 0.6.4

- Ruby: Skip analysis for method parameters named '_'
- Ruby: Fix bug regarding method object evaluation

## 0.6.3

- Elixir: Recognize callbacks and macros
- JavaScript: Improve param type detection

## 0.6.2

- CLI: Add `--format` option to `suggest` command
- Elixir: Improve general parameter detection

## 0.6.1

- Fix bug related to score boundaries being Floats rather than Ints

## 0.6.0

- NodeJS is renamed to JavaScript, which breaks backwards compatibility

## 0.5.9

- NodeJS: Improve output of code object names and locations

## 0.5.8

- Elixir: Recognize location (filename/line no.) of code objects

## 0.5.7

- NodeJS: Add support for JSDoc's ClassObject

## 0.5.6

- NodeJS: Fix bug regarding visibility of objects

## 0.5.5

- Ruby: Add support for named arguments in Ruby 2.1

## 0.5.4

- CLI: Fix a bug with the `inspect` command
- Elixir: Implicitly ignore callbacks, macros, and exceptions

## 0.5.3

- Elixir: Hide implementations of protocols

## 0.5.2

- Elixir: Fix bug related to @moduledoc

## 0.5.1

- Fix bug related to reading dumps

## 0.5.0

- Multi-language support was added
- Basic Elixir capabilities were added
- TomDoc compatibility was improved
- stty warning when reading terminal size was fixed
- Many Rubocop alerts were fixed (thanks @yous)

## 0.4.11

- Add `undefined` to the list of values used to indicate that a return value
  is not intended for further use. The current list is `nil`, `nothing`,
  `void`, and `undefined`.

## 0.4.10

- This patch handles cases where the docs indicate that a return value is not
  intended for further use. After this patch, Inch won't suggest "Describe
  what foo returns." anymore.

## 0.4.9

- Fixes bugs introduced in 0.4.8

## 0.4.8

- Fix a bug related to "CLI classes must be required seperately from now on"
  Note to self: read own CHANGELOG more carefully in the future

## 0.4.7

- CLI classes must be required seperately from now on
- external data read by NoDocHelper is encoded as UTF-8
- YARD's attribute directive is now interpreted correctly
- Docs are now evaluated for class variables as well
- TomDoc support has been improved
- Method parameter name recognition has been improved for RDoc style comments
- Compliance with the Ruby Style Guide has been improved (thanks @yous)

## 0.4.6

- Do not count @yield tag if it is auto-assigned via YARD


## 0.4.5

- Fixes a warning regarding re-initialized constants related to require_relative (thanks @jfelchner)


## 0.4.4

- Fixes some bugs introduced in 0.4.3 concerning documentation that is
  auto-generated by YARD and should not be recognized by Inch


## 0.4.3

- Fixes a bug where the 'show' command did not properly recognize overloaded
  method signatures


## 0.4.2

- The 'inspect' command now shows the original docstring provided by the
  YARD object provider instead of parsing the string itself


## 0.4.1

- Bugfix regarding @overload tags (thanks @cbeer)


## 0.4.0

- new diff command
- better support for YARD's @overload tag
- several bugfixes (as always)


## 0.3.3

- Fix rake task
- Remove unused constant
- Add support for overload tag
- Add failing test re: method overloading
- Update README with configuration instructions


## 0.3.2

- Fix bug when parsing .inch.yml
- Separate test suite in unit and integration tests
- Support regexes in .inch.yml
- Add some basic ideas for .inch.yml support
- Speed up tests by caching code objects


## 0.3.1

- Fix error with empty docstring
- Do not count @raise tag if it is auto-assigned via YARD
- Add a role to encapsulate notations of private tags
- Update Docstring to detect internal apis
- Fix output of priority arrows in Suggest command
- Use original docstring to determine if an object is undocumented?
- Fix things complained about in last commit
- Exclude failing test
- Don't apply transitive :since tag to children's evaluation
- Fix bug in YARD method object proxy
- Fix wrong detection of splat and block parameters
- Fix 1.9.3 compatibility of Inch::Utils::UI
- Fix #depth method
- Add Inch::Utils::UI utility class
- Cache some repeatedly calculated values


## 0.3.0

- Add proxy for RootObject to YARD object provider
- Ignore some YARD code objects by type
- Remove YARD from core_ext
- Fix bug showing wrong paths instead of files in Suggest
- Ensure output if Suggest has nothing to suggest
- Merge pull request #5 from splattael/perf
- Upgrade to Ruby 2.1 as default
- Prefer `Module#const_get(class_name)` over `eval(class_name)`
- Prefer `public_send(name)` over `method(name).call`
- Perf: Index codeobjects objects by fullname
- Merge pull request #4 from jimjeffers/master
- Fixed minor typo in CLI for suggest command.
- Require 'forwardable' at the very top
- Add fix for failing test
- Add failing test fixture
- Refactor Evaluation namespace
- Add doc to ObjectsFilter
- Add CodeObject::Provider modules
- Rewrite Evaluation Role model
- Add some more docs
- Extract shared specs into own file
- Depend on minitest ~> 5.2
- Merge pull request #3 from splattael/simplecov
- Add docs to ReadWriteMethods
- Move simplecov's configuration into own file
- Add tests for new API classes
- Rename Evaluation::WeightedList -> Utils::WeightedList
- Fix description of stats command
- Add PriorityRange
- Refactor inspect/show output
- Introduce API namespace
- Fix wrong command registration in Command::Inspect
- Add Codebase::ObjectsFilter
- Update commands to use Codebase
- Introduce Codebase namespace
- Remove unused method alias
- Fix bug in Docstring


## 0.2.3

- Bump version
- Rescue error raised by YARD
- Let Command classes register themselves in CommandParser
- Fix failing tests (typo)
- Refactor some more methods
- Refactor complex methods
- Add Getter and Setter roles
- Refactor ScoreRanges into GradeLists
- Add Inch::Config
- Rename Evaluation::Criteria -> ObjectSchema
- Add weighted_list for suggest output
- Make CodeObject::Proxy#object an attr_reader


## 0.2.2

- Fix bug related to private @api tags (again)


## 0.2.1

- Fix bug related to private @api tags


## 0.2.0

- First public release