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

Merged
merged 10 commits into from
Nov 7, 2017
Merged

Initial Update #2

merged 10 commits into from
Nov 7, 2017

Conversation

pyup-bot
Copy link
Contributor

@pyup-bot pyup-bot commented Nov 7, 2017

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.

flake8 3.5.0 » 3.5.0 PyPI | Changelog | Repo
isort 4.2.15 » 4.2.15 PyPI | Changelog | Repo
pytest 3.2.3 » 3.2.3 PyPI | Changelog | Repo | Homepage
pytest-aiohttp 0.1.3 » 0.1.3 PyPI | Changelog | Repo
pytest-cov 2.5.1 » 2.5.1 PyPI | Changelog | Repo
aiohttp 2.3.2 » 2.3.2 PyPI | Changelog | Repo
flit 0.12 » 0.12 PyPI | Changelog | Repo
pytest-sugar 0.9.0 » 0.9.0 PyPI | Changelog | Homepage
ipython 6.2.1 » 6.2.1 PyPI | Changelog | Homepage
ipdb 0.10.3 » 0.10.3 PyPI | Changelog | Repo

Changelogs

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

isort -> 4.2.15

4.2.15

IMPORTANT NOTE: This will be the last release with Python 2.6 support, subsequent releases will be 2.7+ only

  • Fixed certain one line imports not being successfully wrapped

4.2.14

  • Fixed 559 & 565: Added missing standard library imports

4.2.13

  • Fixed 553: Check only and --diff now work together again

4.2.12

  • Fixed wheel distribution bug

4.2.11

  • Fixed 546: Can't select y/n/c after latest update
  • Fixed 545: Incorrectly moves future imports above encoding comments

4.2.9

  • Fixed 428: Check only modifies sorting
  • Fixed 540: Not correctly identifying stdlib modules

4.2.8

  • Added --virtual-env switch command line option
  • Added --enforce-whitespace option to go along with --check-only for more exact checks (issue 423)
  • Fixed imports with a tailing '&Scheduled weekly dependency update for week 27 #39; and no space in-between getting removed (issue 425)
  • Fixed issue 299: long lines occasionally not wrapped
  • Fixed issue 432: No longer add import inside class when class starts at top of file after encoding comment
  • Fixed issue 440: Added missing --use-parentheses option to command line tool and documentation
  • Fixed issue 496: import* imports now get successfully identified and reformatted instead of deleted
  • Fixed issue 491: Non ending parentheses withing single line comments no longer cause formatting issues
  • Fixed issue 471: Imports that wrap the maximum line length and contain comments on the last line are no longer rendered incorrectly
  • Fixed issue 436: Force sort within section no longer rearranges comments
  • Fixed issue 473: Force_to_top and force_sort_within_sections now work together
  • Fixed issue 484 & 472: Consistent output with imports of same spelling but different case
  • Fixed issue 433: No longer incorrectly add an extra new-line when comment between imports and function definition
  • Fixed issue 419: Path specification for skipped paths is not Unix/Windows inter-operable.
    Breaking Changes:
    • Fixed issue 511: All command line options with an underscore, have had the underscore replaced with a dash for consistency. This effects: multi-line, add-import, remove-import, force-adds, --force-single-line-imports, and length-sort.
    • Replaced the --enforce-whitespace option with --ignore-whitespace to restore original behavior of strict whitespace by default

4.2.5

  • Fixed an issue that caused modules to inccorectly be matched as thirdparty when they simply had src in the leading path, even if they weren't withing $VIRTUALENV/src 414

4.2.4

  • Fixed an issue that caused module that contained functions before doc strings, to incorrectly place imports
  • Fixed regression in how force_alphabetical_sort was being interpretted (issue 409)
  • Fixed stray print statement printing skipped files (issue 411)
  • Added option for forcing imports into a single bucket: no_sections
  • Added option for new lines between import types (from, straight): lines_between_sections

4.2.3

  • Fixed a large number of priority bugs - bug fix only release

4.2.2

  • Give an error message when isort is unable to determine where to place a module
  • Allow imports to be sorted by module, independent of import_type, when force_sort_within_sections option is set
  • Fixed an issue that caused Python files with 2 top comments not to be sorted

4.2.1

  • Hot fix release to fix code error when skipping globs

4.2.0

  • Added option "NOQA" Do not wrap lines, but add a noqa statement at the end
  • Added support for running isort recursively, simply with a standalone isort command
  • Added support to run isort library as a module
  • Added compatibility for Python 3.5
  • Fixed performance issue (338) when running on project with lots of skipped directories
  • Fixed issue 328: extra new can occasionally occur when using alphabetical-only sort
  • Fixed custom sections parsing from config file (unicode string -> list)
  • Updated pylama extension to the correct entry point
  • Skip files even when file_contents is provided if they are explicitly in skip list
  • Removed always showing isort banner, keeping it for when the version is requested, verbose is used, or show_logo setting is set.

4.1.2

  • Fixed issue 323: Accidental default configuration change introduced

4.1.1

  • Added support for partial file match skips (thanks to Amwam)
  • Added support for --quiet option to only show errors when running isort
  • Fixed issue 316: isort added new lines incorrectly when a top-of line comment is present

4.1.0

  • Started keeping a log of all changes between releases
  • Added the isort logo to the command line interface
  • Added example usage gif to README
  • Implemented issue 292: skip setting now supports glob patterns
  • Implemented issue 271: Add option to sort imports purely alphabetically
  • Implemented issue 301: Readme is now natively in RST format, making it easier for Python tooling to pick up
  • Implemented pylama isort extension
  • Fixed issue 260: encoding lines at the top of the file are now correctly supported
  • Fixed issue 284: Sticky comments above first import are now supported
  • Fixed issue 310: Ensure comments don't get duplicated when reformatting imports
  • Fixed issue 289: Sections order not being respected
  • Fixed issue 296: Made it more clear how to set arguments more then once

4.0.0

  • Removed all external dependencies

pytest -> 3.2.3

3.2.3

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

Bug Fixes

  • Fix crash in tab completion when no prefix is given. (2748 <https://github.com/pytest-dev/pytest/issues/2748>_)
  • The equality checking function (__eq__) of MarkDecorator returns
    False if one object is not an instance of MarkDecorator. (2758 <https://github.com/pytest-dev/pytest/issues/2758>_)
  • When running pytest --fixtures-per-test: don't crash if an item has no
    fixtureinfo attribute (e.g. doctests) (2788 <https://github.com/pytest-dev/pytest/issues/2788>)

Improved Documentation

  • In help text of -k option, add example of using not to not select
    certain tests whose names match the provided expression. (1442 <https://github.com/pytest-dev/pytest/issues/1442>_)
  • Add note in parametrize.rst about calling metafunc.parametrize
    multiple times. (1548 <https://github.com/pytest-dev/pytest/issues/1548>_)

Trivial/Internal Changes

  • Set xfail_strict=True in pytest's own test suite to catch expected
    failures as soon as they start to pass. (2722 <https://github.com/pytest-dev/pytest/issues/2722>_)
  • Fix typo in example of passing a callable to markers (in example/markers.rst)
    (2765 <https://github.com/pytest-dev/pytest/issues/2765>_)

3.2.2

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

Bug Fixes

  • Calling the deprecated request.getfuncargvalue() now shows the source of
    the call. (2681 <https://github.com/pytest-dev/pytest/issues/2681>_)
  • Allow tests declared as staticmethod to use fixtures. (2699 <https://github.com/pytest-dev/pytest/issues/2699>_)
  • Fixed edge-case during collection: attributes which raised pytest.fail
    when accessed would abort the entire collection. (2707 <https://github.com/pytest-dev/pytest/issues/2707>_)
  • Fix ReprFuncArgs with mixed unicode and UTF-8 args. (2731 <https://github.com/pytest-dev/pytest/issues/2731>_)

Improved Documentation

  • In examples on working with custom markers, add examples demonstrating the
    usage of pytest.mark.MARKER_NAME.with_args in comparison with
    pytest.mark.MARKER_NAME.__call__ (2604 <https://github.com/pytest-dev/pytest/issues/2604>_)
  • In one of the simple examples, use pytest_collection_modifyitems() to skip
    tests based on a command-line option, allowing its sharing while preventing a
    user error when acessing pytest.config before the argument parsing. (2653 <https://github.com/pytest-dev/pytest/issues/2653>_)

Trivial/Internal Changes

  • Fixed minor error in 'Good Practices/Manual Integration' code snippet.
    (2691 <https://github.com/pytest-dev/pytest/issues/2691>_)
  • Fixed typo in goodpractices.rst. (2721 <https://github.com/pytest-dev/pytest/issues/2721>_)
  • Improve user guidance regarding --resultlog deprecation. (2739 <https://github.com/pytest-dev/pytest/issues/2739>_)

3.2.1

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

Bug Fixes

  • Fixed small terminal glitch when collecting a single test item. (2579 <https://github.com/pytest-dev/pytest/issues/2579>_)
  • Correctly consider / as the file separator to automatically mark plugin
    files for rewrite on Windows. (2591 <https://github.com/pytest- dev/pytest/issues/2591>_)
  • Properly escape test names when setting PYTEST_CURRENT_TEST environment
    variable. (2644 <https://github.com/pytest-dev/pytest/issues/2644>_)
  • Fix error on Windows and Python 3.6+ when sys.stdout has been replaced
    with a stream-like object which does not implement the full io module
    buffer protocol. In particular this affects pytest-xdist users on the
    aforementioned platform. (2666 <https://github.com/pytest- dev/pytest/issues/2666>_)

Improved Documentation

  • Explicitly document which pytest features work with unittest. (2626 <https://github.com/pytest-dev/pytest/issues/2626>_)

3.2.0

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

Deprecations and Removals

  • pytest.approx no longer supports >, >=, < and <=
    operators to avoid surprising/inconsistent behavior. See the docs <https://docs.pytest.org/en/latest/builtin.htmlpytest.approx>_ for more
    information. (2003 <https://github.com/pytest-dev/pytest/issues/2003>_)
  • All old-style specific behavior in current classes in the pytest's API is
    considered deprecated at this point and will be removed in a future release.
    This affects Python 2 users only and in rare situations. (2147 <https://github.com/pytest-dev/pytest/issues/2147>_)
  • A deprecation warning is now raised when using marks for parameters
    in pytest.mark.parametrize. Use pytest.param to apply marks to
    parameters instead. (2427 <https://github.com/pytest-dev/pytest/issues/2427>_)

Features

  • Add support for numpy arrays (and dicts) to approx. (1994 <https://github.com/pytest-dev/pytest/issues/1994>_)
  • Now test function objects have a pytestmark attribute containing a list
    of marks applied directly to the test function, as opposed to marks inherited
    from parent classes or modules. (2516 <https://github.com/pytest- dev/pytest/issues/2516>_)
  • Collection ignores local virtualenvs by default; --collect-in-virtualenv
    overrides this behavior. (2518 <https://github.com/pytest- dev/pytest/issues/2518>_)
  • Allow class methods decorated as staticmethod to be candidates for
    collection as a test function. (Only for Python 2.7 and above. Python 2.6
    will still ignore static methods.) (2528 <https://github.com/pytest- dev/pytest/issues/2528>_)
  • Introduce mark.with_args in order to allow passing functions/classes as
    sole argument to marks. (2540 <https://github.com/pytest- dev/pytest/issues/2540>_)
  • New cache_dir ini option: sets the directory where the contents of the
    cache plugin are stored. Directory may be relative or absolute path: if relative path, then
    directory is created relative to rootdir, otherwise it is used as is.
    Additionally path may contain environment variables which are expanded during
    runtime. (2543 <https://github.com/pytest-dev/pytest/issues/2543>_)
  • Introduce the PYTEST_CURRENT_TEST environment variable that is set with
    the nodeid and stage (setup, call and teardown) of the test
    being currently executed. See the documentation <https://docs.pytest.org/en/latest/example/simple.htmlpytest-current-test- environment-variable>_ for more info. (2583 <https://github.com/pytest- dev/pytest/issues/2583>_)
  • Introduced pytest.mark.filterwarnings mark which allows overwriting the
    warnings filter on a per test, class or module level. See the docs <https://docs.pytest.org/en/latest/warnings.htmlpytest-mark- filterwarnings>_ for more information. (2598 <https://github.com/pytest- dev/pytest/issues/2598>_)
  • --last-failed now remembers forever when a test has failed and only
    forgets it if it passes again. This makes it easy to fix a test suite by
    selectively running files and fixing tests incrementally. (2621 <https://github.com/pytest-dev/pytest/issues/2621>_)
  • New pytest_report_collectionfinish hook which allows plugins to add
    messages to the terminal reporting after collection has been finished
    successfully. (2622 <https://github.com/pytest-dev/pytest/issues/2622>_)
  • Added support for PEP-415's <https://www.python.org/dev/peps/pep-0415/>_
    Exception.__suppress_context__. Now if a raise exception from None is
    caught by pytest, pytest will no longer chain the context in the test report.
    The behavior now matches Python's traceback behavior. (2631 <https://github.com/pytest-dev/pytest/issues/2631>_)
  • Exceptions raised by pytest.fail, pytest.skip and pytest.xfail
    now subclass BaseException, making them harder to be caught unintentionally
    by normal code. (580 <https://github.com/pytest-dev/pytest/issues/580>_)

Bug Fixes

  • Set stdin to a closed PIPE in pytester.py.Testdir.popen() for
    avoid unwanted interactive pdb (2023 <https://github.com/pytest- dev/pytest/issues/2023>_)
  • Add missing encoding attribute to sys.std* streams when using
    capsys capture mode. (2375 <https://github.com/pytest- dev/pytest/issues/2375>_)
  • Fix terminal color changing to black on Windows if colorama is imported
    in a conftest.py file. (2510 <https://github.com/pytest- dev/pytest/issues/2510>_)
  • Fix line number when reporting summary of skipped tests. (2548 <https://github.com/pytest-dev/pytest/issues/2548>_)
  • capture: ensure that EncodedFile.name is a string. (2555 <https://github.com/pytest-dev/pytest/issues/2555>_)
  • The options --fixtures and --fixtures-per-test will now keep
    indentation within docstrings. (2574 <https://github.com/pytest- dev/pytest/issues/2574>_)
  • doctests line numbers are now reported correctly, fixing pytest-sugar122 <https://github.com/Frozenball/pytest-sugar/issues/122>. (2610 <https://github.com/pytest-dev/pytest/issues/2610>)
  • Fix non-determinism in order of fixture collection. Adds new dependency
    (ordereddict) for Python 2.6. (920 <https://github.com/pytest- dev/pytest/issues/920>_)

Improved Documentation

  • Clarify pytest_configure hook call order. (2539 <https://github.com/pytest-dev/pytest/issues/2539>_)
  • Extend documentation for testing plugin code with the pytester plugin.
    (971 <https://github.com/pytest-dev/pytest/issues/971>_)

Trivial/Internal Changes

  • Update help message for --strict to make it clear it only deals with
    unregistered markers, not warnings. (2444 <https://github.com/pytest- dev/pytest/issues/2444>_)
  • Internal code move: move code for pytest.approx/pytest.raises to own files in
    order to cut down the size of python.py (2489 <https://github.com/pytest- dev/pytest/issues/2489>_)
  • Renamed the utility function _pytest.compat._escape_strings to
    _ascii_escaped to better communicate the function's purpose. (2533 <https://github.com/pytest-dev/pytest/issues/2533>_)
  • Improve error message for CollectError with skip/skipif. (2546 <https://github.com/pytest-dev/pytest/issues/2546>_)
  • Emit warning about yield tests being deprecated only once per generator.
    (2562 <https://github.com/pytest-dev/pytest/issues/2562>_)
  • Ensure final collected line doesn't include artifacts of previous write.
    (2571 <https://github.com/pytest-dev/pytest/issues/2571>_)
  • Fixed all flake8 errors and warnings. (2581 <https://github.com/pytest- dev/pytest/issues/2581>_)
  • Added fix-lint tox environment to run automatic pep8 fixes on the code.
    (2582 <https://github.com/pytest-dev/pytest/issues/2582>_)
  • Turn warnings into errors in pytest's own test suite in order to catch
    regressions due to deprecations more promptly. (2588 <https://github.com/pytest-dev/pytest/issues/2588>_)
  • Show multiple issue links in CHANGELOG entries. (2620 <https://github.com/pytest-dev/pytest/issues/2620>_)

3.1.3

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

Bug Fixes

  • Fix decode error in Python 2 for doctests in docstrings. (2434 <https://github.com/pytest-dev/pytest/issues/2434>_)
  • Exceptions raised during teardown by finalizers are now suppressed until all
    finalizers are called, with the initial exception reraised. (2440 <https://github.com/pytest-dev/pytest/issues/2440>_)
  • Fix incorrect "collected items" report when specifying tests on the command-
    line. (2464 <https://github.com/pytest-dev/pytest/issues/2464>_)
  • deprecated_call in context-manager form now captures deprecation warnings
    even if the same warning has already been raised. Also, deprecated_call
    will always produce the same error message (previously it would produce
    different messages in context-manager vs. function-call mode). (2469 <https://github.com/pytest-dev/pytest/issues/2469>_)
  • Fix issue where paths collected by pytest could have triple leading /
    characters. (2475 <https://github.com/pytest-dev/pytest/issues/2475>_)
  • Fix internal error when trying to detect the start of a recursive traceback.
    (2486 <https://github.com/pytest-dev/pytest/issues/2486>_)

Improved Documentation

  • Explicitly state for which hooks the calls stop after the first non-None
    result. (2493 <https://github.com/pytest-dev/pytest/issues/2493>_)

Trivial/Internal Changes

  • Create invoke tasks for updating the vendored packages. (2474 <https://github.com/pytest-dev/pytest/issues/2474>_)
  • Update copyright dates in LICENSE, README.rst and in the documentation.
    (2499 <https://github.com/pytest-dev/pytest/issues/2499>_)

3.1.2

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

Bug Fixes

  • Required options added via pytest_addoption will no longer prevent using
    --help without passing them. (1999)
  • Respect python_files in assertion rewriting. (2121)
  • Fix recursion error detection when frames in the traceback contain objects
    that can't be compared (like numpy arrays). (2459)
  • UnicodeWarning is issued from the internal pytest warnings plugin only
    when the message contains non-ascii unicode (Python 2 only). (2463)
  • Added a workaround for Python 3.6 WindowsConsoleIO breaking due to Pytests's
    FDCapture. Other code using console handles might still be affected by the
    very same issue and might require further workarounds/fixes, i.e. colorama.
    (2467)

Improved Documentation

  • Fix internal API links to pluggy objects. (2331)
  • Make it clear that pytest.xfail stops test execution at the calling point
    and improve overall flow of the skipping docs. (810)

3.1.1

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

Bug Fixes

  • pytest warning capture no longer overrides existing warning filters. The
    previous behaviour would override all filters and caused regressions in test
    suites which configure warning filters to match their needs. Note that as a
    side-effect of this is that DeprecationWarning and
    PendingDeprecationWarning are no longer shown by default. (2430)
  • Fix issue with non-ascii contents in doctest text files. (2434)
  • Fix encoding errors for unicode warnings in Python 2. (2436)
  • pytest.deprecated_call now captures PendingDeprecationWarning in
    context manager form. (2441)

Improved Documentation

  • Addition of towncrier for changelog management. (2390)

3.1.0

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

New Features

  • The pytest-warnings plugin has been integrated into the core and now pytest automatically
    captures and displays warnings at the end of the test session.

.. warning::

This feature may disrupt test suites which apply and treat warnings themselves, and can be
disabled in your pytest.ini:

.. code-block:: ini

 [pytest]
 addopts = -p no:warnings

See the warnings documentation page <https://docs.pytest.org/en/latest/warnings.html>_ for more
information.

Thanks nicoddemus_ for the PR.

  • Added junit_suite_name ini option to specify root <testsuite> name for JUnit XML reports (533_).
  • Added an ini option doctest_encoding to specify which encoding to use for doctest files.
    Thanks wheerd_ for the PR (2101_).
  • pytest.warns now checks for subclass relationship rather than
    class equality. Thanks lesteve_ for the PR (2166_)
  • pytest.raises now asserts that the error message matches a text or regex
    with the match keyword argument. Thanks Kriechi_ for the PR.
  • pytest.param can be used to declare test parameter sets with marks and test ids.
    Thanks RonnyPfannschmidt_ for the PR.

Changes

  • remove all internal uses of pytest_namespace hooks,
    this is to prepare the removal of preloadconfig in pytest 4.0
    Thanks to RonnyPfannschmidt_ for the PR.
  • pytest now warns when a callable ids raises in a parametrized test. Thanks fogo_ for the PR.
  • It is now possible to skip test classes from being collected by setting a
    __test__ attribute to False in the class body (2007). Thanks
    to syre
    for the report and lwm_ for the PR.
  • Change junitxml.py to produce reports that comply with Junitxml schema.
    If the same test fails with failure in call and then errors in teardown
    we split testcase element into two, one containing the error and the other
    the failure. (2228) Thanks to kkoukiou for the PR.
  • Testcase reports with a url attribute will now properly write this to junitxml.
    Thanks fushi_ for the PR (1874_).
  • Remove common items from dict comparision output when verbosity=1. Also update
    the truncation message to make it clearer that pytest truncates all
    assertion messages if verbosity < 2 (1512).
    Thanks mattduck
    for the PR
  • --pdbcls no longer implies --pdb. This makes it possible to use
    addopts=--pdbcls=module.SomeClass on pytest.ini. Thanks davidszotten_ for
    the PR (1952_).
  • fix 2013_: turn RecordedWarning into namedtuple,
    to give it a comprehensible repr while preventing unwarranted modification.
  • fix 2208_: ensure a iteration limit for pytest.compat.get_real_func.
    Thanks RonnyPfannschmidt
    for the report and PR.
  • Hooks are now verified after collection is complete, rather than right after loading installed plugins. This
    makes it easy to write hooks for plugins which will be loaded during collection, for example using the
    pytest_plugins special variable (1821).
    Thanks nicoddemus
    for the PR.
  • Modify pytest_make_parametrize_id() hook to accept argname as an
    additional parameter.
    Thanks unsignedint_ for the PR.
  • Add venv to the default norecursedirs setting.
    Thanks The-Compiler_ for the PR.
  • PluginManager.import_plugin now accepts unicode plugin names in Python 2.
    Thanks reutsharabani_ for the PR.
  • fix 2308: When using both --lf and --ff, only the last failed tests are run.
    Thanks ojii
    for the PR.
  • Replace minor/patch level version numbers in the documentation with placeholders.
    This significantly reduces change-noise as different contributors regnerate
    the documentation on different platforms.
    Thanks RonnyPfannschmidt_ for the PR.
  • fix 2391: consider pytest_plugins on all plugin modules
    Thanks RonnyPfannschmidt
    for the PR.

Bug Fixes

  • Fix AttributeError on sys.stdout.buffer / sys.stderr.buffer
    while using capsys fixture in python 3. (1407).
    Thanks to asottile
    .
  • Change capture.py's DontReadFromInput class to throw io.UnsupportedOperation errors rather
    than ValueErrors in the fileno method (2276).
    Thanks metasyn
    and vlad-dragos_ for the PR.
  • Fix exception formatting while importing modules when the exception message
    contains non-ascii characters (2336).
    Thanks fabioz
    for the report and nicoddemus_ for the PR.
  • Added documentation related to issue (1937)
    Thanks skylarjhdownes
    for the PR.
  • Allow collecting files with any file extension as Python modules (2369).
    Thanks Kodiologist
    for the PR.
  • Show the correct error message when collect "parametrize" func with wrong args (2383).
    Thanks The-Compiler
    for the report and robin0371_ for the PR.

.. _davidszotten: https://github.com/davidszotten
.. _fabioz: https://github.com/fabioz
.. _fogo: https://github.com/fogo
.. _fushi: https://github.com/fushi
.. _Kodiologist: https://github.com/Kodiologist
.. _Kriechi: https://github.com/Kriechi
.. _mandeep: https://github.com/mandeep
.. _mattduck: https://github.com/mattduck
.. _metasyn: https://github.com/metasyn
.. _MichalTHEDUDE: https://github.com/MichalTHEDUDE
.. _ojii: https://github.com/ojii
.. _reutsharabani: https://github.com/reutsharabani
.. _robin0371: https://github.com/robin0371
.. _skylarjhdownes: https://github.com/skylarjhdownes
.. _unsignedint: https://github.com/unsignedint
.. _wheerd: https://github.com/wheerd

.. _1407: pytest-dev/pytest#1407
.. _1512: pytest-dev/pytest#1512
.. _1821: pytest-dev/pytest#1821
.. _1874: pytest-dev/pytest#1874
.. _1937: pytest-dev/pytest#1937
.. _1952: pytest-dev/pytest#1952
.. _2007: pytest-dev/pytest#2007
.. _2013: pytest-dev/pytest#2013
.. _2101: pytest-dev/pytest#2101
.. _2166: pytest-dev/pytest#2166
.. _2208: pytest-dev/pytest#2208
.. _2228: pytest-dev/pytest#2228
.. _2276: pytest-dev/pytest#2276
.. _2308: pytest-dev/pytest#2308
.. _2336: pytest-dev/pytest#2336
.. _2369: pytest-dev/pytest#2369
.. _2383: pytest-dev/pytest#2383
.. _2391: pytest-dev/pytest#2391
.. _533: pytest-dev/pytest#533

3.0.7

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

  • Fix issue in assertion rewriting breaking due to modules silently discarding
    other modules when importing fails
    Notably, importing the anydbm module is fixed. (2248).
    Thanks pfhayes
    for the PR.
  • junitxml: Fix problematic case where system-out tag occured twice per testcase
    element in the XML report. Thanks kkoukiou_ for the PR.
  • Fix regression, pytest now skips unittest correctly if run with --pdb
    (2137). Thanks to gst for the report and mbyt_ for the PR.
  • Ignore exceptions raised from descriptors (e.g. properties) during Python test collection (2234).
    Thanks to bluetech
    .
  • --override-ini now correctly overrides some fundamental options like python_files (2238).
    Thanks sirex
    for the report and nicoddemus_ for the PR.
  • Replace raise StopIteration usages in the code by simple returns to finish generators, in accordance to PEP-479_ (2160).
    Thanks tgoodlet
    for the report and nicoddemus_ for the PR.
  • Fix internal errors when an unprintable AssertionError is raised inside a test.
    Thanks omerhadari_ for the PR.
  • Skipping plugin now also works with test items generated by custom collectors (2231).
    Thanks to vidartf
    .
  • Fix trailing whitespace in console output if no .ini file presented (2281). Thanks fbjorn for the PR.
  • Conditionless xfail markers no longer rely on the underlying test item
    being an instance of PyobjMixin, and can therefore apply to tests not
    collected by the built-in python test collector. Thanks barneygale_ for the
    PR.

.. _pfhayes: https://github.com/pfhayes
.. _bluetech: https://github.com/bluetech
.. _gst: https://github.com/gst
.. _sirex: https://github.com/sirex
.. _vidartf: https://github.com/vidartf
.. _kkoukiou: https://github.com/KKoukiou
.. _omerhadari: https://github.com/omerhadari
.. _fbjorn: https://github.com/fbjorn

.. _2248: pytest-dev/pytest#2248
.. _2137: pytest-dev/pytest#2137
.. _2160: pytest-dev/pytest#2160
.. _2231: pytest-dev/pytest#2231
.. _2234: pytest-dev/pytest#2234
.. _2238: pytest-dev/pytest#2238
.. _2281: pytest-dev/pytest#2281

.. _PEP-479: https://www.python.org/dev/peps/pep-0479/

3.0.6

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

  • pytest no longer generates PendingDeprecationWarning from its own operations, which was introduced by mistake in version 3.0.5 (2118).
    Thanks to nicoddemus
    for the report and RonnyPfannschmidt_ for the PR.
  • pytest no longer recognizes coroutine functions as yield tests (2129).
    Thanks to malinoff
    for the PR.
  • Plugins loaded by the PYTEST_PLUGINS environment variable are now automatically
    considered for assertion rewriting (2185).
    Thanks nicoddemus
    for the PR.
  • Improve error message when pytest.warns fails (2150). The type(s) of the
    expected warnings and the list of caught warnings is added to the
    error message. Thanks lesteve
    for the PR.
  • Fix pytester internal plugin to work correctly with latest versions of
    zope.interface (1989). Thanks nicoddemus for the PR.
  • Assert statements of the pytester plugin again benefit from assertion rewriting (1920).
    Thanks RonnyPfannschmidt
    for the report and nicoddemus_ for the PR.
  • Specifying tests with colons like test_foo.py::test_bar for tests in
    subdirectories with ini configuration files now uses the correct ini file
    (2148). Thanks pelme.
  • Fail testdir.runpytest().assert_outcomes() explicitly if the pytest
    terminal output it relies on is missing. Thanks to eli-b_ for the PR.

.. _barneygale: https://github.com/barneygale
.. _lesteve: https://github.com/lesteve
.. _malinoff: https://github.com/malinoff
.. _pelme: https://github.com/pelme
.. _eli-b: https://github.com/eli-b

.. _2118: pytest-dev/pytest#2118

.. _1989: pytest-dev/pytest#1989
.. _1920: pytest-dev/pytest#1920
.. _2129: pytest-dev/pytest#2129
.. _2148: pytest-dev/pytest#2148
.. _2150: pytest-dev/pytest#2150
.. _2185: pytest-dev/pytest#2185

3.0.5

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

  • Add warning when not passing option=value correctly to -o/--override-ini (2105).
    Also improved the help documentation. Thanks to mbukatov
    for the report and
    lwm_ for the PR.
  • Now --confcutdir and --junit-xml are properly validated if they are directories
    and filenames, respectively (2089_ and 2078). Thanks to lwm for the PR.
  • Add hint to error message hinting possible missing __init__.py (478). Thanks DuncanBetts.
  • More accurately describe when fixture finalization occurs in documentation (687). Thanks DuncanBetts.
  • Provide :ref: targets for recwarn.rst so we can use intersphinx referencing.
    Thanks to dupuy_ for the report and lwm_ for the PR.
  • In Python 2, use a simple +- ASCII string in the string representation of pytest.approx (for example &quot;4 +- 4.0e-06&quot;)
    because it is brittle to handle that in different contexts and representations internally in pytest
    which can result in bugs such as 2111. In Python 3, the representation still uses ± (for example 4 ± 4.0e-06).
    Thanks kerrick-lyft
    for the report and nicoddemus_ for the PR.
  • Using item.Function, item.Module, etc., is now issuing deprecation warnings, prefer
    pytest.Function, pytest.Module, etc., instead (2034).
    Thanks nmundar
    for the PR.
  • Fix error message using approx with complex numbers (2082).
    Thanks adler-j
    for the report and nicoddemus_ for the PR.
  • Fixed false-positives warnings from assertion rewrite hook for modules imported more than
    once by the pytest_plugins mechanism.
    Thanks nicoddemus_ for the PR.
  • Remove an internal cache which could cause hooks from conftest.py files in
    sub-directories to be called in other directories incorrectly (2016).
    Thanks d-b-w
    for the report and nicoddemus_ for the PR.
  • Remove internal code meant to support earlier Python 3 versions that produced the side effect
    of leaving None in sys.modules when expressions were evaluated by pytest (for example passing a condition
    as a string to pytest.mark.skipif)(2103).
    Thanks jaraco
    for the report and nicoddemus_ for the PR.
  • Cope gracefully with a .pyc file with no matching .py file (2038). Thanks
    nedbat
    .

.. _syre: https://github.com/syre
.. _adler-j: https://github.com/adler-j
.. _d-b-w: https://bitbucket.org/d-b-w/
.. _DuncanBetts: https://github.com/DuncanBetts
.. _dupuy: https://bitbucket.org/dupuy/
.. _kerrick-lyft: https://github.com/kerrick-lyft
.. _lwm: https://github.com/lwm
.. _mbukatov: https://github.com/mbukatov
.. _nedbat: https://github.com/nedbat
.. _nmundar: https://github.com/nmundar

.. _2016: pytest-dev/pytest#2016
.. _2034: pytest-dev/pytest#2034
.. _2038: pytest-dev/pytest#2038
.. _2078: pytest-dev/pytest#2078
.. _2082: pytest-dev/pytest#2082
.. _2089: pytest-dev/pytest#2089
.. _2103: pytest-dev/pytest#2103
.. _2105: pytest-dev/pytest#2105
.. _2111: pytest-dev/pytest#2111
.. _478: pytest-dev/pytest#478
.. _687: pytest-dev/pytest#687

3.0.4

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

  • Import errors when collecting test modules now display the full traceback (1976).
    Thanks cwitty
    for the report and nicoddemus_ for

@codecov-io
Copy link

codecov-io commented Nov 7, 2017

Codecov Report

Merging #2 into master will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@          Coverage Diff          @@
##           master     #2   +/-   ##
=====================================
  Coverage     100%   100%           
=====================================
  Files          11     11           
  Lines         408    408           
  Branches       61     61           
=====================================
  Hits          408    408

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 62d82e8...1d60528. Read the comment docs.

@asvetlov asvetlov merged commit b7f92a4 into master Nov 7, 2017
@asvetlov asvetlov deleted the pyup-initial-update branch November 7, 2017 11:51
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.

3 participants