summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2016-01-10 13:01:57 -0500
committerNed Batchelder <ned@nedbatchelder.com>2016-01-10 13:01:57 -0500
commit990a0cc965a20cc0c424f0b61dcf9c082c88a35b (patch)
tree44f2eacd639d22f5b6b2e0d4134c558e25fc72e3
parent553925a3412b70da85b68cd50729411da5dba73f (diff)
downloadpython-coveragepy-990a0cc965a20cc0c424f0b61dcf9c082c88a35b.tar.gz
Prep for 4.1b1
-rw-r--r--CHANGES.rst10
-rw-r--r--NOTICE.txt2
-rw-r--r--README.rst4
-rw-r--r--coverage/version.py2
-rw-r--r--doc/changes.rst48
-rw-r--r--doc/conf.py6
-rw-r--r--doc/index.rst9
-rw-r--r--howto.txt2
8 files changed, 68 insertions, 15 deletions
diff --git a/CHANGES.rst b/CHANGES.rst
index d0b1b57..833ffa8 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.
diff --git a/NOTICE.txt b/NOTICE.txt
index ff68ab8..425fb95 100644
--- a/NOTICE.txt
+++ b/NOTICE.txt
@@ -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
diff --git a/README.rst b/README.rst
index 66a8f5e..9ab7331 100644
--- a/README.rst
+++ b/README.rst
@@ -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 dc4c57c..1907e1b 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 680134b..9664cc0 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 0738e72..cc57d50 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 aea833d..010db6e 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
diff --git a/howto.txt b/howto.txt
index 8fe691c..0f74755 100644
--- a/howto.txt
+++ b/howto.txt
@@ -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 .