diff options
Diffstat (limited to 'doc/changes.rst')
-rw-r--r-- | doc/changes.rst | 86 |
1 files changed, 60 insertions, 26 deletions
diff --git a/doc/changes.rst b/doc/changes.rst index c19d42f3..64be4f2f 100644 --- a/doc/changes.rst +++ b/doc/changes.rst @@ -1,3 +1,6 @@ +.. Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 +.. For details: https://bitbucket.org/ned/coveragepy/src/default/NOTICE.txt + .. _changes: ==================================== @@ -37,13 +40,13 @@ history, see the `CHANGES.txt`_ file in the source tree. .. _changes_40: -Version 4.0a5 pre-release --- 16 February 2015 ----------------------------------------------- +Version 4.0a6 pre-release --- 21 June 2015 +------------------------------------------ Backward incompatibilities: -- CPython versions supported are now Python 2.6, 2.7, 3.3, 3.4 and 3.5a1. - PyPy2 2.4 and PyPy3 2.4 are also supported. +- CPython versions supported are now Python 2.6, 2.7, 3.3, 3.4 and 3.5b2. + PyPy2 2.4, 2.6, and PyPy3 2.4 are also supported. - The original command line switches (`-x` to run a program, etc) are no longer supported. @@ -51,6 +54,10 @@ Backward incompatibilities: - The ``COVERAGE_OPTIONS`` environment variable is no longer supported. It was a hack for ``--timid`` before configuration files were available. +- The original module-level function interface to coverage.py is no longer + supported. You must now create a ``coverage.Coverage`` object, and use + methods on it. + Major new features: - Gevent, eventlet, and greenlet are now supported, closing `issue 149`_. @@ -64,7 +71,8 @@ Major new features: - Plugins: third parties can write plugins to add file support for non-Python files, such as web application templating engines, or languages that compile - down to Python. + down to Python. A plugin for measuring Django template coverage is + available: `django_coverage_plugin`_ - Wildly experimental: support for measuring processes started by the multiprocessing module. To use, set ``--concurrency=multiprocessing``, @@ -88,12 +96,20 @@ New features: - The ``report`` command can now show missing branches when reporting on branch coverage. Thanks, Steve Leonard. Closes `issue 230`_. +- The ``coverage combine`` command now accepts any number of directories as + arguments, and will combine all the data files from those directories. This + means you don't have to copy the files to one directory before combining. + Thanks, Christine Lytwynec. Finishes `issue 354`_. + - A new configuration option for the XML report: ``[xml] package_depth`` controls which directories are identified as packages in the report. Directories deeper than this depth are not reported as packages. The default is that all directories are reported as packages. Thanks, Lex Berezhny. +- The COVERAGE_DEBUG environment variable can be used to set the `[run]debug` + configuration option to control what internal operations are logged. + Improvements: - Coverage.py now always adds the current directory to sys.path, so that @@ -113,7 +129,7 @@ Improvements: fixed. - A new warning is possible, if a desired file isn't measured because it was - imported before coverage was started (`issue 353`_). + imported before coverage.py was started (`issue 353`_). - The `coverage.process_startup` function now will start coverage measurement only once, no matter how many times it is called. This fixes problems due @@ -124,8 +140,8 @@ API changes: - The class defined in the coverage module is now called ``Coverage`` instead of ``coverage``, though the old name still works, for backward compatibility. -- You can now programmatically adjust the configuration of coverage by setting - items on `Coverage.config` after construction. +- You can now programmatically adjust the configuration of coverage.py by + setting items on `Coverage.config` after construction. - If the `config_file` argument to the Coverage constructor is specified as ".coveragerc", it is treated as if it were True. This means setup.cfg is @@ -141,6 +157,16 @@ Bug fixes: - The ``fail-under`` value is now rounded the same as reported results, preventing paradoxical results, fixing `issue 284`_. +- Branch coverage couldn't properly handle certain extremely long files. This + is now fixed (`issue 359`_). + +- Branch coverage didn't understand yield statements properly. Mickie Betz + persisted in pursuing this despite Ned's pessimism. Fixes `issue 308`_ and + `issue 324`_. + +- Files with incorrect encoding declaration comments are no longer ignored by + the reporting commands, fixing `issue 351`_. + - Empty files are now reported as 100% covered in the XML report, not 0% covered (`issue 345`_). @@ -153,6 +179,7 @@ Bug fixes: - The annotate command will now annotate all files, not just ones relative to the current directory, fixing `issue 57`_. +.. _django_coverage_plugin: https://pypi.python.org/pypi/django_coverage_plugin .. _issue 57: https://bitbucket.org/ned/coveragepy/issue/57/annotate-command-fails-to-annotate-many .. _issue 69: https://bitbucket.org/ned/coveragepy/issue/69/coverage-html-overwrite-files-that-doesnt .. _issue 94: https://bitbucket.org/ned/coveragepy/issue/94/coverage-xml-doesnt-produce-sources @@ -164,15 +191,20 @@ Bug fixes: .. _issue 285: https://bitbucket.org/ned/coveragepy/issue/285/xml-report-fails-if-output-file-directory .. _issue 303: https://bitbucket.org/ned/coveragepy/issue/303/unicodedecodeerror .. _issue 304: https://bitbucket.org/ned/coveragepy/issue/304/attempt-to-get-configuration-from-setupcfg +.. _issue 308: https://bitbucket.org/ned/coveragepy/issue/308/yield-lambda-branch-coverage .. _issue 314: https://bitbucket.org/ned/coveragepy/issue/314/fail_under-param-not-working-in-coveragerc .. _issue 315: https://bitbucket.org/ned/coveragepy/issue/315/option-to-omit-empty-files-eg-__init__py +.. _issue 324: https://bitbucket.org/ned/coveragepy/issue/324/yield-in-loop-confuses-branch-coverage .. _issue 331: https://bitbucket.org/ned/coveragepy/issue/331/failure-of-encoding-detection-on-python2 .. _issue 340: https://bitbucket.org/ned/coveragepy/issue/340/keyerror-subpy .. _issue 342: https://bitbucket.org/ned/coveragepy/issue/342/console-and-html-coverage-reports-differ .. _issue 345: https://bitbucket.org/ned/coveragepy/issue/345/xml-reports-line-rate-0-for-empty-files +.. _issue 351: https://bitbucket.org/ned/coveragepy/issue/351/files-with-incorrect-encoding-are-ignored .. _issue 353: https://bitbucket.org/ned/coveragepy/issue/353/40a3-introduces-an-unexpected-third-case +.. _issue 354: https://bitbucket.org/ned/coveragepy/issue/354/coverage-combine-should-take-a-list-of .. _issue 357: https://bitbucket.org/ned/coveragepy/issue/357/behavior-changed-when-coveragerc-is .. _issue 358: https://bitbucket.org/ned/coveragepy/issue/358/all-coverage-commands-should-adjust +.. _issue 359: https://bitbucket.org/ned/coveragepy/issue/359/xml-report-chunk-error .. _changes_371: @@ -200,9 +232,9 @@ Version 3.7 --- 6 October 2013 - Running code with ``coverage run -m`` now behaves more like Python does, setting sys.path properly, which fixes `issue 207`_ and `issue 242`_. -- Coverage can now run .pyc files directly, closing `issue 264`_. +- Coverage.py can now run .pyc files directly, closing `issue 264`_. -- Coverage properly supports .pyw files, fixing `issue 261`_. +- Coverage.py properly supports .pyw files, fixing `issue 261`_. - Omitting files within a tree specified with the ``source`` option would cause them to be incorrectly marked as unexecuted, as described in @@ -218,9 +250,10 @@ Version 3.7 --- 6 October 2013 - Trying to create an XML report with no files to report on, would cause a ZeroDivideError, but no longer does, fixing `issue 250`_. -- When running a threaded program under the Python tracer, coverage no longer - issues a spurious warning about the trace function changing: "Trace function - changed, measurement is likely wrong: None." This fixes `issue 164`_. +- When running a threaded program under the Python tracer, coverage.py no + longer issues a spurious warning about the trace function changing: "Trace + function changed, measurement is likely wrong: None." This fixes + `issue 164`_. - Static files necessary for HTML reports are found in system-installed places, to ease OS-level packaging of coverage.py. Closes `issue 259`_. @@ -348,8 +381,9 @@ Fixes: - Jython files now work with the ``--source`` option, fixing `issue 100`_. -- Running coverage under a debugger is unlikely to work, but it shouldn't fail - with "TypeError: 'NoneType' object is not iterable". Fixes `issue 201`_. +- Running coverage.py under a debugger is unlikely to work, but it shouldn't + fail with "TypeError: 'NoneType' object is not iterable". Fixes + `issue 201`_. - On some Linux distributions, when installed with the OS package manager, coverage.py would report its own code as part of the results. Now it won't, @@ -471,10 +505,10 @@ Version 3.5.2 --- 4 May 2012 Version 3.5.1 --- 23 September 2011 ----------------------------------- -- When combining data files from parallel runs, you can now instruct coverage - about which directories are equivalent on different machines. A ``[paths]`` - section in the configuration file lists paths that are to be considered - equivalent. Finishes `issue 17`_. +- When combining data files from parallel runs, you can now instruct + coverage.py about which directories are equivalent on different machines. A + ``[paths]`` section in the configuration file lists paths that are to be + considered equivalent. Finishes `issue 17`_. - for-else constructs are understood better, and don't cause erroneous partial branch warnings. Fixes `issue 122`_. @@ -496,7 +530,7 @@ Version 3.5.1 --- 23 September 2011 - In order to help the core developers measure the test coverage of the standard library, Brandon Rhodes devised an aggressive hack to trick Python - into running some coverage code before anything else in the process. + into running some coverage.py code before anything else in the process. See the coverage/fullcoverage directory if you are interested. .. _issue 17: http://bitbucket.org/ned/coveragepy/issue/17/support-combining-coverage-data-from @@ -653,7 +687,7 @@ Execution and measurement: - When measuring code running in a virtualenv, most of the system library was being measured when it shouldn't have been. This is now fixed. -- Coverage can now be run as a module: ``python -m coverage``. Thanks, +- Coverage.py can now be run as a module: ``python -m coverage``. Thanks, Brett Cannon. .. _issue 1: http://bitbucket.org/ned/coveragepy/issue/1/empty-__init__py-files-are-reported-as-1-executable @@ -731,7 +765,7 @@ Version 3.2 --- 5 December 2009 - Added a ``--version`` option on the command line. -- Program execution under coverage is a few percent faster. +- Program execution under coverage.py is a few percent faster. - Some exceptions reported by the command line interface have been cleaned up so that tracebacks inside coverage.py aren't shown. Fixes `issue 23`_. @@ -792,7 +826,7 @@ Version 3.0.1 --- 7 July 2009 raised. This is now fixed. - The coverage.py code itself will now not be measured by coverage.py, and no - coverage modules will be mentioned in the nose ``--with-cover`` plugin. + coverage.py modules will be mentioned in the nose ``--with-cover`` plugin. - When running source files, coverage.py now opens them in universal newline mode just like Python does. This lets it run Windows files on Mac, for @@ -802,13 +836,13 @@ Version 3.0.1 --- 7 July 2009 Version 3.0 --- 13 June 2009 ---------------------------- -- Coverage is now a package rather than a module. Functionality has been split - into classes. +- Coverage.py is now a package rather than a module. Functionality has been + split into classes. - HTML reports and annotation of source files: use the new ``-b`` (browser) switch. Thanks to George Song for code, inspiration and guidance. -- The trace function is implemented in C for speed. Coverage runs are now +- The trace function is implemented in C for speed. Coverage.py runs are now much faster. Thanks to David Christian for productive micro-sprints and other encouragement. |