D’oh: Coverage.py 4.3.1

Wednesday 28 December 2016This is almost eight years old. Be careful.

Yesterday I released five months’ of fixes as Coverage.py 4.3, and today I am releasing Coverage.py 4.3.1. This is not because releasing is fun, but because releasing is error-prone.

Two bad problems were very quickly reported by my legions of adoring fans, and they are now fixed. I’ll sheepishly tell you that one of them was a UnicodeError in a bit of too-cute code in setup.py.

Perhaps I should have released a 4.3 beta. But my experience in the past is that betas do not get the kind of attention that final releases do. Partly this is just due to people’s attention budget: lots of people won’t install a beta. But it’s also due to continuous integration servers. When a final release is out, hundreds if not thousands of CI servers will install it automatically as part of the next triggered build. They won’t install pre-releases.

So there’s a not-great choice to make: should I put out a beta, and hope that people try it and tell me what went wrong? Will enough people in enough disparate environments take that step to truly test the release?

Or should I skip that step, jump straight to a final release, and prepare instead to quickly fix whatever problems occur? I chose the latter course for 4.3. I guess I could use meta-feedback about which form of feedback I should pursue in the future...

Comments

[gravatar]
For what it's worth, I think your method is fine and your rationale is sufficient for me. You were there to make the quick fixes, I personally think that's the most important part. I appreciate your efforts in developing Coverage and support of the Python community in general.
[gravatar]
Israel Fruchter 7:45 PM on 28 Dec 2016
More deliveries, and fixing problems fast. That what I would choose...

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:
Comment text is Markdown.