Unreleased (changes)
v0.7.1, 2012-10-12 (changes)
- [BUGFIX] The gem packages of 0.7.0 (both simplecov and simplecov-html) pushed to Rubygems had some file permission issues, leading to problems when installing SimpleCov in a root/system Rubygems install and then trying to use it as a normal user (see simplecov-ruby#171, thanks @envygeeks for bringing it up). The gem build process has been changed to always enforce proper permissions before packaging to avoid this issue in the future.
v0.7.0, 2012-10-10 (changes)
- [FEATURE] The new
maximum_coverage_drop
andminimum_coverage
now allow you to fail your build when the coverage dropped by more than what you allowed or is below a minimum value required. Also,refuse_coverage_drop
disallows any coverage drops between test runs. See simplecov-ruby#151, simplecov-ruby#11, simplecov-ruby#90, and simplecov-ruby#96 (thanks to @infertux) - [FEATURE] SimpleCov now ships with a built-in MultiFormatter which allows the easy usage of multiple result formatters at the same time without the need to write custom wrapper code. See simplecov-ruby#158 (thanks to @nikitug)
- [BUGFIX] The usage of digits, hyphens and underscores in group names could lead to broken tab navigation in the default simplecov-html reports. See simplecov-ruby/simplecov-html#14 (thanks to @ebelgarts)
- [REFACTORING] A few more ruby warnings removed. See simplecov-ruby#106 and simplecov-ruby#139. (thanks to @lukejahnke)
- A Pledgie button for those that feel generous :)
- The usual bunch of README fixes and documentation tweaks. Thanks to everyone who contributed those!
v0.6.4, 2012-05-10 (changes)
- [BUGFIX] Encoding issues with ISO-8859-encoded source files fixed. See simplecov-ruby#117. (thanks to @Deradon)
- [BUGFIX] Ensure ZeroDivisionErrors won't occur when calculating the coverage result, which previously could happen in certain cases. See simplecov-ruby#128. (thanks to @japgolly)
- [REFACTORING] Changed a couple instance variable lookups so SimpleCov does not cause a lot of warnings when running ruby at a higher warning level. See simplecov-ruby#106 and simplecov-ruby#119. (thanks to @mvz and @gioele)
v0.6.3, 2012-05-10 (changes)
- [BUGFIX] Modified the API-changes for newer multi_json versions introduced with #122 and v0.6.2 so they are backwards-compatible with older multi_json gems in order to avoid simplecov polluting the multi_json minimum version requirement for entire applications. See simplecov-ruby#132
- Added appraisal gem to the test setup in order to run the test suite against both 1.0 and 1.3 multi_json gems and ensure the above actually works :)
v0.6.2, 2012-04-20 (changes)
- [Updated to latest version of MultiJSON and its new API (thanks to @sferik and @ronen). See simplecov-ruby#122
v0.6.1, 2012-02-24 (changes)
- [BUGFIX] Don't force-load Railtie on Rails < 3. Fixes regression introduced with #83. See simplecov-ruby#113
v0.6.0, 2012-02-22 (changes)
- [FEATURE] Auto-magic
rake simplecov
task for rails (see simplecov-ruby#83, thanks @sunaku) - [BUGFIX] Treat source files as UTF-8 to avoid encoding errors (see simplecov-ruby#103, thanks @joeyates)
- [BUGFIX] Store the invoking terminal command right after loading so they are safe from other libraries tampering with ARGV. Among other makes automatic Rails test suite splitting (Unit/Functional/Integration) work with recent rake versions again (see simplecov-ruby#110)
- [FEATURE] If guessing command name from the terminal command fails, try guessing from defined constants (see https://github.com/colszowka/simplecov/commit/37afca54ef503c33d888e910f950b3b943cb9a6c)
- Some refactorings and cleanups as usual. Please refer to the github compare view for a full list of changes: https://github.com/colszowka/simplecov/compare/v0.5.4...v0.6.0
v0.5.4, 2011-10-12 (changes)
- Do not give exit code 0 when there are exceptions prior to tests (see simplecov-ruby#41, thanks @nbogie)
- The API for building custom filter classes is now more obvious, using #matches? instead of #passes? too. (see simplecov-ruby#85, thanks @robinroestenburg)
- Mailers are now part of the Rails adapter as their own group (see simplecov-ruby#79, thanks @geetarista)
- Removed fix for JRuby 1.6 RC1 float bug because it's been fixed (see simplecov-ruby#86)
- Readme formatted in Markdown :)
v0.5.3, 2011-09-13 (changes)
-
Fix for encoding issues that came from the nocov processing mechanism (see simplecov-ruby#71)
-
:nocov: lines are now actually being reflected in the HTML report and are marked in yellow.
-
The Favicon in the HTML report is now determined by the overall coverage and will have the color that the coverage percentage gets as a css class to immediately indicate coverage status on first sight.
-
Introduced SimpleCov::SourceFile::Line#status method that returns the coverage status as a string for this line - made SimpleCov::HTML use that.
-
Refactored nocov processing and made it configurable using SimpleCov.ncov_token (or it's alias SimpleCov.skip_token)
v0.5.2, 2011-09-12 (changes)
- Another fix for a bug in JSON processing introduced with MultiJSON in 0.5.1 (see simplecov-ruby#75, thanks @sferik)
v0.5.1, 2011-09-12 (changes)
Note: Yanked 2011-09-12 because the MultiJSON-patch had a crucial bug
-
Fix for invalid gemspec dependency string (see simplecov-ruby#70, http://blog.rubygems.org/2011/08/31/shaving-the-yaml-yacc.html, thanks @jspradlin)
-
Added JSON in the form of the multi_json gem as dependency for those cases when built-in JSON is unavailable (see simplecov-ruby#72 and simplecov-ruby#74, thanks @sferik)
v0.5.0, 2011-09-09 (changes)
Note: Yanked 2011-09-09 because of trouble with the gemspec.
-
JSON is now used instead of YAML for resultset caching (used for merging). Should resolve a lot of problems people used to have because of YAML parser errors.
-
There's a new adapter 'test_frameworks'. Use it outside of Rails to remove
test/
,spec/
,features/
andautotest/
dirs from your coverage reports, either directly withSimpleCov.start 'test_frameworks'
or withSimpleCov.load_adapter 'test_frameworks'
-
SimpleCov configuration can now be placed centrally in a text file
.simplecov
, which will be automatically read onrequire 'simplecov'
. This makes using custom configuration like groups and filters across your test suites much easier as you only have to specify your config once. Just put the wholeSimpleCov.start (...)
code intoAPP_ROOT/.simplecov
-
Lines can now be skipped by using the :nocov: flag in comments that wrap the code that should be skipped, like in this example (thanks @phillipkoebbe)
#:nocov: def skipped @foo * 2 end #:nocov:
-
Moved file set coverage analytics from simplecov-html to SimpleCov::FileList, a new subclass of Array that is always returned for SourceFile lists (i.e. in groups) and can now be used in all formatters without the need to roll your own.
-
The exceptions you used to get after removing some code and re-running your tests because SimpleCov couldn't find the cached source lines should be resolved (thanks @goneflyin)
-
Coverage strength metric: Average hits/line per source file and result group (thanks @trans)
-
Finally, SimpleCov has an extensive Cucumber test suite
-
Full compatibility with Ruby 1.9.3.preview1
- The display of source files has been improved a lot. Weird scrolling trouble, out-of-scope line hit counts and such should be a thing of the past. Also, it is prettier now.
- Source files are now syntax highlighted
- File paths no longer have that annoying './' in front of them