- New interface to specify multiple formatters. See #317 (thanks @sferik)
- Document in the README how to exclude code from coverage reports, and that the feature shouldn't be abused for skipping untested private code. See #304
- Clarify Ruby version support. See #279 (thanks @deivid-rodriguez)
- Ensure calculations return Floats, not Fixnum or Rational. Fixes segfaults with mathn. See #245 (thanks to @bf4)
Kernel.exitinstead of exit to avoid uncaught throw :IRB_EXIT when exiting irb sessions. See #287 (thanks @wless1) See #285
- Does not look for .simplecov in ~/ when $HOME is not set. See #311 (thanks @lasseebert)
- Exit with code only if it's Numeric > 0. See #302 (thanks @hajder)
- Make default filter case insensitive. See #280 (thanks @ryanatball)
- Improve regexp that matches functional tests. See #276 (thanks @sferik)
- Fix TravisCI #272 #278, #302
- Fix global config load. See #311 (thanks @lasseebert)
👀 Note: Yanked the same day because of the regression that 0.8.1 fixes, see above
🚀 It's been way too long since the last official release 0.7.1, but this was partly due to it proving itself 🚀 quite stable in most circumstances. This release brings various further stability improvements to result set merging 🔧 (especially when working with parallel_tests), the configuration, source file encodings, and command name guessing.
💎 The 0.8 line is the last one to cooperate with Ruby < 1.9. Starting with 0.9, SimpleCov will assume to be running in 🗄 Ruby 1.9+, and will not try to detect or bail silently on older Ruby versions. An appropriate deprecation warning has been added.
- Configuration blocks now have access to variables and methods outside of the block's scope. See #238 (thanks to @ms-tg)
- You can now have a global
~/.simplecovconfiguration file. See #195 (thanks to @spagalloco)
- simplecov-html now uses the MIT-licensed colorbox plugin. Some adjustments when viewing source files, including retaining the currently open file on refresh have been added. See simplecov-html #15 (thanks to @chetan)
- Adds support for Rails 4 command guessing, removes default group
vendor/plugins. See #181 and #203 (thanks to @semanticart and @phallstrom)
- You can now load simplecov without the default settings by doing
require 'simplecov/no_defaults'or setting
simplecov/defaultsto see what preconfigurations are getting dropped by using this. See #209 (thanks to @ileitch)
- The result set merging now uses the
lockfilegem to avoid race conditions. See #185 (thanks to @jshraibman-mdsol).
- Automatically detect the usage of parallel_tests and adjust the command name with the test env number accordingly, See #64 and #185 (thanks to @jshraibman-mdsol).
- Rename adapters to "profiles" given that they are bundles of settings. The old adapter methods are deprecated, but remain available for now. See #207 (thanks to @mikerobe)
- Tweaks to the automatic test suite naming. In particular,
rspec/featuresshould now be correctly attributed to RSpec, not Cucumber. See #212 (thanks to @ersatzryan and @betelgeuse)
- MiniTest should now be identified correctly by the command name guesser. See #244 (thanks to @envygeeks)
- Makes SimpleCov resilient to inclusion of mathn library. See #175 and #140 (thanks to @scotje)
- Allow coverage_dir to be an absolute path.
- See #190 (thanks to @jshraibman-mdsol)
- The internal cucumber test suite now uses Capybara 2. See #206 (thanks to @infertux)
- Work-arounds for the Coverage library shipped in JRuby 1.6 to behave in line with MRI. See #174 (thanks to @grddev)
- Fix warning: instance variable @exit_status not initialized. See #242 and #213 (thanks to @sferik and @infertux)
- Correct result calculations for people using :nocov: tags. See #215 (thanks to @aokolish)
- Average hits per line for groups of files is now computed correctly. See #192 and #179 (thanks to @graysonwright)
- Compatibility with BINARY internal encoding. See #194 and #127 (thanks to @justfalter)
- Special characters in
SimpleCov.rootare now correctly escaped before being used as a RegExp. See #204 and #237 (thanks to @rli9)
- [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 https://github.com/simplecov-ruby/simplecov/issues/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.
- [FEATURE] The new
minimum_coveragenow 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_dropdisallows any coverage drops between test runs. See https://github.com/simplecov-ruby/simplecov/pull/151, https://github.com/simplecov-ruby/simplecov/issues/11, https://github.com/simplecov-ruby/simplecov/issues/90, and https://github.com/simplecov-ruby/simplecov/issues/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 https://github.com/simplecov-ruby/simplecov/pull/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 https://github.com/simplecov-ruby/simplecov-html/pull/14 (thanks to @ebelgarts)
- [REFACTORING] A few more ruby warnings removed. See https://github.com/simplecov-ruby/simplecov/issues/106 and https://github.com/simplecov-ruby/simplecov/pull/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!
- [FEATURE] The new
- [BUGFIX] Encoding issues with ISO-8859-encoded source files fixed. See https://github.com/simplecov-ruby/simplecov/pull/117. (thanks to @Deradon)
- [BUGFIX] Ensure ZeroDivisionErrors won't occur when calculating the coverage result, which previously could happen in certain cases. See https://github.com/simplecov-ruby/simplecov/pull/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 https://github.com/simplecov-ruby/simplecov/issues/106 and https://github.com/simplecov-ruby/simplecov/pull/119. (thanks to @mvz and @gioele)
- [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 https://github.com/simplecov-ruby/simplecov/issues/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 :)
- [Updated to latest version of MultiJSON and its new API (thanks to @sferik and @ronen). See https://github.com/simplecov-ruby/simplecov/pull/122