Changelog:
===========
- Fix: some messages were being written to stdout, making coverage json -o -
useless for capturing JSON output. Now messages are written to stderr
- Fix: CoverageData kept one SQLite connection per thread that recorded
coverage, but never closed them when those threads terminated. On long runs
with many short-lived threads this leaked one file descriptor per dead thread,
eventually failing with OSError: [Errno 24] Too many open files. Connections
belonging to terminated threads are now closed and dropped.
- Fix: when using sys.monitoring, we were assuming we could use the COVERAGE_ID
tool id. But other tools might also assume they could use that id.
Pre-allocated ids don't really make sense, so now we search for a usable one
instead.
- Following the advice of cibuildwheel, we no longer distribute wheels for
Python 3.13 free-threaded.
- Fix: the default exclusion rule now also matches function bodies whose
closing return-type bracket is on its own line (for example, after a long ->
dict[...] annotation that a formatter has split over multiple lines).
- Fix: On 3.13t, we incorrectly issued Couldn't import C tracer errors. We
can't import the C tracer because in 7.14.2 we stopped shipping compiled
wheels for 3.13t.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>