DebugClients/Python/coverage/doc/CHANGES.rst

changeset 6219
d6c795b5ce33
parent 5178
878ce843ca9f
child 6649
f1b3a73831c9
equal deleted inserted replaced
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

eric ide

mercurial