| .. Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 |
| .. For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt |
| |
| .. _migrating: |
| |
| ========================== |
| Migrating between versions |
| ========================== |
| |
| New versions of coverage.py or Python might require you to adjust your |
| settings, options, or other aspects of how you use coverage.py. This page |
| details those changes. |
| |
| .. _migrating_cov7x: |
| |
| Migrating to coverage.py 7.x |
| ---------------------------- |
| |
| Consider these changes when migrating to coverage.py 7.x: |
| |
| - The way that wildcards when specifying file paths work in certain cases has |
| changed in 7.x: |
| |
| - Previously, ``*`` would incorrectly match directory separators, making |
| precise matching difficult. Patterns such as ``*tests/*`` |
| will need to be changed to ``*/tests/*``. |
| |
| - ``**`` now matches any number of nested directories. If you wish to retain |
| the behavior of ``**/tests/*`` in previous versions then ``*/**/tests/*`` |
| can be used instead. |
| |
| - When remapping file paths with ``[paths]``, a path will be remapped only if |
| the resulting path exists. Ensure that remapped ``[paths]`` exist when |
| upgrading as this is now being enforced. |
| |
| - The :ref:`config_report_exclude_also` setting is new in 7.2.0. It adds |
| exclusion regexes while keeping the default built-in set. It's better than |
| the older :ref:`config_report_exclude_lines` setting, which overwrote the |
| entire list. Newer versions of coverage.py will be adding to the default set |
| of exclusions. Using ``exclude_also`` will let you benefit from those |
| updates. |
| |
| |
| .. _migrating_cov62: |
| |
| Migrating to coverage.py 6.2 |
| ---------------------------- |
| |
| - The ``--concurrency`` settings changed in 6.2 to be a list of values. You |
| might need to explicitly list concurrency options that we previously implied. |
| For example, ``--concurrency=multiprocessing`` used to implicitly enable |
| thread concurrency. Now that must be explicitly enabled with |
| ``--concurrency=multiprocessing,thread``. |
| |
| |
| .. _migrating_py312: |
| |
| Migrating to Python 3.12 |
| ------------------------ |
| |
| Keep these things in mind when running under Python 3.12: |
| |
| - Python 3.12 now inlines list, dict, and set comprehensions. Previously, they |
| were compiled as functions that were called internally. Coverage.py would |
| warn you if comprehensions weren't fully completed, but this no longer |
| happens with Python 3.12. |