6218:bedab77d0fa3 | 6219:d6c795b5ce33 |
---|---|
3 | 3 |
4 ============================== | 4 ============================== |
5 Change history for Coverage.py | 5 Change history for Coverage.py |
6 ============================== | 6 ============================== |
7 | 7 |
8 .. When updating the "Unreleased" header to a specific version, use this | |
9 .. format. Don't forget the jump target: | |
10 .. | |
11 .. | |
12 .. .. _changes_781: | |
13 .. | |
14 .. | |
15 .. Version 7.8.1 --- 2021-07-27 | |
16 .. ---------------------------- | |
17 | |
18 | |
19 .. _changes_451: | |
20 | |
21 Version 4.5.1 --- 2018-02-10 | |
22 ---------------------------- | |
23 | |
24 - Now that 4.5 properly separated the ``[run] omit`` and ``[report] omit`` | |
25 settings, an old bug has become apparent. If you specified a package name | |
26 for ``[run] source``, then omit patterns weren't matched inside that package. | |
27 This bug (`issue 638`_) is now fixed. | |
28 | |
29 - On Python 3.7, reporting about a decorated function with no body other than a | |
30 docstring would crash coverage.py with an IndexError (`issue 640`_). This is | |
31 now fixed. | |
32 | |
33 - Configurer plugins are now reported in the output of ``--debug=sys``. | |
34 | |
35 .. _issue 638: https://bitbucket.org/ned/coveragepy/issues/638/run-omit-is-ignored-since-45 | |
36 .. _issue 640: https://bitbucket.org/ned/coveragepy/issues/640/indexerror-reporting-on-an-empty-decorated | |
37 | |
38 | |
39 .. _changes_45: | |
40 | |
41 Version 4.5 --- 2018-02-03 | |
42 -------------------------- | |
43 | |
44 - A new kind of plugin is supported: configurators are invoked at start-up to | |
45 allow more complex configuration than the .coveragerc file can easily do. | |
46 See :ref:`api_plugin` for details. This solves the complex configuration | |
47 problem described in `issue 563`_. | |
48 | |
49 - The ``fail_under`` option can now be a float. Note that you must specify the | |
50 ``[report] precision`` configuration option for the fractional part to be | |
51 used. Thanks to Lars Hupfeldt Nielsen for help with the implementation. | |
52 Fixes `issue 631`_. | |
53 | |
54 - The ``include`` and ``omit`` options can be specified for both the ``[run]`` | |
55 and ``[report]`` phases of execution. 4.4.2 introduced some incorrect | |
56 interactions between those phases, where the options for one were confused | |
57 for the other. This is now corrected, fixing `issue 621`_ and `issue 622`_. | |
58 Thanks to Daniel Hahler for seeing more clearly than I could. | |
59 | |
60 - The ``coverage combine`` command used to always overwrite the data file, even | |
61 when no data had been read from apparently combinable files. Now, an error | |
62 is raised if we thought there were files to combine, but in fact none of them | |
63 could be used. Fixes `issue 629`_. | |
64 | |
65 - The ``coverage combine`` command could get confused about path separators | |
66 when combining data collected on Windows with data collected on Linux, as | |
67 described in `issue 618`_. This is now fixed: the result path always uses | |
68 the path separator specified in the ``[paths]`` result. | |
69 | |
70 - On Windows, the HTML report could fail when source trees are deeply nested, | |
71 due to attempting to create HTML filenames longer than the 250-character | |
72 maximum. Now filenames will never get much larger than 200 characters, | |
73 fixing `issue 627`_. Thanks to Alex Sandro for helping with the fix. | |
74 | |
75 .. _issue 563: https://bitbucket.org/ned/coveragepy/issues/563/platform-specific-configuration | |
76 .. _issue 618: https://bitbucket.org/ned/coveragepy/issues/618/problem-when-combining-windows-generated | |
77 .. _issue 621: https://bitbucket.org/ned/coveragepy/issues/621/include-ignored-warning-when-using | |
78 .. _issue 622: https://bitbucket.org/ned/coveragepy/issues/622/report-omit-overwrites-run-omit | |
79 .. _issue 627: https://bitbucket.org/ned/coveragepy/issues/627/failure-generating-html-reports-when-the | |
80 .. _issue 629: https://bitbucket.org/ned/coveragepy/issues/629/multiple-use-of-combine-leads-to-empty | |
81 .. _issue 631: https://bitbucket.org/ned/coveragepy/issues/631/precise-coverage-percentage-value | |
82 | |
83 | |
84 .. _changes_442: | |
85 | |
86 Version 4.4.2 --- 2017-11-05 | |
87 ---------------------------- | |
88 | |
89 - Support for Python 3.7. In some cases, class and module docstrings are no | |
90 longer counted in statement totals, which could slightly change your total | |
91 results. | |
92 | |
93 - Specifying both ``--source`` and ``--include`` no longer silently ignores the | |
94 include setting, instead it displays a warning. Thanks, Loïc Dachary. Closes | |
95 `issue 265`_ and `issue 101`_. | |
96 | |
97 - Fixed a race condition when saving data and multiple threads are tracing | |
98 (`issue 581`_). It could produce a "dictionary changed size during iteration" | |
99 RuntimeError. I believe this mostly but not entirely fixes the race | |
100 condition. A true fix would likely be too expensive. Thanks, Peter Baughman | |
101 for the debugging, and Olivier Grisel for the fix with tests. | |
102 | |
103 - Configuration values which are file paths will now apply tilde-expansion, | |
104 closing `issue 589`_. | |
105 | |
106 - Now secondary config files like tox.ini and setup.cfg can be specified | |
107 explicitly, and prefixed sections like `[coverage:run]` will be read. Fixes | |
108 `issue 588`_. | |
109 | |
110 - Be more flexible about the command name displayed by help, fixing | |
111 `issue 600`_. Thanks, Ben Finney. | |
112 | |
113 .. _issue 101: https://bitbucket.org/ned/coveragepy/issues/101/settings-under-report-affect-running | |
114 .. _issue 581: https://bitbucket.org/ned/coveragepy/issues/581/race-condition-when-saving-data-under | |
115 .. _issue 588: https://bitbucket.org/ned/coveragepy/issues/588/using-rcfile-path-to-toxini-uses-run | |
116 .. _issue 589: https://bitbucket.org/ned/coveragepy/issues/589/allow-expansion-in-coveragerc | |
117 .. _issue 600: https://bitbucket.org/ned/coveragepy/issues/600/get-program-name-from-command-line-when | |
118 | |
119 | |
120 .. _changes_441: | |
121 | |
122 Version 4.4.1 --- 2017-05-14 | |
123 ---------------------------- | |
124 | |
125 - No code changes: just corrected packaging for Python 2.7 Linux wheels. | |
126 | |
127 | |
128 .. _changes_44: | |
129 | |
130 Version 4.4 --- 2017-05-07 | |
131 -------------------------- | |
132 | |
133 - Reports could produce the wrong file names for packages, reporting ``pkg.py`` | |
134 instead of the correct ``pkg/__init__.py``. This is now fixed. Thanks, Dirk | |
135 Thomas. | |
136 | |
137 - XML reports could produce ``<source>`` and ``<class>`` lines that together | |
138 didn't specify a valid source file path. This is now fixed. (`issue 526`_) | |
139 | |
140 - Namespace packages are no longer warned as having no code. (`issue 572`_) | |
141 | |
142 - Code that uses ``sys.settrace(sys.gettrace())`` in a file that wasn't being | |
143 coverage-measured would prevent correct coverage measurement in following | |
144 code. An example of this was running doctests programmatically. This is now | |
145 fixed. (`issue 575`_) | |
146 | |
147 - Errors printed by the ``coverage`` command now go to stderr instead of | |
148 stdout. | |
149 | |
150 - Running ``coverage xml`` in a directory named with non-ASCII characters would | |
151 fail under Python 2. This is now fixed. (`issue 573`_) | |
152 | |
153 .. _issue 526: https://bitbucket.org/ned/coveragepy/issues/526/generated-xml-invalid-paths-for-cobertura | |
154 .. _issue 572: https://bitbucket.org/ned/coveragepy/issues/572/no-python-source-warning-for-namespace | |
155 .. _issue 573: https://bitbucket.org/ned/coveragepy/issues/573/cant-generate-xml-report-if-some-source | |
156 .. _issue 575: https://bitbucket.org/ned/coveragepy/issues/575/running-doctest-prevents-complete-coverage | |
157 | |
158 | |
159 Version 4.4b1 --- 2017-04-04 | |
160 ---------------------------- | |
161 | |
162 - Some warnings can now be individually disabled. Warnings that can be | |
163 disabled have a short name appended. The ``[run] disable_warnings`` setting | |
164 takes a list of these warning names to disable. Closes both `issue 96`_ and | |
165 `issue 355`_. | |
166 | |
167 - The XML report now includes attributes from version 4 of the Cobertura XML | |
168 format, fixing `issue 570`_. | |
169 | |
170 - In previous versions, calling a method that used collected data would prevent | |
171 further collection. For example, `save()`, `report()`, `html_report()`, and | |
172 others would all stop collection. An explicit `start()` was needed to get it | |
173 going again. This is no longer true. Now you can use the collected data and | |
174 also continue measurement. Both `issue 79`_ and `issue 448`_ described this | |
175 problem, and have been fixed. | |
176 | |
177 - Plugins can now find unexecuted files if they choose, by implementing the | |
178 `find_executable_files` method. Thanks, Emil Madsen. | |
179 | |
180 - Minimal IronPython support. You should be able to run IronPython programs | |
181 under ``coverage run``, though you will still have to do the reporting phase | |
182 with CPython. | |
183 | |
184 - Coverage.py has long had a special hack to support CPython's need to measure | |
185 the coverage of the standard library tests. This code was not installed by | |
186 kitted versions of coverage.py. Now it is. | |
187 | |
188 .. _issue 79: https://bitbucket.org/ned/coveragepy/issues/79/save-prevents-harvesting-on-stop | |
189 .. _issue 96: https://bitbucket.org/ned/coveragepy/issues/96/unhelpful-warnings-produced-when-using | |
190 .. _issue 355: https://bitbucket.org/ned/coveragepy/issues/355/warnings-should-be-suppressable | |
191 .. _issue 448: https://bitbucket.org/ned/coveragepy/issues/448/save-and-html_report-prevent-further | |
192 .. _issue 570: https://bitbucket.org/ned/coveragepy/issues/570/cobertura-coverage-04dtd-support | |
193 | |
194 | |
195 .. _changes_434: | |
196 | |
197 Version 4.3.4 --- 2017-01-17 | |
198 ---------------------------- | |
199 | |
200 - Fixing 2.6 in version 4.3.3 broke other things, because the too-tricky | |
201 exception wasn't properly derived from Exception, described in `issue 556`_. | |
202 A newb mistake; it hasn't been a good few days. | |
203 | |
204 .. _issue 556: https://bitbucket.org/ned/coveragepy/issues/556/43-fails-if-there-are-html-files-in-the | |
205 | |
206 | |
207 .. _changes_433: | |
208 | |
209 Version 4.3.3 --- 2017-01-17 | |
210 ---------------------------- | |
211 | |
212 - Python 2.6 support was broken due to a testing exception imported for the | |
213 benefit of the coverage.py test suite. Properly conditionalizing it fixed | |
214 `issue 554`_ so that Python 2.6 works again. | |
215 | |
216 .. _issue 554: https://bitbucket.org/ned/coveragepy/issues/554/traceback-on-python-26-starting-with-432 | |
217 | |
218 | |
219 .. _changes_432: | |
220 | |
221 Version 4.3.2 --- 2017-01-16 | |
222 ---------------------------- | |
223 | |
224 - Using the ``--skip-covered`` option on an HTML report with 100% coverage | |
225 would cause a "No data to report" error, as reported in `issue 549`_. This is | |
226 now fixed; thanks, Loïc Dachary. | |
227 | |
228 - If-statements can be optimized away during compilation, for example, `if 0:` | |
229 or `if __debug__:`. Coverage.py had problems properly understanding these | |
230 statements which existed in the source, but not in the compiled bytecode. | |
231 This problem, reported in `issue 522`_, is now fixed. | |
232 | |
233 - If you specified ``--source`` as a directory, then coverage.py would look for | |
234 importable Python files in that directory, and could identify ones that had | |
235 never been executed at all. But if you specified it as a package name, that | |
236 detection wasn't performed. Now it is, closing `issue 426`_. Thanks to Loïc | |
237 Dachary for the fix. | |
238 | |
239 - If you started and stopped coverage measurement thousands of times in your | |
240 process, you could crash Python with a "Fatal Python error: deallocating | |
241 None" error. This is now fixed. Thanks to Alex Groce for the bug report. | |
242 | |
243 - On PyPy, measuring coverage in subprocesses could produce a warning: "Trace | |
244 function changed, measurement is likely wrong: None". This was spurious, and | |
245 has been suppressed. | |
246 | |
247 - Previously, coverage.py couldn't start on Jython, due to that implementation | |
248 missing the multiprocessing module (`issue 551`_). This problem has now been | |
249 fixed. Also, `issue 322`_ about not being able to invoke coverage | |
250 conveniently, seems much better: ``jython -m coverage run myprog.py`` works | |
251 properly. | |
252 | |
253 - Let's say you ran the HTML report over and over again in the same output | |
254 directory, with ``--skip-covered``. And imagine due to your heroic | |
255 test-writing efforts, a file just achieved the goal of 100% coverage. With | |
256 coverage.py 4.3, the old HTML file with the less-than-100% coverage would be | |
257 left behind. This file is now properly deleted. | |
258 | |
259 .. _issue 322: https://bitbucket.org/ned/coveragepy/issues/322/cannot-use-coverage-with-jython | |
260 .. _issue 426: https://bitbucket.org/ned/coveragepy/issues/426/difference-between-coverage-results-with | |
261 .. _issue 522: https://bitbucket.org/ned/coveragepy/issues/522/incorrect-branch-reporting-with-__debug__ | |
262 .. _issue 549: https://bitbucket.org/ned/coveragepy/issues/549/skip-covered-with-100-coverage-throws-a-no | |
263 .. _issue 551: https://bitbucket.org/ned/coveragepy/issues/551/coveragepy-cannot-be-imported-in-jython27 | |
264 | |
265 | |
266 .. _changes_431: | |
267 | |
268 Version 4.3.1 --- 2016-12-28 | |
269 ---------------------------- | |
270 | |
271 - Some environments couldn't install 4.3, as described in `issue 540`_. This is | |
272 now fixed. | |
273 | |
274 - The check for conflicting ``--source`` and ``--include`` was too simple in a | |
275 few different ways, breaking a few perfectly reasonable use cases, described | |
276 in `issue 541`_. The check has been reverted while we re-think the fix for | |
277 `issue 265`_. | |
278 | |
279 .. _issue 540: https://bitbucket.org/ned/coveragepy/issues/540/cant-install-coverage-v43-into-under | |
280 .. _issue 541: https://bitbucket.org/ned/coveragepy/issues/541/coverage-43-breaks-nosetest-with-coverage | |
281 | |
282 | |
283 .. _changes_43: | |
284 | |
285 Version 4.3 --- 2016-12-27 | |
286 -------------------------- | |
287 | |
288 Special thanks to **Loïc Dachary**, who took an extraordinary interest in | |
289 coverage.py and contributed a number of improvements in this release. | |
290 | |
291 - Subprocesses that are measured with `automatic subprocess measurement`_ used | |
292 to read in any pre-existing data file. This meant data would be incorrectly | |
293 carried forward from run to run. Now those files are not read, so each | |
294 subprocess only writes its own data. Fixes `issue 510`_. | |
295 | |
296 - The ``coverage combine`` command will now fail if there are no data files to | |
297 combine. The combine changes in 4.2 meant that multiple combines could lose | |
298 data, leaving you with an empty .coverage data file. Fixes | |
299 `issue 525`_, `issue 412`_, `issue 516`_, and probably `issue 511`_. | |
300 | |
301 - Coverage.py wouldn't execute `sys.excepthook`_ when an exception happened in | |
302 your program. Now it does, thanks to Andrew Hoos. Closes `issue 535`_. | |
303 | |
304 - Branch coverage fixes: | |
305 | |
306 - Branch coverage could misunderstand a finally clause on a try block that | |
307 never continued on to the following statement, as described in `issue | |
308 493`_. This is now fixed. Thanks to Joe Doherty for the report and Loïc | |
309 Dachary for the fix. | |
310 | |
311 - A while loop with a constant condition (while True) and a continue | |
312 statement would be mis-analyzed, as described in `issue 496`_. This is now | |
313 fixed, thanks to a bug report by Eli Skeggs and a fix by Loïc Dachary. | |
314 | |
315 - While loops with constant conditions that were never executed could result | |
316 in a non-zero coverage report. Artem Dayneko reported this in `issue | |
317 502`_, and Loïc Dachary provided the fix. | |
318 | |
319 - The HTML report now supports a ``--skip-covered`` option like the other | |
320 reporting commands. Thanks, Loïc Dachary for the implementation, closing | |
321 `issue 433`_. | |
322 | |
323 - Options can now be read from a tox.ini file, if any. Like setup.cfg, sections | |
324 are prefixed with "coverage:", so ``[run]`` options will be read from the | |
325 ``[coverage:run]`` section of tox.ini. Implements part of `issue 519`_. | |
326 Thanks, Stephen Finucane. | |
327 | |
328 - Specifying both ``--source`` and ``--include`` no longer silently ignores the | |
329 include setting, instead it fails with a message. Thanks, Nathan Land and | |
330 Loïc Dachary. Closes `issue 265`_. | |
331 | |
332 - The ``Coverage.combine`` method has a new parameter, ``strict=False``, to | |
333 support failing if there are no data files to combine. | |
334 | |
335 - When forking subprocesses, the coverage data files would have the same random | |
336 number appended to the file name. This didn't cause problems, because the | |
337 file names had the process id also, making collisions (nearly) impossible. | |
338 But it was disconcerting. This is now fixed. | |
339 | |
340 - The text report now properly sizes headers when skipping some files, fixing | |
341 `issue 524`_. Thanks, Anthony Sottile and Loïc Dachary. | |
342 | |
343 - Coverage.py can now search .pex files for source, just as it can .zip and | |
344 .egg. Thanks, Peter Ebden. | |
345 | |
346 - Data files are now about 15% smaller. | |
347 | |
348 - Improvements in the ``[run] debug`` setting: | |
349 | |
350 - The "dataio" debug setting now also logs when data files are deleted during | |
351 combining or erasing. | |
352 | |
353 - A new debug option, "multiproc", for logging the behavior of | |
354 ``concurrency=multiprocessing``. | |
355 | |
356 - If you used the debug options "config" and "callers" together, you'd get a | |
357 call stack printed for every line in the multi-line config output. This is | |
358 now fixed. | |
359 | |
360 - Fixed an unusual bug involving multiple coding declarations affecting code | |
361 containing code in multi-line strings: `issue 529`_. | |
362 | |
363 - Coverage.py will no longer be misled into thinking that a plain file is a | |
364 package when interpreting ``--source`` options. Thanks, Cosimo Lupo. | |
365 | |
366 - If you try to run a non-Python file with coverage.py, you will now get a more | |
367 useful error message. `Issue 514`_. | |
368 | |
369 - The default pragma regex changed slightly, but this will only matter to you | |
370 if you are deranged and use mixed-case pragmas. | |
371 | |
372 - Deal properly with non-ASCII file names in an ASCII-only world, `issue 533`_. | |
373 | |
374 - Programs that set Unicode configuration values could cause UnicodeErrors when | |
375 generating HTML reports. Pytest-cov is one example. This is now fixed. | |
376 | |
377 - Prevented deprecation warnings from configparser that happened in some | |
378 circumstances, closing `issue 530`_. | |
379 | |
380 - Corrected the name of the jquery.ba-throttle-debounce.js library. Thanks, | |
381 Ben Finney. Closes `issue 505`_. | |
382 | |
383 - Testing against PyPy 5.6 and PyPy3 5.5. | |
384 | |
385 - Switched to pytest from nose for running the coverage.py tests. | |
386 | |
387 - Renamed AUTHORS.txt to CONTRIBUTORS.txt, since there are other ways to | |
388 contribute than by writing code. Also put the count of contributors into the | |
389 author string in setup.py, though this might be too cute. | |
390 | |
391 .. _sys.excepthook: https://docs.python.org/3/library/sys.html#sys.excepthook | |
392 .. _issue 265: https://bitbucket.org/ned/coveragepy/issues/265/when-using-source-include-is-silently | |
393 .. _issue 412: https://bitbucket.org/ned/coveragepy/issues/412/coverage-combine-should-error-if-no | |
394 .. _issue 433: https://bitbucket.org/ned/coveragepy/issues/433/coverage-html-does-not-suport-skip-covered | |
395 .. _issue 493: https://bitbucket.org/ned/coveragepy/issues/493/confusing-branching-failure | |
396 .. _issue 496: https://bitbucket.org/ned/coveragepy/issues/496/incorrect-coverage-with-branching-and | |
397 .. _issue 502: https://bitbucket.org/ned/coveragepy/issues/502/incorrect-coverage-report-with-cover | |
398 .. _issue 505: https://bitbucket.org/ned/coveragepy/issues/505/use-canonical-filename-for-debounce | |
399 .. _issue 514: https://bitbucket.org/ned/coveragepy/issues/514/path-to-problem-file-not-reported-when | |
400 .. _issue 510: https://bitbucket.org/ned/coveragepy/issues/510/erase-still-needed-in-42 | |
401 .. _issue 511: https://bitbucket.org/ned/coveragepy/issues/511/version-42-coverage-combine-empties | |
402 .. _issue 516: https://bitbucket.org/ned/coveragepy/issues/516/running-coverage-combine-twice-deletes-all | |
403 .. _issue 519: https://bitbucket.org/ned/coveragepy/issues/519/coverage-run-sections-in-toxini-or-as | |
404 .. _issue 524: https://bitbucket.org/ned/coveragepy/issues/524/coverage-report-with-skip-covered-column | |
405 .. _issue 525: https://bitbucket.org/ned/coveragepy/issues/525/coverage-combine-when-not-in-parallel-mode | |
406 .. _issue 529: https://bitbucket.org/ned/coveragepy/issues/529/encoding-marker-may-only-appear-on-the | |
407 .. _issue 530: https://bitbucket.org/ned/coveragepy/issues/530/deprecationwarning-you-passed-a-bytestring | |
408 .. _issue 533: https://bitbucket.org/ned/coveragepy/issues/533/exception-on-unencodable-file-name | |
409 .. _issue 535: https://bitbucket.org/ned/coveragepy/issues/535/sysexcepthook-is-not-called | |
410 | |
411 | |
412 .. _changes_42: | |
413 | |
414 Version 4.2 --- 2016-07-26 | |
415 -------------------------- | |
416 | |
417 - Since ``concurrency=multiprocessing`` uses subprocesses, options specified on | |
418 the coverage.py command line will not be communicated down to them. Only | |
419 options in the configuration file will apply to the subprocesses. | |
420 Previously, the options didn't apply to the subprocesses, but there was no | |
421 indication. Now it is an error to use ``--concurrency=multiprocessing`` and | |
422 other run-affecting options on the command line. This prevents | |
423 failures like those reported in `issue 495`_. | |
424 | |
425 - Filtering the HTML report is now faster, thanks to Ville Skyttä. | |
426 | |
427 .. _issue 495: https://bitbucket.org/ned/coveragepy/issues/495/branch-and-concurrency-are-conflicting | |
428 | |
429 | |
430 Version 4.2b1 --- 2016-07-04 | |
431 ---------------------------- | |
432 | |
433 Work from the PyCon 2016 Sprints! | |
434 | |
435 - BACKWARD INCOMPATIBILITY: the ``coverage combine`` command now ignores an | |
436 existing ``.coverage`` data file. It used to include that file in its | |
437 combining. This caused confusing results, and extra tox "clean" steps. If | |
438 you want the old behavior, use the new ``coverage combine --append`` option. | |
439 | |
440 - The ``concurrency`` option can now take multiple values, to support programs | |
441 using multiprocessing and another library such as eventlet. This is only | |
442 possible in the configuration file, not from the command line. The | |
443 configuration file is the only way for sub-processes to all run with the same | |
444 options. Fixes `issue 484`_. Thanks to Josh Williams for prototyping. | |
445 | |
446 - Using a ``concurrency`` setting of ``multiprocessing`` now implies | |
447 ``--parallel`` so that the main program is measured similarly to the | |
448 sub-processes. | |
449 | |
450 - When using `automatic subprocess measurement`_, running coverage commands | |
451 would create spurious data files. This is now fixed, thanks to diagnosis and | |
452 testing by Dan Riti. Closes `issue 492`_. | |
453 | |
454 - A new configuration option, ``report:sort``, controls what column of the | |
455 text report is used to sort the rows. Thanks to Dan Wandschneider, this | |
456 closes `issue 199`_. | |
457 | |
458 - The HTML report has a more-visible indicator for which column is being | |
459 sorted. Closes `issue 298`_, thanks to Josh Williams. | |
460 | |
461 - If the HTML report cannot find the source for a file, the message now | |
462 suggests using the ``-i`` flag to allow the report to continue. Closes | |
463 `issue 231`_, thanks, Nathan Land. | |
464 | |
465 - When reports are ignoring errors, there's now a warning if a file cannot be | |
466 parsed, rather than being silently ignored. Closes `issue 396`_. Thanks, | |
467 Matthew Boehm. | |
468 | |
469 - A new option for ``coverage debug`` is available: ``coverage debug config`` | |
470 shows the current configuration. Closes `issue 454`_, thanks to Matthew | |
471 Boehm. | |
472 | |
473 - Running coverage as a module (``python -m coverage``) no longer shows the | |
474 program name as ``__main__.py``. Fixes `issue 478`_. Thanks, Scott Belden. | |
475 | |
476 - The `test_helpers` module has been moved into a separate pip-installable | |
477 package: `unittest-mixins`_. | |
478 | |
479 .. _automatic subprocess measurement: https://coverage.readthedocs.io/en/latest/subprocess.html | |
480 .. _issue 199: https://bitbucket.org/ned/coveragepy/issues/199/add-a-way-to-sort-the-text-report | |
481 .. _issue 231: https://bitbucket.org/ned/coveragepy/issues/231/various-default-behavior-in-report-phase | |
482 .. _issue 298: https://bitbucket.org/ned/coveragepy/issues/298/show-in-html-report-that-the-columns-are | |
483 .. _issue 396: https://bitbucket.org/ned/coveragepy/issues/396/coverage-xml-shouldnt-bail-out-on-parse | |
484 .. _issue 454: https://bitbucket.org/ned/coveragepy/issues/454/coverage-debug-config-should-be | |
485 .. _issue 478: https://bitbucket.org/ned/coveragepy/issues/478/help-shows-silly-program-name-when-running | |
486 .. _issue 484: https://bitbucket.org/ned/coveragepy/issues/484/multiprocessing-greenlet-concurrency | |
487 .. _issue 492: https://bitbucket.org/ned/coveragepy/issues/492/subprocess-coverage-strange-detection-of | |
488 .. _unittest-mixins: https://pypi.python.org/pypi/unittest-mixins | |
489 | |
490 | |
491 .. _changes_41: | |
8 | 492 |
9 Version 4.1 --- 2016-05-21 | 493 Version 4.1 --- 2016-05-21 |
10 -------------------------- | 494 -------------------------- |
11 | 495 |
12 - The internal attribute `Reporter.file_reporters` was removed in 4.1b3. It | 496 - The internal attribute `Reporter.file_reporters` was removed in 4.1b3. It |
158 .. _issue 453: https://bitbucket.org/ned/coveragepy/issues/453/source-code-encoding-can-only-be-specified | 642 .. _issue 453: https://bitbucket.org/ned/coveragepy/issues/453/source-code-encoding-can-only-be-specified |
159 .. _issue 455: https://bitbucket.org/ned/coveragepy/issues/455/unusual-exclusions-stopped-working-in | 643 .. _issue 455: https://bitbucket.org/ned/coveragepy/issues/455/unusual-exclusions-stopped-working-in |
160 .. _issue 461: https://bitbucket.org/ned/coveragepy/issues/461/multiline-asserts-need-too-many-pragma | 644 .. _issue 461: https://bitbucket.org/ned/coveragepy/issues/461/multiline-asserts-need-too-many-pragma |
161 | 645 |
162 | 646 |
647 .. _changes_403: | |
648 | |
163 Version 4.0.3 --- 2015-11-24 | 649 Version 4.0.3 --- 2015-11-24 |
164 ---------------------------- | 650 ---------------------------- |
165 | 651 |
166 - Fixed a mysterious problem that manifested in different ways: sometimes | 652 - Fixed a mysterious problem that manifested in different ways: sometimes |
167 hanging the process (`issue 420`_), sometimes making database connections | 653 hanging the process (`issue 420`_), sometimes making database connections |
183 .. _issue 439: https://bitbucket.org/ned/coveragepy/issues/439/incorrect-cobertura-file-sources-generated | 669 .. _issue 439: https://bitbucket.org/ned/coveragepy/issues/439/incorrect-cobertura-file-sources-generated |
184 .. _issue 443: https://bitbucket.org/ned/coveragepy/issues/443/coverage-gets-confused-when-encoding | 670 .. _issue 443: https://bitbucket.org/ned/coveragepy/issues/443/coverage-gets-confused-when-encoding |
185 .. _issue 445: https://bitbucket.org/ned/coveragepy/issues/445/django-app-cannot-connect-to-cassandra | 671 .. _issue 445: https://bitbucket.org/ned/coveragepy/issues/445/django-app-cannot-connect-to-cassandra |
186 | 672 |
187 | 673 |
674 .. _changes_402: | |
675 | |
188 Version 4.0.2 --- 2015-11-04 | 676 Version 4.0.2 --- 2015-11-04 |
189 ---------------------------- | 677 ---------------------------- |
190 | 678 |
191 - More work on supporting unusually encoded source. Fixed `issue 431`_. | 679 - More work on supporting unusually encoded source. Fixed `issue 431`_. |
192 | 680 |
201 | 689 |
202 .. _issue 431: https://bitbucket.org/ned/coveragepy/issues/431/couldnt-parse-python-file-with-cp1252 | 690 .. _issue 431: https://bitbucket.org/ned/coveragepy/issues/431/couldnt-parse-python-file-with-cp1252 |
203 .. _issue 432: https://bitbucket.org/ned/coveragepy/issues/432/path-with-unicode-characters-various | 691 .. _issue 432: https://bitbucket.org/ned/coveragepy/issues/432/path-with-unicode-characters-various |
204 .. _issue 436: https://bitbucket.org/ned/coveragepy/issues/436/disabled-coverage-ctracer-may-rise-from | 692 .. _issue 436: https://bitbucket.org/ned/coveragepy/issues/436/disabled-coverage-ctracer-may-rise-from |
205 | 693 |
694 | |
695 .. _changes_401: | |
206 | 696 |
207 Version 4.0.1 --- 2015-10-13 | 697 Version 4.0.1 --- 2015-10-13 |
208 ---------------------------- | 698 ---------------------------- |
209 | 699 |
210 - When combining data files, unreadable files will now generate a warning | 700 - When combining data files, unreadable files will now generate a warning |
248 .. _issue 418: https://bitbucket.org/ned/coveragepy/issues/418/json-parse-error | 738 .. _issue 418: https://bitbucket.org/ned/coveragepy/issues/418/json-parse-error |
249 .. _issue 419: https://bitbucket.org/ned/coveragepy/issues/419/nosource-no-source-for-code-path-to-c | 739 .. _issue 419: https://bitbucket.org/ned/coveragepy/issues/419/nosource-no-source-for-code-path-to-c |
250 .. _issue 423: https://bitbucket.org/ned/coveragepy/issues/423/skip_covered-changes-reported-total | 740 .. _issue 423: https://bitbucket.org/ned/coveragepy/issues/423/skip_covered-changes-reported-total |
251 | 741 |
252 | 742 |
743 .. _changes_40: | |
744 | |
253 Version 4.0 --- 2015-09-20 | 745 Version 4.0 --- 2015-09-20 |
254 -------------------------- | 746 -------------------------- |
255 | 747 |
256 No changes from 4.0b3 | 748 No changes from 4.0b3 |
257 | 749 |
272 include tests and docs. If you were using them from the older packages, get | 764 include tests and docs. If you were using them from the older packages, get |
273 in touch and help me understand how. | 765 in touch and help me understand how. |
274 | 766 |
275 .. _issue 403: https://bitbucket.org/ned/coveragepy/issues/403/hasherupdate-fails-with-typeerror-nonetype | 767 .. _issue 403: https://bitbucket.org/ned/coveragepy/issues/403/hasherupdate-fails-with-typeerror-nonetype |
276 .. _issue 404: https://bitbucket.org/ned/coveragepy/issues/404/shiningpanda-jenkins-plugin-cant-find-html | 768 .. _issue 404: https://bitbucket.org/ned/coveragepy/issues/404/shiningpanda-jenkins-plugin-cant-find-html |
277 | |
278 | 769 |
279 | 770 |
280 Version 4.0b2 --- 2015-08-22 | 771 Version 4.0b2 --- 2015-08-22 |
281 ---------------------------- | 772 ---------------------------- |
282 | 773 |
408 | 899 |
409 - Branch coverage didn't understand yield statements properly. Mickie Betz | 900 - Branch coverage didn't understand yield statements properly. Mickie Betz |
410 persisted in pursuing this despite Ned's pessimism. Fixes `issue 308`_ and | 901 persisted in pursuing this despite Ned's pessimism. Fixes `issue 308`_ and |
411 `issue 324`_. | 902 `issue 324`_. |
412 | 903 |
413 - The COVERAGE_DEBUG environment variable can be used to set the ``[run] debug`` | 904 - The COVERAGE_DEBUG environment variable can be used to set the |
414 configuration option to control what internal operations are logged. | 905 ``[run] debug`` configuration option to control what internal operations are |
906 logged. | |
415 | 907 |
416 - HTML reports were truncated at formfeed characters. This is now fixed | 908 - HTML reports were truncated at formfeed characters. This is now fixed |
417 (`issue 360`_). It's always fun when the problem is due to a `bug in the | 909 (`issue 360`_). It's always fun when the problem is due to a `bug in the |
418 Python standard library <http://bugs.python.org/issue19035>`_. | 910 Python standard library <http://bugs.python.org/issue19035>`_. |
419 | 911 |
435 Ionel Cristian Mărieș. | 927 Ionel Cristian Mărieș. |
436 | 928 |
437 - Plugin support had some bugs fixed, closing `issue 374`_ and `issue 375`_. | 929 - Plugin support had some bugs fixed, closing `issue 374`_ and `issue 375`_. |
438 Thanks, Stefan Behnel. | 930 Thanks, Stefan Behnel. |
439 | 931 |
440 .. _issue 299: https://bitbucket.org/ned/coveragepy/issue/299/inserted-created-on-yyyy-mm-dd-hh-mm-in | 932 .. _issue 299: https://bitbucket.org/ned/coveragepy/issues/299/inserted-created-on-yyyy-mm-dd-hh-mm-in |
441 .. _issue 308: https://bitbucket.org/ned/coveragepy/issue/308/yield-lambda-branch-coverage | 933 .. _issue 308: https://bitbucket.org/ned/coveragepy/issues/308/yield-lambda-branch-coverage |
442 .. _issue 324: https://bitbucket.org/ned/coveragepy/issue/324/yield-in-loop-confuses-branch-coverage | 934 .. _issue 324: https://bitbucket.org/ned/coveragepy/issues/324/yield-in-loop-confuses-branch-coverage |
443 .. _issue 351: https://bitbucket.org/ned/coveragepy/issue/351/files-with-incorrect-encoding-are-ignored | 935 .. _issue 351: https://bitbucket.org/ned/coveragepy/issues/351/files-with-incorrect-encoding-are-ignored |
444 .. _issue 354: https://bitbucket.org/ned/coveragepy/issue/354/coverage-combine-should-take-a-list-of | 936 .. _issue 354: https://bitbucket.org/ned/coveragepy/issues/354/coverage-combine-should-take-a-list-of |
445 .. _issue 359: https://bitbucket.org/ned/coveragepy/issue/359/xml-report-chunk-error | 937 .. _issue 359: https://bitbucket.org/ned/coveragepy/issues/359/xml-report-chunk-error |
446 .. _issue 360: https://bitbucket.org/ned/coveragepy/issue/360/html-reports-get-confused-by-l-in-the-code | 938 .. _issue 360: https://bitbucket.org/ned/coveragepy/issues/360/html-reports-get-confused-by-l-in-the-code |
447 .. _issue 361: https://bitbucket.org/ned/coveragepy/issue/361/use-double-quotes-in-html-output-to | 939 .. _issue 361: https://bitbucket.org/ned/coveragepy/issues/361/use-double-quotes-in-html-output-to |
448 .. _issue 363: https://bitbucket.org/ned/coveragepy/issue/363/annotate-command-hits-unicode-happy-fun | 940 .. _issue 363: https://bitbucket.org/ned/coveragepy/issues/363/annotate-command-hits-unicode-happy-fun |
449 .. _issue 374: https://bitbucket.org/ned/coveragepy/issue/374/c-tracer-lookups-fail-in | 941 .. _issue 374: https://bitbucket.org/ned/coveragepy/issues/374/c-tracer-lookups-fail-in |
450 .. _issue 375: https://bitbucket.org/ned/coveragepy/issue/375/ctracer_handle_return-reads-byte-code | 942 .. _issue 375: https://bitbucket.org/ned/coveragepy/issues/375/ctracer_handle_return-reads-byte-code |
451 | 943 |
452 | 944 |
453 Version 4.0a5 --- 2015-02-16 | 945 Version 4.0a5 --- 2015-02-16 |
454 ---------------------------- | 946 ---------------------------- |
455 | 947 |
475 only once, no matter how many times it is called. This fixes problems due | 967 only once, no matter how many times it is called. This fixes problems due |
476 to unusual virtualenv configurations (`issue 340`_). | 968 to unusual virtualenv configurations (`issue 340`_). |
477 | 969 |
478 - Added 3.5.0a1 to the list of supported CPython versions. | 970 - Added 3.5.0a1 to the list of supported CPython versions. |
479 | 971 |
480 .. _issue 117: https://bitbucket.org/ned/coveragepy/issue/117/enable-coverage-measurement-of-code-run-by | 972 .. _issue 117: https://bitbucket.org/ned/coveragepy/issues/117/enable-coverage-measurement-of-code-run-by |
481 .. _issue 340: https://bitbucket.org/ned/coveragepy/issue/340/keyerror-subpy | 973 .. _issue 340: https://bitbucket.org/ned/coveragepy/issues/340/keyerror-subpy |
482 .. _issue 353: https://bitbucket.org/ned/coveragepy/issue/353/40a3-introduces-an-unexpected-third-case | 974 .. _issue 353: https://bitbucket.org/ned/coveragepy/issues/353/40a3-introduces-an-unexpected-third-case |
483 .. _issue 357: https://bitbucket.org/ned/coveragepy/issue/357/behavior-changed-when-coveragerc-is | 975 .. _issue 357: https://bitbucket.org/ned/coveragepy/issues/357/behavior-changed-when-coveragerc-is |
484 .. _issue 358: https://bitbucket.org/ned/coveragepy/issue/358/all-coverage-commands-should-adjust | 976 .. _issue 358: https://bitbucket.org/ned/coveragepy/issues/358/all-coverage-commands-should-adjust |
485 | 977 |
486 | 978 |
487 Version 4.0a4 --- 2015-01-25 | 979 Version 4.0a4 --- 2015-01-25 |
488 ---------------------------- | 980 ---------------------------- |
489 | 981 |
519 covered (`issue 345`_). | 1011 covered (`issue 345`_). |
520 | 1012 |
521 - Regexes in the configuration file are now compiled as soon as they are read, | 1013 - Regexes in the configuration file are now compiled as soon as they are read, |
522 to provide error messages earlier (`issue 349`_). | 1014 to provide error messages earlier (`issue 349`_). |
523 | 1015 |
524 .. _issue 69: https://bitbucket.org/ned/coveragepy/issue/69/coverage-html-overwrite-files-that-doesnt | 1016 .. _issue 69: https://bitbucket.org/ned/coveragepy/issues/69/coverage-html-overwrite-files-that-doesnt |
525 .. _issue 235: https://bitbucket.org/ned/coveragepy/issue/235/package-name-is-missing-in-xml-report | 1017 .. _issue 235: https://bitbucket.org/ned/coveragepy/issues/235/package-name-is-missing-in-xml-report |
526 .. _issue 290: https://bitbucket.org/ned/coveragepy/issue/290/running-programmatically-with-pyw-files | 1018 .. _issue 290: https://bitbucket.org/ned/coveragepy/issues/290/running-programmatically-with-pyw-files |
527 .. _issue 345: https://bitbucket.org/ned/coveragepy/issue/345/xml-reports-line-rate-0-for-empty-files | 1019 .. _issue 345: https://bitbucket.org/ned/coveragepy/issues/345/xml-reports-line-rate-0-for-empty-files |
528 .. _issue 349: https://bitbucket.org/ned/coveragepy/issue/349/bad-regex-in-config-should-get-an-earlier | 1020 .. _issue 349: https://bitbucket.org/ned/coveragepy/issues/349/bad-regex-in-config-should-get-an-earlier |
529 | 1021 |
530 | 1022 |
531 Version 4.0a2 --- 2015-01-14 | 1023 Version 4.0a2 --- 2015-01-14 |
532 ---------------------------- | 1024 ---------------------------- |
533 | 1025 |
583 | 1075 |
584 - The status.dat file that HTML reports use to avoid re-creating files that | 1076 - The status.dat file that HTML reports use to avoid re-creating files that |
585 haven't changed is now a JSON file instead of a pickle file. This obviates | 1077 haven't changed is now a JSON file instead of a pickle file. This obviates |
586 `issue 287`_ and `issue 237`_. | 1078 `issue 287`_ and `issue 237`_. |
587 | 1079 |
588 .. _issue 237: https://bitbucket.org/ned/coveragepy/issue/237/htmlcov-with-corrupt-statusdat | 1080 .. _issue 237: https://bitbucket.org/ned/coveragepy/issues/237/htmlcov-with-corrupt-statusdat |
589 .. _issue 287: https://bitbucket.org/ned/coveragepy/issue/287/htmlpy-doesnt-specify-pickle-protocol | 1081 .. _issue 287: https://bitbucket.org/ned/coveragepy/issues/287/htmlpy-doesnt-specify-pickle-protocol |
590 .. _issue 293: https://bitbucket.org/ned/coveragepy/issue/293/number-of-statement-detection-wrong-if-no | 1082 .. _issue 293: https://bitbucket.org/ned/coveragepy/issues/293/number-of-statement-detection-wrong-if-no |
591 .. _issue 314: https://bitbucket.org/ned/coveragepy/issue/314/fail_under-param-not-working-in-coveragerc | 1083 .. _issue 314: https://bitbucket.org/ned/coveragepy/issues/314/fail_under-param-not-working-in-coveragerc |
592 .. _issue 315: https://bitbucket.org/ned/coveragepy/issue/315/option-to-omit-empty-files-eg-__init__py | 1084 .. _issue 315: https://bitbucket.org/ned/coveragepy/issues/315/option-to-omit-empty-files-eg-__init__py |
593 .. _issue 328: https://bitbucket.org/ned/coveragepy/issue/328/misbehavior-in-run-source | 1085 .. _issue 328: https://bitbucket.org/ned/coveragepy/issues/328/misbehavior-in-run-source |
594 .. _issue 334: https://bitbucket.org/ned/coveragepy/issue/334/pragma-not-recognized-if-tab-character | 1086 .. _issue 334: https://bitbucket.org/ned/coveragepy/issues/334/pragma-not-recognized-if-tab-character |
595 .. _issue 342: https://bitbucket.org/ned/coveragepy/issue/342/console-and-html-coverage-reports-differ | 1087 .. _issue 342: https://bitbucket.org/ned/coveragepy/issues/342/console-and-html-coverage-reports-differ |
596 .. _issue 343: https://bitbucket.org/ned/coveragepy/issue/343/an-explicitly-named-non-existent-config | 1088 .. _issue 343: https://bitbucket.org/ned/coveragepy/issues/343/an-explicitly-named-non-existent-config |
597 | 1089 |
598 | 1090 |
599 Version 4.0a1 --- 2014-09-27 | 1091 Version 4.0a1 --- 2014-09-27 |
600 ---------------------------- | 1092 ---------------------------- |
601 | 1093 |
636 importing the imp module, fixing `issue 305`_. | 1128 importing the imp module, fixing `issue 305`_. |
637 | 1129 |
638 - Encoding declarations in source files are only considered if they are truly | 1130 - Encoding declarations in source files are only considered if they are truly |
639 comments. Thanks, Anthony Sottile. | 1131 comments. Thanks, Anthony Sottile. |
640 | 1132 |
641 .. _issue 57: https://bitbucket.org/ned/coveragepy/issue/57/annotate-command-fails-to-annotate-many | 1133 .. _issue 57: https://bitbucket.org/ned/coveragepy/issues/57/annotate-command-fails-to-annotate-many |
642 .. _issue 94: https://bitbucket.org/ned/coveragepy/issue/94/coverage-xml-doesnt-produce-sources | 1134 .. _issue 94: https://bitbucket.org/ned/coveragepy/issues/94/coverage-xml-doesnt-produce-sources |
643 .. _issue 149: https://bitbucket.org/ned/coveragepy/issue/149/coverage-gevent-looks-broken | 1135 .. _issue 149: https://bitbucket.org/ned/coveragepy/issues/149/coverage-gevent-looks-broken |
644 .. _issue 230: https://bitbucket.org/ned/coveragepy/issue/230/show-line-no-for-missing-branches-in | 1136 .. _issue 230: https://bitbucket.org/ned/coveragepy/issues/230/show-line-no-for-missing-branches-in |
645 .. _issue 284: https://bitbucket.org/ned/coveragepy/issue/284/fail-under-should-show-more-precision | 1137 .. _issue 284: https://bitbucket.org/ned/coveragepy/issues/284/fail-under-should-show-more-precision |
646 .. _issue 285: https://bitbucket.org/ned/coveragepy/issue/285/xml-report-fails-if-output-file-directory | 1138 .. _issue 285: https://bitbucket.org/ned/coveragepy/issues/285/xml-report-fails-if-output-file-directory |
647 .. _issue 303: https://bitbucket.org/ned/coveragepy/issue/303/unicodedecodeerror | 1139 .. _issue 303: https://bitbucket.org/ned/coveragepy/issues/303/unicodedecodeerror |
648 .. _issue 304: https://bitbucket.org/ned/coveragepy/issue/304/attempt-to-get-configuration-from-setupcfg | 1140 .. _issue 304: https://bitbucket.org/ned/coveragepy/issues/304/attempt-to-get-configuration-from-setupcfg |
649 .. _issue 305: https://bitbucket.org/ned/coveragepy/issue/305/pendingdeprecationwarning-the-imp-module | 1141 .. _issue 305: https://bitbucket.org/ned/coveragepy/issues/305/pendingdeprecationwarning-the-imp-module |
650 .. _issue 331: https://bitbucket.org/ned/coveragepy/issue/331/failure-of-encoding-detection-on-python2 | 1142 .. _issue 331: https://bitbucket.org/ned/coveragepy/issues/331/failure-of-encoding-detection-on-python2 |
651 | 1143 |
1144 | |
1145 .. _changes_371: | |
652 | 1146 |
653 Version 3.7.1 --- 2013-12-13 | 1147 Version 3.7.1 --- 2013-12-13 |
654 ---------------------------- | 1148 ---------------------------- |
655 | 1149 |
656 - Improved the speed of HTML report generation by about 20%. | 1150 - Improved the speed of HTML report generation by about 20%. |
657 | 1151 |
658 - Fixed the mechanism for finding OS-installed static files for the HTML report | 1152 - Fixed the mechanism for finding OS-installed static files for the HTML report |
659 so that it will actually find OS-installed static files. | 1153 so that it will actually find OS-installed static files. |
660 | 1154 |
1155 | |
1156 .. _changes_37: | |
661 | 1157 |
662 Version 3.7 --- 2013-10-06 | 1158 Version 3.7 --- 2013-10-06 |
663 -------------------------- | 1159 -------------------------- |
664 | 1160 |
665 - Added the ``--debug`` switch to ``coverage run``. It accepts a list of | 1161 - Added the ``--debug`` switch to ``coverage run``. It accepts a list of |
700 decoded properly. Now they are. Thanks, Roger Hu. | 1196 decoded properly. Now they are. Thanks, Roger Hu. |
701 | 1197 |
702 - The source kit now includes the ``__main__.py`` file in the root coverage | 1198 - The source kit now includes the ``__main__.py`` file in the root coverage |
703 directory, fixing `issue 255`_. | 1199 directory, fixing `issue 255`_. |
704 | 1200 |
705 .. _issue 92: https://bitbucket.org/ned/coveragepy/issue/92/finally-clauses-arent-treated-properly-in | 1201 .. _issue 92: https://bitbucket.org/ned/coveragepy/issues/92/finally-clauses-arent-treated-properly-in |
706 .. _issue 164: https://bitbucket.org/ned/coveragepy/issue/164/trace-function-changed-warning-when-using | 1202 .. _issue 164: https://bitbucket.org/ned/coveragepy/issues/164/trace-function-changed-warning-when-using |
707 .. _issue 175: https://bitbucket.org/ned/coveragepy/issue/175/branch-coverage-gets-confused-in-certain | 1203 .. _issue 175: https://bitbucket.org/ned/coveragepy/issues/175/branch-coverage-gets-confused-in-certain |
708 .. _issue 207: https://bitbucket.org/ned/coveragepy/issue/207/run-m-cannot-find-module-or-package-in | 1204 .. _issue 207: https://bitbucket.org/ned/coveragepy/issues/207/run-m-cannot-find-module-or-package-in |
709 .. _issue 242: https://bitbucket.org/ned/coveragepy/issue/242/running-a-two-level-package-doesnt-work | 1205 .. _issue 242: https://bitbucket.org/ned/coveragepy/issues/242/running-a-two-level-package-doesnt-work |
710 .. _issue 218: https://bitbucket.org/ned/coveragepy/issue/218/run-command-does-not-respect-the-omit-flag | 1206 .. _issue 218: https://bitbucket.org/ned/coveragepy/issues/218/run-command-does-not-respect-the-omit-flag |
711 .. _issue 250: https://bitbucket.org/ned/coveragepy/issue/250/uncaught-zerodivisionerror-when-generating | 1207 .. _issue 250: https://bitbucket.org/ned/coveragepy/issues/250/uncaught-zerodivisionerror-when-generating |
712 .. _issue 255: https://bitbucket.org/ned/coveragepy/issue/255/directory-level-__main__py-not-included-in | 1208 .. _issue 255: https://bitbucket.org/ned/coveragepy/issues/255/directory-level-__main__py-not-included-in |
713 .. _issue 259: https://bitbucket.org/ned/coveragepy/issue/259/allow-use-of-system-installed-third-party | 1209 .. _issue 259: https://bitbucket.org/ned/coveragepy/issues/259/allow-use-of-system-installed-third-party |
714 .. _issue 261: https://bitbucket.org/ned/coveragepy/issue/261/pyw-files-arent-reported-properly | 1210 .. _issue 261: https://bitbucket.org/ned/coveragepy/issues/261/pyw-files-arent-reported-properly |
715 .. _issue 264: https://bitbucket.org/ned/coveragepy/issue/264/coverage-wont-run-pyc-files | 1211 .. _issue 264: https://bitbucket.org/ned/coveragepy/issues/264/coverage-wont-run-pyc-files |
716 .. _issue 267: https://bitbucket.org/ned/coveragepy/issue/267/relative-path-aliases-dont-work | 1212 .. _issue 267: https://bitbucket.org/ned/coveragepy/issues/267/relative-path-aliases-dont-work |
717 | 1213 |
1214 | |
1215 .. _changes_36: | |
718 | 1216 |
719 Version 3.6 --- 2013-01-05 | 1217 Version 3.6 --- 2013-01-05 |
720 -------------------------- | 1218 -------------------------- |
721 | 1219 |
722 - Added a page to the docs about troublesome situations, closing `issue 226`_, | 1220 - Added a page to the docs about troublesome situations, closing `issue 226`_, |
723 and added some info to the TODO file, closing `issue 227`_. | 1221 and added some info to the TODO file, closing `issue 227`_. |
724 | 1222 |
725 .. _issue 226: https://bitbucket.org/ned/coveragepy/issue/226/make-readme-section-to-describe-when | 1223 .. _issue 226: https://bitbucket.org/ned/coveragepy/issues/226/make-readme-section-to-describe-when |
726 .. _issue 227: https://bitbucket.org/ned/coveragepy/issue/227/update-todo | 1224 .. _issue 227: https://bitbucket.org/ned/coveragepy/issues/227/update-todo |
727 | 1225 |
728 | 1226 |
729 Version 3.6b3 --- 2012-12-29 | 1227 Version 3.6b3 --- 2012-12-29 |
730 ---------------------------- | 1228 ---------------------------- |
731 | 1229 |
732 - Beta 2 broke the nose plugin. It's fixed again, closing `issue 224`_. | 1230 - Beta 2 broke the nose plugin. It's fixed again, closing `issue 224`_. |
733 | 1231 |
734 .. _issue 224: https://bitbucket.org/ned/coveragepy/issue/224/36b2-breaks-nosexcover | 1232 .. _issue 224: https://bitbucket.org/ned/coveragepy/issues/224/36b2-breaks-nosexcover |
735 | 1233 |
736 | 1234 |
737 Version 3.6b2 --- 2012-12-23 | 1235 Version 3.6b2 --- 2012-12-23 |
738 ---------------------------- | 1236 ---------------------------- |
739 | 1237 |
749 | 1247 |
750 - If an oddly-behaved package claims that code came from an empty-string | 1248 - If an oddly-behaved package claims that code came from an empty-string |
751 file name, coverage.py no longer associates it with the directory name, | 1249 file name, coverage.py no longer associates it with the directory name, |
752 fixing `issue 221`_. | 1250 fixing `issue 221`_. |
753 | 1251 |
754 .. _issue 221: https://bitbucket.org/ned/coveragepy/issue/221/coveragepy-incompatible-with-pyratemp | 1252 .. _issue 221: https://bitbucket.org/ned/coveragepy/issues/221/coveragepy-incompatible-with-pyratemp |
755 | 1253 |
756 | 1254 |
757 Version 3.6b1 --- 2012-11-28 | 1255 Version 3.6b1 --- 2012-11-28 |
758 ---------------------------- | 1256 ---------------------------- |
759 | 1257 |
843 | 1341 |
844 - When coverage.py ended unsuccessfully, it may have reported odd errors like | 1342 - When coverage.py ended unsuccessfully, it may have reported odd errors like |
845 ``'NoneType' object has no attribute 'isabs'``. It no longer does, | 1343 ``'NoneType' object has no attribute 'isabs'``. It no longer does, |
846 so kiss `issue 153`_ goodbye. | 1344 so kiss `issue 153`_ goodbye. |
847 | 1345 |
848 .. _issue 60: https://bitbucket.org/ned/coveragepy/issue/60/incorrect-path-to-orphaned-pyc-files | 1346 .. _issue 60: https://bitbucket.org/ned/coveragepy/issues/60/incorrect-path-to-orphaned-pyc-files |
849 .. _issue 67: https://bitbucket.org/ned/coveragepy/issue/67/xml-report-filenames-may-be-generated | 1347 .. _issue 67: https://bitbucket.org/ned/coveragepy/issues/67/xml-report-filenames-may-be-generated |
850 .. _issue 89: https://bitbucket.org/ned/coveragepy/issue/89/on-windows-all-packages-are-reported-in | 1348 .. _issue 89: https://bitbucket.org/ned/coveragepy/issues/89/on-windows-all-packages-are-reported-in |
851 .. _issue 97: https://bitbucket.org/ned/coveragepy/issue/97/allow-environment-variables-to-be | 1349 .. _issue 97: https://bitbucket.org/ned/coveragepy/issues/97/allow-environment-variables-to-be |
852 .. _issue 100: https://bitbucket.org/ned/coveragepy/issue/100/source-directive-doesnt-work-for-packages | 1350 .. _issue 100: https://bitbucket.org/ned/coveragepy/issues/100/source-directive-doesnt-work-for-packages |
853 .. _issue 111: https://bitbucket.org/ned/coveragepy/issue/111/when-installing-coverage-with-pip-not | 1351 .. _issue 111: https://bitbucket.org/ned/coveragepy/issues/111/when-installing-coverage-with-pip-not |
854 .. _issue 137: https://bitbucket.org/ned/coveragepy/issue/137/provide-docs-with-source-distribution | 1352 .. _issue 137: https://bitbucket.org/ned/coveragepy/issues/137/provide-docs-with-source-distribution |
855 .. _issue 139: https://bitbucket.org/ned/coveragepy/issue/139/easy-check-for-a-certain-coverage-in-tests | 1353 .. _issue 139: https://bitbucket.org/ned/coveragepy/issues/139/easy-check-for-a-certain-coverage-in-tests |
856 .. _issue 143: https://bitbucket.org/ned/coveragepy/issue/143/omit-doesnt-seem-to-work-in-coverage | 1354 .. _issue 143: https://bitbucket.org/ned/coveragepy/issues/143/omit-doesnt-seem-to-work-in-coverage |
857 .. _issue 153: https://bitbucket.org/ned/coveragepy/issue/153/non-existent-filename-triggers | 1355 .. _issue 153: https://bitbucket.org/ned/coveragepy/issues/153/non-existent-filename-triggers |
858 .. _issue 156: https://bitbucket.org/ned/coveragepy/issue/156/a-completely-unexecuted-file-shows-14 | 1356 .. _issue 156: https://bitbucket.org/ned/coveragepy/issues/156/a-completely-unexecuted-file-shows-14 |
859 .. _issue 163: https://bitbucket.org/ned/coveragepy/issue/163/problem-with-include-and-omit-filename | 1357 .. _issue 163: https://bitbucket.org/ned/coveragepy/issues/163/problem-with-include-and-omit-filename |
860 .. _issue 171: https://bitbucket.org/ned/coveragepy/issue/171/how-to-contribute-and-run-tests | 1358 .. _issue 171: https://bitbucket.org/ned/coveragepy/issues/171/how-to-contribute-and-run-tests |
861 .. _issue 193: https://bitbucket.org/ned/coveragepy/issue/193/unicodedecodeerror-on-htmlpy | 1359 .. _issue 193: https://bitbucket.org/ned/coveragepy/issues/193/unicodedecodeerror-on-htmlpy |
862 .. _issue 201: https://bitbucket.org/ned/coveragepy/issue/201/coverage-using-django-14-with-pydb-on | 1360 .. _issue 201: https://bitbucket.org/ned/coveragepy/issues/201/coverage-using-django-14-with-pydb-on |
863 .. _issue 202: https://bitbucket.org/ned/coveragepy/issue/202/get-rid-of-ez_setuppy-and | 1361 .. _issue 202: https://bitbucket.org/ned/coveragepy/issues/202/get-rid-of-ez_setuppy-and |
864 .. _issue 203: https://bitbucket.org/ned/coveragepy/issue/203/duplicate-filenames-reported-when-filename | 1362 .. _issue 203: https://bitbucket.org/ned/coveragepy/issues/203/duplicate-filenames-reported-when-filename |
865 .. _issue 205: https://bitbucket.org/ned/coveragepy/issue/205/make-pydoc-coverage-more-friendly | 1363 .. _issue 205: https://bitbucket.org/ned/coveragepy/issues/205/make-pydoc-coverage-more-friendly |
866 .. _issue 206: https://bitbucket.org/ned/coveragepy/issue/206/pydoc-coveragecoverage-fails-with-an-error | 1364 .. _issue 206: https://bitbucket.org/ned/coveragepy/issues/206/pydoc-coveragecoverage-fails-with-an-error |
867 .. _issue 210: https://bitbucket.org/ned/coveragepy/issue/210/if-theres-no-coverage-data-coverage-xml | 1365 .. _issue 210: https://bitbucket.org/ned/coveragepy/issues/210/if-theres-no-coverage-data-coverage-xml |
868 .. _issue 214: https://bitbucket.org/ned/coveragepy/issue/214/coveragepy-measures-itself-on-precise | 1366 .. _issue 214: https://bitbucket.org/ned/coveragepy/issues/214/coveragepy-measures-itself-on-precise |
869 | 1367 |
1368 | |
1369 .. _changes_353: | |
870 | 1370 |
871 Version 3.5.3 --- 2012-09-29 | 1371 Version 3.5.3 --- 2012-09-29 |
872 ---------------------------- | 1372 ---------------------------- |
873 | 1373 |
874 - Line numbers in the HTML report line up better with the source lines, fixing | 1374 - Line numbers in the HTML report line up better with the source lines, fixing |
896 - Try to do a better job of the impossible task of detecting when we can't | 1396 - Try to do a better job of the impossible task of detecting when we can't |
897 build the C extension, fixing `issue 183`_. | 1397 build the C extension, fixing `issue 183`_. |
898 | 1398 |
899 - Testing is now done with `tox`_, thanks, Marc Abramowitz. | 1399 - Testing is now done with `tox`_, thanks, Marc Abramowitz. |
900 | 1400 |
901 .. _issue 147: https://bitbucket.org/ned/coveragepy/issue/147/massive-memory-usage-by-ctracer | 1401 .. _issue 147: https://bitbucket.org/ned/coveragepy/issues/147/massive-memory-usage-by-ctracer |
902 .. _issue 179: https://bitbucket.org/ned/coveragepy/issue/179/htmlreporter-fails-when-source-file-is | 1402 .. _issue 179: https://bitbucket.org/ned/coveragepy/issues/179/htmlreporter-fails-when-source-file-is |
903 .. _issue 183: https://bitbucket.org/ned/coveragepy/issue/183/install-fails-for-python-23 | 1403 .. _issue 183: https://bitbucket.org/ned/coveragepy/issues/183/install-fails-for-python-23 |
904 .. _issue 194: https://bitbucket.org/ned/coveragepy/issue/194/filelocatorrelative_filename-could-mangle | 1404 .. _issue 194: https://bitbucket.org/ned/coveragepy/issues/194/filelocatorrelative_filename-could-mangle |
905 .. _issue 195: https://bitbucket.org/ned/coveragepy/issue/195/pyo-file-handling-in-codeunit | 1405 .. _issue 195: https://bitbucket.org/ned/coveragepy/issues/195/pyo-file-handling-in-codeunit |
906 .. _issue 197: https://bitbucket.org/ned/coveragepy/issue/197/line-numbers-in-html-report-do-not-align | 1406 .. _issue 197: https://bitbucket.org/ned/coveragepy/issues/197/line-numbers-in-html-report-do-not-align |
907 .. _tox: http://tox.readthedocs.org/ | 1407 .. _tox: https://tox.readthedocs.io/ |
908 | 1408 |
1409 | |
1410 .. _changes_352: | |
909 | 1411 |
910 Version 3.5.2 --- 2012-05-04 | 1412 Version 3.5.2 --- 2012-05-04 |
911 ---------------------------- | 1413 ---------------------------- |
912 | 1414 |
913 No changes since 3.5.2.b1 | 1415 No changes since 3.5.2.b1 |
947 status when running ``python -m coverage run ...``. Thanks, JT Olds. | 1449 status when running ``python -m coverage run ...``. Thanks, JT Olds. |
948 | 1450 |
949 - When installing into pypy, we no longer attempt (and fail) to compile | 1451 - When installing into pypy, we no longer attempt (and fail) to compile |
950 the C tracer function, closing `issue 166`_. | 1452 the C tracer function, closing `issue 166`_. |
951 | 1453 |
952 .. _issue 142: https://bitbucket.org/ned/coveragepy/issue/142/executing-python-file-syspath-is-replaced | 1454 .. _issue 142: https://bitbucket.org/ned/coveragepy/issues/142/executing-python-file-syspath-is-replaced |
953 .. _issue 155: https://bitbucket.org/ned/coveragepy/issue/155/cant-use-coverage-run-m-unittest-discover | 1455 .. _issue 155: https://bitbucket.org/ned/coveragepy/issues/155/cant-use-coverage-run-m-unittest-discover |
954 .. _issue 157: https://bitbucket.org/ned/coveragepy/issue/157/chokes-on-source-files-with-non-utf-8 | 1456 .. _issue 157: https://bitbucket.org/ned/coveragepy/issues/157/chokes-on-source-files-with-non-utf-8 |
955 .. _issue 166: https://bitbucket.org/ned/coveragepy/issue/166/dont-try-to-compile-c-extension-on-pypy | 1457 .. _issue 166: https://bitbucket.org/ned/coveragepy/issues/166/dont-try-to-compile-c-extension-on-pypy |
956 .. _issue 168: https://bitbucket.org/ned/coveragepy/issue/168/dont-be-alarmed-by-emacs-droppings | 1458 .. _issue 168: https://bitbucket.org/ned/coveragepy/issues/168/dont-be-alarmed-by-emacs-droppings |
957 .. _issue 173: https://bitbucket.org/ned/coveragepy/issue/173/theres-no-way-to-specify-show-missing-in | 1459 .. _issue 173: https://bitbucket.org/ned/coveragepy/issues/173/theres-no-way-to-specify-show-missing-in |
958 | 1460 |
1461 | |
1462 .. _changes_351: | |
959 | 1463 |
960 Version 3.5.1 --- 2011-09-23 | 1464 Version 3.5.1 --- 2011-09-23 |
961 ---------------------------- | 1465 ---------------------------- |
962 | 1466 |
963 - The ``[paths]`` feature unfortunately didn't work in real world situations | 1467 - The ``[paths]`` feature unfortunately didn't work in real world situations |
994 - In order to help the core developers measure the test coverage of the | 1498 - In order to help the core developers measure the test coverage of the |
995 standard library, Brandon Rhodes devised an aggressive hack to trick Python | 1499 standard library, Brandon Rhodes devised an aggressive hack to trick Python |
996 into running some coverage.py code before anything else in the process. | 1500 into running some coverage.py code before anything else in the process. |
997 See the coverage/fullcoverage directory if you are interested. | 1501 See the coverage/fullcoverage directory if you are interested. |
998 | 1502 |
999 .. _issue 17: http://bitbucket.org/ned/coveragepy/issue/17/support-combining-coverage-data-from | 1503 .. _issue 17: https://bitbucket.org/ned/coveragepy/issues/17/support-combining-coverage-data-from |
1000 .. _issue 122: http://bitbucket.org/ned/coveragepy/issue/122/for-else-always-reports-missing-branch | 1504 .. _issue 122: https://bitbucket.org/ned/coveragepy/issues/122/for-else-always-reports-missing-branch |
1001 .. _issue 124: http://bitbucket.org/ned/coveragepy/issue/124/no-arbitrary-unicode-in-html-reports-in | 1505 .. _issue 124: https://bitbucket.org/ned/coveragepy/issues/124/no-arbitrary-unicode-in-html-reports-in |
1002 .. _issue 128: http://bitbucket.org/ned/coveragepy/issue/128/branch-coverage-of-with-statement-in-27 | 1506 .. _issue 128: https://bitbucket.org/ned/coveragepy/issues/128/branch-coverage-of-with-statement-in-27 |
1003 .. _issue 138: http://bitbucket.org/ned/coveragepy/issue/138/include-should-take-precedence-over-is | 1507 .. _issue 138: https://bitbucket.org/ned/coveragepy/issues/138/include-should-take-precedence-over-is |
1004 .. _issue 144: http://bitbucket.org/ned/coveragepy/issue/144/failure-generating-html-output-for | 1508 .. _issue 144: https://bitbucket.org/ned/coveragepy/issues/144/failure-generating-html-output-for |
1005 | 1509 |
1510 | |
1511 .. _changes_35: | |
1006 | 1512 |
1007 Version 3.5 --- 2011-06-29 | 1513 Version 3.5 --- 2011-06-29 |
1008 -------------------------- | 1514 -------------------------- |
1009 | 1515 |
1010 - The HTML report hotkeys now behave slightly differently when the current | 1516 - The HTML report hotkeys now behave slightly differently when the current |
1030 Closes `issue 121`_. | 1536 Closes `issue 121`_. |
1031 | 1537 |
1032 - Partial branch warnings can now be pragma'd away. The configuration option | 1538 - Partial branch warnings can now be pragma'd away. The configuration option |
1033 ``partial_branches`` is a list of regular expressions. Lines matching any of | 1539 ``partial_branches`` is a list of regular expressions. Lines matching any of |
1034 those expressions will never be marked as a partial branch. In addition, | 1540 those expressions will never be marked as a partial branch. In addition, |
1035 there's a built-in list of regular expressions marking statements which should | 1541 there's a built-in list of regular expressions marking statements which |
1036 never be marked as partial. This list includes ``while True:``, ``while 1:``, | 1542 should never be marked as partial. This list includes ``while True:``, |
1037 ``if 1:``, and ``if 0:``. | 1543 ``while 1:``, ``if 1:``, and ``if 0:``. |
1038 | 1544 |
1039 - The ``coverage()`` constructor accepts single strings for the ``omit=`` and | 1545 - The ``coverage()`` constructor accepts single strings for the ``omit=`` and |
1040 ``include=`` arguments, adapting to a common error in programmatic use. | 1546 ``include=`` arguments, adapting to a common error in programmatic use. |
1041 | 1547 |
1042 - Modules can now be run directly using ``coverage run -m modulename``, to | 1548 - Modules can now be run directly using ``coverage run -m modulename``, to |
1079 coverage reporting work, unfortunately. | 1585 coverage reporting work, unfortunately. |
1080 | 1586 |
1081 - Internally, files are now closed explicitly, fixing `issue 104`_. Thanks, | 1587 - Internally, files are now closed explicitly, fixing `issue 104`_. Thanks, |
1082 Brett Cannon. | 1588 Brett Cannon. |
1083 | 1589 |
1084 .. _issue 80: https://bitbucket.org/ned/coveragepy/issue/80/is-there-a-duck-typing-way-to-know-we-cant | 1590 .. _issue 80: https://bitbucket.org/ned/coveragepy/issues/80/is-there-a-duck-typing-way-to-know-we-cant |
1085 .. _issue 93: http://bitbucket.org/ned/coveragepy/issue/93/copying-a-mock-object-breaks-coverage | 1591 .. _issue 93: https://bitbucket.org/ned/coveragepy/issues/93/copying-a-mock-object-breaks-coverage |
1086 .. _issue 95: https://bitbucket.org/ned/coveragepy/issue/95/run-subcommand-should-take-a-module-name | 1592 .. _issue 95: https://bitbucket.org/ned/coveragepy/issues/95/run-subcommand-should-take-a-module-name |
1087 .. _issue 104: https://bitbucket.org/ned/coveragepy/issue/104/explicitly-close-files | 1593 .. _issue 104: https://bitbucket.org/ned/coveragepy/issues/104/explicitly-close-files |
1088 .. _issue 107: https://bitbucket.org/ned/coveragepy/issue/107/codeparser-not-opening-source-files-with | 1594 .. _issue 107: https://bitbucket.org/ned/coveragepy/issues/107/codeparser-not-opening-source-files-with |
1089 .. _issue 115: https://bitbucket.org/ned/coveragepy/issue/115/fail-gracefully-when-reporting-on-file | 1595 .. _issue 115: https://bitbucket.org/ned/coveragepy/issues/115/fail-gracefully-when-reporting-on-file |
1090 .. _issue 121: https://bitbucket.org/ned/coveragepy/issue/121/filename-patterns-are-applied-stupidly | 1596 .. _issue 121: https://bitbucket.org/ned/coveragepy/issues/121/filename-patterns-are-applied-stupidly |
1091 .. _issue 123: https://bitbucket.org/ned/coveragepy/issue/123/pyeval_settrace-used-in-way-that-breaks | 1597 .. _issue 123: https://bitbucket.org/ned/coveragepy/issues/123/pyeval_settrace-used-in-way-that-breaks |
1092 .. _issue 125: https://bitbucket.org/ned/coveragepy/issue/125/coverage-removes-decoratortoolss-tracing | 1598 .. _issue 125: https://bitbucket.org/ned/coveragepy/issues/125/coverage-removes-decoratortoolss-tracing |
1093 | 1599 |
1600 | |
1601 .. _changes_34: | |
1094 | 1602 |
1095 Version 3.4 --- 2010-09-19 | 1603 Version 3.4 --- 2010-09-19 |
1096 -------------------------- | 1604 -------------------------- |
1097 | 1605 |
1098 - The XML report is now sorted by package name, fixing `issue 88`_. | 1606 - The XML report is now sorted by package name, fixing `issue 88`_. |
1099 | 1607 |
1100 - Programs that exited with ``sys.exit()`` with no argument weren't handled | 1608 - Programs that exited with ``sys.exit()`` with no argument weren't handled |
1101 properly, producing a coverage.py stack trace. That is now fixed. | 1609 properly, producing a coverage.py stack trace. That is now fixed. |
1102 | 1610 |
1103 .. _issue 88: http://bitbucket.org/ned/coveragepy/issue/88/xml-report-lists-packages-in-random-order | 1611 .. _issue 88: https://bitbucket.org/ned/coveragepy/issues/88/xml-report-lists-packages-in-random-order |
1104 | 1612 |
1105 | 1613 |
1106 Version 3.4b2 --- 2010-09-06 | 1614 Version 3.4b2 --- 2010-09-06 |
1107 ---------------------------- | 1615 ---------------------------- |
1108 | 1616 |
1123 | 1631 |
1124 - Threads derived from ``threading.Thread`` with an overridden `run` method | 1632 - Threads derived from ``threading.Thread`` with an overridden `run` method |
1125 would report no coverage for the `run` method. This is now fixed, closing | 1633 would report no coverage for the `run` method. This is now fixed, closing |
1126 `issue 85`_. | 1634 `issue 85`_. |
1127 | 1635 |
1128 .. _issue 16: http://bitbucket.org/ned/coveragepy/issue/16/allow-configuration-of-accuracy-of-percentage-totals | 1636 .. _issue 16: https://bitbucket.org/ned/coveragepy/issues/16/allow-configuration-of-accuracy-of-percentage-totals |
1129 .. _issue 41: http://bitbucket.org/ned/coveragepy/issue/41/report-says-100-when-it-isnt-quite-there | 1637 .. _issue 41: https://bitbucket.org/ned/coveragepy/issues/41/report-says-100-when-it-isnt-quite-there |
1130 .. _issue 65: http://bitbucket.org/ned/coveragepy/issue/65/branch-option-not-reported-in-cobertura | 1638 .. _issue 65: https://bitbucket.org/ned/coveragepy/issues/65/branch-option-not-reported-in-cobertura |
1131 .. _issue 70: http://bitbucket.org/ned/coveragepy/issue/70/text-report-and-html-report-disagree-on-coverage | 1639 .. _issue 70: https://bitbucket.org/ned/coveragepy/issues/70/text-report-and-html-report-disagree-on-coverage |
1132 .. _issue 81: http://bitbucket.org/ned/coveragepy/issue/81/xml-report-does-not-have-condition-coverage-attribute-for-lines-with-a | 1640 .. _issue 81: https://bitbucket.org/ned/coveragepy/issues/81/xml-report-does-not-have-condition-coverage-attribute-for-lines-with-a |
1133 .. _issue 85: http://bitbucket.org/ned/coveragepy/issue/85/threadrun-isnt-measured | 1641 .. _issue 85: https://bitbucket.org/ned/coveragepy/issues/85/threadrun-isnt-measured |
1134 | 1642 |
1135 | 1643 |
1136 Version 3.4b1 --- 2010-08-21 | 1644 Version 3.4b1 --- 2010-08-21 |
1137 ---------------------------- | 1645 ---------------------------- |
1138 | 1646 |
1204 classes is now properly analyzed. See `issue 62`_. | 1712 classes is now properly analyzed. See `issue 62`_. |
1205 | 1713 |
1206 - Asking for an HTML report with no files now shows a nice error message rather | 1714 - Asking for an HTML report with no files now shows a nice error message rather |
1207 than a cryptic failure ('int' object is unsubscriptable). Fixes `issue 59`_. | 1715 than a cryptic failure ('int' object is unsubscriptable). Fixes `issue 59`_. |
1208 | 1716 |
1209 .. _issue 1: http://bitbucket.org/ned/coveragepy/issue/1/empty-__init__py-files-are-reported-as-1-executable | 1717 .. _issue 1: https://bitbucket.org/ned/coveragepy/issues/1/empty-__init__py-files-are-reported-as-1-executable |
1210 .. _issue 34: http://bitbucket.org/ned/coveragepy/issue/34/enhanced-omit-globbing-handling | 1718 .. _issue 34: https://bitbucket.org/ned/coveragepy/issues/34/enhanced-omit-globbing-handling |
1211 .. _issue 36: http://bitbucket.org/ned/coveragepy/issue/36/provide-regex-style-omit | 1719 .. _issue 36: https://bitbucket.org/ned/coveragepy/issues/36/provide-regex-style-omit |
1212 .. _issue 46: http://bitbucket.org/ned/coveragepy/issue/46 | 1720 .. _issue 46: https://bitbucket.org/ned/coveragepy/issues/46 |
1213 .. _issue 53: http://bitbucket.org/ned/coveragepy/issue/53 | 1721 .. _issue 53: https://bitbucket.org/ned/coveragepy/issues/53 |
1214 .. _issue 52: http://bitbucket.org/ned/coveragepy/issue/52/doctesttestfile-confuses-source-detection | 1722 .. _issue 52: https://bitbucket.org/ned/coveragepy/issues/52/doctesttestfile-confuses-source-detection |
1215 .. _issue 56: http://bitbucket.org/ned/coveragepy/issue/56 | 1723 .. _issue 56: https://bitbucket.org/ned/coveragepy/issues/56 |
1216 .. _issue 61: http://bitbucket.org/ned/coveragepy/issue/61/annotate-i-doesnt-work | 1724 .. _issue 61: https://bitbucket.org/ned/coveragepy/issues/61/annotate-i-doesnt-work |
1217 .. _issue 62: http://bitbucket.org/ned/coveragepy/issue/62 | 1725 .. _issue 62: https://bitbucket.org/ned/coveragepy/issues/62 |
1218 .. _issue 59: http://bitbucket.org/ned/coveragepy/issue/59/html-report-fails-with-int-object-is | 1726 .. _issue 59: https://bitbucket.org/ned/coveragepy/issues/59/html-report-fails-with-int-object-is |
1219 .. _issue 82: http://bitbucket.org/ned/coveragepy/issue/82/tokenerror-when-generating-html-report | 1727 .. _issue 82: https://bitbucket.org/ned/coveragepy/issues/82/tokenerror-when-generating-html-report |
1220 | 1728 |
1729 | |
1730 .. _changes_331: | |
1221 | 1731 |
1222 Version 3.3.1 --- 2010-03-06 | 1732 Version 3.3.1 --- 2010-03-06 |
1223 ---------------------------- | 1733 ---------------------------- |
1224 | 1734 |
1225 - Using `parallel=True` in .coveragerc file prevented reporting, but now does | 1735 - Using `parallel=True` in .coveragerc file prevented reporting, but now does |
1226 not, fixing `issue 49`_. | 1736 not, fixing `issue 49`_. |
1227 | 1737 |
1228 - When running your code with "coverage run", if you call `sys.exit()`, | 1738 - When running your code with "coverage run", if you call `sys.exit()`, |
1229 coverage.py will exit with that status code, fixing `issue 50`_. | 1739 coverage.py will exit with that status code, fixing `issue 50`_. |
1230 | 1740 |
1231 .. _issue 49: http://bitbucket.org/ned/coveragepy/issue/49 | 1741 .. _issue 49: https://bitbucket.org/ned/coveragepy/issues/49 |
1232 .. _issue 50: http://bitbucket.org/ned/coveragepy/issue/50 | 1742 .. _issue 50: https://bitbucket.org/ned/coveragepy/issues/50 |
1233 | 1743 |
1744 | |
1745 .. _changes_33: | |
1234 | 1746 |
1235 Version 3.3 --- 2010-02-24 | 1747 Version 3.3 --- 2010-02-24 |
1236 -------------------------- | 1748 -------------------------- |
1237 | 1749 |
1238 - Settings are now read from a .coveragerc file. A specific file can be | 1750 - Settings are now read from a .coveragerc file. A specific file can be |
1264 - Python source files that don't end with a newline can now be executed, fixing | 1776 - Python source files that don't end with a newline can now be executed, fixing |
1265 `issue 47`_. | 1777 `issue 47`_. |
1266 | 1778 |
1267 - Added an AUTHORS.txt file. | 1779 - Added an AUTHORS.txt file. |
1268 | 1780 |
1269 .. _issue 39: http://bitbucket.org/ned/coveragepy/issue/39 | 1781 .. _issue 39: https://bitbucket.org/ned/coveragepy/issues/39 |
1270 .. _issue 40: http://bitbucket.org/ned/coveragepy/issue/40 | 1782 .. _issue 40: https://bitbucket.org/ned/coveragepy/issues/40 |
1271 .. _issue 47: http://bitbucket.org/ned/coveragepy/issue/47 | 1783 .. _issue 47: https://bitbucket.org/ned/coveragepy/issues/47 |
1272 | 1784 |
1785 | |
1786 .. _changes_32: | |
1273 | 1787 |
1274 Version 3.2 --- 2009-12-05 | 1788 Version 3.2 --- 2009-12-05 |
1275 -------------------------- | 1789 -------------------------- |
1276 | 1790 |
1277 - Added a ``--version`` option on the command line. | 1791 - Added a ``--version`` option on the command line. |
1288 a report will sort it first the way you last had a coverage report sorted. | 1802 a report will sort it first the way you last had a coverage report sorted. |
1289 Thanks, `Chris Adams`_. | 1803 Thanks, `Chris Adams`_. |
1290 | 1804 |
1291 - On Python 3.x, setuptools has been replaced by `Distribute`_. | 1805 - On Python 3.x, setuptools has been replaced by `Distribute`_. |
1292 | 1806 |
1293 .. _Distribute: http://packages.python.org/distribute/ | 1807 .. _Distribute: https://pypi.python.org/pypi/distribute |
1294 | 1808 |
1295 | 1809 |
1296 Version 3.2b3 --- 2009-11-23 | 1810 Version 3.2b3 --- 2009-11-23 |
1297 ---------------------------- | 1811 ---------------------------- |
1298 | 1812 |
1303 - Branches to excluded code are ignored. | 1817 - Branches to excluded code are ignored. |
1304 | 1818 |
1305 - The table of contents in the HTML report is now sortable: click the headers | 1819 - The table of contents in the HTML report is now sortable: click the headers |
1306 on any column. Thanks, `Chris Adams`_. | 1820 on any column. Thanks, `Chris Adams`_. |
1307 | 1821 |
1308 .. _Chris Adams: http://improbable.org/chris/ | 1822 .. _Chris Adams: http://chris.improbable.org |
1309 | 1823 |
1310 | 1824 |
1311 Version 3.2b2 --- 2009-11-19 | 1825 Version 3.2b2 --- 2009-11-19 |
1312 ---------------------------- | 1826 ---------------------------- |
1313 | 1827 |
1322 source with tabs: `issue 30`_ and `issue 31`_. | 1836 source with tabs: `issue 30`_ and `issue 31`_. |
1323 | 1837 |
1324 - The --omit option now works much better than before, fixing `issue 14`_ and | 1838 - The --omit option now works much better than before, fixing `issue 14`_ and |
1325 `issue 33`_. Thanks, Danek Duvall. | 1839 `issue 33`_. Thanks, Danek Duvall. |
1326 | 1840 |
1327 .. _issue 14: http://bitbucket.org/ned/coveragepy/issue/14 | 1841 .. _issue 14: https://bitbucket.org/ned/coveragepy/issues/14 |
1328 .. _issue 30: http://bitbucket.org/ned/coveragepy/issue/30 | 1842 .. _issue 30: https://bitbucket.org/ned/coveragepy/issues/30 |
1329 .. _issue 31: http://bitbucket.org/ned/coveragepy/issue/31 | 1843 .. _issue 31: https://bitbucket.org/ned/coveragepy/issues/31 |
1330 .. _issue 32: http://bitbucket.org/ned/coveragepy/issue/32 | 1844 .. _issue 32: https://bitbucket.org/ned/coveragepy/issues/32 |
1331 .. _issue 33: http://bitbucket.org/ned/coveragepy/issue/33 | 1845 .. _issue 33: https://bitbucket.org/ned/coveragepy/issues/33 |
1332 .. _issue 35: http://bitbucket.org/ned/coveragepy/issue/35 | 1846 .. _issue 35: https://bitbucket.org/ned/coveragepy/issues/35 |
1333 | 1847 |
1334 | 1848 |
1335 Version 3.2b1 --- 2009-11-10 | 1849 Version 3.2b1 --- 2009-11-10 |
1336 ---------------------------- | 1850 ---------------------------- |
1337 | 1851 |
1342 - The tracer code has changed, it's a few percent faster. | 1856 - The tracer code has changed, it's a few percent faster. |
1343 | 1857 |
1344 - Some exceptions reported by the command line interface have been cleaned up | 1858 - Some exceptions reported by the command line interface have been cleaned up |
1345 so that tracebacks inside coverage.py aren't shown. Fixes `issue 23`_. | 1859 so that tracebacks inside coverage.py aren't shown. Fixes `issue 23`_. |
1346 | 1860 |
1347 .. _issue 23: http://bitbucket.org/ned/coveragepy/issue/23 | 1861 .. _issue 23: https://bitbucket.org/ned/coveragepy/issues/23 |
1348 | 1862 |
1863 | |
1864 .. _changes_31: | |
1349 | 1865 |
1350 Version 3.1 --- 2009-10-04 | 1866 Version 3.1 --- 2009-10-04 |
1351 -------------------------- | 1867 -------------------------- |
1352 | 1868 |
1353 - Source code can now be read from eggs. Thanks, Ross Lawley. Fixes | 1869 - Source code can now be read from eggs. Thanks, Ross Lawley. Fixes |
1354 `issue 25`_. | 1870 `issue 25`_. |
1355 | 1871 |
1356 .. _issue 25: http://bitbucket.org/ned/coveragepy/issue/25 | 1872 .. _issue 25: https://bitbucket.org/ned/coveragepy/issues/25 |
1357 | 1873 |
1358 | 1874 |
1359 Version 3.1b1 --- 2009-09-27 | 1875 Version 3.1b1 --- 2009-09-27 |
1360 ---------------------------- | 1876 ---------------------------- |
1361 | 1877 |
1381 directory where execution started. Fixed `issue 24`_. | 1897 directory where execution started. Fixed `issue 24`_. |
1382 | 1898 |
1383 - Added a "coverage debug" command for getting diagnostic information about the | 1899 - Added a "coverage debug" command for getting diagnostic information about the |
1384 coverage.py installation. | 1900 coverage.py installation. |
1385 | 1901 |
1386 .. _issue 11: http://bitbucket.org/ned/coveragepy/issue/11 | 1902 .. _issue 11: https://bitbucket.org/ned/coveragepy/issues/11 |
1387 .. _issue 12: http://bitbucket.org/ned/coveragepy/issue/12 | 1903 .. _issue 12: https://bitbucket.org/ned/coveragepy/issues/12 |
1388 .. _issue 13: http://bitbucket.org/ned/coveragepy/issue/13 | 1904 .. _issue 13: https://bitbucket.org/ned/coveragepy/issues/13 |
1389 .. _issue 24: http://bitbucket.org/ned/coveragepy/issue/24 | 1905 .. _issue 24: https://bitbucket.org/ned/coveragepy/issues/24 |
1390 | 1906 |
1907 | |
1908 .. _changes_301: | |
1391 | 1909 |
1392 Version 3.0.1 --- 2009-07-07 | 1910 Version 3.0.1 --- 2009-07-07 |
1393 ---------------------------- | 1911 ---------------------------- |
1394 | 1912 |
1395 - Removed the recursion limit in the tracer function. Previously, code that | 1913 - Removed the recursion limit in the tracer function. Previously, code that |
1407 | 1925 |
1408 - When running source files, coverage.py now opens them in universal newline | 1926 - When running source files, coverage.py now opens them in universal newline |
1409 mode just like Python does. This lets it run Windows files on Mac, for | 1927 mode just like Python does. This lets it run Windows files on Mac, for |
1410 example. | 1928 example. |
1411 | 1929 |
1412 .. _issue 9: http://bitbucket.org/ned/coveragepy/issue/9 | 1930 .. _issue 9: https://bitbucket.org/ned/coveragepy/issues/9 |
1413 .. _issue 10: http://bitbucket.org/ned/coveragepy/issue/10 | 1931 .. _issue 10: https://bitbucket.org/ned/coveragepy/issues/10 |
1414 .. _issue 8: http://bitbucket.org/ned/coveragepy/issue/8 | 1932 .. _issue 8: https://bitbucket.org/ned/coveragepy/issues/8 |
1415 | 1933 |
1934 | |
1935 .. _changes_30: | |
1416 | 1936 |
1417 Version 3.0 --- 2009-06-13 | 1937 Version 3.0 --- 2009-06-13 |
1418 -------------------------- | 1938 -------------------------- |
1419 | 1939 |
1420 - Fixed the way the Python library was ignored. Too much code was being | 1940 - Fixed the way the Python library was ignored. Too much code was being |
1423 - Tabs are now properly converted in HTML reports. Previously indentation was | 1943 - Tabs are now properly converted in HTML reports. Previously indentation was |
1424 lost. Fixed `issue 6`_. | 1944 lost. Fixed `issue 6`_. |
1425 | 1945 |
1426 - Nested modules now get a proper flat_rootname. Thanks, Christian Heimes. | 1946 - Nested modules now get a proper flat_rootname. Thanks, Christian Heimes. |
1427 | 1947 |
1428 .. _issue 6: http://bitbucket.org/ned/coveragepy/issue/6 | 1948 .. _issue 6: https://bitbucket.org/ned/coveragepy/issues/6 |
1429 | 1949 |
1430 | 1950 |
1431 Version 3.0b3 --- 2009-05-16 | 1951 Version 3.0b3 --- 2009-05-16 |
1432 ---------------------------- | 1952 ---------------------------- |
1433 | 1953 |
1521 | 2041 |
1522 Version 2.78 --- 2007-09-30 | 2042 Version 2.78 --- 2007-09-30 |
1523 --------------------------- | 2043 --------------------------- |
1524 | 2044 |
1525 - Don't try to predict whether a file is Python source based on the extension. | 2045 - Don't try to predict whether a file is Python source based on the extension. |
1526 Extension-less files are often Pythons scripts. Instead, simply parse the file | 2046 Extension-less files are often Pythons scripts. Instead, simply parse the |
1527 and catch the syntax errors. Hat tip to Ben Finney. | 2047 file and catch the syntax errors. Hat tip to Ben Finney. |
1528 | 2048 |
1529 | 2049 |
1530 Version 2.77 --- 2007-07-29 | 2050 Version 2.77 --- 2007-07-29 |
1531 --------------------------- | 2051 --------------------------- |
1532 | 2052 |