simplecov 0.8.0.pre2 → 0.18.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (135) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +368 -27
  3. data/CODE_OF_CONDUCT.md +76 -0
  4. data/CONTRIBUTING.md +38 -7
  5. data/ISSUE_TEMPLATE.md +23 -0
  6. data/{MIT-LICENSE → LICENSE} +1 -1
  7. data/README.md +449 -230
  8. data/doc/alternate-formatters.md +61 -0
  9. data/doc/commercial-services.md +20 -0
  10. data/doc/editor-integration.md +18 -0
  11. data/lib/simplecov.rb +294 -59
  12. data/lib/simplecov/combine.rb +30 -0
  13. data/lib/simplecov/combine/branches_combiner.rb +32 -0
  14. data/lib/simplecov/combine/files_combiner.rb +25 -0
  15. data/lib/simplecov/combine/lines_combiner.rb +43 -0
  16. data/lib/simplecov/combine/results_combiner.rb +60 -0
  17. data/lib/simplecov/command_guesser.rb +46 -40
  18. data/lib/simplecov/configuration.rb +346 -221
  19. data/lib/simplecov/defaults.rb +35 -75
  20. data/lib/simplecov/exit_codes.rb +9 -4
  21. data/lib/simplecov/file_list.rb +80 -36
  22. data/lib/simplecov/filter.rb +51 -3
  23. data/lib/simplecov/formatter.rb +4 -2
  24. data/lib/simplecov/formatter/multi_formatter.rb +28 -19
  25. data/lib/simplecov/formatter/simple_formatter.rb +21 -15
  26. data/lib/simplecov/last_run.rb +21 -13
  27. data/lib/simplecov/lines_classifier.rb +48 -0
  28. data/lib/simplecov/load_global_config.rb +8 -0
  29. data/lib/simplecov/no_defaults.rb +4 -2
  30. data/lib/simplecov/profiles.rb +29 -23
  31. data/lib/simplecov/profiles/bundler_filter.rb +5 -0
  32. data/lib/simplecov/profiles/hidden_filter.rb +5 -0
  33. data/lib/simplecov/profiles/rails.rb +18 -0
  34. data/lib/simplecov/profiles/root_filter.rb +10 -0
  35. data/lib/simplecov/profiles/test_frameworks.rb +8 -0
  36. data/lib/simplecov/result.rb +39 -68
  37. data/lib/simplecov/result_adapter.rb +30 -0
  38. data/lib/simplecov/result_merger.rb +110 -60
  39. data/lib/simplecov/simulate_coverage.rb +29 -0
  40. data/lib/simplecov/source_file.rb +261 -135
  41. data/lib/simplecov/source_file/branch.rb +106 -0
  42. data/lib/simplecov/source_file/line.rb +72 -0
  43. data/lib/simplecov/useless_results_remover.rb +16 -0
  44. data/lib/simplecov/version.rb +4 -2
  45. metadata +48 -197
  46. data/.gitignore +0 -32
  47. data/.travis.yml +0 -28
  48. data/.yardopts +0 -1
  49. data/Appraisals +0 -8
  50. data/Gemfile +0 -16
  51. data/Rakefile +0 -32
  52. data/cucumber.yml +0 -13
  53. data/features/config_autoload.feature +0 -46
  54. data/features/config_command_name.feature +0 -45
  55. data/features/config_coverage_dir.feature +0 -33
  56. data/features/config_deactivate_merging.feature +0 -42
  57. data/features/config_formatters.feature +0 -52
  58. data/features/config_merge_timeout.feature +0 -39
  59. data/features/config_nocov_token.feature +0 -79
  60. data/features/config_profiles.feature +0 -44
  61. data/features/config_project_name.feature +0 -27
  62. data/features/config_styles.feature +0 -121
  63. data/features/cucumber_basic.feature +0 -29
  64. data/features/maximum_coverage_drop.feature +0 -36
  65. data/features/merging_test_unit_and_rspec.feature +0 -44
  66. data/features/minimum_coverage.feature +0 -59
  67. data/features/refuse_coverage_drop.feature +0 -35
  68. data/features/rspec_basic.feature +0 -31
  69. data/features/rspec_fails_on_initialization.feature +0 -14
  70. data/features/rspec_groups_and_filters_basic.feature +0 -29
  71. data/features/rspec_groups_and_filters_complex.feature +0 -35
  72. data/features/rspec_groups_using_filter_class.feature +0 -40
  73. data/features/rspec_without_simplecov.feature +0 -20
  74. data/features/skipping_code_blocks_manually.feature +0 -70
  75. data/features/step_definitions/html_steps.rb +0 -45
  76. data/features/step_definitions/simplecov_steps.rb +0 -66
  77. data/features/step_definitions/transformers.rb +0 -13
  78. data/features/step_definitions/web_steps.rb +0 -64
  79. data/features/support/env.rb +0 -44
  80. data/features/test_unit_basic.feature +0 -34
  81. data/features/test_unit_groups_and_filters_basic.feature +0 -29
  82. data/features/test_unit_groups_and_filters_complex.feature +0 -35
  83. data/features/test_unit_groups_using_filter_class.feature +0 -40
  84. data/features/test_unit_without_simplecov.feature +0 -20
  85. data/features/unicode_compatiblity.feature +0 -67
  86. data/gemfiles/multi_json_legacy.gemfile +0 -12
  87. data/gemfiles/multi_json_new.gemfile +0 -12
  88. data/lib/simplecov/jruby16_fix.rb +0 -43
  89. data/lib/simplecov/json.rb +0 -27
  90. data/lib/simplecov/merge_helpers.rb +0 -39
  91. data/lib/simplecov/railtie.rb +0 -7
  92. data/lib/simplecov/railties/tasks.rake +0 -11
  93. data/simplecov.gemspec +0 -30
  94. data/test/faked_project/Gemfile +0 -6
  95. data/test/faked_project/Rakefile +0 -8
  96. data/test/faked_project/cucumber.yml +0 -13
  97. data/test/faked_project/features/step_definitions/my_steps.rb +0 -23
  98. data/test/faked_project/features/support/env.rb +0 -12
  99. data/test/faked_project/features/test_stuff.feature +0 -6
  100. data/test/faked_project/lib/faked_project.rb +0 -11
  101. data/test/faked_project/lib/faked_project/framework_specific.rb +0 -18
  102. data/test/faked_project/lib/faked_project/meta_magic.rb +0 -24
  103. data/test/faked_project/lib/faked_project/some_class.rb +0 -29
  104. data/test/faked_project/spec/faked_spec.rb +0 -11
  105. data/test/faked_project/spec/meta_magic_spec.rb +0 -10
  106. data/test/faked_project/spec/some_class_spec.rb +0 -10
  107. data/test/faked_project/spec/spec_helper.rb +0 -15
  108. data/test/faked_project/test/faked_test.rb +0 -11
  109. data/test/faked_project/test/meta_magic_test.rb +0 -13
  110. data/test/faked_project/test/some_class_test.rb +0 -15
  111. data/test/faked_project/test/test_helper.rb +0 -16
  112. data/test/fixtures/app/controllers/sample_controller.rb +0 -10
  113. data/test/fixtures/app/models/user.rb +0 -10
  114. data/test/fixtures/deleted_source_sample.rb +0 -15
  115. data/test/fixtures/frameworks/rspec_bad.rb +0 -9
  116. data/test/fixtures/frameworks/rspec_good.rb +0 -9
  117. data/test/fixtures/frameworks/testunit_bad.rb +0 -9
  118. data/test/fixtures/frameworks/testunit_good.rb +0 -9
  119. data/test/fixtures/iso-8859.rb +0 -3
  120. data/test/fixtures/resultset1.rb +0 -4
  121. data/test/fixtures/resultset2.rb +0 -5
  122. data/test/fixtures/sample.rb +0 -16
  123. data/test/fixtures/utf-8.rb +0 -3
  124. data/test/helper.rb +0 -34
  125. data/test/shoulda_macros.rb +0 -19
  126. data/test/test_1_8_fallbacks.rb +0 -31
  127. data/test/test_command_guesser.rb +0 -19
  128. data/test/test_deleted_source.rb +0 -14
  129. data/test/test_file_list.rb +0 -22
  130. data/test/test_filters.rb +0 -78
  131. data/test/test_merge_helpers.rb +0 -105
  132. data/test/test_result.rb +0 -160
  133. data/test/test_return_codes.rb +0 -37
  134. data/test/test_source_file.rb +0 -106
  135. data/test/test_source_file_line.rb +0 -106
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 7768d38b9aeb395f607dda4c66716e0d2666e16a
4
- data.tar.gz: 3cf5925dbcaf7506be09faaad38edca5bad8f488
2
+ SHA256:
3
+ metadata.gz: 8dd6ab6b1c33e8b2503dc00691a8ae500ae0caf885fc2dba52bbe102d696d926
4
+ data.tar.gz: 41c70724c0beb18bd66f665cb078a8b9cf95d1dbb770bf1eb0601156c12370e0
5
5
  SHA512:
6
- metadata.gz: bd3a2f25dc14d3cc3b65309aa06ea37563929d0951fa7d6ec90f9b1b6868ea8a670764230cbb5e7cbf0807c8b04d22a16d051204159a56d8231af909aa4b67f1
7
- data.tar.gz: 27f202f8386e4478fed7a746e7e464106220ffcf716f506e3dac4914cd7f186fda21b794637ff9b7b52381fcdacfce3bd6af24c14a998d98047888d33ebfdf01
6
+ metadata.gz: ba1dcb50ce7ef6765a9f519bda006388d587c67cd103bcf6d0f4bd4d4427ebef240de13772e8925f62d70dd232310bd705b66fbda1c39c25444dcd329b9dedc1
7
+ data.tar.gz: cc1160ba31aa5ecdcb46a255e3147e78f649789d542d1363343fec803ec9c5c96759272990ba67ceb75a0a07116325f962a69354d8a01477a905b491bba86275
@@ -1,25 +1,366 @@
1
- Unreleased ([changes](https://github.com/colszowka/simplecov/compare/v0.7.1...master))
2
- -------------------
1
+ 0.18.0.beta1 (2020-01-05)
2
+ ===================
3
3
 
4
- * [FEATURE] Adds support for Rails 4 command guessing.
5
- See [#181](https://github.com/colszowka/simplecov/pull/181) (thanks to @semanticart)
6
- * [REFACTORING] Rename adapters to "profiles" given that they are bundles of settings. The old adapter methods are
7
- deprecated, but remain available for now.
8
- See [#207](https://github.com/colszowka/simplecov/pull/207) (thanks to @mikerobe)
9
- * [FEATURE] You can now load simplecov without the default settings by doing `require 'simplecov/no_defaults'
4
+ This is a huge release highlighted by changing our support for ruby versions to 2.4+ (so things that aren't EOL'ed) and finally adding branch coverage support!
5
+
6
+ This release is still beta because we'd love for you to test out branch coverage and get your feedback before doing a full release.
7
+
8
+ On a personal note from [@PragTob](https://github.com/PragTob/) thanks to [ruby together](https://rubytogether.org/) for sponsoring this work on SimpleCov making it possible to deliver this and subsequent releases.
9
+
10
+ ## Breaking
11
+ * Dropped official support for all EOL'ed rubies meaning we only officially support 2.4+ - older rubies might still work but are not guaranteed to do so. Older release should still work. (thanks [@deivid-rodriguez](https://github.com/deivid-rodriguez))
12
+ * Dropped the `rake simplecov` task that "magically" integreated with rails. It was always undocumented, caused some issues and [had some issues](https://github.com/colszowka/simplecov/issues/689#issuecomment-561572327). Use the integration as described in the README please :)
13
+
14
+ ## Enhancements
15
+
16
+ * Branch coverage is here! Please try it out and test it! You can activate it with `enable_coverage :branch`. See the README for more details. This is thanks to a bunch of people most notably [@som4ik](https://github.com/som4ik), [@tycooon](https://github.com/tycooon), [@stepozer](https://github.com/stepozer), [@klyonrad](https://github.com/klyonrad) and your humble maintainers also contributed ;)
17
+ * If the minimum coverage is set to be greater than 100, a warning will be shown. See [#737](https://github.com/colszowka/simplecov/pull/737) (thanks [@belfazt](https://github.com/belfazt))
18
+ * Add a configuration option to disable the printing of non-successful exit statuses. See [#747](https://github.com/colszowka/simplecov/pull/746) (thanks [@JacobEvelyn](https://github.com/JacobEvelyn))
19
+ * Calculating 100% coverage is now stricter, so 100% means 100%. See [#680](https://github.com/colszowka/simplecov/pull/680) thanks [@gleseur](https://github.com/gleseur)
20
+
21
+ ## Bugfixes
22
+
23
+ * Add new instance of `Minitest` constant. The `MiniTest` constant (with the capital T) will be removed in the next major release of Minitest. See [#757](https://github.com/colszowka/simplecov/pull/757) (thanks [@adam12](https://github.com/adam12))
24
+
25
+ 0.17.1 (2019-09-16)
26
+ ===================
27
+
28
+ Bugfix release for problems with ParallelTests.
29
+
30
+ ## Bugfixes
31
+
32
+ * Avoid hanging with parallel_tests. See [#746](https://github.com/colszowka/simplecov/pull/746) (thanks [@annaswims](https://github.com/annaswims))
33
+
34
+ 0.17.0 (2019-07-02)
35
+ ===================
36
+
37
+ Maintenance release with nice convenience features and important bugfixes.
38
+ Notably this **will be the last release to support ruby versions that have reached their end of life**. Moving forward official CRuby support will be 2.4+ and JRuby support will be 9.2+. Older versions might still work but no guarantees.
39
+
40
+ ## Enhancements
41
+
42
+ * Per default filter hidden files and folders. See [#721](https://github.com/colszowka/simplecov/pull/721) (thanks [Renuo AG](https://www.renuo.ch))
43
+ * Print the exit status explicitly when it's not a successful build so it's easier figure out SimpleCov failed the build in the output. See [#688](https://github.com/colszowka/simplecov/pull/688) (thanks [@daemonsy](https://github.com/daemonsy))
44
+
45
+ ## Bugfixes
46
+
47
+ * Avoid a premature failure exit code when setting `minimum_coverage` in combination with using [parallel_tests](https://github.com/grosser/parallel_tests). See [#706](https://github.com/colszowka/simplecov/pull/706) (thanks [@f1sherman](https://github.com/f1sherman))
48
+ * Project roots with special characters no longer cause crashes. See [#717](https://github.com/colszowka/simplecov/pull/717) (thanks [@deivid-rodriguez](https://github.com/deivid-rodriguez))
49
+ * Avoid continously overriding test results with manual `ResultMergere.store_results` usage. See [#674](https://github.com/colszowka/simplecov/pull/674) (thanks [@tomeon](https://github.com/tomeon))
50
+
51
+ 0.16.1 (2018-03-16)
52
+ ===================
53
+
54
+ ## Bugfixes
55
+
56
+ * Include the LICENSE in the distributed gem again (accidentally removed in 0.16.0). (thanks @tas50)
57
+
58
+ 0.16.0 (2018-03-15)
59
+ ===================
60
+
61
+ ## Enhancements
62
+
63
+ * Relax version constraint on `docile`, per SemVer
64
+ * exception that occurred on exit is available as `exit_exception`! See [#639](https://github.com/colszowka/simplecov/pull/639) (thanks @thomas07vt)
65
+ * Performance: processing results now runs from 2.5x to 3.75x faster. See [#662](https://github.com/colszowka/simplecov/pull/662) (thanks @BMorearty & @eregon)
66
+ * Decrease gem size by only shipping lib and docs
67
+
68
+ ## Bugfixes
69
+
70
+ * (breaking) Stop handling string filters as regular expressions, use the dedicated regex filter if you need that behaviour. See [#616](https://github.com/colszowka/simplecov/pull/616) (thanks @yujinakayama)
71
+ * Avoid overwriting the last coverage results on unsuccessful test runs. See [#625](https://github.com/colszowka/simplecov/pull/625) (thanks @thomas07vt)
72
+ * Don't crash on invalid UTF-8 byte sequences. (thanks @BMorearty)
73
+
74
+ 0.15.1 (2017-09-11) ([changes](https://github.com/colszowka/simplecov/compare/v0.15.0...v0.15.1))
75
+ =======
76
+
77
+ ## Bugfixes
78
+
79
+ * Filter directories outside SimpleCov.root that have it as a prefix. See [#617](https://github.com/colszowka/simplecov/pull/617) (thanks @jenseng)
80
+ * Fix standard rails profile rails filter (didn't work). See [#618](https://github.com/colszowka/simplecov/pull/618) (thanks @jenseng again!)
81
+
82
+ 0.15.0 (2017-08-14) ([changes](https://github.com/colszowka/simplecov/compare/v0.14.1...v0.15.0))
83
+ =======
84
+
85
+ ## Enhancements
86
+
87
+ * Ability to use regex filters for removing files from the output. See [#589](https://github.com/colszowka/simplecov/pull/589) (thanks @jsteel)
88
+
89
+ ## Bugfixes
90
+
91
+ * Fix merging race condition when running tests in parallel and merging them. See [#570](https://github.com/colszowka/simplecov/pull/570) (thanks @jenseng)
92
+ * Fix relevant lines for unloaded files - comments, skipped code etc. are correctly classified as irrelevant. See [#605](https://github.com/colszowka/simplecov/pull/605) (thanks @odlp)
93
+ * Allow using simplecov with frozen-string-literals enabled. See [#590](https://github.com/colszowka/simplecov/pull/590) (thanks @pat)
94
+ * Make sure Array Filter can use all other filter types. See [#589](https://github.com/colszowka/simplecov/pull/589) (thanks @jsteel)
95
+ * Make sure file names use `Simplecov.root` as base avoiding using full absolute project paths. See [#589](https://github.com/colszowka/simplecov/pull/589) (thanks @jsteel)
96
+
97
+ 0.14.1 2017-03-18 ([changes](https://github.com/colszowka/simplecov/compare/v0.14.0...v0.14.1))
98
+ ========
99
+
100
+ ## Bugfixes
101
+
102
+ * Files that were skipped as a whole/had no relevant coverage could lead to Float errors. See [#564](https://github.com/colszowka/simplecov/pull/564) (thanks to @stevehanson for the report in [#563](https://github.com/colszowka/simplecov/issues/563))
103
+
104
+ 0.14.0 2017-03-15 ([changes](https://github.com/colszowka/simplecov/compare/v0.13.0...v0.14.0))
105
+ ==========
106
+
107
+ ## Enhancements
108
+
109
+ * Officially support JRuby 9.1+ going forward (should also work with previous releases). See [#547](https://github.com/colszowka/simplecov/pull/547) (ping @PragTob when encountering issues)
110
+ * Add Channel group to Rails profile, when `ActionCable` is loaded. See [#492](https://github.com/colszowka/simplecov/pull/492) (thanks @BenMorganIO)
111
+ * Stop `extend`ing instances of `Array` and `Hash` during merging results avoiding problems frozen results while manually merging results. See [#558](https://github.com/colszowka/simplecov/pull/558) (thanks @aroben)
112
+
113
+ ## Bugfixes
114
+
115
+ * Fix parallel_tests when a thread ends up running no tests. See [#533](https://github.com/colszowka/simplecov/pull/533) (thanks @cshaffer)
116
+ * Skip the `:nocov:` comments along with the code that they skip. See [#551](https://github.com/colszowka/simplecov/pull/551) (thanks @ebiven)
117
+ * Fix crash when Home environment variable is unset. See [#482](https://github.com/colszowka/simplecov/pull/482) (thanks @waldyr)
118
+ * Make track_files work again when explicitly setting it to nil. See [#463](https://github.com/colszowka/simplecov/pull/463) (thanks @craiglittle)
119
+ * Do not overwrite .last_run.json file when refuse_coverage_drop option is enabled and the coverage has dropped (lead to you being able to just rerun tests and everything was _fine_). See [#553](https://github.com/colszowka/simplecov/pull/553) (thanks @Miloshes)
120
+
121
+ 0.13.0 2017-01-25 ([changes](https://github.com/colszowka/simplecov/compare/v0.12.0...v0.13.0))
122
+ ==========
123
+
124
+ ## Enhancements
125
+
126
+ * Faster run times when a very large number of files is loaded into SimpleCov. See [#520](https://github.com/colszowka/simplecov/pull/520) (thanks @alyssais)
127
+ * Only read in source code files that are actually used (faster when files are ignored etc.). See [#540](https://github.com/colszowka/simplecov/pull/540) (thanks @yui-knk)
128
+
129
+ ## Bugfixes
130
+
131
+ * Fix merging of resultsets if a file is missing on one side. See [#513](https://github.com/colszowka/simplecov/pull/513) (thanks @hanazuki)
132
+ * Fix Ruby 2.4 deprecation warnings by using Integer instead of Fixnum. See [#523](https://github.com/colszowka/simplecov/pull/523) (thanks @nobu)
133
+ * Force Ruby 2 to json 2. See [dc7417d50](https://github.com/colszowka/simplecov/commit/dc7417d5049b1809cea214314c15dd93a5dd964f) (thanks @amatsuda)
134
+ * Various other gem dependency fixes for different gems on different ruby versions. (thanks @amatsuda)
135
+
136
+ 0.12.0 2016-07-02 ([changes](https://github.com/colszowka/simplecov/compare/v0.11.2...v0.12.0))
137
+ =================
138
+
139
+ ## Enhancements
140
+
141
+ * Add support for JSON versions 2.x
142
+
143
+ ## Bugfixes
144
+
145
+ * Fix coverage rate of the parallel_tests. See [#441](https://github.com/colszowka/simplecov/pull/441) (thanks @sinsoku)
146
+ * Fix a regression on old rubies that failed to work with the recently introduced frozen VERSION string. See [#461](https://github.com/colszowka/simplecov/pull/461) (thanks @leafle)
147
+
148
+ 0.11.2 2016-02-03 ([changes](https://github.com/colszowka/simplecov/compare/v0.11.1...v0.11.2))
149
+ =================
150
+
151
+ ## Enhancements
152
+
153
+ * Do not globally pollute Array and Hash with `merge_resultset` utility methods. See [#449](https://github.com/colszowka/simplecov/pull/449) (thanks @amatsuda)
154
+ * Do not `mkdir_p` the `coverage_path` on every access of the method (See [#453](https://github.com/colszowka/simplecov/pull/453) (thanks @paddor)
155
+ * Fixes a Ruby warning related to the `track_files` configuration. See [#447](https://github.com/colszowka/simplecov/pull/447) (thanks @craiglittle)
156
+ * Add a group for background jobs to default Rails profile. See [#442](https://github.com/colszowka/simplecov/pull/442) (thanks @stve)
157
+
158
+ ## Bugfixes
159
+
160
+ * Fix root_filter evaluates SimpleCov.root before initialization. See [#437](https://github.com/colszowka/simplecov/pull/437) (thanks @tmtm)
161
+
162
+ 0.11.1 2015-12-01 ([changes](https://github.com/colszowka/simplecov/compare/v0.11.0...v0.11.1))
163
+ =================
164
+
165
+ ## Enhancements
166
+
167
+ ## Bugfixes
168
+
169
+ * Fixed regression in `MultiFormatter.[]` with multiple arguments. See [#431](https://github.com/colszowka/simplecov/pull/431) (thanks @dillondrobena)
170
+
171
+ 0.11.0 2015-11-29 ([changes](https://github.com/colszowka/simplecov/compare/v0.10.0...v0.11.0))
172
+ =================
173
+
174
+ ## Enhancements
175
+
176
+ * Added `SimpleCov.minimum_coverage_by_file` for per-file coverage thresholds. See [#392](https://github.com/colszowka/simplecov/pull/392) (thanks @ptashman)
177
+ * 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](https://github.com/colszowka/simplecov/pull/422) (thanks @hugopeixoto)
178
+ * Speed up `root_filter` by an order of magnitude. See [#396](https://github.com/colszowka/simplecov/pull/396) (thanks @raszi)
179
+
180
+ ## Bugfixes
181
+
182
+ * Fix warning about global variable `$ERROR_INFO`. See [#400](https://github.com/colszowka/simplecov/pull/400) (thanks @amatsuda)
183
+ * Actually recurse upward looking for `.simplecov`, as claimed by the documentation, rather than only the working directory. See [#423](https://github.com/colszowka/simplecov/pull/423) (thanks @alexdowad)
184
+
185
+ 0.10.0 2015-04-18 ([changes](https://github.com/colszowka/simplecov/compare/v0.9.2...v0.10.0))
186
+ =================
187
+
188
+ ## Enhancements
189
+
190
+ * Add writeup about using with Spring to README. See [#341](https://github.com/colszowka/simplecov/issues/341) (thanks @swrobel and @onebree)
191
+ * Add support to pass in an Array when creating filter groups (original PR #104)
192
+ * Filter `/vendor/bundle` by default. See [#331](https://github.com/colszowka/simplecov/pull/331) (thanks @andyw8)
193
+ * Add some helpful singleton methods to the version string.
194
+ * Allow array to be passed in a filter. See [375](https://github.com/colszowka/simplecov/pull/375) (thanks @JanStevens)
195
+ * Enforce consistent code formatting with RuboCop.
196
+
197
+ ## Bugfixes
198
+
199
+ * Fix order dependencies in unit tests. See [#376](https://github.com/colszowka/simplecov/pull/376) (thanks @hugopeixoto)
200
+ * Only run the at_exit behaviors if the current PID matches the PID that called SimpleCov.start. See [#377](https://github.com/colszowka/simplecov/pull/377) (thanks @coderanger)
201
+
202
+ 0.9.2, 2015-02-18 ([changes](https://github.com/colszowka/simplecov/compare/v0.9.1...v0.9.2))
203
+ =================
204
+
205
+ This is a minor bugfix release for simplecov-html, released as `0.9.0`. Due to the tight version constraint in the gemspec
206
+ a new release of simplecov had to be shipped to allow using simplecov-html `~> 0.9.0`.
207
+
208
+ * The browser back / forward button should now work again. See [#36](https://github.com/colszowka/simplecov-html/pull/36) and
209
+ [#35](https://github.com/colszowka/simplecov-html/pull/35). Thanks @whatasunnyday and @justinsteele for submitting PRs to fix this.
210
+ * Fix "warning: possibly useless use of a variable in void context" See [#31](https://github.com/colszowka/simplecov-html/pull/31). Thanks @cbandy
211
+ * Always use binary file format. See [#32](https://github.com/colszowka/simplecov-html/pull/32). Thanks @andy128k
212
+ * Avoid slow file output with JRuby/Windows. See [#16](https://github.com/colszowka/simplecov-html/pull/16). Thanks @pschambacher
213
+
214
+ Other than the release includes a bunch of mostly documentation improvements:
215
+
216
+ * Update Rails path for Rails 4+. See [#336](https://github.com/colszowka/simplecov/pull/336). Thanks @yazinsai
217
+ * Encourage use of .simplecov to avoid lost files. See [#338](https://github.com/colszowka/simplecov/pull/338). thanks @dankohn
218
+ * Specified in the gemspec that simplecov needs ruby 1.8.7. See [#343](https://github.com/colszowka/simplecov/pull/343). thanks @iainbeeston
219
+ * Fix mispointed link in CHANGELOG.md. See [#353](https://github.com/colszowka/simplecov/pull/353). Thanks @dleve123
220
+ * Improve command name docs. See [#356](https://github.com/colszowka/simplecov/pull/356). Thanks @gtd
221
+
222
+
223
+
224
+ 0.9.1, 2014-09-21 ([changes](https://github.com/colszowka/simplecov/compare/v0.9.0...v0.9.1))
225
+ =================
226
+
227
+ ## Bugfixes
228
+
229
+ * In 0.9.0, we introduced a regression that made SimpleCov no-op mode fail on Ruby 1.8, while
230
+ dropping 1.8 support altogether is announced only for v1.0. This has been fixed.
231
+ See [#333](https://github.com/colszowka/simplecov/issues/333) (thanks (@sferik)
232
+
233
+
234
+ 0.9.0, 2014-07-17 ([changes](https://github.com/colszowka/simplecov/compare/v0.8.2...v0.9.0))
235
+ =================
236
+
237
+ **A warm welcome and big thank you to the new contributors [@xaviershay](https://github.com/xaviershay), [@sferik](https://github.com/sferik) and especially [@bf4](https://github.com/bf4) for tackling a whole lot of issues and pull requests for this release!**
238
+
239
+ ## Enhancements
240
+
241
+ * New interface to specify multiple formatters.
242
+ See [#317](https://github.com/colszowka/simplecov/pull/317) (thanks @sferik)
243
+ * Document in the README how to exclude code from coverage reports,
244
+ and that the feature shouldn't be abused for skipping untested
245
+ private code.
246
+ See [#304](https://github.com/colszowka/simplecov/issues/304)
247
+ * Clarify Ruby version support.
248
+ See [#279](https://github.com/colszowka/simplecov/pull/279) (thanks @deivid-rodriguez)
249
+
250
+ ## Bugfixes
251
+
252
+ * Ensure calculations return Floats, not Fixnum or Rational. Fixes segfaults with mathn.
253
+ See [#245](https://github.com/colszowka/simplecov/pull/245) (thanks to @bf4)
254
+ * Using `Kernel.exit` instead of exit to avoid uncaught throw :IRB_EXIT when
255
+ exiting irb sessions.
256
+ See [#287](https://github.com/colszowka/simplecov/pull/287) (thanks @wless1)
257
+ See [#285](https://github.com/colszowka/simplecov/issues/285)
258
+ * Does not look for .simplecov in ~/ when $HOME is not set.
259
+ See [#311](https://github.com/colszowka/simplecov/pull/311) (thanks @lasseebert)
260
+ * Exit with code only if it's Numeric > 0.
261
+ See [#302](https://github.com/colszowka/simplecov/pull/302) (thanks @hajder)
262
+ * Make default filter case insensitive.
263
+ See [#280](https://github.com/colszowka/simplecov/pull/280) (thanks @ryanatball)
264
+ * Improve regexp that matches functional tests.
265
+ See [#276](https://github.com/colszowka/simplecov/pull/276) (thanks @sferik)
266
+ * Fix TravisCI [#272](https://github.com/colszowka/simplecov/pull/272) [#278](https://github.com/colszowka/simplecov/pull/278), [#302](https://github.com/colszowka/simplecov/pull/302)
267
+ * Fix global config load.
268
+ See [#311](https://github.com/colszowka/simplecov/pull/311) (thanks @lasseebert)
269
+
270
+ v0.8.2, 2013-11-20 ([changes](https://github.com/colszowka/simplecov/compare/v0.8.1...v0.8.2))
271
+ ==================
272
+
273
+ ## Bugfixes
274
+
275
+ * Replaced the locking behaviour [via lockfile gem](https://github.com/colszowka/simplecov/pull/185) with
276
+ plain Ruby explicit file locking when merging results. This should make simplecov merging to behave well
277
+ on Windows again.
278
+ See [#258](https://github.com/colszowka/simplecov/issues/258) and
279
+ [#223](https://github.com/colszowka/simplecov/pull/223) (thanks to @tomykaira)
280
+
281
+ v0.8.1, 2013-11-10 ([changes](https://github.com/colszowka/simplecov/compare/v0.8.0...v0.8.1))
282
+ ==================
283
+
284
+ ## Bugfixes
285
+
286
+ * Fixed a regression introduced in 0.8.0 - the Forwardable STDLIB module is now required explicitly.
287
+ See [#256](https://github.com/colszowka/simplecov/pull/256) (thanks to @kylev)
288
+
289
+ v0.8.0, 2013-11-10 ([changes](https://github.com/colszowka/simplecov/compare/v0.7.1...v0.8.0))
290
+ ==================
291
+
292
+ **Note: Yanked the same day because of the regression that 0.8.1 fixes, see above**
293
+
294
+ ## TL;DR
295
+
296
+ It's been way too long since the last official release 0.7.1, but this was partly due to it proving itself
297
+ quite stable in most circumstances. This release brings various further stability improvements to result set merging
298
+ (especially when working with parallel_tests), the configuration, source file encodings, and command name guessing.
299
+
300
+ 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
301
+ Ruby 1.9+, and will not try to detect or bail silently on older Ruby versions. An appropriate deprecation warning
302
+ has been added.
303
+
304
+ ## Features
305
+
306
+ * Configuration blocks now have access to variables and methods outside of the block's scope.
307
+ See [#238](https://github.com/colszowka/simplecov/pull/238) (thanks to @ms-tg)
308
+ * You can now have a global `~/.simplecov` configuration file.
309
+ See [#195](https://github.com/colszowka/simplecov/pull/195) (thanks to @spagalloco)
310
+ * simplecov-html now uses the MIT-licensed colorbox plugin. Some adjustments when viewing source files,
311
+ including retaining the currently open file on refresh have been added.
312
+ See [simplecov-html #15](https://github.com/colszowka/simplecov-html/pull/15) (thanks to @chetan)
313
+ * Adds support for Rails 4 command guessing, removes default group `vendor/plugins`.
314
+ See [#181](https://github.com/colszowka/simplecov/pull/181) and
315
+ [#203](https://github.com/colszowka/simplecov/pull/203) (thanks to @semanticart and @phallstrom)
316
+ * You can now load simplecov without the default settings by doing `require 'simplecov/no_defaults'`
10
317
  or setting `ENV['SIMPLECOV_NO_DEFAULTS']`. Check `simplecov/defaults` to see what preconfigurations are getting
11
- dropped by using this.
12
- See [#209](https://github.com/colszowka/simplecov/pull/209) (thanks to @ileitch)
13
- * [REFACTORING] Tweaks to the automatic test suite naming. In particular, `rspec/features` should now
318
+ dropped by using this. See [#209](https://github.com/colszowka/simplecov/pull/209) (thanks to @ileitch)
319
+ * The result set merging now uses the `lockfile` gem to avoid race conditions.
320
+ See [#185](https://github.com/colszowka/simplecov/pull/185) (thanks to @jshraibman-mdsol).
321
+ * Automatically detect the usage of parallel_tests and adjust the command name with the test env number accordingly,
322
+ See [#64](https://github.com/colszowka/simplecov/issues/64) and
323
+ [#185](https://github.com/colszowka/simplecov/pull/185) (thanks to @jshraibman-mdsol).
324
+
325
+ ## Enhancements
326
+
327
+ * Rename adapters to "profiles" given that they are bundles of settings. The old adapter methods are
328
+ deprecated, but remain available for now.
329
+ See [#207](https://github.com/colszowka/simplecov/pull/207) (thanks to @mikerobe)
330
+ * Tweaks to the automatic test suite naming. In particular, `rspec/features` should now
14
331
  be correctly attributed to RSpec, not Cucumber.
15
332
  See [#212](https://github.com/colszowka/simplecov/pull/212) (thanks to @ersatzryan and @betelgeuse)
16
- * [REFACTORING] The internal cucumber test suite now uses Capybara 2.
333
+ * MiniTest should now be identified correctly by the command name guesser.
334
+ See [#244](https://github.com/colszowka/simplecov/pull/244) (thanks to @envygeeks)
335
+ * Makes SimpleCov resilient to inclusion of mathn library.
336
+ See [#175](https://github.com/colszowka/simplecov/pull/175) and
337
+ [#140](https://github.com/colszowka/simplecov/issues/140) (thanks to @scotje)
338
+ * Allow coverage_dir to be an absolute path.
339
+ * See [#190](https://github.com/colszowka/simplecov/pull/190) (thanks to @jshraibman-mdsol)
340
+ * The internal cucumber test suite now uses Capybara 2.
17
341
  See [#206](https://github.com/colszowka/simplecov/pull/206) (thanks to @infertux)
18
- * [FEATURE] Automatically detect the usage of parallel_tests.
19
- See https://github.com/colszowka/simplecov/issues/64
342
+ * Work-arounds for the Coverage library shipped in JRuby 1.6 to behave in line with MRI.
343
+ See [#174](https://github.com/colszowka/simplecov/pull/174) (thanks to @grddev)
344
+ * Fix warning: instance variable @exit_status not initialized.
345
+ See [#242](https://github.com/colszowka/simplecov/pull/242) and
346
+ [#213](https://github.com/colszowka/simplecov/pull/213) (thanks to @sferik and @infertux)
347
+
348
+ ## Bugfixes
349
+
350
+ * Correct result calculations for people using :nocov: tags.
351
+ See [#215](https://github.com/colszowka/simplecov/pull/215) (thanks to @aokolish)
352
+ * Average hits per line for groups of files is now computed correctly.
353
+ See [#192](http://github.com/colszowka/simplecov/pull/192) and
354
+ [#179](http://github.com/colszowka/simplecov/issues/179) (thanks to @graysonwright)
355
+ * Compatibility with BINARY internal encoding.
356
+ See [#194](https://github.com/colszowka/simplecov/pull/194) and
357
+ [#127](https://github.com/colszowka/simplecov/issues/127) (thanks to @justfalter)
358
+ * Special characters in `SimpleCov.root` are now correctly escaped before being used as a RegExp.
359
+ See [#204](https://github.com/colszowka/simplecov/issues/204) and
360
+ [#237](https://github.com/colszowka/simplecov/pull/237) (thanks to @rli9)
20
361
 
21
362
  v0.7.1, 2012-10-12 ([changes](https://github.com/colszowka/simplecov/compare/v0.7.0...v0.7.1))
22
- -------------------
363
+ ==================
23
364
 
24
365
  * [BUGFIX] The gem packages of 0.7.0 (both simplecov and simplecov-html) pushed to Rubygems had some file
25
366
  permission issues, leading to problems when installing SimpleCov in a root/system Rubygems install and then
@@ -29,7 +370,7 @@ v0.7.1, 2012-10-12 ([changes](https://github.com/colszowka/simplecov/compare/v0.
29
370
 
30
371
 
31
372
  v0.7.0, 2012-10-10 ([changes](https://github.com/colszowka/simplecov/compare/v0.6.4...v0.7.0))
32
- -------------------
373
+ ==================
33
374
 
34
375
  * [FEATURE] The new `maximum_coverage_drop` and `minimum_coverage` now allow you to fail your build when the
35
376
  coverage dropped by more than what you allowed or is below a minimum value required. Also, `refuse_coverage_drop` disallows
@@ -48,7 +389,7 @@ v0.7.0, 2012-10-10 ([changes](https://github.com/colszowka/simplecov/compare/v0.
48
389
  * The usual bunch of README fixes and documentation tweaks. Thanks to everyone who contributed those!
49
390
 
50
391
  v0.6.4, 2012-05-10 ([changes](https://github.com/colszowka/simplecov/compare/v0.6.3...v0.6.4))
51
- -------------------
392
+ ==================
52
393
 
53
394
  * [BUGFIX] Encoding issues with ISO-8859-encoded source files fixed.
54
395
  See https://github.com/colszowka/simplecov/pull/117. (thanks to @Deradon)
@@ -60,7 +401,7 @@ v0.6.4, 2012-05-10 ([changes](https://github.com/colszowka/simplecov/compare/v0.
60
401
 
61
402
 
62
403
  v0.6.3, 2012-05-10 ([changes](https://github.com/colszowka/simplecov/compare/v0.6.2...v0.6.3))
63
- -------------------
404
+ ==================
64
405
 
65
406
  * [BUGFIX] Modified the API-changes for newer multi_json versions introduced with #122 and v0.6.2 so
66
407
  they are backwards-compatible with older multi_json gems in order to avoid simplecov polluting
@@ -70,19 +411,19 @@ v0.6.3, 2012-05-10 ([changes](https://github.com/colszowka/simplecov/compare/v0.
70
411
  multi_json gems and ensure the above actually works :)
71
412
 
72
413
  v0.6.2, 2012-04-20 ([changes](https://github.com/colszowka/simplecov/compare/v0.6.1...v0.6.2))
73
- -------------------
414
+ ==================
74
415
 
75
416
  * [Updated to latest version of MultiJSON and its new API (thanks to @sferik and @ronen).
76
417
  See https://github.com/colszowka/simplecov/pull/122
77
418
 
78
419
  v0.6.1, 2012-02-24 ([changes](https://github.com/colszowka/simplecov/compare/v0.6.0...v0.6.1))
79
- -------------------
420
+ ==================
80
421
 
81
422
  * [BUGFIX] Don't force-load Railtie on Rails < 3. Fixes regression introduced with
82
423
  #83. See https://github.com/colszowka/simplecov/issues/113
83
424
 
84
425
  v0.6.0, 2012-02-22 ([changes](https://github.com/colszowka/simplecov/compare/v0.5.4...v0.6.0))
85
- -------------------
426
+ ==================
86
427
 
87
428
  * [FEATURE] Auto-magic `rake simplecov` task for rails
88
429
  (see https://github.com/colszowka/simplecov/pull/83, thanks @sunaku)
@@ -98,7 +439,7 @@ v0.6.0, 2012-02-22 ([changes](https://github.com/colszowka/simplecov/compare/v0.
98
439
  list of changes: https://github.com/colszowka/simplecov/compare/v0.5.4...v0.6.0
99
440
 
100
441
  v0.5.4, 2011-10-12 ([changes](https://github.com/colszowka/simplecov/compare/v0.5.3...v0.5.4))
101
- -------------------
442
+ ==================
102
443
 
103
444
  * Do not give exit code 0 when there are exceptions prior to tests
104
445
  (see https://github.com/colszowka/simplecov/issues/41, thanks @nbogie)
@@ -111,7 +452,7 @@ v0.5.4, 2011-10-12 ([changes](https://github.com/colszowka/simplecov/compare/v0.
111
452
  * Readme formatted in Markdown :)
112
453
 
113
454
  v0.5.3, 2011-09-13 ([changes](https://github.com/colszowka/simplecov/compare/v0.5.2...v0.5.3))
114
- -------------------
455
+ ==================
115
456
 
116
457
  * Fix for encoding issues that came from the nocov processing mechanism
117
458
  (see https://github.com/colszowka/simplecov/issues/71)
@@ -126,13 +467,13 @@ v0.5.3, 2011-09-13 ([changes](https://github.com/colszowka/simplecov/compare/v0.
126
467
  alias SimpleCov.skip_token)
127
468
 
128
469
  v0.5.2, 2011-09-12 ([changes](https://github.com/colszowka/simplecov/compare/v0.5.1...v0.5.2))
129
- -------------------
470
+ ==================
130
471
 
131
472
  * Another fix for a bug in JSON processing introduced with MultiJSON in 0.5.1
132
473
  (see https://github.com/colszowka/simplecov/pull/75, thanks @sferik)
133
474
 
134
475
  v0.5.1, 2011-09-12 ([changes](https://github.com/colszowka/simplecov/compare/v0.5.0...v0.5.1))
135
- -------------------
476
+ ==================
136
477
  **Note: Yanked 2011-09-12 because the MultiJSON-patch had a crucial bug**
137
478
 
138
479
  * Fix for invalid gemspec dependency string (see https://github.com/colszowka/simplecov/pull/70,
@@ -143,7 +484,7 @@ v0.5.1, 2011-09-12 ([changes](https://github.com/colszowka/simplecov/compare/v0.
143
484
  and https://github.com/colszowka/simplecov/pull/74, thanks @sferik)
144
485
 
145
486
  v0.5.0, 2011-09-09 ([changes](https://github.com/colszowka/simplecov/compare/v0.4.2...v0.5.4))
146
- -------------------
487
+ ==================
147
488
  **Note: Yanked 2011-09-09 because of trouble with the gemspec.**
148
489
 
149
490
  * JSON is now used instead of YAML for resultset caching (used for merging). Should resolve
@@ -164,7 +505,7 @@ v0.5.0, 2011-09-09 ([changes](https://github.com/colszowka/simplecov/compare/v0.
164
505
  <pre>
165
506
  #:nocov:
166
507
  def skipped
167
- @foo * 2
508
+ @foo * 2
168
509
  end
169
510
  #:nocov:
170
511
  </pre>