When using --source on a large source tree, v5.x was slower than previous versions. This performance regression is now fixed, closing issue 1037.
Mysterious SQLite errors can happen on PyPy, as reported in issue 1010. An immediate retry seems to fix the problem, although it is an unsatisfying solution.
The HTML report now saves the sort order in a more widely supported way, fixing issue 986. Thanks, Sebastián Ramírez (pull request 1066).
The HTML report pages now have a Sleepy Snake favicon.
Wheels are now provided for manylinux2010, and for PyPy3 (pp36 and pp37).
Continuous integration has moved from Travis and AppVeyor to GitHub Actions.
coverage-5.3
The source setting has always been interpreted as either a file path or a module, depending on which existed. If both interpretations were valid, it was assumed to be a file path. The new source_pkgs setting can be used to name a package to disambiguate this case. Thanks, Thomas Grainger. Fixes issue 268.
If a plugin was disabled due to an exception, we used to still try to record its information, causing an exception, as reported in issue 1011. This is now fixed.
coverage-5.2.1
The dark mode HTML report still used light colors for the context listing, making them unreadable (issue 1009). This is now fixed.
The time stamp on the HTML report now includes the time zone. Thanks, Xie Yanbo (pull request 960).
coverage-5.2
The HTML report has been redesigned by Vince Salvino. There is now a dark mode, the code text is larger, and system sans serif fonts are used, in addition to other small changes (issue 858 and pull request 931).
The coverage report and coverage html commands now accept a --precision option to control the number of decimal points displayed. Thanks, Teake Nutma (pull request 982).
The coverage report and coverage html commands now accept a --no-skip-covered option to negate --skip-covered. Thanks, Anthony Sottile (issue 779 and pull request 932).
The --skip-empty option is now available for the XML report, closing issue 976.
The coverage report command now accepts a --sort option to specify how to sort the results. Thanks, Jerin Peter George (pull request 1005).
If coverage fails due to the coverage total not reaching the --fail-under value, it will now print a message making the condition clear. Thanks, Naveen Yadav (pull request 977).
TOML configuration files with non-ASCII characters would cause errors on Windows (issue 990). This is now fixed.
The output of --debug=trace now includes information about how the --source option is being interpreted, and the module names being considered.
coverage-5.1
The JSON report now includes counts of covered and missing branches. Thanks, Salvatore Zagaria.
On Python 3.8, try-finally-return reported wrong branch coverage with decorated async functions (issue 964). This is now fixed. Thanks, Kjell Braden.
If using the [run] relative_files setting, the XML report will use relative files in the <source> elements indicating the location of source code. Closes issue 948.
The textual summary report could report missing lines with negative line numbers on PyPy3 7.1 (issue 943). This is now fixed.
Windows wheels for Python 3.8 were incorrectly built, but are now fixed. (issue 949)
Updated Python 3.9 support to 3.9a4.
HTML reports couldn’t be sorted if localStorage wasn’t available. This is now fixed: sorting works even though the sorting setting isn’t retained. (issue 944 and pull request 945). Thanks, Abdeali Kothari.
coverage-5.0.3
A performance improvement in 5.0.2 didn’t work for test suites that changed directory before combining data, causing “Couldn’t use data file: no such table: meta” errors (issue 916). This is now fixed.
Coverage could fail to run your program with some form of “ModuleNotFound” or “ImportError” trying to import from the current directory. This would happen if coverage had been packaged into a zip file (for example, on Windows), or was found indirectly (for example, by pyenv-virtualenv). A number of different scenarios were described in issue 862 which is now fixed. Huge thanks to Agbonze O. Jeremiah for reporting it, and Alexander Waters and George-Cristian Bîrzan for protracted debugging sessions.
Added the “premain” debug option.
Added SQLite compile-time options to the “debug sys” output.
coverage-5.0.2
Programs that used multiprocessing and changed directories would fail under coverage. This is now fixed (issue 890). A side effect is that debug information about the config files read now shows absolute paths to the files.
When running programs as modules (coverage run -m) with --source, some measured modules were imported before coverage starts. This resulted in unwanted warnings (“Already imported a file that will be measured”) and a reduction in coverage totals (issue 909). This is now fixed.
If no data was collected, an exception about “No data to report” could happen instead of a 0% report being created (issue 884). This is now fixed.
The handling of source files with non-encodable file names has changed. Previously, if a file name could not be encoded as UTF-8, an error occurred, as described in issue 891. Now, those files will not be measured, since their data would not be recordable.
A new warning (“dynamic-conflict”) is issued if two mechanisms are trying to change the dynamic context. Closes issue 901.
When using --source on a large source tree, v5.x was slower than previous versions. This performance regression is now fixed, closing issue 1037.
Mysterious SQLite errors can happen on PyPy, as reported in issue 1010. An immediate retry seems to fix the problem, although it is an unsatisfying solution.
The HTML report now saves the sort order in a more widely supported way, fixing issue 986. Thanks, Sebastián Ramírez (pull request 1066).
The HTML report pages now have a Sleepy Snake <sleepy> favicon.
Wheels are now provided for manylinux2010, and for PyPy3 (pp36 and pp37).
Continuous integration has moved from Travis and AppVeyor to GitHub Actions.
Version 5.3 --- 2020-09-13
The source setting has always been interpreted as either a file path or a module, depending on which existed. If both interpretations were valid, it was assumed to be a file path. The new source_pkgs setting can be used to name a package to disambiguate this case. Thanks, Thomas Grainger. Fixes issue 268.
If a plugin was disabled due to an exception, we used to still try to record its information, causing an exception, as reported in issue 1011. This is now fixed.
Version 5.2.1 --- 2020-07-23
The dark mode HTML report still used light colors for the context listing, making them unreadable (issue 1009). This is now fixed.
The time stamp on the HTML report now includes the time zone. Thanks, Xie Yanbo (pull request 960).
Version 5.2 --- 2020-07-05
The HTML report has been redesigned by Vince Salvino. There is now a dark mode, the code text is larger, and system sans serif fonts are used, in addition to other small changes (issue 858 and pull request 931).
The coverage report and coverage html commands now accept a --precision option to control the number of decimal points displayed. Thanks, Teake Nutma (pull request 982).
The coverage report and coverage html commands now accept a --no-skip-covered option to negate --skip-covered. Thanks, Anthony Sottile (issue 779 and pull request 932).
The --skip-empty option is now available for the XML report, closing issue 976.
The coverage report command now accepts a --sort option to specify how to sort the results. Thanks, Jerin Peter George (pull request 1005).
If coverage fails due to the coverage total not reaching the --fail-under value, it will now print a message making the condition clear. Thanks, Naveen Yadav (pull request 977).
TOML configuration files with non-ASCII characters would cause errors on Windows (issue 990). This is now fixed.
The output of --debug=trace now includes information about how the --source option is being interpreted, and the module names being considered.
Version 5.1 --- 2020-04-12
The JSON report now includes counts of covered and missing branches. Thanks, Salvatore Zagaria.
On Python 3.8, try-finally-return reported wrong branch coverage with decorated async functions (issue 964). This is now fixed. Thanks, Kjell Braden.
The ~coverage.Coverage.get_option and ~coverage.Coverage.set_option methods can now manipulate the [paths] configuration setting. Thanks to Bernát Gábor for the fix for issue 967.
Version 5.0.4 --- 2020-03-16
If using the [run] relative_files setting, the XML report will use relative files in the <source> elements indicating the location of source code. Closes issue 948.
The textual summary report could report missing lines with negative line numbers on PyPy3 7.1 (issue 943). This is now fixed.
Windows wheels for Python 3.8 were incorrectly built, but are now fixed. (issue 949)
Updated Python 3.9 support to 3.9a4.
HTML reports couldn't be sorted if localStorage wasn't available. This is now fixed: sorting works even though the sorting setting isn't retained. (issue 944 and pull request 945). Thanks, Abdeali Kothari.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
Bumps coverage from 4.5.1 to 5.3.1.
Release notes
Sourced from coverage's releases.
Changelog
Sourced from coverage's changelog.
Commits
e65df09
Fix one pylint snagf1dc6cc
Name kit artifactsc377e65
Latest sample HTML report4ac95eb
Prep for 5.3.137285cb
Add a docstring to satisfy pylintaeba5e6
Mention new wheels29e3241
Add time-created info to download_gha_artifacts.py215996b
Build PyPy wheels also2dfe9f1
Thanks, Sebastián Ramírezb12a97e
🐛 Fix sorting order storage in JQuery unload eventDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Automerge options (never/patch/minor, and dev/runtime dependencies) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)