4.0b1
Pre-release
Pre-release
nedbat
released this
13 Oct 23:32
·
4415 commits
to master
since this release
Version 4.0b1 — 2015-08-02
- Coverage.py is now licensed under the Apache 2.0 license. See NOTICE.txt for details. Closes issue 313.
- The data storage has been completely revamped. The data file is now JSON-based instead of a pickle, closing issue 236. The CoverageData class is now a public supported documented API to the data file.
- A new configuration option,
[run] note
, lets you set a note that will be stored in the runs section of the data file. You can use this to annotate the data file with any information you like. - Unrecognized configuration options will now print an error message and stop coverage.py. This should help prevent configuration mistakes from passing silently. Finishes issue 386.
- In parallel mode,
coverage erase
will now delete all of the data files, fixing issue 262. - Coverage.py now accepts a directory name for
coverage run
and will run a__main__.py
found there, just like Python will. Fixes issue 252. Thanks, Dmitry Trofimov. - The XML report now includes a
missing-branches
attribute. Thanks, Steve Peak. This is not a part of the Cobertura DTD, so the XML report no longer references the DTD. - Missing branches in the HTML report now have a bit more information in the right-hand annotations. Hopefully this will make their meaning clearer.
- All the reporting functions now behave the same if no data had been collected, exiting with a status code of 1. Fixed
fail_under
to be applied even when the report is empty. Thanks, Ionel Cristian Mărieș. - Plugins are now initialized differently. Instead of looking for a class called
Plugin
, coverage.py looks for a function calledcoverage_init
. - A file-tracing plugin can now ask to have built-in Python reporting by returning “python” from its file_reporter() method.
- Code that was executed with exec would be mis-attributed to the file that called it. This is now fixed, closing issue 380.
- The ability to use item access on Coverage.config (introduced in 4.0a2) has been changed to a more explicit Coverage.get_option and Coverage.set_option API.
- The
Coverage.use_cache
method is no longer supported. - The private method
Coverage._harvest_data
is now calledCoverage.get_data
, and returns theCoverageData
containing the collected data. - The project is consistently referred to as “coverage.py” throughout the code and the documentation, closing issue 275.
- Combining data files with an explicit configuration file was broken in 4.0a6, but now works again, closing issue 385.
coverage combine
now accepts files as well as directories.- The speed is back to 3.7.1 levels, after having slowed down due to plugin support, finishing up issue 387.
➡️ PyPI page: coverage 4.0b1.
➡️ To install: python3 -m pip install coverage==4.0b1