Coverage 5.0, finally

Tuesday 17 December 2019

After a quiet week of beta 2 being available, and not hearing from anyone, I released coverage.py 5.0 on Saturday.

I’ve been through this before, so I knew what would happen: people with unpinned requirements would invisibly upgrade their coverage version, and stuff would break. Coverage.py is used by many projects, so it was inevitable.

Saturday afternoon was quiet. Sunday I heard from two people. Then Monday, people came back to work to find their continuous integration broken, and now I’m up to 11 issues to deal with.

It remains difficult to get people to provide instructions that are specific enough and detailed enough for me to see their problem. A link to your broken CI build doesn’t tell me how to do it myself. A link to your repo is confusing if you then add a commit that pins the old version of coverage to prevent the problem, forcing me to dig through your history to try to find the old commit that was broken. And so on.

Of course, this is nothing new, but it drove home again how hard it is to extract good information from distracted and annoyed users. If anyone has good examples of issue templates that get people’s attention and guide them well, point me to them!

While dealing with the issues, I came up with two new techniques, interesting enough to deserve their own blog posts:

Needless to say, fixes are underway for a coverage.py 5.0.1 to be released soon.

Comments

[gravatar]
Pekka Klärck 9:13 PM on 17 Dec 2019

Related problem: pre-releases aren't tested widely enough.

Also interested in good GitHub issue templates!

[gravatar]

I am one of those people! And I am happy to dig more information, or even take a look at the code if you can help get me started. Not that my issue is a real blocker in the first place (spurious warning message).

Two of my projects broke from the release (and none of them from actual coverage.py breakage). Maybe I should lock my deps, ha!

Thanks for all your work on coverage.py!

Add a comment:

Ignore this:
Leave this empty:
Name is required. Either email or web are required. Email won't be displayed and I won't spam you. Your web site won't be indexed by search engines.
Don't put anything here:
Leave this empty:
URLs auto-link and some tags are allowed: <a><b><i><p><br><pre>.