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

Closed
wants to merge 8 commits into from
Closed

Initial Update #3

wants to merge 8 commits into from

Conversation

pyup-bot
Copy link

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

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

Here's the executive summary:

Updates

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

flake8 3.3.0 » 3.3.0 PyPI | Changelog | Repo
xenon 0.5.0 » 0.5.0 PyPI | Changelog | Docs
sphinx-rtd-theme 0.2.4 » 0.2.4 PyPI | Changelog | Repo
pytest-cov 2.5.1 » 2.5.1 PyPI | Changelog | Repo
click 6.7 » 6.7 PyPI | Changelog | Repo
pytest 3.1.0 » 3.1.0 PyPI | Changelog | Repo | Homepage
coverage 4.4.1 » 4.4.1 PyPI | Changelog | Docs
pytest-flake8 0.8.1 » 0.8.1 PyPI | Changelog | Repo

Changelogs

flake8 -> 3.3.0

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

xenon -> 0.5.0

0.5.0


  • Fix radon dependency: 15

0.3.4


  • Replace sh with subprocess: 12

0.3.3


  • Fix behaviour of --no-assert: 11

0.3.1


  • Add a missing dependency: 8.

0.3


  • Add basic documentation: 3.
  • Use HTTPretty in tests.
  • Make Xenon stabler.

0.2.1


  • Add -u, --url option: 2.
  • Add tests.

0.1

sphinx-rtd-theme -> 0.2.4

0.2.4


  • Yet another patch to deal with extra builders outside Spinx, such as the
    singlehtml builders from the Read the Docs Sphinx extension

0.2.3


  • Temporarily patch Sphinx issue with singlehtml builder by inspecting the
    builder in template.

0.2.2


  • Roll back toctree fix in 0.2.1 (367). This didn't fix the issue and
    introduced another bug with toctrees display.

0.2.1


  • Add the rel HTML attribute to the footer links which point to
    the previous and next pages.
  • Fix toctree issue caused by Sphinx singlehtml builder (367)

0.2.0


  • Adds the comments block after the body block in the template
  • Added "Edit on GitLab" support
  • Many bug fixes

0.1.10alpha


.. note::
This is a pre-release version

  • Removes Sphinx dependency
  • Fixes hamburger on mobile display
  • Adds a body_begin block to the template
  • Add prev_next_buttons_location which can take the value bottom,
    top, both , None and will display the "Next" and "Previous"
    buttons accordingly

0.1.9


  • Intermittent scrollbar visibility bug fixed. This change introduces a
    backwards incompatible change to the theme's layout HTML. This should only be
    a problem for derivative themes that have overridden styling of nav elements
    using direct decendant selectors. See 215_ for more information.
  • Safari overscroll bug fixed
  • Version added to the nav header
  • Revision id was added to the documentation footer if you are using RTD
  • An extra block, extrafooter was added to allow extra content in the
    document footer block
  • Fixed modernizr URL
  • Small display style changes on code blocks, figure captions, and nav elements

.. _215: readthedocs/sphinx_rtd_theme#215

0.1.8


  • Start keeping changelog :)
  • Support for third and fourth level headers in the sidebar
  • Add support for Sphinx 1.3
  • Add sidebar headers for :caption: in Sphinx toctree
  • Clean up sidebar scrolling behavior so it never scrolls out of view

How the Table of Contents builds

Currently the left menu will build based upon any toctree(s) defined in your index.rst file.
It outputs 2 levels of depth, which should give your visitors a high level of access to your
docs. If no toctrees are set the theme reverts to sphinx's usual local toctree.

It's important to note that if you don't follow the same styling for your rST headers across
your documents, the toctree will misbuild, and the resulting menu might not show the correct
depth when it renders.

Also note that the table of contents is set with includehidden=true. This allows you
to set a hidden toc in your index file with the hidden_ property that will allow you
to build a toc without it rendering in your index.

By default, the navigation will "stick" to the screen as you scroll. However if your toc
is vertically too large, it will revert to static positioning. To disable the sticky nav
altogether change the setting in conf.py.

Contributing or modifying the theme

The sphinx_rtd_theme is primarily a sass_ project that requires a few other sass libraries. I'm
using bower_ to manage these dependencies and sass_ to build the css. The good news is
I have a very nice set of grunt_ operations that will not only load these dependencies, but watch
for changes, rebuild the sphinx demo docs and build a distributable version of the theme.
The bad news is this means you'll need to set up your environment similar to that
of a front-end developer (vs. that of a python developer). That means installing node and ruby.

Set up your environment

  1. Install sphinx_ into a virtual environment.

.. code::

pip install sphinx

  1. Install sass

.. code::

gem install sass

  1. Install node, bower and grunt.

.. code::

// Install node
brew install node

// Install bower and grunt
npm install -g bower grunt-cli

// Now that everything is installed, let's install the theme dependecies.
npm install

Now that our environment is set up, make sure you're in your virtual environment, go to
this repository in your terminal and run grunt:

.. code::

grunt

This default task will do the following very cool things that make it worth the trouble.

  1. It'll install and update any bower dependencies.
  2. It'll run sphinx and build new docs.
  3. It'll watch for changes to the sass files and build css from the changes.
  4. It'll rebuild the sphinx docs anytime it notices a change to .rst, .html, .js
    or .css files.

Before you create an issue

I don't have a lot of time to maintain this project due to other responsibilities.
I know there are a lot of Python engineers out there that can't code sass / css and
are unable to submit pull requests. That said, submitting random style bugs without
at least providing sample documentation that replicates your problem is a good
way for me to ignore your request. RST unfortunately can spit out a lot of things
in a lot of ways. I don't have time to research your problem for you, but I do
have time to fix the actual styling issue if you can replicate the problem for me.

Releasing the Theme

When you release a new version,
you should do the following:

  • Bump the version in sphinx_rtd_theme/__init__.py - we try to follow semver <http://semver.org/>_, so be careful with breaking changes.
  • Run a grunt build to rebuild all the theme assets.
  • Commit that change
  • Tag the release in git: git tag $NEW_VERSION.
  • Push the tag to GitHub: git push --tags origin
  • Upload the package to PyPI: python setup.py sdist bdist_wheel upload
  • In the readthedocs.org repo, edit the bower.json file to point at the correct version (sphinx-rtd-theme": "https://github.com/rtfd/sphinx-rtd-theme.git$NEW_VERSION")
  • In the readthedocs.org repo, run gulp build to update the distributed theme files

TODO

  • Separate some sass variables at the theme level so you can overwrite some basic colors.

pytest-cov -> 2.5.1

2.5.1


  • Fixed xdist breakage (regression in 2.5.0).
    Fixes 157 <https://github.com/pytest-dev/pytest-cov/issues/157>_.
  • Allow setting custom data_file name in .coveragerc.
    Fixes 145 <https://github.com/pytest-dev/pytest-cov/issues/145>.
    Contributed by Jannis Leidel & Ionel Cristian Mărieș in
    156 <https://github.com/pytest-dev/pytest-cov/pull/156>
    .

2.5.0


  • Always show a summary when --cov-fail-under is used. Contributed by Francis Niu in PR141 <https://github.com/pytest-dev/pytest-cov/pull/141>_.
  • Added --cov-branch option. Fixes 85 <https://github.com/pytest-dev/pytest-cov/issues/85>_.
  • Improve exception handling in subprocess setup. Fixes 144 <https://github.com/pytest-dev/pytest-cov/issues/144>_.
  • Fixed handling when --cov is used multiple times. Fixes 151 <https://github.com/pytest-dev/pytest-cov/issues/151>_.

2.4.0


  • Added a "disarm" option: --no-cov. It will disable coverage measurements. Contributed by Zoltan Kozma in
    PR135 <https://github.com/pytest-dev/pytest-cov/pull/135>_.

WARNING: Do not put this in your configuration files, it's meant to be an one-off for situations where you want to
disable coverage from command line.

  • Fixed broken exception handling on .pth file. See 136 <https://github.com/pytest-dev/pytest-cov/issues/136>_.

2.3.1


  • Fixed regression causing spurious errors when xdist was used. See 124 <https://github.com/pytest-dev/pytest-cov/issues/124>_.
  • Fixed DeprecationWarning about incorrect addoption use. Contributed by Florian Bruhin in PR127 <https://github.com/pytest-dev/pytest-cov/pull/127>_.
  • Fixed deprecated use of funcarg fixture API. Contributed by Daniel Hahler in PR125 <https://github.com/pytest-dev/pytest-cov/pull/125>_.

2.3.0


  • Add support for specifying output location for html, xml, and annotate report.
    Contributed by Patrick Lannigan in PR113 <https://github.com/pytest-dev/pytest-cov/pull/113>_.
  • Fix bug hiding test failure when cov-fail-under failed.
  • For coverage >= 4.0, match the default behaviour of coverage report and
    error if coverage fails to find the source instead of just printing a warning.
    Contributed by David Szotten in PR116 <https://github.com/pytest-dev/pytest-cov/pull/116>_.
  • Fixed bug occurred when bare --cov parameter was used with xdist.
    Contributed by Michael Elovskikh in PR120 <https://github.com/pytest-dev/pytest-cov/pull/120>_.
  • Add support for skip_covered and added --cov-report=term-skip-covered command
    line options. Contributed by Saurabh Kumar in PR115 <https://github.com/pytest-dev/pytest-cov/pull/115>_.

2.2.1


  • Fixed incorrect merging of coverage data when xdist was used and coverage was >= 4.0.

2.2.0


  • Added support for changing working directory in tests. Previously changing working
    directory would disable coverage measurements in suprocesses.
  • Fixed broken handling for --cov-report=annotate.

2.1.0


  • Added support for coverage 4.0b2.
  • Added the --cov-append command line options. Contributed by Christian Ledermann
    in PR80 <https://github.com/pytest-dev/pytest-cov/pull/80>_.

2.0.0


  • Added --cov-fail-under, akin to the new fail_under option in coverage-4.0
    (automatically activated if there's a [report] fail_under = ... in .coveragerc).
  • Changed --cov-report=term to automatically upgrade to --cov-report=term-missing
    if there's [run] show_missing = True in .coveragerc.
  • Changed --cov so it can be used with no path argument (in wich case the source
    settings from .coveragerc will be used instead).
  • Fixed .pth installation to work in all cases (install, easy_install, wheels, develop etc).
  • Fixed .pth uninstallation to work for wheel installs.
  • Support for coverage 4.0.
  • Data file suffixing changed to use coverage's data_suffix=True option (instead of the
    custom suffixing).
  • Avoid warning about missing coverage data (just like coverage.control.process_startup).
  • Fixed a race condition when running with xdist (all the workers tried to combine the files).
    It's possible that this issue is not present in pytest-cov 1.8.X.

1.8.2


  • N/A

click -> 6.7

6.7


(bugfix release; released on January 6th 2017)

  • Make click.progressbar work with codecs.open files. See 637.
  • Fix bug in bash completion with nested subcommands. See 639.
  • Fix test runner not saving caller env correctly. See 644.
  • Fix handling of SIGPIPE. See 626
  • Deal with broken Windows environments such as Google App Engine's. See 711.

6.6


(bugfix release; released on April 4th 2016)

  • Fix bug in click.Path where it would crash when passed a -. See 551.

6.4


(bugfix release; released on March 24th 2016)

  • Fix bug in bash completion where click would discard one or more trailing
    arguments. See 471.

6.3


(bugfix release; released on February 22 2016)

  • Fix argument checks for interpreter invoke with -m and -c
    on Windows.
  • Fixed a bug that cased locale detection to error out on Python 3.

6.2


(bugfix release, released on November 27th 2015)

  • Correct fix for hidden progress bars.

6.1


(bugfix release, released on November 27th 2015)

  • Resolved an issue with invisible progress bars no longer rendering.
  • Disable chain commands with subcommands as they were inherently broken.
  • Fix MissingParameter not working without parameters passed.

6.0


(codename "pow pow", released on November 24th 2015)

  • Optimized the progressbar rendering to not render when it did not
    actually change.
  • Explicitly disallow nargs=-1 with a set default.
  • The context is now closed before it's popped from the stack.
  • Added support for short aliases for the false flag on toggles.
  • Click will now attempt to aid you with debugging locale errors
    better by listing with the help of the OS what locales are
    available.
  • Click used to return byte strings on Python 2 in some unit-testing
    situations. This has been fixed to correctly return unicode strings
    now.
  • For Windows users on Python 2, Click will now handle Unicode more
    correctly handle Unicode coming in from the system. This also has
    the disappointing side effect that filenames will now be always
    unicode by default in the Path type which means that this can
    introduce small bugs for code not aware of this.
  • Added a type parameter to Path to force a specific string type
    on the value.
  • For users running Python on Windows the echo) and prompt functions
    now work with full unicode functionality in the Python windows console
    by emulating an output stream. This also applies to getting the
    virtual output and input streams via click.get_text_stream(...).
  • Unittests now always force a certain virtual terminal width.
  • Added support for allowing dashes to indicate standard streams to the
    Path type.
  • Multi commands in chain mode no longer propagate arguments left over
    from parsing to the callbacks. It's also now disallowed through an
    exception when optional arguments are attached to multi commands if chain
    mode is enabled.
  • Relaxed restriction that disallowed chained commands to have other
    chained commands as child commands.
  • Arguments with positive nargs can now have defaults implemented.
    Previously this configuration would often result in slightly unexpected
    values be returned.

5.1


(bugfix release, released on 17th August 2015)

  • Fix a bug in pass_obj that would accidentally pass the context too.

5.0


(codename "tok tok", released on 16th August 2015)

  • Removed various deprecated functionality.
  • Atomic files now only accept the w mode.
  • Change the usage part of help output for very long commands to wrap
    their arguments onto the next line, indented by 4 spaces.
  • Fix a bug where return code and error messages were incorrect when
    using CliRunner.
  • added get_current_context.
  • added a meta dictionary to the context which is shared across the
    linked list of contexts to allow click utilities to place state there.
  • introduced Context.scope.
  • The echo function is now threadsafe: It calls the write method of the
    underlying object only once.
  • prompt(hide_input=True) now prints a newline on ^C.
  • Click will now warn if users are using unicode_literals.
  • Click will now ignore the PAGER environment variable if it is empty or
    contains only whitespace.
  • The click-contrib GitHub organization was created.

4.1


(bugfix release, released on July 14th 2015)

  • Fix a bug where error messages would include a trailing None string.
  • Fix a bug where Click would crash on docstrings with trailing newlines.
  • Support streams with encoding set to None on Python 3 by barfing with
    a better error.
  • Handle ^C in less-pager properly.
  • Handle return value of None from sys.getfilesystemencoding
  • Fix crash when writing to unicode files with click.echo.
  • Fix type inference with multiple options.

4.0


(codename "zoom zoom", released on March 31st 2015)

  • Added color parameters to lots of interfaces that directly or indirectly
    call into echoing. This previously was always autodetection (with the
    exception of the echo_via_pager function). Now you can forcefully
    enable or disable it, overriding the auto detection of Click.
  • Added an UNPROCESSED type which does not perform any type changes which
    simplifies text handling on 2.x / 3.x in some special advanced usecases.
  • Added NoSuchOption and BadOptionUsage exceptions for more generic
    handling of errors.
  • Added support for handling of unprocessed options which can be useful in
    situations where arguments are forwarded to underlying tools.
  • Added max_content_width parameter to the context which can be used to
    change the maximum width of help output. By default Click will not format
    content for more than 80 characters width.
  • Added support for writing prompts to stderr.
  • Fix a bug when showing the default for multiple arguments.
  • Added support for custom subclasses to option and argument.
  • Fix bug in clear() on Windows when colorama is installed.
  • Reject nargs=-1 for options properly. Options cannot be variadic.
  • Fixed an issue with bash completion not working properly for commands with
    non ASCII characters or dashes.
  • Added a way to manually update the progressbar.
  • Changed the formatting of missing arguments. Previously the internal
    argument name was shown in error messages, now the metavar is shown if
    passed. In case an automated metavar is selected, it's stripped of
    extra formatting first.

3.3


(bugfix release, released on September 8th 2014)

  • Fixed an issue with error reporting on Python 3 for invalid forwarding
    of commands.

3.2


(bugfix release, released on August 22nd 2014)

  • Added missing err parameter forwarding to the secho function.
  • Fixed default parameters not being handled properly by the context
    invoke method. This is a backwards incompatible change if the function
    was used improperly. See :ref:upgrade-to-3.2 for more information.
  • Removed the invoked_subcommands attribute largely. It is not possible
    to provide it to work error free due to how the parsing works so this
    API has been deprecated. See :ref:upgrade-to-3.2 for more information.
  • Restored the functionality of invoked_subcommand which was broken as
    a regression in 3.1.

3.1


(bugfix release, released on August 13th 2014)

  • Fixed a regression that caused contexts of subcommands to be
    created before the parent command was invoked which was a
    regression from earlier Click versions.

3.0


(codename "clonk clonk", released on August 12th 2014)

  • formatter now no longer attempts to accomodate for terminals
    smaller than 50 characters. If that happens it just assumes
    a minimal width.
  • added a way to not swallow exceptions in the test system.
  • added better support for colors with pagers and ways to
    override the autodetection.
  • the CLI runner's result object now has a traceback attached.
  • improved automatic short help detection to work better with
    dots that do not terminate sentences.
  • when definining options without actual valid option strings
    now, Click will give an error message instead of silently
    passing. This should catch situations where users wanted to
    created arguments instead of options.
  • Restructured Click internally to support vendoring.
  • Added support for multi command chaining.
  • Added support for defaults on options with multiple and
    options and arguments with nargs != 1.
  • label passed to progressbar is no longer rendered with
    whitespace stripped.
  • added a way to disable the standalone mode of the main
    method on a Click command to be able to handle errors better.
  • added support for returning values from command callbacks.
  • added simplifications for printing to stderr from echo.
  • added result callbacks for groups.
  • entering a context multiple times defers the cleanup until
    the last exit occurs.
  • added open_file.

2.6


(bugfix release, released on August 11th 2014)

  • Fixed an issue where the wrapped streams on Python 3 would be reporting
    incorrect values for seekable.

2.5


(bugfix release, released on July 28th 2014)

  • Fixed a bug with text wrapping on Python 3.

2.4


(bugfix release, released on July 4th 2014)

  • Corrected a bug in the change of the help option in 2.3.

2.3


(bugfix release, released on July 3rd 2014)

  • Fixed an incorrectly formatted help record for count options.'
  • Add support for ansi code stripping on Windows if colorama
    is not available.
  • restored the Click 1.0 handling of the help parameter for certain
    edge cases.

2.2


(bugfix release, released on June 26th 2014)

  • fixed tty detection on PyPy.
  • fixed an issue that progress bars were not rendered when the
    context manager was entered.

2.1


(bugfix release, released on June 14th 2014)

  • fixed the :func:launch function on windows.
  • improved the colorama support on windows to try hard to not
    screw up the console if the application is interrupted.
  • fixed windows terminals incorrectly being reported to be 80
    characters wide instead of 79
  • use colorama win32 bindings if available to get the correct
    dimensions of a windows terminal.
  • fixed an issue with custom function types on Python 3.
  • fixed an issue with unknown options being incorrectly reported
    in error messages.

2.0


(codename "tap tap tap", released on June 6th 2014)

  • added support for opening stdin/stdout on Windows in
    binary mode correctly.
  • added support for atomic writes to files by going through
    a temporary file.
  • introduced :exc:BadParameter which can be used to easily perform
    custom validation with the same error messages as in the type system.
  • added :func:progressbar; a function to show progress bars.
  • added :func:get_app_dir; a function to calculate the home folder
    for configs.
  • Added transparent handling for ANSI codes into the :func:echo
    function through colorama.
  • Added :func:clear function.
  • Breaking change: parameter callbacks now get the parameter object
    passed as second argument. There is legacy support for old callbacks
    which will warn but still execute the script.
  • Added :func:style, :func:unstyle and :func:secho for ANSI
    styles.
  • Added an :func:edit function that invokes the default editor.
  • Added an :func:launch function that launches browsers and applications.
  • nargs of -1 for arguments can now be forced to be a single item through
    the required flag. It defaults to not required.
  • setting a default for arguments now implicitly makes it non required.
  • changed "yN" / "Yn" to "y/N" and "Y/n" in confirmation prompts.
  • added basic support for bash completion.
  • added :func:getchar to fetch a single character from the terminal.
  • errors now go to stderr as intended.
  • fixed various issues with more exotic parameter formats like DOS/Windows
    style arguments.
  • added :func:pause which works similar to the Windows pause cmd
    built-in but becomes an automatic noop if the application is not run
    through a terminal.
  • added a bit of extra information about missing choice parameters.
  • changed how the help function is implemented to allow global overriding
    of the help option.
  • added support for token normalization to implement case insensitive handling.
  • added support for providing defaults for context settings.

1.1


(bugfix release, released on May 23rd 2014)

  • fixed a bug that caused text files in Python 2 to not accept
    native strings.

1.0


(no codename, released on May 21st 2014)

  • Initial release.

pytest -> 3.1.0

3.0.8

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

  • Change capture.py's DontReadFromInput class to throw io.UnsupportedOperation errors rather
    than ValueErrors in the fileno method (2276).
    Thanks metasyn
    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.

.. _skylarjhdownes: https://github.com/skylarjhdownes
.. _fabioz: https://github.com/fabioz
.. _metasyn: https://github.com/metasyn
.. _Kodiologist: https://github.com/Kodiologist
.. _robin0371: https://github.com/robin0371

.. _1937: pytest-dev/pytest#1937
.. _2276: pytest-dev/pytest#2276
.. _2336: pytest-dev/pytest#2336
.. _2369: pytest-dev/pytest#2369
.. _2383: pytest-dev/pytest#2383

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 "4 +- 4.0e-06")
    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
    .

.. _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 the PR.
  • Fix confusing command-line help message for custom options with two or more metavar properties (2004).
    Thanks okulynyak
    and davehunt_ for the report and nicoddemus_ for the PR.
  • When loading plugins, import errors which contain non-ascii messages are now properly handled in Python 2 (1998).
    Thanks nicoddemus
    for the PR.
  • Fixed cyclic reference when pytest.raises is used in context-manager form (1965). Also as a
    result of this fix, sys.exc_info() is left empty in both context-manager and function call usages.
    Previously, sys.exc_info would contain the exception caught by the context manager,
    even when the expected exception occurred.
    Thanks MSeifert04
    for the report and the PR.
  • Fixed false-positives warnings from assertion rewrite hook for modules that were rewritten but
    were later marked explicitly by pytest.register_assert_rewrite
    or implicitly as a plugin (2005).
    Thanks RonnyPfannschmidt
    for the report and nicoddemus_ for the PR.
  • Report teardown output on test failure (442).
    Thanks matclab
    for the PR.
  • Fix teardown error message in generated xUnit XML.
    Thanks gdyuldin_ for the PR.
  • Properly handle exceptions in multiprocessing tasks (1984).
    Thanks adborden
    for the report and nicoddemus_ for the PR.
  • Clean up unittest TestCase objects after tests are complete (1649).
    Thanks d_b_w
    for the report and PR.

.. _adborden: https://github.com/adborden
.. _cwitty: https://github.com/cwitty
.. _d_b_w: https://github.com/d_b_w
.. _gdyuldin: https://github.com/gdyuldin
.. _matclab: https://github.com/matclab
.. _MSeifert04: https://github.com/MSeifert04
.. _okulynyak: https://github.com/okulynyak

.. _442: pytest-dev/pytest#442
.. _1965: pytest-dev/pytest#1965
.. _1976: pytest-dev/pytest#1976
.. _1984: pytest-dev/pytest#1984
.. _1998: pytest-dev/pytest#1998
.. _2004: pytest-dev/pytest#2004
.. _2005: pytest-dev/pytest#2005
.. _1649: pytest-dev/pytest#1649

3.0.3

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

  • The ids argument to parametrize again accepts unicode strings
    in Python 2 (1905).
    Thanks philpep
    for the report and nicoddemus_ for the PR.
  • Assertions are now being rewritten for plugins in development mode
    (pip install -e) (1934).
    Thanks nicoddemus
    for the PR.
  • Fix pkg_resources import error in Jython projects (1853).
    Thanks raquel-ucl
    for the PR.
  • Got rid of AttributeError: 'Module' object has no attribute '_obj' exception
    in Python 3 (1944).
    Thanks axil
    for the PR.
  • Explain a bad scope value passed to fixture declarations or
    a MetaFunc.parametrize() call. Thanks tgoodlet_ for the PR.
  • This version includes pluggy-0.4.0, which correctly handles
    VersionConflict errors in plugins (704).
    Thanks nicoddemus
    for the PR.

.. _philpep: https://github.com/philpep
.. _raquel-ucl: https://github.com/raquel-ucl
.. _axil: https://github.com/axil
.. _tgoodlet: https://github.com/tgoodlet

.. _1853: pytest-dev/pytest#1853
.. _1905: pytest-dev/pytest#1905
.. _1934: pytest-dev/pytest#1934
.. _1944: pytest-dev/pytest#1944
.. _704: pytest-dev/pytest#704

3.0.2

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

  • Improve error message when passing non-string ids to pytest.mark.parametrize (1857).
    Thanks okken
    for the report and nicoddemus_ for the PR.
  • Add buffer attribute to stdin stub class pytest.capture.DontReadFromInput
    Thanks joguSD_ for the PR.
  • Fix UnicodeEncodeError when string comparison with unicode has failed. (1864)
    Thanks AiOO
    for the PR.
  • pytest_plugins is now handled correctly if defined as a string (as opposed as
    a sequence of strings) when modules are considered for assertion rewriting.
    Due to this bug, much more modules were being rewritten than necessary
    if a test suite uses pytest_plugins to load internal plugins (1888).
    Thanks jaraco
    for the report and nicoddemus_ for the PR (1891_).
  • Do not call tearDown and cleanups when running tests from
    unittest.TestCase subclasses with --pdb
    enabled. This allows proper post mortem debugging for all applications
    which have significant logic in their tearDown machinery (1890). Thanks
    mbyt
    for the PR.
  • Fix use of deprecated getfuncargvalue method in the internal doctest plugin.
    Thanks ViviCoder_ for the report (1898_).

.. _joguSD: https://github.com/joguSD
.. _AiOO: https://github.com/AiOO
.. _mbyt: https://github.com/mbyt
.. _ViviCoder: https://github.com/ViviCoder

.. _1857: pytest-dev/pytest#1857
.. _1864: https://github.com/py

@cblegare cblegare closed this May 31, 2017
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