After more than 20 months, coverage.py 4.0 is available. This version brings a number of significant changes:

Plugin support for measuring non-Python files, such as Django templates.

Support for concurrency libraries such as gevent, greenlet, and eventlet.

Live filtering in the HTML report.

More than 50 issues closed, including improved branch coverage.

Documentation is now on Read The Docs.

The full changes are in the docs.

A number of things internal to coverage.py have changed in incompatible ways. Helper tools sometimes build on internal interfaces. If you find that coverage.py 4.0 seems broken in some way, please update to the latest versions of your helper libraries while diagnosing the problem.

If you have any problems, please let me know.

Next up for coverage.py: some form of the often requested feature, “show who tests what“. If you are interested in that, get in touch, or comment on the issue.