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 #3

Merged
merged 10 commits into from
Jun 22, 2018
Merged

Initial Update #3

merged 10 commits into from
Jun 22, 2018

Conversation

pyup-bot
Copy link
Collaborator

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.

bumpversion 0.5.3 » 0.5.3 PyPI | Changelog | Repo
wheel 0.30.0 » 0.30.0 PyPI | Changelog | Repo
flake8 3.5.0 » 3.5.0 PyPI | Changelog | Repo
tox 2.9.1 » 2.9.1 PyPI | Changelog | Docs
coverage 4.4.2 » 4.4.2 PyPI | Changelog | Repo
Sphinx 1.6.5 » 1.6.5 PyPI | Changelog | Homepage
argparse 1.2.2 » 1.4.0 PyPI | Changelog | Repo
pytest 3.3.1 » 3.3.1 PyPI | Changelog | Repo | Homepage
requests 2.18.4 » 2.18.4 PyPI | Changelog | Homepage

Changelogs

bumpversion -> 0.5.3

0.5.0

This is a major one, containing two larger features, that require some changes in the configuration format. This release is fully backwards compatible to v0.4.1, however deprecates two uses that will be removed in a future version.

  • New feature: Part specific configuration
  • New feature: File specific configuration
  • New feature: parse option can now span multiple line (allows to comment complex regular expressions. See - re.VERBOSE in the Python documentation for details, this testcase as an example.)
  • New feature: --allow-dirty (42).
  • Fix: Save the files in binary mode to avoid mutating newlines (thanks jaraco 45).
  • License: bumpversion is now licensed under the MIT License (47)
  • Deprecate multiple files on the command line (use a configuration file instead, or invoke bumpversion multiple times)
  • Deprecate 'files =' configuration (use file specific configuration instead)

0.3.2

  • bugfix: Read only tags from git describe that look like versions

wheel -> 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.

0.29.0

======

  • Fix compression type of files in archive (Issue 155, Pull Request 62,
    thanks Xavier Fernandez)

0.28.0

======

  • Fix file modes in archive (Issue 154)

0.27.0

======

  • Support forcing a platform tag using --plat-name on pure-Python wheels, as
    well as nonstandard platform tags on non-pure wheels (Pull Request 60, Issue
    144, thanks Andrés Díaz)
  • Add SOABI tags to platform-specific wheels built for Python 2.X (Pull Request
    55, Issue 63, Issue 101)
  • Support reproducible wheel files, wheels that can be rebuilt and will hash to
    the same values as previous builds (Pull Request 52, Issue 143, thanks
    Barry Warsaw)
  • Support for changes in keyring >= 8.0 (Pull Request 61, thanks Jason R.
    Coombs)
  • Use the file context manager when checking if dependency_links.txt is empty,
    fixes problems building wheels under PyPy on Windows (Issue 150, thanks
    Cosimo Lupo)
  • Don't attempt to (recursively) create a build directory ending with ..
    (invalid on all platforms, but code was only executed on Windows) (Issue 91)
  • Added the PyPA Code of Conduct (Pull Request 56)

0.26.0

======

  • Fix multiple entrypoint comparison failure on Python 3 (Issue 148)

0.25.0

======

  • Add Python 3.5 to tox configuration
  • Deterministic (sorted) metadata
  • Fix tagging for Python 3.5 compatibility
  • Support py2-none-'arch' and py3-none-'arch' tags
  • Treat data-only wheels as pure
  • Write to temporary file and rename when using wheel install --force

0.24.0

======

  • The python tag used for pure-python packages is now .pyN (major version
    only). This change actually occurred in 0.23.0 when the --python-tag
    option was added, but was not explicitly mentioned in the changelog then.
  • wininst2wheel and egg2wheel removed. Use "wheel convert [archive]"
    instead.
  • Wheel now supports setuptools style conditional requirements via the
    extras_require={} syntax. Separate 'extra' names from conditions using
    the : character. Wheel's own setup.py does this. (The empty-string
    extra is the same as install_requires.) These conditional requirements
    should work the same whether the package is installed by wheel or
    by setup.py.

0.23.0

======

  • Compatibility tag flags added to the bdist_wheel command
  • sdist should include files necessary for tests
  • 'wheel convert' can now also convert unpacked eggs to wheel
  • Rename pydist.json to metadata.json to avoid stepping on the PEP
  • The --skip-scripts option has been removed, and not generating scripts is now
    the default. The option was a temporary approach until installers could
    generate scripts themselves. That is now the case with pip 1.5 and later.
    Note that using pip 1.4 to install a wheel without scripts will leave the
    installation without entry-point wrappers. The "wheel install-scripts"
    command can be used to generate the scripts in such cases.
  • Thank you contributors

0.22.0

======

  • Include entry_points.txt, scripts a.k.a. commands, in experimental
    pydist.json
  • Improved test_requires parsing
  • Python 2.6 fixes, "wheel version" command courtesy pombredanne

0.21.0

======

  • Pregenerated scripts are the default again.
  • "setup.py bdist_wheel --skip-scripts" turns them off.
  • setuptools is no longer a listed requirement for the 'wheel'
    package. It is of course still required in order for bdist_wheel
    to work.
  • "python -m wheel" avoids importing pkg_resources until it's necessary.

0.20.0

======

  • No longer include console_scripts in wheels. Ordinary scripts (shell files,
    standalone Python files) are included as usual.
  • Include new command "python -m wheel install-scripts [distribution
    [distribution ...]]" to install the console_scripts (setuptools-style
    scripts using pkg_resources) for a distribution.

0.19.0

======

  • pymeta.json becomes pydist.json

0.18.0

======

  • Python 3 Unicode improvements

0.17.0

======

  • Support latest PEP-426 "pymeta.json" (json-format metadata)

0.16.0

======

  • Python 2.6 compatibility bugfix (thanks John McFarlane)
  • Non-prerelease version number

0.15.0

======

  • Various improvements

0.14.0

======

  • Changed the signature format to better comply with the current JWS spec.
    Breaks all existing signatures.
  • Include wheel unsign command to remove RECORD.jws from an archive.
  • Put the description in the newly allowed payload section of PKG-INFO
    (METADATA) files.

0.13.0

======

  • Use distutils instead of sysconfig to get installation paths; can install
    headers.
  • Improve WheelFile() sort.
  • Allow bootstrap installs without any pkg_resources.

0.12.0

======

  • Unit test for wheel.tool.install

0.11.0

======

  • API cleanup

0.10.3

======

  • Scripts fixer fix

0.10.2

======

  • Fix keygen

0.10.1

======

  • Preserve attributes on install.

0.10.0

======

  • Include a copy of pkg_resources. Wheel can now install into a virtualenv
    that does not have distribute (though most packages still require
    pkg_resources to actually work; wheel install distribute)
  • Define a new setup.cfg section [wheel]. universal=1 will
    apply the py2.py3-none-any tag for pure python wheels.

0.9.7

=====

  • Only import dirspec when needed. dirspec is only needed to find the
    configuration for keygen/signing operations.

0.9.6

=====

  • requires-dist from setup.cfg overwrites any requirements from setup.py
    Care must be taken that the requirements are the same in both cases,
    or just always install from wheel.
  • drop dirspec requirement on win32
  • improved command line utility, adds 'wheel convert [egg or wininst]' to
    convert legacy binary formats to wheel

0.9.5

=====

  • Wheel's own wheel file can be executed by Python, and can install itself:
    python wheel-0.9.5-py27-none-any/wheel install ...
  • Use argparse; basic wheel install command should run with only stdlib
    dependencies.
  • Allow requires_dist in setup.cfg's [metadata] section. In addition to
    dependencies in setup.py, but will only be interpreted when installing
    from wheel, not from sdist. Can be qualified with environment markers.

0.9.4

=====

  • Fix wheel.signatures in sdist

0.9.3

=====

  • Integrated digital signatures support without C extensions.
  • Integrated "wheel install" command (single package, no dependency
    resolution) including compatibility check.
  • Support Python 3.3
  • Use Metadata 1.3 (PEP 426)

0.9.2

=====

  • Automatic signing if WHEEL_TOOL points to the wheel binary
  • Even more Python 3 fixes

0.9.1

=====

  • 'wheel sign' uses the keys generated by 'wheel keygen' (instead of generating
    a new key at random each time)
  • Python 2/3 encoding/decoding fixes
  • Run tests on Python 2.6 (without signature verification)

0.9

===

  • Updated digital signatures scheme
  • Python 3 support for digital signatures
  • Always verify RECORD hashes on extract
  • "wheel" command line tool to sign, verify, unpack wheel files

0.8

===

  • none/any draft pep tags update
  • improved wininst2wheel script
  • doc changes and other improvements

0.7

===

  • sort .dist-info at end of wheel archive
  • Windows & Python 3 fixes from Paul Moore
  • pep8
  • scripts to convert wininst & egg to wheel

0.6

===

  • require distribute >= 0.6.28
  • stop using verlib

0.5

===

  • working pretty well

0.4.2

=====

  • hyphenated name fix

0.4

===

  • improve test coverage
  • improve Windows compatibility
  • include tox.ini courtesy of Marc Abramowitz
  • draft hmac sha-256 signing function

0.3

===

  • prototype egg2wheel conversion script

0.2

===

  • Python 3 compatibility

0.1

===

  • Initial version

flake8 -> 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

2.6.0


  • Requirements Change Switch to pycodestyle as all future pep8 releases
    will use that package name
  • Improvement Allow for Windows users on select versions of Python to
    use --jobs and multiprocessing
  • Improvement Update bounds on McCabe
  • Improvement Update bounds on PyFlakes and blacklist known broken
    versions
  • Improvement Handle new PyFlakes warning with a new error code: F405

2.5.5


  • Bug Fix setuptools integration when parsing config files
  • Bug Don't pass the user's config path as the config_file when creating a
    StyleGuide

2.5.4


  • Bug Missed an attribute rename during the v2.5.3 release.

2.5.3


  • Bug Actually parse output_file and enable_extensions from config
    files

2.5.2


  • Bug Parse output_file and enable_extensions from config files
  • Improvement Raise upper bound on mccabe plugin to allow for version
    0.4.0

2.5.1


  • Bug Properly look for .flake8 in current working directory
    (GitLab103_)
  • Bug Monkey-patch pep8.stdin_get_value to cache the actual value in
    stdin. This helps plugins relying on the function when run with
    multiprocessing. (GitLab105, GitLab107)

.. _GitLab103: https://gitlab.com/pycqa/flake8/issues/103
.. _GitLab105: https://gitlab.com/pycqa/flake8/issues/105
.. _GitLab107: https://gitlab.com/pycqa/flake8/issues/107

2.5.0


  • Improvement Raise cap on PyFlakes for Python 3.5 support
  • Improvement Avoid deprecation warnings when loading extensions
    (GitLab59, GitLab90)
  • Improvement Separate logic to enable "off-by-default" extensions
    (GitLab67_)
  • Bug Properly parse options to setuptools Flake8 command (GitLab!41_)
  • Bug Fix exceptions when output on stdout is truncated before Flake8
    finishes writing the output (GitLab69_)
  • Bug Fix error on OS X where Flake8 can no longer acquire or create new
    semaphores (GitLab74_)

.. _GitLab!41: https://gitlab.com/pycqa/flake8/merge_requests/41
.. _GitLab59: https://gitlab.com/pycqa/flake8/issues/59
.. _GitLab67: https://gitlab.com/pycqa/flake8/issues/67
.. _GitLab69: https://gitlab.com/pycqa/flake8/issues/69
.. _GitLab74: https://gitlab.com/pycqa/flake8/issues/74
.. _GitLab90: https://gitlab.com/pycqa/flake8/issues/90

2.4.1


  • Bug Do not raise a SystemError unless there were errors in the
    setuptools command. (GitLab39, GitLab!23)
  • Bug Do not verify dependencies of extensions loaded via entry-points.
  • Improvement Blacklist versions of pep8 we know are broken

.. _GitLab39: https://gitlab.com/pycqa/flake8/issues/39
.. _GitLab!23: https://gitlab.com/pycqa/flake8/merge_requests/23

2.4.0


  • Bug Print filenames when using multiprocessing and -q option.
    (GitLab31_)
  • Bug Put upper cap on dependencies. The caps for 2.4.0 are:
  • pep8 < 1.6 (Related to GitLab35_)
  • mccabe < 0.4
  • pyflakes < 0.9

See also GitLab32_

  • Bug Files excluded in a config file were not being excluded when flake8
    was run from a git hook. (GitHub2_)
  • Improvement Print warnings for users who are providing mutually
    exclusive options to flake8. (GitLab8, GitLab!18)
  • Feature Allow git hook configuration to live in .git/config.
    See the updated VCS hooks docs_ for more details. (GitLab!20_)

.. _GitHub2: PyCQA/flake8#2
.. _GitLab8: https://gitlab.com/pycqa/flake8/issues/8
.. _GitLab31: https://gitlab.com/pycqa/flake8/issues/31
.. _GitLab32: https://gitlab.com/pycqa/flake8/issues/32
.. _GitLab35: https://gitlab.com/pycqa/flake8/issues/35
.. _GitLab!18: https://gitlab.com/pycqa/flake8/merge_requests/18
.. _GitLab!20: https://gitlab.com/pycqa/flake8/merge_requests/20
.. _VCS hooks docs: https://flake8.readthedocs.org/en/latest/vcs.html

2.3.0


  • Feature: Add --output-file option to specify a file to write to
    instead of stdout.
  • Bug Fix interleaving of output while using multiprocessing
    (GitLab17_)

.. _GitLab17: https://gitlab.com/pycqa/flake8/issues/17

2.2.5


  • Flush standard out when using multiprocessing
  • Make the check for " flake8: noqa" more strict

2.2.4


  • Fix bugs triggered by turning multiprocessing on by default (again)

Multiprocessing is forcibly disabled in the following cases:

  • Passing something in via stdin
  • Analyzing a diff
  • Using windows
  • Fix --install-hook when there are no config files present for pep8 or
    flake8.
  • Fix how the setuptools command parses excludes in config files
  • Fix how the git hook determines which files to analyze (Thanks Chris
    Buccella!)

2.2.3


  • Actually turn multiprocessing on by default

2.2.2


  • Re-enable multiprocessing by default while fixing the issue Windows users
    were seeing.

2.2.1


  • Turn off multiple jobs by default. To enable automatic use of all CPUs, use
    --jobs=auto. Fixes 155 and 154.

2.2.0


  • New option doctests to run Pyflakes checks on doctests too
  • New option jobs to launch multiple jobs in parallel
  • Turn on using multiple jobs by default using the CPU count
  • Add support for python -m flake8 on Python 2.7 and Python 3
  • Fix Git and Mercurial hooks: issues 88, 133, 148 and 149
  • Fix crashes with Python 3.4 by upgrading dependencies
  • Fix traceback when running tests with Python 2.6
  • Fix the setuptools command python setup.py flake8 to read
    the project configuration

2.1.0


  • Add FLAKE8_LAZY and FLAKE8_IGNORE environment variable support to git and
    mercurial hooks
  • Force git and mercurial hooks to repsect configuration in setup.cfg
  • Only check staged files if that is specified
  • Fix hook file permissions
  • Fix the git hook on python 3
  • Ignore non-python files when running the git hook
  • Ignore .tox directories by default
  • Flake8 now reports the column number for PyFlakes messages

2.0.0


  • Pyflakes errors are prefixed by an F instead of an E
  • McCabe complexity warnings are prefixed by a C instead of a W
  • Flake8 supports extensions through entry points
  • Due to the above support, we require setuptools
  • We publish the documentation <https://flake8.readthedocs.org/>_
  • Fixes 13: pep8, pyflakes and mccabe become external dependencies
  • Split run.py into main.py, engine.py and hooks.py for better logic
  • Expose our parser for our users
  • New feature: Install git and hg hooks automagically
  • By relying on pyflakes (0.6.1), we also fixed 45 and 35

1.7.0


  • Fixes part of 35: Exception for no WITHITEM being an attribute of Checker
    for Python 3.3
  • Support stdin
  • Incorporate phd's builtins pull request
  • Fix the git hook
  • Update pep8.py to the latest version

1.6.2


  • fixed the NameError: global name 'message' is not defined (46)

1.6.1


  • fixed the mercurial hook, a change from a previous patch was not properly
    applied
  • fixed an assumption about warnings/error messages that caused an exception
    to be thrown when McCabe is used

1.6


  • changed the signatures of the check_file function in flake8/run.py,
    skip_warning in flake8/util.py and the check, checkPath
    functions in flake8/pyflakes.py.
  • fix --exclude and --ignore command flags (14, 19)
  • fix the git hook that wasn't catching files not already added to the index
    (29)
  • pre-emptively includes the addition to pep8 to ignore certain lines.
    Add nopep8 to the end of a line to ignore it. (37)
  • check_file can now be used without any special prior setup (21)
  • unpacking exceptions will no longer cause an exception (20)
  • fixed crash on non-existent file (38)

1.5


  • fixed the stdin
  • make sure mccabe catches the syntax errors as warnings
  • pep8 upgrade
  • added max_line_length default value
  • added Flake8Command and entry points if setuptools is around
  • using the setuptools console wrapper when available

1.4


  • git_hook: Only check staged changes for compliance
  • use pep8 1.2

1.3.1


  • fixed support for Python 2.5

1.3


  • fixed false W402 warning on exception blocks.

1.2


  • added a git hook
  • now Python 3 compatible
  • mccabe and pyflakes have warning codes like pep8 now

1.1


  • fixed the value returned by --version
  • allow the flake8: header to be more generic
  • fixed the "hg hook raises 'physical lines'" bug
  • allow three argument form of raise
  • now uses setuptools if available, for 'develop' command

1.0


  • Deactivates by default the complexity checker
  • Introduces the complexity option in the HG hook and the command line.

0.9


  • update pep8 version to 0.6.1
  • mccabe check: gracefully handle compile failure

0.8


  • fixed hg hook
  • discard unexisting files on hook check

0.7


  • Fix pep8 initialization when run through Hg
  • Make pep8 short options work when run through the command line
  • Skip duplicates when controlling files via Hg

0.6


  • Fix the McCabe metric on some loops

tox -> 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.

2.3.1


  • fix 294 <https://github.com/tox-dev/tox/issues/294>_: re-allow cross-section substitution for setenv.

2.3.0


  • DEPRECATE use of "indexservers" in tox.ini. It complicates
    the internal code and it is recommended to rather use the
    devpi system for managing indexes for pip.
  • fix 285 <https://github.com/tox-dev/tox/issues/285>_: make setenv processing fully lazy to fix regressions
    of tox-2.2.X and so that we can now have testenv attributes like
    "basepython" depend on environment variables that are set in
    a setenv section. Thanks Nelfin for some tests and initial
    work on a PR.
  • allow "" in commands. This is slightly incompatible with commands
    sections that used a comment after a "" line continuation.
    Thanks David Stanek for the PR.
  • fix 289 <https://github.com/tox-dev/tox/issues/289>_: fix build_sphinx target, thanks Barry Warsaw.
  • fix 252 <https://github.com/tox-dev/tox/issues/252>_: allow environment names with special characters.
    Thanks Julien Castets for initial PR and patience.
  • introduce experimental tox_testenv_create(venv, action) and
    tox_testenv_install_deps(venv, action) hooks to allow
    plugins to do additional work on creation or installing
    deps. These hooks are experimental mainly because of
    the involved "venv" and session objects whose current public
    API is not fully guranteed.
  • internal: push some optional object creation into tests because
    tox core doesn't need it.

2.2.1


  • fix bug where {envdir} substitution could not be used in setenv
    if that env value is then used in {basepython}. Thanks Florian Bruhin.

2.2.0


  • fix 265 <https://github.com/tox-dev/tox/issues/265>_ and add LD_LIBRARY_PATH to passenv on linux by default
    because otherwise the python interpreter might not start up in
    certain configurations (redhat software collections). Thanks David Riddle.
  • fix 246 <https://github.com/tox-dev/tox/issues/246>_: fix regression in config parsing by reordering
    such that {envbindir} can be used again in tox.ini. Thanks Olli Walsh.
  • fix 99 <https://github.com/tox-dev/tox/issues/99>_: the {env:...} substitution now properly uses environment
    settings from the setenv section. Thanks Itxaka Serrano.
  • fix 281 <https://github.com/tox-dev/tox/issues/281>_: make --force-dep work when urls are present in
    dependency configs. Thanks Glyph Lefkowitz for reporting.
  • fix 174 <https://github.com/tox-dev/tox/issues/174>_: add new ignore_outcome testenv attribute which
    can be set to True in which case it will produce a warning instead
    of an error on a failed testenv command outcome.
    Thanks Rebecka Gulliksson for the PR.
  • fix 280 <https://github.com/tox-dev/tox/issues/280>_: properly skip missing interpreter if
    {envsitepackagesdir} is present in commands. Thanks BB:ceridwenv

2.1.1


  • fix platform skipping for detox
  • report skipped platforms as skips in the summary

2.1.0


  • fix 258 <https://github.com/tox-dev/tox/issues/258>, fix 248 <https://github.com/tox-dev/tox/issues/248>, fix 253 <https://github.com/tox-dev/tox/issues/253>_: for non-test commands
    (installation, venv creation) we pass in the full invocation environment.
  • remove experimental --set-home option which was hardly used and
    hackily implemented (if people want home-directory isolation we should
    figure out a better way to do it, possibly through a plugin)
  • fix 259 <https://github.com/tox-dev/tox/issues/259>_: passenv is now a line-list which allows to intersperse
    comments. Thanks stefano-m.
  • allow envlist to be a multi-line list, to intersperse comments
    and have long envlist settings split more naturally. Thanks Andre Caron.
  • introduce a TOX_TESTENV_PASSENV setting which is honored
    when constructing the set of environment variables for test environments.
    Thanks Marc Abramowitz for pushing in this direction.

2.0.2


  • fix 247 <https://github.com/tox-dev/tox/issues/247>_: tox now passes the LANG variable from the tox invocation
    environment to the test environment by default.
  • add SYSTEMDRIVE into default passenv on windows to allow pip6 to work.
    Thanks Michael Krause.

2.0.1


  • fix wheel packaging to properly require argparse on py26.

2.0.0


  • (new) introduce environment variable isolation:
    tox now only passes the PATH and PIP_INDEX_URL variable from the tox
    invocation environment to the test environment and on Windows
    also SYSTEMROOT, PATHEXT, TEMP and TMP whereas
    on unix additionally TMPDIR is passed. If you need to pass
    through further environment variables you can use the new passenv setting,
    a space-separated list of environment variable names. Each name
    can make use of fnmatch-style glob patterns. All environment
    variables which exist in the tox-invocation environment will be copied
    to the test environment.
  • a new --help-ini option shows all possible testenv settings and
    their defaults.
  • (new) introduce a way to specify on which platform a testenvironment is to
    execute: the new per-venv "platform" setting allows to specify
    a regular expression which is matched against sys.platform.
    If platform is set and doesn't match the platform spec in the test
    environment the test environment is ignored, no setup or tests are attempted.
  • (new) add per-venv "ignore_errors" setting, which defaults to False.
    If True, a non-zero exit code from one command will be ignored and
    further commands will be executed (which was the default behavior in tox <
    2.0). If False (the default), then a non-zero exit code from one command
    will abort execution of commands for that environment.
  • show and store in json the version dependency information for each venv
  • remove the long-deprecated "distribute" option as it has no effect these days.
  • fix 233 &lt;https://github.com/tox-dev/tox/issues/233&gt;_: avoid hanging with tox-setuptools integration example. Thanks simonb.
  • fix 120 &lt;https://github.com/tox-dev/tox/issues/120&gt;_: allow substitution for the commands section. Thanks
    Volodymyr Vitvitski.
  • fix 235 &lt;https://github.com/tox-dev/tox/issues/235&gt;_: fix AttributeError with --installpkg. Thanks
    Volodymyr Vitvitski.
  • tox has now somewhat pep8 clean code, thanks to Volodymyr Vitvitski.
  • fix 240 &lt;https://github.com/tox-dev/tox/issues/240&gt;_: allow to specify empty argument list without it being
    rewritten to ".". Thanks Daniel Hahler.
  • introduce experimental (not much documented yet) plugin system
    based on pytest's externalized "pluggy" system.
    See tox/hookspecs.py for the current hooks.
  • introduce parser.add_testenv_attribute() to register an ini-variable
    for testenv sections. Can be used from plugins through the
    tox_add_option hook.
  • rename internal files -- tox offers no external API except for the
    experimental plugin hooks, use tox internals at your own risk.
  • DEPRECATE distshare in documentation

1.9.2


  • backout ability that --force-dep substitutes name/versions in
    requirement files due to various issues.
    This fixes 228 &lt;https://github.com/tox-dev/tox/issues/228&gt;, fixes 230 &lt;https://github.com/tox-dev/tox/issues/230&gt;, fixes 231 &lt;https://github.com/tox-dev/tox/issues/231&gt;_
    which popped up with 1.9.1.

1.9.1


  • use a file instead of a pipe for command output in "--result-json".
    Fixes some termination issues with python2.6.
  • allow --force-dep to override dependencies in "-r" requirements
    files. Thanks Sontek for the PR.
  • fix 227 &lt;https://github.com/tox-dev/tox/issues/227&gt;_: use "-m virtualenv" instead of "-mvirtualenv" to make
    it work with pyrun. Thanks Marc-Andre Lemburg.

1.9.0


  • fix 193 &lt;https://github.com/tox-dev/tox/issues/193&gt;_: Remove --pre from the default install_command; by
    default tox will now only install final releases from PyPI for unpinned
    dependencies. Use pip_pre = true in a testenv or the --pre
    command-line option to restore the previous behavior.
  • fix 199 &lt;https://github.com/tox-dev/tox/issues/199&gt;_: fill resultlog structure ahead of virtualenv creation
  • refine determination if we run from Jenkins, thanks Borge Lanes.
  • echo output to stdout when --report-json is used
  • fix 11 &lt;https://github.com/tox-dev/tox/issues/11&gt;_: add a skip_install per-testenv setting which
    prevents the installation of a package. Thanks Julian Krause.
  • fix 124 &lt;https://github.com/tox-dev/tox/issues/124&gt;_: ignore command exit codes; when a command has a "-" prefix,
    tox will ignore the exit code of that command
  • fix 198 &lt;https://github.com/tox-dev/tox/issues/198&gt;_: fix broken envlist settings, e.g. {py26,py27}{-lint,}
  • fix 191 &lt;https://github.com/tox-dev/tox/issues/191&gt;_: lessen factor-use checks

1.8.1


  • fix 190 &lt;https://github.com/tox-dev/tox/issues/190&gt;_: allow setenv to be empty.
  • allow escaping curly braces with "&quot;. Thanks Marc Abramowitz for the PR.
  • allow "." names in environment names such that "py27-django1.7" is a
    valid environment name. Thanks Alex Gaynor and Alex Schepanovski.
  • report subprocess exit code when execution fails. Thanks Marius
    Gedminas.

1.8.0


  • new multi-dimensional configuration support. Many thanks to
    Alexander Schepanovski for the complete PR with docs.
    And to Mike Bayer and others for

@tonybaloney tonybaloney merged commit 47b91d2 into master Jun 22, 2018
@tonybaloney tonybaloney deleted the pyup-initial-update branch June 22, 2018 08:58
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.

2 participants