------------------------
- Deprecated: The ``annotate`` command and the ``Coverage.annotate`` function
will be removed in a future version, unless people let me know that they are
using it. Instead, the ``html`` command gives better-looking (and more
accurate) output, and the ``report -m`` command will tell you line numbers of
missing lines. Please get in touch if you have a reason to use ``annotate``
over those better options: nednedbatchelder.com.
- Feature: Coverage now sets an environment variable, ``COVERAGE_RUN`` when
running your code with the ``coverage run`` command. The value is not
important, and may change in the future. Closes `issue 553`_.
- Feature: The HTML report pages for Python source files now have a sticky
header so the file name and controls are always visible.
- Feature: The ``xml`` and ``json`` commands now describe what they wrote
where.
- Feature: The ``html``, ``combine``, ``xml``, and ``json`` commands all accept
a ``-q/--quiet`` option to suppress the messages they write to stdout about
what they are doing (`issue 1254`_).
- Feature: The ``html`` command writes a ``.gitignore`` file into the HTML
output directory, to prevent the report from being committed to git. If you
want to commit it, you will need to delete that file. Closes `issue 1244`_.
- Feature: Added support for PyPy 3.8.
- Fix: More generated code is now excluded from measurement. Code such as
`attrs`_ boilerplate, or doctest code, was being measured though the
synthetic line numbers meant they were never reported. Once Cython was
involved though, the generated .so files were parsed as Python, raising
syntax errors, as reported in `issue 1160`_. This is now fixed.
- Fix: When sorting human-readable names, numeric components are sorted
correctly: file10.py will appear after file9.py. This applies to file names,
module names, environment variables, and test contexts.
- Performance: Branch coverage measurement is faster, though you might only
notice on code that is executed many times, such as long-running loops.
- Build: jQuery is no longer used or vendored (`issue 840`_ and `issue 1118`_).
Huge thanks to Nils Kattenbeck (septatrix) for the conversion to vanilla
JavaScript in `pull request 1248`_.
.. _issue 553: https://github.com/nedbat/coveragepy/issues/553
.. _issue 840: https://github.com/nedbat/coveragepy/issues/840
.. _issue 1118: https://github.com/nedbat/coveragepy/issues/1118
.. _issue 1160: https://github.com/nedbat/coveragepy/issues/1160
.. _issue 1244: https://github.com/nedbat/coveragepy/issues/1244
.. _pull request 1248: https://github.com/nedbat/coveragepy/pull/1248
.. _issue 1254: https://github.com/nedbat/coveragepy/issues/1254
.. _attrs: https://www.attrs.org/
.. _changes_602: