Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Initial Update #1

Open
wants to merge 17 commits into
base: develop
Choose a base branch
from
Open

Initial Update #1

wants to merge 17 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.

PyYAML 3.11 » 3.12 PyPI | Changelog | Homepage
pytest 3.1.2 » 3.2.2 PyPI | Changelog | Repo | Homepage
tox 2.3.1 » 2.8.2 PyPI | Changelog | Docs
cryptography 1.7 » 2.0.3 PyPI | Changelog | Repo
sphinx_rtd_theme 0.2.4 » 0.2.4 PyPI | Changelog | Repo
pipreqs 0.4.9 » 0.4.9 PyPI | Changelog | Repo
setuptools 36.2.7 » 36.4.0 PyPI | Changelog | Repo
wheel 0.29.0 » 0.30.0 PyPI | Changelog | Repo
flake8 2.6.0 » 3.4.1 PyPI | Changelog | Repo
coverage 4.1 » 4.4.1 PyPI | Changelog | Docs
Sphinx 1.4.8 » 1.6.3 PyPI | Changelog | Homepage
pytest-runner 2.11.1 » 2.12.1 PyPI | Changelog | Repo

Changelogs

pytest 3.1.2 -> 3.2.2

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>_)

tox 2.3.1 -> 2.8.2

2.8.1

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

  • :pull:599: fix problems with implementation of :issue:515.
    Substitutions from other sections were not made anymore if they were not in envlist.
    Thanks to Clark Boylan (:user:cboylan) for helping to get this fixed (:pull:597).

2.8.0

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

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

2.7.0

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

  • :pull:450: Stop after the first installdeps and first testenv create hooks
    succeed. This changes the default behaviour of tox_testenv_create
    and tox_testenv_install_deps to not execute other registered hooks when
    the first hook returns a result that is not None.
    Thanks Anthony Sottile (:user:asottile).
  • :issue:271 and :issue:464: Improve environment information for users.

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

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

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

Thanks Bernát Gábor (:user:gaborbernat).

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

2.6.0

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

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

2.5.0

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

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

2.4.1

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

  • fix :issue:380: properly perform substitution again. Thanks Ian
    Cordasco.

2.4.0

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

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

2.3.2

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

  • fix :issue:314: fix command invocation with .py scripts on windows.
  • fix :issue:279: allow cross-section substitution when the value contains
    posargs. Thanks Sachi King for the PR.

cryptography 1.7 -> 2.0.3

2.0.2

  • Marked all symbols as hidden in the manylinux1 wheel to avoid a
    bug with symbol resolution in certain scenarios.

.. _v2-0-1:

2.0.1

  • Fixed a compilation bug affecting OpenBSD.
  • Altered the manylinux1 wheels to statically link OpenSSL instead of
    dynamically linking and bundling the shared object. This should resolve
    crashes seen when using uwsgi or other binaries that link against
    OpenSSL independently.
  • Fixed the stack level for the signer and verifier warnings.

.. _v2-0:

2.0

  • BACKWARDS INCOMPATIBLE: Support for Python 3.3 has been dropped.
  • We now ship manylinux1 wheels linked against OpenSSL 1.1.0f. These wheels
    will be automatically used with most Linux distributions if you are running
    the latest pip.
  • Deprecated the use of signer on
    :class:~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKey,
    :class:~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKey,
    and
    :class:~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKey
    in favor of sign.
  • Deprecated the use of verifier on
    :class:~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKey,
    :class:~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKey,
    and
    :class:~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKey
    in favor of verify.
  • Added support for parsing
    :class:~cryptography.x509.certificate_transparency.SignedCertificateTimestamp
    objects from X.509 certificate extensions.
  • Added support for
    :class:~cryptography.hazmat.primitives.ciphers.aead.ChaCha20Poly1305.
  • Added support for
    :class:~cryptography.hazmat.primitives.ciphers.aead.AESCCM.
  • Added
    :class:~cryptography.hazmat.primitives.ciphers.aead.AESGCM, a "one shot"
    API for AES GCM encryption.
  • Added support for :doc:/hazmat/primitives/asymmetric/x25519.
  • Added support for serializing and deserializing Diffie-Hellman parameters
    with
    :func:~cryptography.hazmat.primitives.serialization.load_pem_parameters,
    :func:~cryptography.hazmat.primitives.serialization.load_der_parameters,
    and
    :meth:~cryptography.hazmat.primitives.asymmetric.dh.DHParameters.parameter_bytes
    .
  • The extensions attribute on :class:~cryptography.x509.Certificate,
    :class:~cryptography.x509.CertificateSigningRequest,
    :class:~cryptography.x509.CertificateRevocationList, and
    :class:~cryptography.x509.RevokedCertificate now caches the computed
    Extensions object. There should be no performance change, just a
    performance improvement for programs accessing the extensions attribute
    multiple times.

.. _v1-9:

1.9

  • BACKWARDS INCOMPATIBLE: Elliptic Curve signature verification no longer
    returns True on success. This brings it in line with the interface's
    documentation, and our intent. The correct way to use
    :meth:~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKey.verify
    has always been to check whether or not
    :class:~cryptography.exceptions.InvalidSignature was raised.
  • BACKWARDS INCOMPATIBLE: Dropped support for macOS 10.7 and 10.8.
  • BACKWARDS INCOMPATIBLE: The minimum supported PyPy version is now 5.3.
  • Python 3.3 support has been deprecated, and will be removed in the next
    cryptography release.
  • Add support for providing tag during
    :class:~cryptography.hazmat.primitives.ciphers.modes.GCM finalization via
    :meth:~cryptography.hazmat.primitives.ciphers.AEADDecryptionContext.finalize_with_tag.
  • Fixed an issue preventing cryptography from compiling against
    LibreSSL 2.5.x.
  • Added
    :meth:~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKey.key_size
    and
    :meth:~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKey.key_size
    as convenience methods for determining the bit size of a secret scalar for
    the curve.
  • Accessing an unrecognized extension marked critical on an X.509 object will
    no longer raise an UnsupportedExtension exception, instead an
    :class:~cryptography.x509.UnrecognizedExtension object will be returned.
    This behavior was based on a poor reading of the RFC, unknown critical
    extensions only need to be rejected on certificate verification.
  • The CommonCrypto backend has been removed.
  • MultiBackend has been removed.
  • Whirlpool and RIPEMD160 have been deprecated.

.. _v1-8-2:

1.8.2

  • Fixed a compilation bug affecting OpenSSL 1.1.0f.
  • Updated Windows and macOS wheels to be compiled against OpenSSL 1.1.0f.

.. _v1-8-1:

1.8.1

  • Fixed macOS wheels to properly link against 1.1.0 rather than 1.0.2.

.. _v1-8:

1.8

  • Added support for Python 3.6.
  • Windows and macOS wheels now link against OpenSSL 1.1.0.
  • macOS wheels are no longer universal. This change significantly shrinks the
    size of the wheels. Users on macOS 32-bit Python (if there are any) should
    migrate to 64-bit or build their own packages.
  • Changed ASN.1 dependency from pyasn1 to asn1crypto resulting in a
    general performance increase when encoding/decoding ASN.1 structures. Also,
    the pyasn1_modules test dependency is no longer required.
  • Added support for
    :meth:~cryptography.hazmat.primitives.ciphers.CipherContext.update_into on
    :class:~cryptography.hazmat.primitives.ciphers.CipherContext.
  • Added
    :meth:~cryptography.hazmat.primitives.asymmetric.dh.DHPrivateKeyWithSerialization.private_bytes
    to
    :class:~cryptography.hazmat.primitives.asymmetric.dh.DHPrivateKeyWithSerialization.
  • Added
    :meth:~cryptography.hazmat.primitives.asymmetric.dh.DHPublicKey.public_bytes
    to
    :class:~cryptography.hazmat.primitives.asymmetric.dh.DHPublicKey.
  • :func:~cryptography.hazmat.primitives.serialization.load_pem_private_key
    and
    :func:~cryptography.hazmat.primitives.serialization.load_der_private_key
    now require that password must be bytes if provided. Previously this
    was documented but not enforced.
  • Added support for subgroup order in :doc:/hazmat/primitives/asymmetric/dh.

.. _v1-7-2:

1.7.2

  • Updated Windows and macOS wheels to be compiled against OpenSSL 1.0.2k.

.. _v1-7-1:

1.7.1

  • Fixed a regression in int_from_bytes where it failed to accept
    bytearray.

.. _v1-7:

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.

pipreqs -> 0.4.9

0.4.8


  • Implement '--clean' and '--diff' (kxrd)
  • Exclude concurrent{,.futures} from stdlib if py2 (kxrd)

0.4.7


  • BUG: remove package/version duplicates
  • Style: pep8

0.4.5


  • Fixed the --pypi-server option

0.4.4


  • Remove Spaces in output
  • Add package to output even without version

0.4.2


  • Fix duplicated lines in requirements.txt (Dmitry Pribysh)

0.4.1


  • Added ignore option (Nick Rhinehart)

0.4.0


  • Walk Abstract Syntax Tree to find imports (Kay Sackey)

0.3.9


  • Fix regex for docstring comments (35)

0.3.8


  • Add more package mapping
  • fix(pipreqs/mapping): remove pylab reference to matplotlib
  • Remove comments """ before going through imports
  • Update proxy documentation

0.3.1


  • fixed lint warnings (EJ Lee)
  • add --encoding parameter for open() (EJ Lee)
  • support windows directory separator (EJ Lee)

0.3.0


  • Add --proxy option
  • Add --pypi-server option

0.2.9


  • Ignore irreverent directory when generating requirement.txt (Lee Wei)
  • Modify logging level of "Requirement.txt already exists" to warning (Lee Wei)

0.2.8


  • Add --force option as a protection for overwrites

0.2.6


  • Fix exception when 'import' is used inside package name 17
  • Add more tests

0.2.5


  • Fix exception when 'import' is used in comments 17
  • Fix duplicate entries in requirements.txt

0.2.4


  • Refactoring
  • fix "import as"

0.2.3


  • Fix multiple alias imports on the same line (Tiago Costa)
  • More package mappings

0.2.2


  • Add ImportName -> PackageName mapping
  • More tests

0.2.1


  • Fix for TypeError for implicit conversion

0.2.0


  • Add --use-local option
  • Exclude relative imports. (Dongwon Shin)
  • Use "latest_release_id" instead of "release_ids[-1]" (Dongwon Shin)

0.1.9


  • Output tuning (Harri Berglund)
  • Use str.partition() to simplify the logic (cclaus)

0.1.8


  • Fixed problems with local imports (Dongwon Shin)
  • Fixed problems with imports with 'as' (Dongwon Shin)
  • Fix indentation, pep8 Styling. (Michael Borisov)
  • Optimize imports and adding missing import for sys module. (Michael Borisov)

0.1.7


  • Add more assertions in tests
  • Add more verbose output
  • Add recursive delete to Makefile clean
  • Update Readme

0.1.6


  • py3 print function

0.1.5


  • Add Readme, Add Examples
  • Add Stdlib into package

0.1.1


  • Fix regex matching for imports
  • Release on Pypi

0.1.0


  • First release on Github.

setuptools 36.2.7 -> 36.4.0

36.4.0


  • 1075: Add new Description-Content-Type metadata field. See here for documentation on how to use this field. <https://packaging.python.org/specifications/description-content-type>_
  • 1068: Sort files and directories when building eggs for
    deterministic order.
  • 196: Remove caching of easy_install command in fetch_build_egg.
    Fixes issue where pytest-runner-N.N would satisfy the installation
    of pytest.
  • 1129: Fix working set dependencies handling when replacing conflicting
    distributions (e.g. when using setup_requires with a conflicting
    transitive dependency, fix 1124).
  • 1133: Improved handling of README files extensions and added
    Markdown to the list of searched READMES.
  • 1135: Improve performance of pkg_resources import by not invoking
    access or stat and using os.listdir instead.

36.3.0


  • 1131: Make possible using several files within file: directive
    in metadata.long_description in setup.cfg.

wheel 0.29.0 -> 0.30.0

0.30.0

======

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

flake8 2.6.0 -> 3.4.1

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

coverage 4.1 -> 4.4.1

4.4.1


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

.. _changes_44:

4.4


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

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

4.4b1


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

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

.. _changes_434:

4.3.4


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

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

.. _changes_433:

4.3.3


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

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

.. _changes_432:

4.3.2


  • Using the --skip-covered option on an HTML report with 100% coverage
    would cause a "No data to report" error, as reported in issue 549_. This is
    now fixed; thanks, Loïc Dachary.
  • If-statements can be optimized away during compilation, for example, if 0:
    or if __debug__:. Coverage.py had problems properly understanding these
    statements which existed in the source, but not in the compiled bytecode.
    This problem, reported in issue 522_, is now fixed.
  • If you specified --source as a directory, then coverage.py would look for
    importable Python files in that directory, and could identify ones that had
    never been executed at all. But if you specified it as a package name, that
    detection wasn't performed. Now it is, closing issue 426_. Thanks to Loïc
    Dachary for the fix.
  • If you started and stopped coverage measurement thousands of times in your
    process, you could crash Python with a "Fatal Python error: deallocating
    None" error. This is now fixed. Thanks to Alex Groce for the bug report.
  • On PyPy, measuring coverage in subprocesses could produce a warning: "Trace
    function changed, measurement is likely wrong: None". This was spurious, and
    has been suppressed.
  • Previously, coverage.py couldn't start on Jython, due to that implementation
    missing the multiprocessing module (issue 551). This problem has now been
    fixed. Also, issue 322
    about not being abl

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.

1 participant