<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p>I just released coverage.py 5.0 beta 1. It has some big changes
since 4.5.x, so I need people to try it and tell me if it’s ready.
Please install <a href="https://pypi.org/project/coverage/5.0b1/"
rel="external" moz-do-not-send="true">coverage.py 5.0 beta 1</a>
and try it in your environment.</p>
<p>I especially want to hear from you if you tried the earlier
alphas of 5.0. There have been some changes in the SQLite database
that were needed to make measurement efficient enough for large
test suites, but that hinder ad-hoc querying.</p>
<p>If you haven’t taken a look at coverage.py 5.0 yet, the big
change is the addition of “contexts.” These can record not just
that a line was executed, but something about why it was executed.
Any number of contexts can be recorded for a line. They could be
different operating systems, or versions of Python, or the name of
the test that was running. I think it could enable some really
interesting tooling.</p>
<p>If you are interested in recording test names as contexts, the <a
href="https://pypi.org/project/pytest-cov/" rel="external"
moz-do-not-send="true">pytest-cov</a> pytest plugin now has a
“--cov-context” option to do just that.</p>
<p>Contexts increase the data requirements, so data storage is now a
SQLite file rather than a JSON file. The summary of what’s new in
5.0 is here: <a
href="https://coverage.readthedocs.io/en/latest/whatsnew5x.html"
rel="external" moz-do-not-send="true">Major changes in 5.0</a>.</p>
<p>Please try this. Soon 5.0 will be done, and people will begin
installing it unknowingly. I would really like to minimize the
turmoil when that happens.</p>
<p>Thanks,</p>
<p>--Ned.<br>
</p>
</body>
</html>