All 37 versions

Version Release date
0.14.1 March 18, 2017

2017-03-18 (changes)


  • Files that were skipped as a whole/had no relevant coverage could lead to Float errors. See #564 (thanks to @stevehanson for the report in #563)
0.14.0 March 15, 2017

2017-03-15 (changes)


  • Officially support JRuby 9.1+ going forward (should also work with previous releases). See #547 (ping @PragTob when encountering issues)
  • Add Channel group to Rails profile, when ActionCable is loaded. See #492 (thanks @BenMorganIO)
  • Stop extending instances of Array and Hash during merging results avoiding problems frozen results while manually merging results. See #558 (thanks @aroben)


  • Fix parallel_tests when a thread ends up running no tests. See #533 (thanks @cshaffer)
  • Skip the :nocov: comments along with the code that they skip. See #551 (thanks @ebiven)
  • Fix crash when Home environment variable is unset. See #482 (thanks @waldyr)
  • Make track_files work again when explicitly setting it to nil. See #463 (thanks @craiglittle)
  • Do not overwrite .lastrun.json file when refusecoveragedrop option is enabled and the coverage has dropped (lead to you being able to just rerun tests and everything was _fine). See #553 (thanks @Miloshes)
0.13.0 January 25, 2017

2017-01-25 (changes)


  • Faster run times when a very large number of files is loaded into SimpleCov. See #520 (thanks @alyssais)
  • Only read in source code files that are actually used (faster when files are ignored etc.). See #540 (thanks @yui-knk)


  • Fix merging of resultsets if a file is missing on one side. See #513 (thanks @hanazuki)
  • Fix Ruby 2.4 deprecation warnings by using Integer instead of Fixnum. See #523 (thanks @nobu)
  • Force Ruby 2 to json 2. See dc7417d50 (thanks @amatsuda)
  • Various other gem dependency fixes for different gems on different ruby versions. (thanks @amatsuda)
0.12.0 July 02, 2016

2016-07-02 (changes)


  • Add support for JSON versions 2.x


  • Fix coverage rate of the parallel_tests. See #441 (thanks @sinsoku)
  • Fix a regression on old rubies that failed to work with the recently introduced frozen VERSION string. See #461 (thanks @leafle)
0.11.2 February 03, 2016

2016-02-03 (changes)


  • Do not globally pollute Array and Hash with merge_resultset utility methods. See #449 (thanks @amatsuda)
  • Do not mkdir_p the coverage_path on every access of the method (See #453 (thanks @paddor)
  • Fixes a Ruby warning related to the track_files configuration. See #447 (thanks @craiglittle)
  • Add a group for background jobs to default Rails profile. See #442 (thanks @stve)


  • Fix root_filter evaluates SimpleCov.root before initialization. See #437 (thanks @tmtm)
0.11.1 December 02, 2015

2015-12-01 (changes)



  • Fixed regression in MultiFormatter.[] with multiple arguments. See #431 (thanks @dillondrobena)
0.11.0 November 29, 2015

2015-11-29 (changes)


  • Added SimpleCov.minimum_coverage_by_file for per-file coverage thresholds. See #392 (thanks @ptashman)
  • Added track_files configuration option to specify a glob to always include in coverage results, whether or not those files are required. By default, this is enabled in the Rails profile for common Rails directories. See #422 (thanks @hugopeixoto)
  • Speed up root_filter by an order of magnitude. See #396 (thanks @raszi)


  • Fix warning about global variable $ERROR_INFO. See #400 (thanks @amatsuda)
  • Actually recurse upward looking for .simplecov, as claimed by the documentation, rather than only the working directory. See #423 (thanks @alexdowad)
0.10.0 April 18, 2015

2015-04-18 (changes)


  • Add writeup about using with Spring to README. See #341 (thanks @swrobel and @onebree)
  • Add support to pass in an Array when creating filter groups (original PR #104)
  • Filter /vendor/bundle by default. See #331 (thanks @andyw8)
  • Add some helpful singleton methods to the version string.
  • Allow array to be passed in a filter. See 375 (thanks @JanStevens)
  • Enforce consistent code formatting with RuboCop.


  • Fix order dependencies in unit tests. See #376 (thanks @hugopeixoto)
  • Only run the at_exit behaviors if the current PID matches the PID that called SimpleCov.start. See #377 (thanks @coderanger)
0.9.2 February 18, 2015

, 2015-02-18 (changes)

This is a minor bugfix release for simplecov-html, released as 0.9.0. Due to the tight version constraint in the gemspec a new release of simplecov had to be shipped to allow using simplecov-html ~> 0.9.0.

  • The browser back / forward button should now work again. See #36 and #35. Thanks @whatasunnyday and @justinsteele for submitting PRs to fix this.
  • Fix "warning: possibly useless use of a variable in void context" See #31. Thanks @cbandy
  • Always use binary file format. See #32. Thanks @andy128k
  • Avoid slow file output with JRuby/Windows. See #16. Thanks @pschambacher

Other than the release includes a bunch of mostly documentation improvements:

  • Update Rails path for Rails 4+. See #336. Thanks @yazinsai
  • Encourage use of .simplecov to avoid lost files. See #338. thanks @dankohn
  • Specified in the gemspec that simplecov needs ruby 1.8.7. See #343. thanks @iainbeeston
  • Fix mispointed link in See #353. Thanks @dleve123
  • Improve command name docs. See #356. Thanks @gtd
0.9.1 September 21, 2014

, 2014-09-21 (changes)


  • In 0.9.0, we introduced a regression that made SimpleCov no-op mode fail on Ruby 1.8, while dropping 1.8 support altogether is announced only for v1.0. This has been fixed. See #333 (thanks (@sferik)
0.9.0 July 17, 2014

, 2014-07-17 (changes)

A warm welcome and big thank you to the new contributors @xaviershay, @sferik and especially @bf4 for tackling a whole lot of issues and pull requests for this release!


  • 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)
  • Using Kernel.exit instead 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)
0.8.2 November 20, 2013

, 2013-11-20 (changes)


  • Replaced the locking behaviour via lockfile gem with plain Ruby explicit file locking when merging results. This should make simplecov merging to behave well on Windows again. See #258 and #223 (thanks to @tomykaira)
0.8.1 November 10, 2013

, 2013-11-10 (changes)


  • Fixed a regression introduced in 0.8.0 - the Forwardable STDLIB module is now required explicitly. See #256 (thanks to @kylev)
0.8.0 November 10, 2013  
0.8.0.pre2 September 11, 2013  
0.8.0.pre April 05, 2013  
0.7.1 October 12, 2012

, 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, 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.
0.7.0 October 10, 2012

, 2012-10-10 (changes)

  • [FEATURE] The new maximum_coverage_drop and minimum_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,,, and (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 (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 (thanks to @ebelgarts)
  • [REFACTORING] A few more ruby warnings removed. See and (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!
0.6.4 May 10, 2012

, 2012-05-10 (changes)

  • [BUGFIX]??Encoding issues with ISO-8859-encoded source files fixed. See (thanks to @Deradon)
  • [BUGFIX] Ensure ZeroDivisionErrors won't occur when calculating the coverage result, which previously could happen in certain cases. See (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 and (thanks to @mvz and @gioele)
0.6.3 May 10, 2012

, 2012-05-10 (changes)

  • [BUGFIX] Modified the API-changes for newer multijson versions introduced with #122 and v0.6.2 so they are backwards-compatible with older multijson gems in order to avoid simplecov polluting the multi_json minimum version requirement for entire applications. See
  • 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 :)
0.6.2 April 20, 2012

, 2012-04-20 (changes)

  • [Updated to latest version of MultiJSON and its new API (thanks to @sferik and @ronen). See
0.6.1 February 24, 2012

, 2012-02-24 (changes)

  • [BUGFIX] Don't force-load Railtie on Rails < 3. Fixes regression introduced with #83. See
0.6.0 February 22, 2012

, 2012-02-22 (changes)

  • [FEATURE] Auto-magic rake simplecov task for rails (see, thanks @sunaku)
  • [BUGFIX] Treat source files as UTF-8 to avoid encoding errors (see, 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
  • [FEATURE] If guessing command name from the terminal command fails, try guessing from defined constants (see
  • Some refactorings and cleanups as usual. Please refer to the github compare view for a full list of changes:
0.5.4 October 11, 2011

, 2011-10-12 (changes)

  • Do not give exit code 0 when there are exceptions prior to tests (see, thanks @nbogie)
  • The API for building custom filter classes is now more obvious, using #matches? instead of #passes? too. (see, thanks @robinroestenburg)
  • Mailers are now part of the Rails adapter as their own group (see, thanks @geetarista)
  • Removed fix for JRuby 1.6 RC1 float bug because it's been fixed (see
  • Readme formatted in Markdown :)
0.5.3 September 12, 2011

, 2011-09-13 (changes)

  • Fix for encoding issues that came from the nocov processing mechanism (see
  • :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.ncovtoken (or it's alias SimpleCov.skiptoken)

0.5.2 September 11, 2011

, 2011-09-12 (changes)

  • Another fix for a bug in JSON processing introduced with MultiJSON in 0.5.1 (see, thanks @sferik)
0.4.2 April 01, 2011  
0.4.1 February 24, 2011  
0.4.0 February 08, 2011  
0.3.9 January 05, 2011  
0.3.7 November 05, 2010  
0.3.6 September 15, 2010  
0.3.5 September 02, 2010  
0.3.3 August 25, 2010  
0.3.2 August 24, 2010  
0.3.1 August 22, 2010  
0.3.0 August 21, 2010