diff options
-rw-r--r-- | CHANGES.rst | 10 | ||||
-rw-r--r-- | NOTICE.txt | 2 | ||||
-rw-r--r-- | README.rst | 4 | ||||
-rw-r--r-- | coverage/version.py | 2 | ||||
-rw-r--r-- | doc/changes.rst | 48 | ||||
-rw-r--r-- | doc/conf.py | 6 | ||||
-rw-r--r-- | doc/index.rst | 9 | ||||
-rw-r--r-- | howto.txt | 2 |
8 files changed, 68 insertions, 15 deletions
diff --git a/CHANGES.rst b/CHANGES.rst index d0b1b57c..833ffa8c 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -6,11 +6,11 @@ Change history for Coverage.py ============================== -Unreleased ----------- +Version 4.1b1 --- 2016-01-10 +---------------------------- -- Branch coverage has been rewritten: it used to be based on bytecode analysis, - but now uses AST analysis. This has changed a number of things: +- Branch analysis has been rewritten: it used to be based on bytecode, but now + uses AST analysis. This has changed a number of things: - More code paths are now considered runnable, especially in `try`/`except` structures. This may mean that coverage.py will identify more code paths @@ -28,7 +28,7 @@ Unreleased - `issue 212`_: code in an ``except`` block could be incorrectly marked as a missing branch. - - `issue 146`_: context manages (``with`` statements) in a loop or ``try`` + - `issue 146`_: context managers (``with`` statements) in a loop or ``try`` block could confuse the branch measurement, reporting incorrect partial branches. @@ -1,5 +1,5 @@ Copyright 2001 Gareth Rees. All rights reserved. -Copyright 2004-2015 Ned Batchelder. All rights reserved. +Copyright 2004-2016 Ned Batchelder. All rights reserved. Except where noted otherwise, this software is licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in @@ -22,7 +22,9 @@ Documentation is on `Read the Docs <http://coverage.readthedocs.org>`_. Code repository and issue tracker are on `Bitbucket <http://bitbucket.org/ned/coveragepy>`_, with a mirrored repository on `GitHub <https://github.com/nedbat/coveragepy>`_. -**New in 4.0:** ``--concurrency``, plugins for non-Python files, setup.cfg +**New in 4.1:** much-improved branch coverage. + +New in 4.0: ``--concurrency``, plugins for non-Python files, setup.cfg support, --skip-covered, HTML filtering, and more than 50 issues closed. diff --git a/coverage/version.py b/coverage/version.py index dc4c57c9..1907e1b4 100644 --- a/coverage/version.py +++ b/coverage/version.py @@ -5,7 +5,7 @@ # This file is exec'ed in setup.py, don't import anything! # Same semantics as sys.version_info. -version_info = (4, 1, 0, 'alpha', 0) +version_info = (4, 1, 0, 'beta', 1) def _make_version(major, minor, micro, releaselevel, serial): diff --git a/doc/changes.rst b/doc/changes.rst index 680134b6..9664cc04 100644 --- a/doc/changes.rst +++ b/doc/changes.rst @@ -37,6 +37,7 @@ Major change history for coverage.py .. :history: 20151013T103000, updated for 4.0.1 .. :history: 20151104T050900, updated for 4.0.2 .. :history: 20151124T065800, updated for 4.0.3 +.. :history: 20160110T125800, updated for 4.1b1 These are the major changes for coverage.py. For a more complete change @@ -46,6 +47,53 @@ history, see the `CHANGES.rst`_ file in the source tree. .. module:: coverage +.. _changes_41: + +Version 4.1b1 pre-release --- 2016-01-10 +---------------------------------------- + +- Branch analysis has been rewritten: it used to be based on bytecode, but now + uses AST analysis. This has changed a number of things: + + - More code paths are now considered runnable, especially in `try`/`except` + structures. This may mean that coverage.py will identify more code paths + as uncovered. This could either raise or lower your overall coverage + number. + + - Python 3.5's `async` and `await` keywords are properly supported, fixing + `issue 434`_. + + - A some long-standing branch coverage bugs were fixed: + + - `issue 129`_: functions with only a docstring for a body would incorrectly + report a missing branch on the ``def`` line. + + - `issue 212`_: code in an ``except`` block could be incorrectly marked as + a missing branch. + + - `issue 146`_: context managers (``with`` statements) in a loop or ``try`` + block could confuse the branch measurement, reporting incorrect partial + branches. + + - `issue 422`_: in Python 3.5, an actual partial branch could be marked as + complete. + +- Pragmas to disable coverage measurement can now be used on decorator lines, + and they will apply to the entire function or class being decorated. This + implements the feature requested in `issue 131`_. + +- Multiprocessing support is now available on Windows. Thanks, Rodrigue + Cloutier. + +.. _issue 129: https://bitbucket.org/ned/coveragepy/issues/129/misleading-branch-coverage-of-empty +.. _issue 131: https://bitbucket.org/ned/coveragepy/issues/131/pragma-on-a-decorator-line-should-affect +.. _issue 146: https://bitbucket.org/ned/coveragepy/issues/146/context-managers-confuse-branch-coverage +.. _issue 212: https://bitbucket.org/ned/coveragepy/issues/212/coverage-erroneously-reports-partial +.. _issue 422: https://bitbucket.org/ned/coveragepy/issues/422/python35-partial-branch-marked-as-fully +.. _issue 434: https://bitbucket.org/ned/coveragepy/issues/434/indexerror-in-python-35 +.. _issue 461: https://bitbucket.org/ned/coveragepy/issues/461/multiline-asserts-need-too-many-pragma + + .. _changes_403: Version 4.0.3 --- 2015-11-24 diff --git a/doc/conf.py b/doc/conf.py index 0738e72e..cc57d500 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -49,16 +49,16 @@ master_doc = 'index' # General information about the project. project = u'Coverage.py' -copyright = u'2009\N{EN DASH}2015, Ned Batchelder' +copyright = u'2009\N{EN DASH}2016, Ned Batchelder' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # # The short X.Y version. -version = '4.0' +version = '4.1' # The full version, including alpha/beta/rc tags. -release = '4.0.3' +release = '4.1b1' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/doc/index.rst b/doc/index.rst index aea833d9..010db6ec 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -43,6 +43,7 @@ Coverage.py .. :history: 20151013T103200, Updated for 4.0.1 .. :history: 20151104T050900, updated for 4.0.2 .. :history: 20151124T065900, updated for 4.0.3 +.. :history: 20160110T125900, updated for 4.1b1 Coverage.py is a tool for measuring code coverage of Python programs. It @@ -55,7 +56,7 @@ not. .. ifconfig:: not prerelease - The latest version is coverage.py 4.0.3, released 24 November 2015. + The latest version is coverage.py 4.0.3, released November 24th, 2015. It is supported on: * Python versions 2.6, 2.7, 3.3, 3.4, and 3.5 @@ -64,11 +65,11 @@ not. .. ifconfig:: prerelease - The latest version is coverage.py 4.0b2, released 22 August 2015. - It is supported on Python versions 2.6, 2.7, 3.3, 3.4, and 3.5c1, as well + The latest version is coverage.py 4.1b1, released January 10th, 2016. + It is supported on Python versions 2.6, 2.7, 3.3, 3.4, and 3.5, as well as PyPy 2.4 and 2.6, and PyPy3 2.4. **This is a pre-release build. The usual warnings about possible bugs apply.** - The latest stable version is coverage.py 3.7.1, `described here`_. + The latest stable version is coverage.py 4.0.3, `described here`_. .. _described here: http://nedbatchelder.com/code/coverage @@ -14,6 +14,8 @@ - Version and date in doc/index.rst - Version and copyright date in doc/conf.py - Don't forget the man page: doc/python-coverage.1.txt + - Check that the docs build correctly: + $ tox -e doc - Done with changes to source files, check them in. - Generate new sample_html to get the latest, incl footer version number: pip install -e . |