Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial Update #1

Open
wants to merge 10 commits into
base: master
Choose a base branch
from
Open

Initial Update #1

wants to merge 10 commits into from

Conversation

pyup-bot
Copy link

This is my first visit to this fine repo so I have bundled all updates in a single pull request to make things easier for you to merge.

Close this pull request and delete the branch if you want me to start with single pull requests right away

Here's the executive summary:

Updates

Here's a list of all the updates bundled in this pull request. I've added some links to make it easier for you to find all the information you need.

pip 8.1.2 » 9.0.1 PyPI | Changelog | Homepage
wheel 0.29.0 » 0.30.0 PyPI | Changelog | Repo
flake8 2.6.0 » 3.5.0 PyPI | Changelog | Repo
tox 2.3.1 » 2.9.1 PyPI | Changelog | Docs
coverage 4.1 » 4.4.2 PyPI | Changelog | Repo
Sphinx 1.4.8 » 1.6.6 PyPI | Changelog | Homepage
cryptography 1.7 » 2.1.4 PyPI | Changelog | Repo
PyYAML 3.11 » 3.12 PyPI | Changelog | Homepage
pytest 2.9.2 » 3.4.0 PyPI | Changelog | Repo | Homepage
pytest-runner 2.11.1 » 3.0 PyPI | Changelog | Repo

Changelogs

pip 8.1.2 -> 9.0.1

9.0.1

==================

  • Correct the deprecation message when not specifying a --format so that it
    uses the correct setting name (format) rather than the incorrect one
    (list_format). (4058)
  • Fix pip check to check all available distributions and not just the
    local ones. (4083)
  • Fix a crash on non ASCII characters from lsb_release. (4062)
  • Fix an SyntaxError in an unused module of a vendored dependency. (4059)
  • Fix UNC paths on Windows. (4064)

9.0.0

==================

  • BACKWARD INCOMPATIBLE Remove the attempted autodetection of requirement
    names from URLs, URLs must include a name via egg=.
  • DEPRECATION pip install --egg have been deprecated and will be
    removed in the future. This "feature" has a long list of drawbacks which
    break nearly all of pip's other features in subtle and hard-to-diagnose
    ways.
  • DEPRECATION --default-vcs option. (4052)
  • WARNING pip 9 cache can break forward compatibility with previous pip
    versions if your package repository allows chunked responses. (4078)
  • Add a pip check command to check installed packages dependencies. (3750)
  • Add option allowing user to abort pip operation if file/directory exists
  • Add Appveyor CI
  • Uninstall existing packages when performing an editable installation of
    the same packages. (1548)
  • pip show is less verbose by default. --verbose prints multiline
    fields. (3858)
  • Add optional column formatting to pip list. (3651)
  • Add --not-required option to pip list, which lists packages that are
    not dependencies of other packages.
  • Fix builds on systems with symlinked /tmp directory for custom
    builds such as numpy. (3701)
  • Fix regression in pip freeze: when there is more than one git remote,
    priority is given to the remote named origin. (3708, 3616).
  • Fix crash when calling pip freeze with invalid requirement installed.
    (3704, 3681)
  • Allow multiple --requirement files in pip freeze. (3703)
  • Implementation of pep-503 data-requires-python. When this field is
    present for a release link, pip will ignore the download when
    installing to a Python version that doesn't satisfy the requirement.
  • pip wheel now works on editable packages too (it was only working on
    editable dependencies before); this allows running pip wheel on the result
    of pip freeze in presence of editable requirements. (3695, 3291)
  • Load credentials from .netrc files. (3715, 3569)
  • Add --platform, --python-version, --implementation and --abi
    parameters to pip download. These allow utilities and advanced users to
    gather distributions for interpreters other than the one pip is being run on.
    (3760)
  • Skip scanning virtual environments, even when venv/bin/python is a dangling
    symlink.
  • Added pip completion support for the fish shell.
  • Fix problems on Windows on Python 2 when username or hostname contains
    non-ASCII characters. (3463, 3970, 4000)
  • Use git fetch --tags to fetch tags in addition to everything else that
    is normally fetched; this is necessary in case a git requirement url
    points to a tag or commit that is not on a branch. (3791)
  • Normalize package names before using in pip show (3976)
  • Raise when Requires-Python do not match the running version and add
    --ignore-requires-python option as escape hatch. (3846)
  • Report the correct installed version when performing an upgrade in some
    corner cases. (2382
  • Add -i shorthand for --index flag in pip search.
  • Do not optionally load C dependencies in requests. (1840, 2930, 3024)
  • Strip authentication from SVN url prior to passing it to svn.
    (3697, 3209)
  • Also install in platlib with --target option. (3694, 3682)
  • Restore the ability to use inline comments in requirements files passed to
    pip freeze. (3680)

wheel 0.29.0 -> 0.30.0

0.30.0

======

  • Added py-limited-api {cp32|cp33|cp34|...} flag to produce cpNN.abi3.{arch}
    tags on CPython 3.
  • Documented the license_file metadata key
  • Improved Python, abi tagging for wheel convert. Thanks Ales Erjavec.
  • Fixed > being prepended to lines starting with "From" in the long description
  • Added support for specifying a build number (as per PEP 427).
    Thanks Ian Cordasco.
  • Made the order of files in generated ZIP files deterministic.
    Thanks Matthias Bach.
  • Made the order of requirements in metadata deterministic. Thanks Chris Lamb.
  • Fixed wheel install clobbering existing files
  • Improved the error message when trying to verify an unsigned wheel file
  • Removed support for Python 2.6, 3.2 and 3.3.

flake8 2.6.0 -> 3.5.0

3.5.0


You can view the 3.5.0 milestone_ on GitLab for more details.

New Dependency Information

  • Allow for PyFlakes 1.6.0 (See also GitLab359_)
  • Start using new PyCodestyle checks for bare excepts and ambiguous identifier
    (See also GitLab361_)

Features

  • Print out information about configuring VCS hooks (See also GitLab335_)
  • Allow users to develop plugins "local" to a repository without using
    setuptools. See our documentation on local plugins for more information.
    (See also GitLab357_)

Bugs Fixed

  • Catch and helpfully report UnicodeDecodeError\ s when parsing
    configuration files. (See also GitLab358_)

.. all links
.. _3.5.0 milestone:
https://gitlab.com/pycqa/flake8/milestones/20

.. issue links
.. _GitLab335:
https://gitlab.com/pycqa/flake8/issues/335
.. _GitLab357:
https://gitlab.com/pycqa/flake8/issues/357
.. _GitLab358:
https://gitlab.com/pycqa/flake8/issues/358
.. _GitLab359:
https://gitlab.com/pycqa/flake8/issues/359
.. _GitLab361:
https://gitlab.com/pycqa/flake8/issues/361

.. merge request links

3.4.1


You can view the 3.4.1 milestone_ on GitLab for more details.

  • Fix minor regression when users specify only a --select list with items
    in the enabled/extended select list. (See also GitLab354_)

.. all links
.. _3.4.1 milestone:
https://gitlab.com/pycqa/flake8/milestones/19

.. issue links
.. _GitLab354:
https://gitlab.com/pycqa/flake8/issues/354

.. merge request links

3.4.0


You can view the 3.4.0 milestone_ on GitLab for more details.

  • Refine logic around --select and --ignore when combined with the
    default values for each. (See also GitLab318_)
  • Handle spaces as an alternate separate for error codes, e.g.,
    --ignore 'E123 E234'. (See also GitLab329_)
  • Filter out empty select and ignore codes, e.g., --ignore E123,,E234.
    (See also GitLab330_)
  • Specify dependencies appropriately in setup.py (See also Gitlab341_)
  • Fix bug in parsing --quiet and --verbose from config files.
    (See also GitLab!193_)
  • Remove unused import of os in the git hook template (See also
    GitLab!194_)

.. all links
.. _3.4.0 milestone:
https://gitlab.com/pycqa/flake8/milestones/18

.. issue links
.. _GitLab318:
https://gitlab.com/pycqa/flake8/issues/318
.. _GitLab329:
https://gitlab.com/pycqa/flake8/issues/329
.. _GitLab330:
https://gitlab.com/pycqa/flake8/issues/330
.. _GitLab341:
https://gitlab.com/pycqa/flake8/issues/341

.. merge request links
.. _GitLab!193:
https://gitlab.com/pycqa/flake8/merge_requests/193
.. _GitLab!194:
https://gitlab.com/pycqa/flake8/merge_requests/194

3.3.0


You can view the 3.3.0 milestone_ on GitLab for more details.

  • Add support for Python 3.6 (via dependencies). Note Flake8 does not
    guarantee that all plugins will support Python 3.6.
  • Added unique error codes for all missing PyFlakes messages. (14 new
    codes, see "Error / Violation Codes")
  • Dramatically improve the performance of Flake8. (See also GitLab!156_)
  • Display the local file path instead of the temporary file path when
    using the git hook. (See also GitLab244_)
  • Add methods to Report class that will be called when Flake8 starts and
    finishes processing a file. (See also GitLab251_)
  • Fix problem where hooks should only check *.py files. (See also
    GitLab268_)
  • Fix handling of SyntaxErrors that do not include physical line information.
    (See also GitLab279_)
  • Update upper bound on PyFlakes to allow for PyFlakes 1.5.0. (See also
    GitLab290_)
  • Update setuptools integration to less eagerly deduplicate packages.
    (See also GitLab295_)
  • Force flake8 --version to be repeatable between invocations. (See also
    GitLab297_)

.. all links
.. _3.3.0 milestone:
https://gitlab.com/pycqa/flake8/milestones/16

.. issue links
.. _GitLab244:
https://gitlab.com/pycqa/flake8/issues/244
.. _GitLab251:
https://gitlab.com/pycqa/flake8/issues/251
.. _GitLab268:
https://gitlab.com/pycqa/flake8/issues/268
.. _GitLab279:
https://gitlab.com/pycqa/flake8/issues/279
.. _GitLab290:
https://gitlab.com/pycqa/flake8/issues/290
.. _GitLab295:
https://gitlab.com/pycqa/flake8/issues/295
.. _GitLab297:
https://gitlab.com/pycqa/flake8/issues/297

.. merge request links
.. _GitLab!156:
https://gitlab.com/pycqa/flake8/merge_requests/156

3.2.1


You can view the 3.2.1 milestone_ on GitLab for more details.

  • Fix subtle bug when deciding whether to report an on-by-default's violation
    (See also GitLab257_)
  • Fix another bug around SyntaxErrors not being reported at the right column
    and row (See also GitLab259_ and GitLab237_ for a related, previously
    fixed bug)
  • Fix regression from 2.x where we run checks against explicitly provided
    files, even if they don't match the filename patterns. (See also
    GitLab266_)

.. links
.. _3.2.1 milestone:
https://gitlab.com/pycqa/flake8/milestones/15
.. _GitLab237:
https://gitlab.com/pycqa/flake8/issues/237
.. _GitLab257:
https://gitlab.com/pycqa/flake8/issues/257
.. _GitLab259:
https://gitlab.com/pycqa/flake8/issues/259
.. _GitLab266:
https://gitlab.com/pycqa/flake8/issues/266

3.2.0


You can view the 3.2.0 milestone_ on GitLab for more details.

  • Allow for pycodestyle 2.2.0 which fixes a bug in E305 (See also
    GitLab256_)

.. links
.. _3.2.0 milestone:
https://gitlab.com/pycqa/flake8/milestones/14
.. _GitLab256:
https://gitlab.com/pycqa/flake8/issues/256

3.1.1


You can view the 3.1.1 milestone_ on GitLab for more details.

  • Do not attempt to install/distribute a man file with the Python package;
    leave this for others to do. (See also GitLab254_)
  • Fix packaging bug where wheel version constraints specified in setup.cfg did
    not match the constraints in setup.py. (See also GitLab255_)

.. links
.. _3.1.1 milestone:
https://gitlab.com/pycqa/flake8/milestones/13
.. _GitLab254:
https://gitlab.com/pycqa/flake8/issues/254
.. _GitLab255:
https://gitlab.com/pycqa/flake8/issues/255

3.1.0


You can view the 3.1.0 milestone_ on GitLab for more details.

  • Add --bug-report flag to make issue reporters' lives easier.
  • Collect configuration files from the current directory when using our Git
    hook. (See also GitLab210, GitLab218, GitLab223_)
  • Avoid unhandled exceptions when dealing with SyntaxErrors. (See also
    GitLab214, GitLab238)
  • Exit early if the value for --diff is empty. (See also GitLab226_)
  • Handle empty --stdin-display-name values. (See also GitLab235_)
  • Properly report the column number of Syntax Errors. We were assuming that
    all reports of column numbers were 0-indexed, however, SyntaxErrors report
    the column number as 1-indexed. This caused us to report a column number
    that was 1 past the actual position. Further, when combined with
    SyntaxErrors that occur at a newline, this caused the position to be
    visually off by two. (See also GitLab237_)
  • Fix the behaviour of --enable-extensions. Previously, items specified
    here were still ignored due to the fact that the off-by-default extension
    codes were being left in the ignore list. (See also GitLab239_)
  • Fix problems around --select and --ignore behaviour that prevented
    codes that were neither explicitly selected nor explicitly ignored from
    being reported. (See also GitLab242_)
  • Truly be quiet when the user specifies -q one or more times. Previously,
    we were showing the if the user specified -q and --show-source. We
    have fixed this bug. (See also GitLab245_)
  • Add new File Processor attribute, previous_unindented_logical_line to
    accommodate pycodestyle 2.1.0. (See also GitLab246_)
  • When something goes wrong, exit non-zero. (See also GitLab248,
    GitLab209
    )
  • Add --tee as an option to allow use of --output-file and printing to
    standard out.
  • Allow the git plugin to actually be lazy when collecting files.
  • Allow for pycodestyle 2.1 series and pyflakes 1.3 series.

.. links
.. _3.1.0 milestone:
https://gitlab.com/pycqa/flake8/milestones/12
.. _GitLab209:
https://gitlab.com/pycqa/flake8/issues/209
.. _GitLab210:
https://gitlab.com/pycqa/flake8/issues/210
.. _GitLab214:
https://gitlab.com/pycqa/flake8/issues/214
.. _GitLab218:
https://gitlab.com/pycqa/flake8/issues/218
.. _GitLab223:
https://gitlab.com/pycqa/flake8/issues/223
.. _GitLab226:
https://gitlab.com/pycqa/flake8/issues/226
.. _GitLab235:
https://gitlab.com/pycqa/flake8/issues/235
.. _GitLab237:
https://gitlab.com/pycqa/flake8/issues/237
.. _GitLab238:
https://gitlab.com/pycqa/flake8/issues/238
.. _GitLab239:
https://gitlab.com/pycqa/flake8/issues/239
.. _GitLab242:
https://gitlab.com/pycqa/flake8/issues/242
.. _GitLab245:
https://gitlab.com/pycqa/flake8/issues/245
.. _GitLab246:
https://gitlab.com/pycqa/flake8/issues/246
.. _GitLab248:
https://gitlab.com/pycqa/flake8/issues/248

3.0.4


  • Side-step a Pickling Error when using Flake8 with multiprocessing on Unix
    systems. (See also GitLab164_)
  • Fix an Attribute Error raised when dealing with Invalid Syntax. (See also
    GitLab203_)
  • Fix an unhandled Syntax Error when tokenizing files. (See also
    GitLab205_)

.. links
.. _GitLab164:
https://gitlab.com/pycqa/flake8/issues/164
.. _GitLab203:
https://gitlab.com/pycqa/flake8/issues/203
.. _GitLab205:
https://gitlab.com/pycqa/flake8/issues/205

3.0.3


  • Disable --jobs for any version of Python on Windows.
    (See also this Python bug report_)
  • Raise exception when entry_point in plugin not callable.
    This raises an informative error when a plugin fails to load because its
    entry_point is not callable, which can happen with a plugin which is buggy or
    not updated for the current version of flake8. This is nicer than raising a
    PicklingError about failing to pickle a module (See also GitLab164_)
  • Fix noqa comments followed by a : and explanation broken by
    3.0.0 (See also GitLab178_)
  • Always open our output file in append mode so we do not overwrite log
    messages. (See also GitLab193_)
  • When normalizing path values read from configuration, keep in context the
    directory where the configuration was found so that relative paths work.
    (See also GitLab194_)
  • Fix issue where users were unable to ignore plugin errors that were on
    by default. (See also GitLab195_)
  • Fix our legacy API StyleGuide's init_report method to actually override
    the previous formatter. (See also GitLab200_)

.. links
.. _GitLab164:
https://gitlab.com/pycqa/flake8/issues/164
.. _GitLab178:
https://gitlab.com/pycqa/flake8/issues/178
.. _GitLab193:
https://gitlab.com/pycqa/flake8/issues/193
.. _GitLab194:
https://gitlab.com/pycqa/flake8/issues/193
.. _GitLab195:
https://gitlab.com/pycqa/flake8/issues/195
.. _GitLab200:
https://gitlab.com/pycqa/flake8/issues/200
.. _this Python bug report:
https://bugs.python.org/issue27649

3.0.2


  • Fix local config file discovery. (See also GitLab181_)
  • Fix indexing of column numbers. We accidentally were starting column indices
    at 0 instead of 1.
  • Fix regression in handling of errors like E402 that rely on a combination of
    attributes. (See also GitLab186_)

.. links
.. _GitLab181:
https://gitlab.com/pycqa/flake8/issues/181
.. _GitLab186:
https://gitlab.com/pycqa/flake8/issues/186

3.0.1


  • Fix regression in handling of noqa for multiline strings.
    (See also GitLab177_)
  • Fix regression in handling of --output-file when not also using
    --verbose. (See also GitLab180_)
  • Fix regression in handling of --quiet. (See also GitLab180_)
  • Fix regression in handling of --statistics. (See also GitLab180_)

.. links
.. _GitLab177:
https://gitlab.com/pycqa/flake8/issues/177
.. _GitLab180:
https://gitlab.com/pycqa/flake8/issues/180

3.0.0


  • Drop explicit support for Pythons 2.6, 3.2, and 3.3.
  • Remove dependence on pep8/pycodestyle for file processing, plugin
    dispatching, and more. We now control all of this while keeping backwards
    compatibility.
  • --select and --ignore can now both be specified and try to find the
    most specific rule from each. For example, if you do --select E --ignore E123 then we will report everything that starts with E except for
    E123. Previously, you would have had to do --ignore E123,F,W which
    will also still work, but the former should be far more intuitive.
  • Add support for in-line noqa comments to specify only the error
    codes to be ignored, e.g., noqa: E123,W503
  • Add entry-point for formatters as well as a base class that new formatters
    can inherit from. See the documentation for more details.
  • Add detailed verbose output using the standard library logging module.
  • Enhance our usage of optparse for plugin developers by adding new parameters
    to the add_option that plugins use to register new options.
  • Update --install-hook to require the name of version control system hook
    you wish to install a Flake8.
  • Stop checking sub-directories more than once via the setuptools command
  • When passing a file on standard-in, allow the caller to specify
    --stdin-display-name so the output is properly formatted
  • The Git hook now uses sys.executable to format the shebang line.
    This allows Flake8 to install a hook script from a virtualenv that points to
    that virtualenv's Flake8 as opposed to a global one (without the virtualenv
    being sourced).
  • Print results in a deterministic and consistent ordering when used with
    multiprocessing
  • When using --count, the output is no longer written to stderr.
  • AST plugins can either be functions or classes and all plugins can now
    register options so long as there are callable attributes named as we
    expect.
  • Stop forcibly re-adding .tox, .eggs, and *.eggs to
    --exclude. Flake8 2.x started always appending those three patterns
    to any exclude list (including the default and any user supplied list).
    Flake8 3 has stopped adding these in, so you may see errors when upgrading
    due to these patterns no longer being forcibly excluded by default if you
    have your own exclude patterns specified.

To fix this, add the appropriate patterns to your exclude patterns list.

.. note::

 This item was added in November of 2016, as a result of a bug
 report.

2.6.2


  • Bug Fix packaging error during release process.

2.6.1


  • Bug Update the config files to search for to include setup.cfg and
    tox.ini. This was broken in 2.5.5 when we stopped passing
    config_file to our Style Guide

tox 2.3.1 -> 2.9.1

2.9.1


Misc
^^^^

  • integrated new release process and fixed changelog rendering for pypi.org -
    by obestwalter <https://github.com/obestwalter>_.

2.9

2.9.0


Features
^^^^^^^^

  • tox --version now shows information about all registered plugins - by
    obestwalter <https://github.com/obestwalter>_
    (544 <https://github.com/tox-dev/tox/issues/544>_)

Bugfixes
^^^^^^^^

  • skip_install overrides usedevelop (usedevelop is an option to
    choose the installation type if the package is installed and skip_install
    determines if it should be installed at all) - by ferdonline <https://github.com/ferdonline>_
    (571 <https://github.com/tox-dev/tox/issues/571>_)

Misc
^^^^

  • 635 <https://github.com/tox-dev/tox/issues/635>_ inherit from correct exception -
    by obestwalter <https://github.com/obestwalter>_
    (635 <https://github.com/tox-dev/tox/issues/635>_).
  • spelling and escape sequence fixes - by scoop <https://github.com/scoop>_
    (637 <https://github.com/tox-dev/tox/issues/637>_ and
    638 <https://github.com/tox-dev/tox/issues/638>_).
  • add a badge to show build status of documentation on readthedocs.io -
    by obestwalter <https://github.com/obestwalter>_.

Improved Documentation
^^^^^^^^^^^^^^^^^^^^^^

  • add towncrier <https://github.com/hawkowl/towncrier>_ to allow adding
    changelog entries with the pull requests without generating merge conflicts;
    with this release notes are now grouped into four distinct collections:
    Features, Bugfixes, Improved Documentation and Deprecations and Removals. (614 <https://github.com/tox-dev/tox/issues/614>_)

2.8.2


  • 466 <https://github.com/tox-dev/tox/issues/466>_: stop env var leakage if popen failed with resultjson or redirect

2.8.1


  • pull request 599 <https://github.com/tox-dev/tox/pull/599>: fix problems with implementation of 515 <https://github.com/tox-dev/tox/issues/515>.
    Substitutions from other sections were not made anymore if they were not in envlist.
    Thanks to Clark Boylan (cboylan <https://github.com/cboylan>) for helping to get this fixed (pull request 597 <https://github.com/tox-dev/tox/pull/597>).

2.8

..
Everything below here is generated by towncrier <https://pypi.python.org/pypi/towncrier>_.
It is generated once as part of the release process rendering fragments from the changelog
folder. If necessary, the generated text can be edited afterwards to e.g. merge rc changes
into the final release notes.

.. towncrier release notes start

2.8.0


  • 276 <https://github.com/tox-dev/tox/issues/276>: Remove easy_install from docs (TL;DR: use pip). Thanks Martin Andrysík (sifuraz <https://github.com/sifuraz>).
  • 301 <https://github.com/tox-dev/tox/issues/301>: Expand nested substitutions in tox.ini. Thanks vlaci <https://github.com/vlaci>. Thanks to Eli Collins
    (eli-collins <https://github.com/eli-collins>_) for creating a reproducer.
  • 315 <https://github.com/tox-dev/tox/issues/315>: add --help and --version to helptox-quickstart. Thanks vlaci <https://github.com/vlaci>.
  • 326 <https://github.com/tox-dev/tox/issues/326>: Fix OSError 'Not a directory' when creating env on Jython 2.7.0. Thanks Nick Douma (LordGaav <https://github.com/LordGaav>).
  • 429 <https://github.com/tox-dev/tox/issues/429>: Forward MSYSTEM by default on Windows. Thanks Marius Gedminas (mgedmin <https://github.com/mgedmin>) for reporting this.
  • 449 <https://github.com/tox-dev/tox/issues/449>: add multi platform example to the docs. Thanks Aleks Bunin (sashkab <https://github.com/sashkab>) and rndr <https://github.com/rndr>_.
  • 474 <https://github.com/tox-dev/tox/issues/474>_: Start using setuptools_scm for tag based versioning.
  • 484 <https://github.com/tox-dev/tox/issues/484>: Renamed py.test to pytest throughout the project. Thanks Slam (3lnc <https://github.com/3lnc>).
  • 504 <https://github.com/tox-dev/tox/issues/504>: With -a: do not show additional environments header if there are none. Thanks rndr <https://github.com/rndr>.
  • 515 <https://github.com/tox-dev/tox/issues/515>: Don't require environment variables in test environments where they are not used.
    Thanks André Caron (AndreLouisCaron <https://github.com/AndreLouisCaron>
    ).
  • 517 <https://github.com/tox-dev/tox/issues/517>: Forward NUMBER_OF_PROCESSORS by default on Windows to fix multiprocessor.cpu_count().
    Thanks André Caron (AndreLouisCaron <https://github.com/AndreLouisCaron>
    ).
  • 518 <https://github.com/tox-dev/tox/issues/518>: Forward USERPROFILE by default on Windows. Thanks André Caron (AndreLouisCaron <https://github.com/AndreLouisCaron>).
  • pull request 528 <https://github.com/tox-dev/tox/pull/528>: Fix some of the warnings displayed by pytest 3.1.0. Thanks Bruno Oliveira (nicoddemus <https://github.com/nicoddemus>).
  • pull request 547 <https://github.com/tox-dev/tox/pull/547>: Add regression test for 137 <https://github.com/tox-dev/tox/issues/137>. Thanks Martin Andrysík (sifuraz <https://github.com/sifuraz>_).
  • pull request 553 <https://github.com/tox-dev/tox/pull/553>: Add an XFAIL test to reproduce upstream bug 203 <https://github.com/tox-dev/tox/issues/203>. Thanks
    Bartolomé Sánchez Salado (bartsanchez <https://github.com/bartsanchez>_).
  • pull request 556 <https://github.com/tox-dev/tox/pull/556>: Report more meaningful errors on why virtualenv creation failed. Thanks vlaci <https://github.com/vlaci>.
    Also thanks to Igor Sadchenko (igor-sadchenko <https://github.com/igor-sadchenko>_) for pointing out a problem with that PR
    before it hit the masses ☺
  • pull request 575 <https://github.com/tox-dev/tox/pull/575>_: Add announcement doc to end all announcement docs
    (using only CHANGELOG and Github issues since 2.5 already).
  • pull request 580 <https://github.com/tox-dev/tox/pull/580>: Do not ignore Sphinx warnings anymore. Thanks Bernát Gábor (gaborbernat <https://github.com/gaborbernat>).
  • pull request 585 <https://github.com/tox-dev/tox/pull/585>: Expand documentation to explain pass through of flags from deps to pip
    (e.g. -rrequirements.txt, -cconstraints.txt). Thanks Alexander Loechel (loechel <https://github.com/loechel>
    ).
  • pull request 588 <https://github.com/tox-dev/tox/pull/588>_: Run pytest wit xfail_strict and adapt affected tests.

2.7.0


  • pull request 450 <https://github.com/tox-dev/tox/pull/450>: Stop after the first installdeps and first testenv create hooks
    succeed. This changes the default behaviour of tox_testenv_create
    and tox_testenv_install_deps to not execute other registered hooks when
    the first hook returns a result that is not None.
    Thanks Anthony Sottile (asottile <https://github.com/asottile>
    ).
  • 271 <https://github.com/tox-dev/tox/issues/271>_ and 464 <https://github.com/tox-dev/tox/issues/464>_: Improve environment information for users.

New command line parameter: -a show all defined environments -
not just the ones defined in (or generated from) envlist.

New verbosity settings for -l and -a: show user defined descriptions
of the environments. This also works for generated environments from factors
by concatenating factor descriptions into a complete description.

Note that for backwards compatibility with scripts using the output of -l
it's output remains unchanged.

Thanks Bernát Gábor (gaborbernat <https://github.com/gaborbernat>_).

  • 464 <https://github.com/tox-dev/tox/issues/464>: Fix incorrect egg-info location for modified package_dir in setup.py.
    Thanks Selim Belhaouane (selimb <https://github.com/selimb>
    ).
  • 431 <https://github.com/tox-dev/tox/issues/431>: Add 'LANGUAGE' to default passed environment variables.
    Thanks Paweł Adamczak (pawelad <https://github.com/pawelad>
    ).
  • 455 <https://github.com/tox-dev/tox/issues/455>: Add a Vagrantfile with a customized Arch Linux box for local testing.
    Thanks Oliver Bestwalter (obestwalter <https://github.com/obestwalter>
    ).
  • 454 <https://github.com/tox-dev/tox/issues/454>: Revert pull request 407 <https://github.com/tox-dev/tox/pull/407>, empty commands is not treated as an error.
    Thanks Anthony Sottile (asottile <https://github.com/asottile>_).
  • 446 <https://github.com/tox-dev/tox/issues/446>: (infrastructure) Travis CI tests for tox now also run on OS X now.
    Thanks Jason R. Coombs (jaraco <https://github.com/jaraco>
    ).

2.6.0


  • add "alwayscopy" config option to instruct virtualenv to always copy
    files instead of symlinking. Thanks Igor Duarte Cardoso (igordcard <https://github.com/igordcard>_).
  • pass setenv variables to setup.py during a usedevelop install.
    Thanks Eli Collins (eli-collins <https://github.com/eli-collins>_).
  • replace all references to testrun.org with readthedocs ones.
    Thanks Oliver Bestwalter (obestwalter <https://github.com/obestwalter>_).
  • fix 323 <https://github.com/tox-dev/tox/issues/323>_ by avoiding virtualenv14 is not used on py32
    (although we don't officially support py32).
    Thanks Jason R. Coombs (jaraco <https://github.com/jaraco>_).
  • add Python 3.6 to envlist and CI.
    Thanks Andrii Soldatenko (andriisoldatenko <https://github.com/andriisoldatenko>_).
  • fix glob resolution from TOX_TESTENV_PASSENV env variable
    Thanks Allan Feldman (a-feld <https://github.com/a-feld>_).

2.5.0


  • slightly backward incompatible: fix 310 <https://github.com/tox-dev/tox/issues/310>: the {posargs} substitution
    now properly preserves the tox command line positional arguments. Positional
    arguments with spaces are now properly handled.
    NOTE: if your tox invocation previously used extra quoting for positional arguments to
    work around 310 <https://github.com/tox-dev/tox/issues/310>
    , you need to remove the quoting. Example:
    tox -- "'some string'" has to now be written simply as
    tox -- "some string"
    thanks holger krekel. You can set minversion = 2.5.0 in the [tox]
    section of tox.ini to make sure people using your tox.ini use the correct version.
  • fix 359 <https://github.com/tox-dev/tox/issues/359>: add COMSPEC to default passenv on windows. Thanks
    anthrotype <https://github.com/anthrotype>
    .
  • add support for py36 and py37 and add py36-dev and py37(nightly) to
    travis builds of tox. Thanks John Vandenberg.
  • fix 348 <https://github.com/tox-dev/tox/issues/348>: add py2 and py3 as default environments pointing to
    "python2" and "python3" basepython executables. Also fix 347 <https://github.com/tox-dev/tox/issues/347>
    by
    updating the list of default envs in the tox basic example.
    Thanks Tobias McNulty.
  • make "-h" and "--help-ini" options work even if there is no tox.ini,
    thanks holger krekel.
  • add {:} substitution, which is replaced with os-specific path
    separator, thanks Lukasz Rogalski.
  • fix 305 <https://github.com/tox-dev/tox/issues/305>_: downloadcache test env config is now ignored as pip-8
    does caching by default. Thanks holger krekel.
  • output from install command in verbose (-vv) mode is now printed to console instead of
    being redirected to file, thanks Lukasz Rogalski
  • fix 399 <https://github.com/tox-dev/tox/issues/399>_. Make sure {envtmpdir} is created if it doesn't exist at the
    start of a testenvironment run. Thanks Manuel Jacob.
  • fix 316 <https://github.com/tox-dev/tox/issues/316>_: Lack of commands key in ini file is now treated as an error.
    Reported virtualenv status is 'nothing to do' instead of 'commands
    succeeded', with relevant error message displayed. Thanks Lukasz Rogalski.

2.4.1


  • fix 380 <https://github.com/tox-dev/tox/issues/380>_: properly perform substitution again. Thanks Ian
    Cordasco.

2.4.0


  • remove PYTHONPATH from environment during the install phase because a
    tox-run should not have hidden dependencies and the test commands will also
    not see a PYTHONPATH. If this causes unforeseen problems it may be
    reverted in a bugfix release. Thanks Jason R. Coombs.
  • fix 352 <https://github.com/tox-dev/tox/issues/352>_: prevent a configuration where envdir==toxinidir and
    refine docs to warn people about changing "envdir". Thanks Oliver Bestwalter and holger krekel.
  • fix 375 <https://github.com/tox-dev/tox/issues/375>, fix 330 <https://github.com/tox-dev/tox/issues/330>: warn against tox-setup.py integration as
    "setup.py test" should really just test with the current interpreter. Thanks Ronny Pfannschmidt.
  • fix 302 <https://github.com/tox-dev/tox/issues/302>_: allow cross-testenv substitution where we substitute
    with {x,y} generative syntax. Thanks Andrew Pashkin.
  • fix 212 <https://github.com/tox-dev/tox/issues/212>_: allow escaping curly brace chars "{" and "}" if you need the
    chars "{" and "}" to appear in your commands or other ini values.
    Thanks John Vandenberg.
  • addresses 66 <https://github.com/tox-dev/tox/issues/66>_: add --workdir option to override where tox stores its ".tox" directory
    and all of the virtualenv environment. Thanks Danring.
  • introduce per-venv list_dependencies_command which defaults
    to "pip freeze" to obtain the list of installed packages.
    Thanks Ted Shaw, Holger Krekel.
  • close 66 <https://github.com/tox-dev/tox/issues/66>_: add documentation to jenkins page on how to avoid
    "too long shebang" lines when calling pip from tox. Note that we
    can not use "python -m pip install X" by default because the latter
    adds the CWD and pip will think X is installed if it is there.
    "pip install X" does not do that.
  • new list_dependencies_command to influence how tox determines
    which dependencies are installed in a testenv.
  • (experimental) New feature: When a search for a config file fails, tox tries loading
    setup.cfg with a section prefix of "tox".
  • fix 275 <https://github.com/tox-dev/tox/issues/275>_: Introduce hooks tox_runtest_pre``` and tox_runtest_post`` which run before and after the tests of a venv,
    respectively. Thanks to Matthew Schinckel and itxaka serrano.
  • fix 317 <https://github.com/tox-dev/tox/issues/317>_: evaluate minversion before tox config is parsed completely.
    Thanks Sachi King for the PR.
  • added the "extras" environment option to specify the extras to use when doing the
    sdist or develop install. Contributed by Alex Grönholm.
  • use pytest-catchlog instead of pytest-capturelog (latter is not
    maintained, uses deprecated pytest API)

2.3.2


  • fix 314 <https://github.com/tox-dev/tox/issues/314>_: fix command invocation with .py scripts on windows.
  • fix 279 <https://github.com/tox-dev/tox/issues/279>_: allow cross-section substitution when the value contains
    posargs. Thanks Sachi King for the PR.

coverage 4.1 -> 4.4.2

4.4.2


  • Support for Python 3.7. In some cases, class and module docstrings are no
    longer counted in statement totals, which could slightly change your total
    results.
  • Specifying both --source and --include no longer silently ignores the
    include setting, instead it displays a warning. Thanks, Loïc Dachary. Closes
    issue 265_ and issue 101_.
  • Fixed a race condition when saving data and multiple threads are tracing
    (issue 581_). It could produce a "dictionary changed size during iteration"
    RuntimeError. I believe this mostly but not entirely fixes the race
    condition. A true fix would likely be too expensive. Thanks, Peter Baughman
    for the debugging, and Olivier Grisel for the fix with tests.
  • Configuration values which are file paths will now apply tilde-expansion,
    closing issue 589_.
  • Now secondary config files like tox.ini and setup.cfg can be specified
    explicitly, and prefixed sections like [coverage:run] will be read. Fixes
    issue 588_.
  • Be more flexible about the command name displayed by help, fixing
    issue 600_. Thanks, Ben Finney.

.. _issue 101: https://bitbucket.org/ned/coveragepy/issues/101/settings-under-report-affect-running
.. _issue 581: https://bitbucket.org/ned/coveragepy/issues/581/race-condition-when-saving-data-under
.. _issue 588: https://bitbucket.org/ned/coveragepy/issues/588/using-rcfile-path-to-toxini-uses-run
.. _issue 589: https://bitbucket.org/ned/coveragepy/issues/589/allow-expansion-in-coveragerc
.. _issue 600: https://bitbucket.org/ned/coveragepy/issues/600/get-program-name-from-command-line-when

.. _changes_441:

4.4.1


  • No code changes: just corrected packaging for Python 2.7 Linux wheels.

.. _changes_44:

4.4


  • Reports could produce the wrong file names for packages, reporting pkg.py
    instead of the correct pkg/__init__.py. This is now fixed. Thanks, Dirk
    Thomas.
  • XML reports could produce <source> and <class> lines that together
    didn't specify a valid source file path. This is now fixed. (issue 526_)
  • Namespace packages are no longer warned as having no code. (issue 572_)
  • Code that uses sys.settrace(sys.gettrace()) in a file that wasn't being
    coverage-measured would prevent correct coverage measurement in following
    code. An example of this was running doctests programmatically. This is now
    fixed. (issue 575_)
  • Errors printed by the coverage command now go to stderr instead of
    stdout.
  • Running coverage xml in a directory named with non-ASCII characters would
    fail under Python 2. This is now fixed. (issue 573_)

.. _issue 526: https://bitbucket.org/ned/coveragepy/issues/526/generated-xml-invalid-paths-for-cobertura
.. _issue 572: https://bitbucket.org/ned/coveragepy/issues/572/no-python-source-warning-for-namespace
.. _issue 573: https://bitbucket.org/ned/coveragepy/issues/573/cant-generate-xml-report-if-some-source
.. _issue 575: https://bitbucket.org/ned/coveragepy/issues/575/running-doctest-prevents-complete-coverage

4.4b1


  • Some warnings can now be individually disabled. Warnings that can be
    disabled have a short name appended. The [run] disable_warnings setting
    takes a list of these warning names to disable. Closes both issue 96_ and
    issue 355_.
  • The XML report now includes attributes from version 4 of the Cobertura XML
    format, fixing issue 570_.
  • In previous versions, calling a method that used collected data would prevent
    further collection. For example, save(), report(), html_report(), and
    others would all stop collection. An explicit start() was needed to get it
    going again. This is no longer true. Now you can use the collected data and
    also continue measurement. Both issue 79_ and issue 448_ described this
    problem, and have been fixed.
  • Plugins can now find unexecuted files if they choose, by implementing the
    find_executable_files method. Thanks, Emil Madsen.
  • Minimal IronPython support. You should be able to run IronPython programs
    under coverage run, though you will still have to do the reporting phase
    with CPython.
  • Coverage.py has long had a special hack to support CPython's need to measure
    the coverage of the standard library tests. This code was not installed by
    kitted versions of coverage.py. Now it is.

.. _issue 79: https://bitbucket.org/ned/coveragepy/issues/79/save-prevents-harvesting-on-stop
.. _issue 96: https://bitbucket.org/ned/coveragepy/issues/96/unhelpful-warnings-produced-when-using
.. _issue 355: https://bitbucket.org/ned/coveragepy/issues/355/warnings-should-be-suppressable
.. _issue 448: https://bitbucket.org/ned/coveragepy/issues/448/save-and-html_report-prevent-further
.. _issue 570: https://bitbucket.org/ned/coveragepy/issues/570/cobertura-coverage-04dtd-support

.. _changes_434:

4.3.4


  • Fixing 2.6 in version 4.3.3 broke other things, because the too-tricky
    exception wasn't properly derived from Exception, described in issue 556_.
    A newb mistake; it hasn't been a good few days.

.. _issue 556: https://bitbucket.org/ned/coveragepy/issues/556/43-fails-if-there-are-html-files-in-the

.. _changes_433:

4.3.3


  • Python 2.6 support was broken due to a testing exception imported for the
    benefit of the coverage.py test suite. Properly conditionalizing it fixed
    issue 554_ so that Python 2.6 works again.

.. _issue 554: https://bitbucket.org/ned/coveragepy/issues/554/traceback-on-python-26-starting-with-432

.. _changes_432:

4.3.2


  • Using the --skip-covered option on an HTML report with 100% coverage
    would cause a "No data to report" error, as reported in issue 549_. This is
    now fixed; thanks, Loïc Dachary.
  • If-statements can be optimized away during compilation, for example, if 0:
    or if __debug__:. Coverage.py had problems properly understanding these
    statements which existed in the source, but not in the compiled bytecode.
    This problem, reported in issue 522_, is now fixed.
  • If you specified --source as a directory, then coverage.py would look for
    importable Python files in that directory, and could identify ones that had
    never been executed at all. But if you specified it as a package name, that
    detection wasn't performed. Now it is, closing issue 426_. Thanks to Loïc
    Dachary for the fix.
  • If you started and stopped coverage measurement thousands of times in your
    process, you could crash Python with a "Fatal Python error: deallocating
    None" error. This is now fixed. Thanks to Alex Groce for the bug report.
  • On PyPy, measuring coverage in subprocesses could produce a warning: "Trace
    function changed, measurement is likely wrong: None". This was spurious, and
    has been suppressed.
  • Previously, coverage.py couldn't start on Jython, due to that implementation
    missing the multiprocessing module (issue 551). This problem has now been
    fixed. Also, issue 322
    about not being able to invoke coverage
    conveniently, seems much better: jython -m coverage run myprog.py works
    properly.
  • Let's say you ran the HTML report over and over again in the same output
    directory, with --skip-covered. And imagine due to your heroic
    test-writing efforts, a file just acheived the goal of 100% coverage. With
    coverage.py 4.3, the old HTML file with the less-than-100% coverage would be
    left behind. This file is now properly deleted.

.. _issue 322: https://bitbucket.org/ned/coveragepy/issues/322/cannot-use-coverage-with-jython
.. issue 426: https://bitbucket.org/ned/coveragepy/issues/426/difference-between-coverage-results-with
.. issue 522: https://bitbucket.org/ned/coveragepy/issues/522/incorrect-branch-reporting-with-__debug

.. _issue 549: https://bitbucket.org/ned/coveragepy/issues/549/skip-covered-with-100-coverage-throws-a-no
.. _issue 551: https://bitbucket.org/ned/coveragepy/issues/551/coveragepy-cannot-be-imported-in-jython27

.. _changes_431:

4.3.1


  • Some environments couldn't install 4.3, as described in issue 540_. This is
    now fixed.
  • The check for conflicting --source and --include was too simple in a
    few different ways, breaking a few perfectly reasonable use cases, described
    in issue 541. The check has been reverted while we re-think the fix for
    issue 265
    .

.. _issue 540: https://bitbucket.org/ned/coveragepy/issues/540/cant-install-coverage-v43-into-under
.. _issue 541: https://bitbucket.org/ned/coveragepy/issues/541/coverage-43-breaks-nosetest-with-coverage

.. _changes_43:

4.3


Special thanks to Loïc Dachary, who took an extraordinary interest in
coverage.py and contributed a number of improvements in this release.

  • Subprocesses that are measured with automatic subprocess measurement_ used
    to read in any pre-existing data file. This meant data would be incorrectly
    carried forward from run to run. Now those files are not read, so each
    subprocess only writes its own data. Fixes issue 510_.
  • The coverage combine command will now fail if there are no data files to
    combine. The combine changes in 4.2 meant that multiple combines could lose
    data, leaving you with an empty .coverage data file. Fixes
    issue 525, issue 412, issue 516, and probably issue 511.
  • Coverage.py wouldn't execute sys.excepthook_ when an exception happened in
    your program. Now it does, thanks to Andrew Hoos. Closes issue 535_.
  • Branch coverage fixes:
  • Branch coverage could misunderstand a finally clause on a try block that
    never continued on to the following statement, as described in issue 493_. This is now fixed. Thanks to Joe Doherty for the report and Loïc
    Dachary for the fix.
  • A while loop with a constant condition (while True) and a continue
    statement would be mis-analyzed, as described in issue 496_. This is now
    fixed, thanks to a bug report by Eli Skeggs and a fix by Loïc Dachary.
  • While loops with constant conditions that were never executed could result
    in a non-zero coverage report. Artem Dayneko reported this in issue 502_, and Loïc Dachary provided the fix.
  • The HTML report now supports a --skip-covered option like the other
    reporting commands. Thanks, Loïc Dachary for the implementation, closing
    issue 433_.
  • Options can now be read from a tox.ini file, if any. Like setup.cfg, sections
    are prefixed with "coverage:", so [run] options will be read from the
    [coverage:run] section of tox.ini. Implements part of issue 519_.
    Thanks, Stephen Finucane.
  • Specifying both --source and --include no longer silently ignores the
    include setting, instead it fails with a message. Thanks, Nathan Land and
    Loïc Dachary. Closes issue 265_.
  • The Coverage.combine method has a new parameter, strict=False, to
    support failing if there are no data files to combine.
  • When forking subprocesses, the coverage data files would have the same random
    number appended to the file name. This didn't cause problems, because the
    file names had the process id also, making collisions (nearly) impossible.
    But it was disconcerting. This is now fixed.
  • The text report now properly sizes headers when skipping some files, fixing
    issue 524_. Thanks, Anthony Sottile and Loïc Dachary.
  • Coverage.py can now search .pex files for source, just as it can .zip and
    .egg. Thanks, Peter Ebden.
  • Data files are now about 15% smaller.
  • Improvements in the [run] debug setting:
  • The "dataio" debug setting now also logs when data files are deleted during
    combining or erasing.
  • A new debug option, "multiproc", for logging the behavior of
    concurrency=multiprocessing.
  • If you used the debug options "config" and "callers" together, you'd get a
    call stack printed for every line in the multi-line config output. This is
    now fixed.
  • Fixed an unusual bug involving multiple coding declarations affecting code
    containing code in multi-line strings: issue 529_.
  • Coverage.py will no longer be misled into thinking that a plain file is a
    package when interpreting --source options. Thanks, Cosimo Lupo.
  • If you try to run a non-Python file with coverage.py, you will now get a more
    useful error message. Issue 514_.
  • The default pragma regex changed slightly, but this will only matter to you
    if you are deranged and use mixed-case pragmas.
  • Deal properly with non-ASCII file names in an ASCII-only world, issue 533_.
  • Programs that set Unicode configuration values could cause UnicodeErrors when
    generating HTML reports. Pytest-cov is one example. This is now fixed.
  • Prevented deprecation warnings from configparser that happened in some
    circumstances, closing issue 530_.
  • Corrected the name of the jquery.ba-throttle-debounce.js library. Thanks,
    Ben Finney. Closes issue 505_.
  • Testing against PyPy 5.6 and PyPy3 5.5.
  • Switched to pytest from nose for running the coverage.py tests.
  • Renamed AUTHORS.txt to CONTRIBUTORS.txt, since there are other ways to
    contribute than by writing code. Also put the count of contributors into the
    author string in setup.py, though this might be too cute.

.. _sys.excepthook: https://docs.python.org/3/library/sys.htmlsys.excepthook
.. _issue 265: https://bitbucket.org/ned/coveragepy/issues/265/when-using-source-include-is-silently
.. _issue 412: https://bitbucket.org/ned/coveragepy/issues/412/coverage-combine-should-error-if-no
.. _issue 433: https://bitbucket.org/ned/coveragepy/issues/433/coverage-html-does-not-suport-skip-covered
.. _issue 493: https://bitbucket.org/ned/coveragepy/issues/493/confusing-branching-failure
.. _issue 496: https://bitbucket.org/ned/coveragepy/issues/496/incorrect-coverage-with-branching-and
.. _issue 502: https://bitbucket.org/ned/coveragepy/issues/502/incorrect-coverage-report-with-cover
.. _issue 505: https://bitbucket.org/ned/coveragepy/issues/505/use-canonical-filename-for-debounce
.. _issue 514: https://bitbucket.org/ned/coveragepy/issues/514/path-to-problem-file-not-reported-when
.. _issue 510: https://bitbucket.org/ned/coveragepy/issues/510/erase-still-needed-in-42
.. _issue 511: https://bitbucket.org/ned/coveragepy/issues/511/version-42-coverage-combine-empties
.. _issue 516: https://bitbucket.org/ned/coveragepy/issues/516/running-coverage-combine-twice-deletes-all
.. _issue 519: https://bitbucket.org/ned/coveragepy/issues/519/coverage-run-sections-in-toxini-or-as
.. _issue 524: https://bitbucket.org/ned/coveragepy/issues/524/coverage-report-with-skip-covered-column
.. _issue 525: https://bitbucket.org/ned/coveragepy/issues/525/coverage-combine-when-not-in-parallel-mode
.. _issue 529: https://bitbucket.org/ned/coveragepy/issues/529/encoding-marker-may-only-appear-on-the
.. _issue 530: https://bitbucket.org/ned/coveragepy/issues/530/deprecationwarning-you-passed-a-bytestring
.. _issue 533: https://bitbucket.org/ned/coveragepy/issues/533/exception-on-unencodable-file-name
.. _issue 535: https://bitbucket.org/ned/coveragepy/issues/535/sysexcepthook-is-not-called

.. _changes_42:

4.2


  • Since concurrency=multiprocessing uses subprocesses, options specified on
    the coverage.py command line will not be communicated down to them. Only
    options in the configuration file will apply to the subprocesses.
    Previously, the options didn't apply to the subprocesses, but there was no
    indication. Now it is an error to use --concurrency=multiprocessing and
    other run-affecting options on the command line. This prevents
    failures like those reported in issue 495_.
  • Filtering the HTML report is now faster, thanks to Ville Skyttä.

.. _issue 495: https://bitbucket.org/ned/coveragepy/issues/495/branch-and-concurrency-are-conflicting

4.2b1


Work from the PyCon 2016 Sprints!

  • BACKWARD INCOMPATIBILITY: the coverage combine command now ignores an
    existing .coverage data file. It used to include that file in its
    combining. This caused confusing results, and extra tox "clean" steps. If
    you want the old behavior, use the new coverage combine --append option.
  • The concurrency option can now take multiple values, to support programs
    using multiprocessing and another library such as eventlet. This is only
    possible in the configuration file, not from the command line. The
    configuration file is the only way for sub-processes to all run with the same
    options. Fixes issue 484_. Thanks to Josh Williams for prototyping.
  • Using a concurrency setting of multiprocessing now implies
    --parallel so that the main program is measured similarly to the
    sub-processes.
  • When using automatic subprocess measurement, running coverage commands
    would create spurious data files. This is now fixed, thanks to diagnosis and
    testing by Dan Riti. Closes issue 492
    .
  • A new configuration option, report:sort, controls what column of the
    text report is used to sort the rows. Thanks to Dan Wandschneider, this
    closes issue 199_.
  • The HTML report has a more-visible indicator for which column is being
    sorted. Closes issue 298_, thanks to Josh Williams.
  • If the HTML report cannot find the source for a file, the message now
    suggests using the -i flag to allow the report to continue. Closes
    issue 231_, thanks, Nathan Land.
  • When reports are ignoring errors, there's now a warning if a file cannot be
    parsed, rather than being silently ignored. Closes issue 396_. Thanks,
    Matthew Boehm.
  • A new option for coverage debug is available: coverage debug config
    shows the current configuration. Closes issue 454_, thanks to Matthew
    Boehm.
  • Running coverage as a module (python -m coverage) no longer shows the
    program name as __main__.py. Fixes issue 478_. Thanks, Scott Belden.
  • The test_helpers module has been moved into a separate pip-installable
    package: unittest-mixins_.

.. _automatic subprocess measurement: http://coverage.readthedocs.io/en/latest/subprocess.html
.. _issue 199: https://bitbucket.org/ned/coveragepy/issues/199/add-a-way-to-sort-the-text-report
.. _issue 231: https://bitbucket.org/ned/coveragepy/issues/231/various-default-behavior-in-report-phase
.. _issue 298: https://bitbucket.org/ned/coveragepy/issues/298/show-in-html-report-that-the-columns-are
.. _issue 396: https://bitbucket.org/ned/coveragepy/issues/396/coverage-xml-shouldnt-bail-out-on-parse
.. _issue 454: https://bitbucket.org/ned/coveragepy/issues/454/coverage-debug-config-should-be
.. _issue 478: https://bitbucket.org/ned/coveragepy/issues/478/help-shows-silly-program-name-when-running
.. _issue 484: https://bitbucket.org/ned/coveragepy/issues/484/multiprocessing-greenlet-concurrency
.. _issue 492: https://bitbucket.org/ned/coveragepy/issues/492/subprocess-coverage-strange-detection-of
.. _unittest-mixins: https://pypi.python.org/pypi/unittest-mixins

.. _changes_41:

Sphinx 1.4.8 -> 1.6.6

1.6.6

=====================================

Features added

  • 4181: autodoc: Sort dictionary keys when possible
  • VerbatimHighlightColor is a new
    :ref:LaTeX 'sphinxsetup' <latexsphinxsetup> key (refs: 4285)
  • Easier customizability of LaTeX macros involved in rendering of code-blocks
  • Show traceback if conf.py raises an exception (refs: 4369)
  • Add :confval:smartquotes to disable smart quotes through conf.py
    (refs: 3967)
  • Add :confval:smartquotes_action and :confval:smartquotes_excludes
    (refs: 4142, 4357)

Bugs fixed

  • 4334: sphinx-apidoc: Don't generate references to non-existing files in TOC
  • 4206: latex: reST label between paragraphs loses paragraph break
  • 4231: html: Apply fixFirefoxAnchorBug only under Firefox
  • 4221: napoleon depends on autodoc, but users need to load it manually
  • 2298: automodule fails to document a class attribute
  • 4099: C++: properly link class reference to class from inside constructor
  • 4267: PDF build broken by Unicode U+2116 NUMERO SIGN character
  • 4249: PDF output: Pygments error highlighting increases line spacing in
    code blocks
  • 1238: Support :emphasize-lines: in PDF output
  • 4279: Sphinx crashes with pickling error when run with multiple processes and
    remote image
  • 1421: Respect the quiet flag in sphinx-quickstart
  • 4281: Race conditions when creating output directory
  • 4315: For PDF 'howto' documents, latex_toplevel_sectioning='part' generates
    \chapter commands
  • 4214: Two todolist directives break sphinx-1.6.5
  • Fix links to external option docs with intersphinx (refs: 3769)
  • 4091: Private members not documented without :undoc-members:

1.6.5

=====================================

Features added

  • 4107: Make searchtools.js compatible with pre-Sphinx1.5 templates
  • 4112: Don't override the smart_quotes setting if it was already set
  • 4125: Display reference texts of original and translated passages on
    i18n warning message
  • 4147: Include the exception when logging PO/MO file read/write

Bugs fixed

  • 4085: Failed PDF build from image in parsed-literal using :align: option
  • 4100: Remove debug print from autodoc extension
  • 3987: Changing theme from alabaster causes HTML build to fail
  • 4096: C++, don't crash when using the wrong role type. Thanks to mitya57.
  • 4070, 4111: crashes when the warning message contains format strings (again)
  • 4108: Search word highlighting breaks SVG images
  • 3692: Unable to build HTML if writing .buildinfo failed
  • 4152: HTML writer crashes if a field list is placed on top of the document
  • 4063: Sphinx crashes when labeling directive .. todolist::
  • 4134: [doc] :file:docutils.conf is not documented explicitly
  • 4169: Chinese language doesn't trigger Chinese search automatically
  • 1020: ext.todo todolist not linking to the page in pdflatex
  • 3965: New quickstart generates wrong SPHINXBUILD in Makefile
  • 3739: :module: option is ignored at content of pyobjects
  • 4149: Documentation: Help choosing :confval:latex_engine
  • 4090: [doc] :confval:latex_additional_files with extra LaTeX macros should
    not use .tex extension
  • Failed to convert reST parser error to warning (refs: 4132)

1.6.4

=====================================

Features added

  • 3926: Add autodoc_warningiserror to suppress the behavior of -W
    option during importing target modules on autodoc

Bugs fixed

  • 3924: docname lost after dynamically parsing RST in extension
  • 3946: Typo in sphinx.sty (this was a bug with no effect in default context)
  • :pep: and :rfc: does not supports default-role directive (refs: 3960)
  • 3960: default_role = 'guilabel' not functioning
  • Missing texinputs_win/Makefile to be used in latexpdf builder on windows.
  • 4026: nature: Fix macOS Safari scrollbar color
  • 3877: Fix for C++ multiline signatures.
  • 4006: Fix crash on parallel build
  • 3969: private instance attributes causes AttributeError
  • 4041: C++, remove extra name linking in function pointers.
  • 4038: C, add missing documentation of member role.
  • 4044: An empty multicolumn cell causes extra row height in PDF output
  • 4049: Fix typo in output of sphinx-build -h
  • 4062: hashlib.sha1() must take bytes, not unicode on Python 3
  • Avoid indent after index entries in latex (refs: 4066)
  • 4070: crashes when the warning message contains format strings
  • 4067: Return non-zero exit status when make subprocess fails
  • 4055: graphviz: the :align: option does not work for SVG output
  • 4055: graphviz: the :align: center option does not work for latex output
  • 4051: warn() function for HTML theme outputs 'None' string

1.6.3

=====================================

Features added

  • latex: hint that code-block continues on next page (refs: 3764, 3792)

Bugs fixed

  • 3821: Failed to import sphinx.util.compat with docutils-0.14rc1
  • 3829: sphinx-quickstart template is incomplete regarding use of alabaste

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant