The first alpha of the next major version of coverage.py is available: coverage.py v4.0a1.
The big new feature is support for the gevent, greenlet, and eventlet concurrency libraries. Previously, these libraries' behind-the-scenes stack swapping would confuse coverage.py. Now coverage adapts to give accurate coverage measurement. To enable it, use the "concurrency" setting to specify which library you are using.
Huge thanks to Peter Portante for getting the concurrency support started, and Joe Jevnik for the last final push.
Also new is that coverage.py will read its configuration from setup.cfg if there is no .coveragerc file. This lets you keep more of your project configuration in one place.
Lastly, the textual summary report now shows missing branches if you are using branch coverage.
One warning: I'm moving around lots of internals. People have a tendency to use what they need to to get their plugin or tool to work, so some of those third-party packages may now be broken. Let me know what you find.
Full details of other changes are in the CHANGES.txt file.