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

Scheduled monthly dependency update for February #12

Closed
wants to merge 8 commits into from

Conversation

pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented Feb 1, 2018

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.

six 1.10.0 » 1.11.0 PyPI | Changelog | Homepage | Docs
ansible 2.3.0.0 » 2.4.3.0 PyPI | Changelog | Repo | Homepage
tox 2.7.0 » 2.9.1 PyPI | Changelog | Docs
yamllint 1.7.0 » 1.10.0 PyPI | Changelog | Repo
pytest 3.0.7 » 3.4.0 PyPI | Changelog | Repo | Homepage
pytest-benchmark 3.0.0 » 3.1.1 PyPI | Changelog | Repo
pylint 1.7.1 » 1.8.2 PyPI | Changelog | Repo
flake8 3.3.0 » 3.5.0 PyPI | Changelog | Repo

Changelogs

six 1.10.0 -> 1.11.0

1.11.0


  • Pull request 178: with_metaclass now properly proxies __prepare__ to the
    underlying metaclass.
  • Pull request 191: Allow with_metaclass to work with metaclasses implemented
    in C.
  • Pull request 203: Add parse_http_list and parse_keqv_list to moved
    urllib.request.
  • Pull request 172 and issue 171: Add unquote_to_bytes to moved urllib.parse.
  • Pull request 167: Add six.moves.getoutput.
  • Pull request 80: Add six.moves.urllib_parse.splitvalue.
  • Pull request 75: Add six.moves.email_mime_image.
  • Pull request 72: Avoid creating reference cycles through tracebacks in
    reraise.

ansible 2.3.0.0 -> 2.4.3.0

2.4.3

2.4.2

2.4.1

Bugfixes

Known Bugs

<a id="2.4"></a>

2.4

Major Changes

  • Support for Python-2.4 and Python-2.5 on the managed system's side was dropped. If you need to manage a system that ships with Python-2.4 or Python-2.5, you'll need to install Python-2.6 or better on the managed system or run Ansible-2.3 until you can upgrade the system.
  • New import/include keywords to replace the old bare include directives. The use of static: {yes|no} on such includes is now deprecated.
    • Using import_* (import_playbook, import_tasks, import_role) directives are static.
    • Using include_* (include_tasks, include_role) directives are dynamic.
      This is done to avoid collisions and possible security issues as facts come from the remote targets and they might be compromised.
  • New order play level keyword that allows the user to change the order in which Ansible processes hosts when dispatching tasks.
  • Users can now set group merge priority for groups of the same depth (parent child relationship), using the new ansible_group_priority variable, when values are the same or don't exist it will fallback to the previous sorting by name'.
  • Inventory has been revamped:
  • Inventory classes have been split to allow for better management and deduplication
  • Logic that each inventory source duplicated is now common and pushed up to reconciliation
  • VariableManager has been updated for better interaction with inventory
  • Updated CLI with helper method to initialize base objects for plays
  • New inventory plugins for creating inventory
  • Old inventory formats are still supported via plugins
  • Inline host_list is also an inventory plugin, an example alternative advanced_host_list is also provided (it supports ranges)
  • New configuration option to list enabled plugins and precedence order [inventory]enable_plugins in ansible.cfg
  • vars_plugins have been reworked, they are now run from Vars manager and API has changed (need docs)
  • Loading group_vars/host_vars is now a vars plugin and can be overridden
  • It is now possible to specify multiple inventory sources in the command line (-i /etc/hosts1 -i /opt/hosts2)
  • Inventory plugins can use the cache plugin (i.e. virtualbox) and is affected by meta: refresh_inventory
  • Group variable precedence is now configurable via new 'precedence' option in ansible.cfg (needs docs)
  • Improved warnings and error messages across the board
  • Configuration has been changed from a hardcoded listing in the constants module to dynamically loaded from yaml definitions
  • Also added an ansible-config CLI to allow for listing config options and dumping current config (including origin)
  • TODO: build upon this to add many features detailed in ansible-config proposal ansible-config ansible/proposals#35
  • Windows modules now support the use of multiple shared module_utils files in the form of Powershell modules (.psm1), via Requires -Module Ansible.ModuleUtils.Whatever.psm1
  • Python module argument_spec now supports custom validation logic by accepting a callable as the type argument.
  • Windows become_method: runas is no longer marked experimental
  • Windows become_method: runas now works across all authtypes and will auto-elevate under UAC if WinRM user has "Act as part of the operating system" privilege

Deprecations

  • The behaviour when specifying --tags (or --skip-tags) multiple times on the command line
    has changed so that the tags are merged together by default. See the
    documentation for how to temporarily use the old behaviour if needed:
    https://docs.ansible.com/ansible/intro_configuration.htmlmerge-multiple-cli-tags
  • The fetch module's validate_md5 parameter has been deprecated and will be
    removed in 2.8. If you wish to disable post-validation of the downloaded
    file, use validate_checksum instead.
  • Those using ansible as a library should note that the ansible.vars.unsafe_proxy
    module is deprecated and slated to go away in 2.8. The functionality has been
    moved to ansible.utils.unsafe_proxy to avoid a circular import.
  • The win_get_url module has the dictionary 'win_get_url' in its results deprecated,
    its content is now also available directly in the resulting output, like other modules.
  • Previously deprecated 'hostfile' config settings have been 're-deprecated' as before the code did not warn about deprecated configuration settings, but it does now.

2.4.0

2.3.3

Bugfixes

  • Fix alternatives module handlling of non existing options
  • Fix synchronize traceback with the docker connection plugin
  • Do not escape backslashes in the template lookup plugin to mirror what the template module does
  • Fix the expires option of the postgresq_user module
  • Fix for win_acl when settings permissions on registry objects that use ALL APPLICATION PACKAGES and ALL RESTRICTED APPLICATION PACKAGES
  • Python3 fixes
  • asorted azure modules
  • pause module
  • hacking/env-setup script
  • Fix traceback when checking for passwords in logged strings when logging executed commands.
  • docker_login module
  • Workaround python-libselinux API change in the seboolean module
  • digital_ocean_tag module
  • Fix the zip filter
  • Fix user module combining bytes and text
  • Fix for security groups in the amazon efs module
  • Fix for the jail connection plugin not finding the named jail
  • Fix for blockinfile's parameters insertbefore and insertafter
  • ios_config: Fix traceback when the efaults parameter is not set
  • iosxr_config: Fixed unicode error when UTF-8 characters are in configs
  • Fix check mode in archive module
  • Fix UnboundLocalError in check mode in cs_role module
  • Fix to always use lowercase hostnames for host keys in known_hosts module
  • Added missing return results for win_stat
  • Fix rabbitmq modules to give a helpful error if requests is not installed
  • Fix yum module not deleting rpms that it downloaded
  • Fix yum module failing with a URL to an rpm
  • Fix file module inappropriately expanding literal dollar signs in a path read
    from the filesystem as an environment variable.
  • Fix the ssh "smart" transport setting which automatically selects the best means of
    transferring files over ssh (sftp, ssh, piped).
  • Fix authentication by api_key parameter in exoscale modules.
  • vmware module_utils shared code ssl/validate_certs fixes in connection logic
  • allow 'bridge' facts to work for certain containers that create conflicting ones with connection plugins
  • Fix for win_get_url to use TLS 1.2/1.1 if it is available on the host
  • Fix for the filetree lookup with non-ascii group names
  • Better message for invalid keywords/options in task due to undefined expressions
  • Fixed check mode for enable on Solaris for service module
  • Fix cloudtrail module to allow AWS profiles other than the default
  • Fix an encoding issue with secret (password) vars_prompts

<a id="2.3.2"></a>

2.3.2

Bugfixes

  • Fix partend i18n issues
  • fixed handling of extra vars for tower_job_template (25272)
  • Python3 bugfixes
  • Fix sorting of ec2 policies
  • Fix digital_ocean dynamic inventory script
  • Fix for the docker connection plugin
  • Fix pip module when using python3's pyvenv and python3 -m venv to create virtualenvs
  • Fix for the AnsiBallZ wrapper so that it gives a better error message when
    there's not enough disk space to create its tempdir.
  • Fix so ansilbe-galaxy install --force with unversioned roles will once again
    overwrite old versions.
  • Fix for RabbitMQ 3.6.7 endpoint return code changing.
  • Fix for Foreman organization creation
  • fixed incorrect fail_json ref in rpm_key
  • Corrected requried on hash_name for dynamodb_table
  • Fix for fetch action plugin not validating correctly
  • Avoid vault view writing display to logs
  • htpasswd: fix passlib module version comparison
  • Fix for flowdock error message when external_user_name is missing
  • fixed corner case for delegate_to, loops and delegate_facts
  • fixed wait_for python2.4/2.5 compatibility (this is last version this is needed)
  • fix for adhoc not obeying callback options
  • fix for win_find where it fails to recursively scan empty nested directories
  • fix non-pipelined code paths for Windows (eg, ANSIBLE_KEEP_REMOTE_FILES, non-pipelined connection plugins)
  • fix for win_updates where args and check mode were ignored due to common code change
  • fix for unprivileged users to Windows runas become method
  • fix starttls code path for mail module
  • fix missing LC_TYPE in parted module
  • fix CN parsing with OpenSSL 1.1 in letsencrypt module
  • fix params assignment in jabber module
  • fix TXT record type handling in exo_dns_record module
  • fix message queue message ttl can't be 0 in rabbitmq_queue module
  • CloudStack bugfixes:
  • fix template upload for users in cs_template module, change default to is_routing=None
  • several fixes in cs_host module fixes hypervisor handling
  • fix network param ignored due typo in cs_nic module
  • fix missing type bool in module cs_zone
  • fix KeyError: 'sshkeypair' in cs_instance module for CloudStack v4.5 and before
  • fix for win_chocolatey where trying to upgrade all the packages as per the example docs fails
  • fix for win_chocolatey where it did not fail if the version set did not exist
  • fix for win_regedit always changing a reg key if the dword values set is a hex
  • fix for wait_for on non-Linux systems with newer versions of psutil
  • fix eos_banner code and test issues
  • run tearup and teardown of EAPI service only on EAPI tests
  • fix eos_config tests so only Eth1 and Eth2 are used
  • Fix for potential bug when using legacy inventory vars for configuring the su password.
  • Fix crash in file module when directories contain non-utf8 filenames
  • Fix for dnf groupinstall with dnf-2.x
  • Fix seboolean module for incompatibility in newer Python3 selinux bindings
  • Optimization for inventory, no need to dedup at every stage, its redundant and slow
  • Fix fact gathering for package and service action plugins
  • make random_choice more error resilient (27380)
  • ensure prefix in plugin loading to avoid conflicts
  • fix for a small number of modules (tempfile, possibly copy) which could fail
    if the tempdir on the remote box was a symlink
  • fix non-pipelined code paths for Windows (eg, ANSIBLE_KEEP_REMOTE_FILES, non-pipelined connection plugins)
  • fix for win_updates where args and check mode were ignored due to common code change

<a id="2.3.1"></a>

2.3.1

Bugfixes

  • Security fix for CVE-2017-7481 - data for lookup plugins used as variables was not being correctly marked as "unsafe".
  • Fix default value of fetch module's validate_checksum to be True
  • Added fix for "meta: refresh_connection" not working with default 'smart' connection.
  • Fix template so that the --diff command line option works when the destination is a directory
  • Fix python3 bugs in pam_limits
  • Fix unbound error when using module deprecation as a single string
  • Several places in which error handling was broken due to bad conversions or just typos
  • Fix to user module for appending/setting groups on OpenBSD (flags were reversed)
  • assemble fix to use safer os.join.path, avoids charset issues
  • fixed issue with solaris facts and i18n
  • added python2.4 compatiblity fix to sysctl module
  • Fix comparison of exisiting container security opts in the docker_container module
  • fixed service module invocation of insserv on certain platforms
  • Fix traceback in os_user in an error case.
  • Fix docker container to restart a container when changing to fewer exposed ports
  • Fix tracebacks in docker_network
  • Fixes to detection of updated docker images
  • Handle detection of docker image changes when published ports is changed
  • Fix for docker_container restarting images when links list is empty.

<a id="2.3"></a>

tox 2.7.0 -> 2.9.1

2.9.1


Misc
^^^^

  • integrated new release process and fixed changelog rendering for pypi.org -
    by obestwalter &lt;https://github.com/obestwalter&gt;_.

2.9

2.9.0


Features
^^^^^^^^

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

Bugfixes
^^^^^^^^

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

Misc
^^^^

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

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

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

2.8.2


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

2.8.1


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

2.8

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

.. towncrier release notes start

2.8.0


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

yamllint 1.7.0 -> 1.10.0

1.10.0


  • Fix colored output on Windows
  • Check documentation compilation on continuous integration
  • Add a new empty-values rule
  • Make sure test files are included in dist bundle
  • Tests: Use en_US.UTF-8 locale when C.UTF-8 not available
  • Tests: Dynamically detect Python executable path

1.9.0


  • Add a new key-ordering rule
  • Fix indentation rule for key following empty list

1.8.2


  • Be clearer about the ignore conf type
  • Update pre-commit hook file
  • Add documentation for pre-commit

1.8.1


  • Require pathspec >= 0.5.3
  • Support Python 2.6
  • Add a changelog

1.8.0


  • Refactor argparse with mutually_exclusive_group
  • Add support to ignore paths in configuration

pytest 3.0.7 -> 3.4.0

3.4.0

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

Deprecations and Removals

  • All pytest classes now subclass object for better Python 2/3 compatibility.
    This should not affect user code except in very rare edge cases. (2147 &lt;https://github.com/pytest-dev/pytest/issues/2147&gt;_)

Features

  • Introduce empty_parameter_set_mark ini option to select which mark to
    apply when pytest.mark.parametrize is given an empty set of parameters.
    Valid options are skip (default) and xfail. Note that it is planned
    to change the default to xfail in future releases as this is considered
    less error prone. (2527 &lt;https://github.com/pytest-dev/pytest/issues/2527&gt;_)
  • Incompatible change: after community feedback the logging &lt;https://docs.pytest.org/en/latest/logging.html&gt;_ functionality has
    undergone some changes. Please consult the logging documentation &lt;https://docs.pytest.org/en/latest/logging.htmlincompatible-changes-in-pytest-3-4&gt;_
    for details. (3013 &lt;https://github.com/pytest-dev/pytest/issues/3013&gt;_)
  • Console output falls back to "classic" mode when capturing is disabled (-s),
    otherwise the output gets garbled to the point of being useless. (3038 &lt;https://github.com/pytest-dev/pytest/issues/3038&gt;_)
  • New pytest_runtest_logfinish &lt;https://docs.pytest.org/en/latest/writing_plugins.html_pytest.hookspec.pytest_runtest_logfinish&gt;_
    hook which is called when a test item has finished executing, analogous to
    pytest_runtest_logstart &lt;https://docs.pytest.org/en/latest/writing_plugins.html_pytest.hookspec.pytest_runtest_start&gt;.
    (3101 &lt;https://github.com/pytest-dev/pytest/issues/3101&gt;
    )
  • Improve performance when collecting tests using many fixtures. (3107 &lt;https://github.com/pytest-dev/pytest/issues/3107&gt;_)
  • New caplog.get_records(when) method which provides access to the captured
    records for the &quot;setup&quot;, &quot;call&quot; and &quot;teardown&quot;
    testing stages. (3117 &lt;https://github.com/pytest-dev/pytest/issues/3117&gt;_)
  • New fixture record_xml_attribute that allows modifying and inserting
    attributes on the &lt;testcase&gt; xml node in JUnit reports. (3130 &lt;https://github.com/pytest-dev/pytest/issues/3130&gt;_)
  • The default cache directory has been renamed from .cache to
    .pytest_cache after community feedback that the name .cache did not
    make it clear that it was used by pytest. (3138 &lt;https://github.com/pytest-dev/pytest/issues/3138&gt;_)
  • Colorize the levelname column in the live-log output. (3142 &lt;https://github.com/pytest-dev/pytest/issues/3142&gt;_)

Bug Fixes

  • Fix hanging pexpect test on MacOS by using flush() instead of wait().
    (2022 &lt;https://github.com/pytest-dev/pytest/issues/2022&gt;_)
  • Fix restoring Python state after in-process pytest runs with the
    pytester plugin; this may break tests using multiple inprocess
    pytest runs if later ones depend on earlier ones leaking global interpreter
    changes. (3016 &lt;https://github.com/pytest-dev/pytest/issues/3016&gt;_)
  • Fix skipping plugin reporting hook when test aborted before plugin setup
    hook. (3074 &lt;https://github.com/pytest-dev/pytest/issues/3074&gt;_)
  • Fix progress percentage reported when tests fail during teardown. (3088 &lt;https://github.com/pytest-dev/pytest/issues/3088&gt;_)
  • Incompatible change: -o/--override option no longer eats all the
    remaining options, which can lead to surprising behavior: for example,
    pytest -o foo=1 /path/to/test.py would fail because /path/to/test.py
    would be considered as part of the -o command-line argument. One
    consequence of this is that now multiple configuration overrides need
    multiple -o flags: pytest -o foo=1 -o bar=2. (3103 &lt;https://github.com/pytest-dev/pytest/issues/3103&gt;_)

Improved Documentation

  • Document hooks (defined with historic=True) which cannot be used with
    hookwrapper=True. (2423 &lt;https://github.com/pytest-dev/pytest/issues/2423&gt;_)
  • Clarify that warning capturing doesn't change the warning filter by default.
    (2457 &lt;https://github.com/pytest-dev/pytest/issues/2457&gt;_)
  • Clarify a possible confusion when using pytest_fixture_setup with fixture
    functions that return None. (2698 &lt;https://github.com/pytest-dev/pytest/issues/2698&gt;_)
  • Fix the wording of a sentence on doctest flags used in pytest. (3076 &lt;https://github.com/pytest-dev/pytest/issues/3076&gt;_)
  • Prefer https://*.readthedocs.io over http://*.rtfd.org for links in
    the documentation. (3092 &lt;https://github.com/pytest-dev/pytest/issues/3092&gt;_)
  • Improve readability (wording, grammar) of Getting Started guide (3131 &lt;https://github.com/pytest-dev/pytest/issues/3131&gt;_)
  • Added note that calling pytest.main multiple times from the same process is
    not recommended because of import caching. (3143 &lt;https://github.com/pytest-dev/pytest/issues/3143&gt;_)

Trivial/Internal Changes

  • Show a simple and easy error when keyword expressions trigger a syntax error
    (for example, &quot;-k foo and import&quot; will show an error that you can not use
    the import keyword in expressions). (2953 &lt;https://github.com/pytest-dev/pytest/issues/2953&gt;_)
  • Change parametrized automatic test id generation to use the __name__
    attribute of functions instead of the fallback argument name plus counter.
    (2976 &lt;https://github.com/pytest-dev/pytest/issues/2976&gt;_)
  • Replace py.std with stdlib imports. (3067 &lt;https://github.com/pytest-dev/pytest/issues/3067&gt;_)
  • Corrected 'you' to 'your' in logging docs. (3129 &lt;https://github.com/pytest-dev/pytest/issues/3129&gt;_)

3.3.2

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

Bug Fixes

  • pytester: ignore files used to obtain current user metadata in the fd leak
    detector. (2784 &lt;https://github.com/pytest-dev/pytest/issues/2784&gt;_)
  • Fix memory leak where objects returned by fixtures were never destructed
    by the garbage collector. (2981 &lt;https://github.com/pytest-dev/pytest/issues/2981&gt;_)
  • Fix conversion of pyargs to filename to not convert symlinks on Python 2. (2985 &lt;https://github.com/pytest-dev/pytest/issues/2985&gt;_)
  • PYTEST_DONT_REWRITE is now checked for plugins too rather than only for
    test modules. (2995 &lt;https://github.com/pytest-dev/pytest/issues/2995&gt;_)

Improved Documentation

  • Add clarifying note about behavior of multiple parametrized arguments (3001 &lt;https://github.com/pytest-dev/pytest/issues/3001&gt;_)

Trivial/Internal Changes

  • Code cleanup. (3015 &lt;https://github.com/pytest-dev/pytest/issues/3015&gt;,
    3021 &lt;https://github.com/pytest-dev/pytest/issues/3021&gt;
    )
  • Clean up code by replacing imports and references of _ast to ast. (3018 &lt;https://github.com/pytest-dev/pytest/issues/3018&gt;_)

3.3.1

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

Bug Fixes

  • Fix issue about -p no:&lt;plugin&gt; having no effect. (2920 &lt;https://github.com/pytest-dev/pytest/issues/2920&gt;_)
  • Fix regression with warnings that contained non-strings in their arguments in
    Python 2. (2956 &lt;https://github.com/pytest-dev/pytest/issues/2956&gt;_)
  • Always escape null bytes when setting PYTEST_CURRENT_TEST. (2957 &lt;https://github.com/pytest-dev/pytest/issues/2957&gt;_)
  • Fix ZeroDivisionError when using the testmon plugin when no tests
    were actually collected. (2971 &lt;https://github.com/pytest-dev/pytest/issues/2971&gt;_)
  • Bring back TerminalReporter.writer as an alias to
    TerminalReporter._tw. This alias was removed by accident in the 3.3.0
    release. (2984 &lt;https://github.com/pytest-dev/pytest/issues/2984&gt;_)
  • The pytest-capturelog plugin is now also blacklisted, avoiding errors when
    running pytest with it still installed. (3004 &lt;https://github.com/pytest-dev/pytest/issues/3004&gt;_)

Improved Documentation

  • Fix broken link to plugin pytest-localserver. (2963 &lt;https://github.com/pytest-dev/pytest/issues/2963&gt;_)

Trivial/Internal Changes

  • Update github "bugs" link in CONTRIBUTING.rst (2949 &lt;https://github.com/pytest-dev/pytest/issues/2949&gt;_)

3.3.0

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

Deprecations and Removals

  • Pytest no longer supports Python 2.6 and 3.3. Those Python versions
    are EOL for some time now and incur maintenance and compatibility costs on
    the pytest core team, and following up with the rest of the community we
    decided that they will no longer be supported starting on this version. Users
    which still require those versions should pin pytest to &lt;3.3. (2812 &lt;https://github.com/pytest-dev/pytest/issues/2812&gt;_)
  • Remove internal _preloadplugins() function. This removal is part of the
    pytest_namespace() hook deprecation. (2636 &lt;https://github.com/pytest-dev/pytest/issues/2636&gt;_)
  • Internally change CallSpec2 to have a list of marks instead of a broken
    mapping of keywords. This removes the keywords attribute of the internal
    CallSpec2 class. (2672 &lt;https://github.com/pytest-dev/pytest/issues/2672&gt;_)
  • Remove ParameterSet.deprecated_arg_dict - its not a public api and the lack
    of the underscore was a naming error. (2675 &lt;https://github.com/pytest-dev/pytest/issues/2675&gt;_)
  • Remove the internal multi-typed attribute Node._evalskip and replace it
    with the boolean Node._skipped_by_mark. (2767 &lt;https://github.com/pytest-dev/pytest/issues/2767&gt;_)
  • The params list passed to pytest.fixture is now for
    all effects considered immutable and frozen at the moment of the pytest.fixture
    call. Previously the list could be changed before the first invocation of the fixture
    allowing for a form of dynamic parametrization (for example, updated from command-line options),
    but this was an unwanted implementation detail which complicated the internals and prevented
    some internal cleanup. See issue 2959 &lt;https://github.com/pytest-dev/pytest/issues/2959&gt;_
    for details and a recommended workaround.

Features

  • pytest_fixture_post_finalizer hook can now receive a request
    argument. (2124 &lt;https://github.com/pytest-dev/pytest/issues/2124&gt;_)
  • Replace the old introspection code in compat.py that determines the available
    arguments of fixtures with inspect.signature on Python 3 and
    funcsigs.signature on Python 2. This should respect __signature__
    declarations on functions. (2267 &lt;https://github.com/pytest-dev/pytest/issues/2267&gt;_)
  • Report tests with global pytestmark variable only once. (2549 &lt;https://github.com/pytest-dev/pytest/issues/2549&gt;_)
  • Now pytest displays the total progress percentage while running tests. The
    previous output style can be set by configuring the console_output_style
    setting to classic. (2657 &lt;https://github.com/pytest-dev/pytest/issues/2657&gt;_)
  • Match warns signature to raises by adding match keyword. (2708 &lt;https://github.com/pytest-dev/pytest/issues/2708&gt;_)
  • Pytest now captures and displays output from the standard logging module.
    The user can control the logging level to be captured by specifying options
    in pytest.ini, the command line and also during individual tests using
    markers. Also, a caplog fixture is available that enables users to test
    the captured log during specific tests (similar to capsys for example).
    For more information, please see the logging docs &lt;https://docs.pytest.org/en/latest/logging.html&gt;. This feature was
    introduced by merging the popular pytest-catchlog &lt;https://pypi.org/project/pytest-catchlog/&gt;
    plugin, thanks to Thomas Hisch &lt;https://github.com/thisch&gt;. Be advised that during the merging the
    backward compatibility interface with the defunct pytest-capturelog has
    been dropped. (2794 &lt;https://github.com/pytest-dev/pytest/issues/2794&gt;
    )
  • Add allow_module_level kwarg to pytest.skip(), enabling to skip the
    whole module. (2808 &lt;https://github.com/pytest-dev/pytest/issues/2808&gt;_)
  • Allow setting file_or_dir, -c, and -o in PYTEST_ADDOPTS. (2824 &lt;https://github.com/pytest-dev/pytest/issues/2824&gt;_)
  • Return stdout/stderr capture results as a namedtuple, so out and
    err can be accessed by attribute. (2879 &lt;https://github.com/pytest-dev/pytest/issues/2879&gt;_)
  • Add capfdbinary, a version of capfd which returns bytes from
    readouterr(). (2923 &lt;https://github.com/pytest-dev/pytest/issues/2923&gt;_)
  • Add capsysbinary a version of capsys which returns bytes from
    readouterr(). (2934 &lt;https://github.com/pytest-dev/pytest/issues/2934&gt;_)
  • Implement feature to skip setup.py files when run with
    --doctest-modules. (502 &lt;https://github.com/pytest-dev/pytest/issues/502&gt;_)

Bug Fixes

  • Resume output capturing after capsys/capfd.disabled() context manager.
    (1993 &lt;https://github.com/pytest-dev/pytest/issues/1993&gt;_)
  • pytest_fixture_setup and pytest_fixture_post_finalizer hooks are now
    called for all conftest.py files. (2124 &lt;https://github.com/pytest-dev/pytest/issues/2124&gt;_)
  • If an exception happens while loading a plugin, pytest no longer hides the
    original traceback. In Python 2 it will show the original traceback with a new
    message that explains in which plugin. In Python 3 it will show 2 canonized
    exceptions, the original exception while loading the plugin in addition to an
    exception that pytest throws about loading a plugin. (2491 &lt;https://github.com/pytest-dev/pytest/issues/2491&gt;_)
  • capsys and capfd can now be used by other fixtures. (2709 &lt;https://github.com/pytest-dev/pytest/issues/2709&gt;_)
  • Internal pytester plugin properly encodes bytes arguments to
    utf-8. (2738 &lt;https://github.com/pytest-dev/pytest/issues/2738&gt;_)
  • testdir now uses use the same method used by tmpdir to create its
    temporary directory. This changes the final structure of the testdir
    directory slightly, but should not affect usage in normal scenarios and
    avoids a number of potential problems. (2751 &lt;https://github.com/pytest-dev/pytest/issues/2751&gt;_)
  • Pytest no longer complains about warnings with unicode messages being
    non-ascii compatible even for ascii-compatible messages. As a result of this,
    warnings with unicode messages are converted first to an ascii representation
    for safety. (2809 &lt;https://github.com/pytest-dev/pytest/issues/2809&gt;_)
  • Change return value of pytest command when --maxfail is reached from
    2 (interrupted) to 1 (failed). (2845 &lt;https://github.com/pytest-dev/pytest/issues/2845&gt;_)
  • Fix issue in assertion rewriting which could lead it to rewrite modules which
    should not be rewritten. (2939 &lt;https://github.com/pytest-dev/pytest/issues/2939&gt;_)
  • Handle marks without description in pytest.ini. (2942 &lt;https://github.com/pytest-dev/pytest/issues/2942&gt;_)

Trivial/Internal Changes

  • pytest now depends on attrs &lt;https://pypi.org/project/attrs/&gt;_ for internal
    structures to ease code maintainability. (2641 &lt;https://github.com/pytest-dev/pytest/issues/2641&gt;_)
  • Refactored internal Python 2/3 compatibility code to use six. (2642 &lt;https://github.com/pytest-dev/pytest/issues/2642&gt;_)
  • Stop vendoring pluggy - we're missing out on its latest changes for not
    much benefit (2719 &lt;https://github.com/pytest-dev/pytest/issues/2719&gt;_)
  • Internal refactor: simplify ascii string escaping by using the
    backslashreplace error handler in newer Python 3 versions. (2734 &lt;https://github.com/pytest-dev/pytest/issues/2734&gt;_)
  • Remove unnecessary mark evaluator in unittest plugin (2767 &lt;https://github.com/pytest-dev/pytest/issues/2767&gt;_)
  • Calls to Metafunc.addcall now emit a deprecation warning. This function
    is scheduled to be removed in pytest-4.0. (2876 &lt;https://github.com/pytest-dev/pytest/issues/2876&gt;_)
  • Internal move of the parameterset extraction to a more maintainable place.
    (2877 &lt;https://github.com/pytest-dev/pytest/issues/2877&gt;_)
  • Internal refactoring to simplify scope node lookup. (2910 &lt;https://github.com/pytest-dev/pytest/issues/2910&gt;_)
  • Configure pytest to prevent pip from installing pytest in unsupported
    Python versions. (2922 &lt;https://github.com/pytest-dev/pytest/issues/2922&gt;_)

3.2.5

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

Bug Fixes

  • Remove py&lt;1.5 restriction from pytest as this can cause version
    conflicts in some installations. (2926 &lt;https://github.com/pytest-dev/pytest/issues/2926&gt;_)

3.2.4

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

Bug Fixes

  • Fix the bug where running with --pyargs will result in items with
    empty parent.nodeid if run from a different root directory. (2775 &lt;https://github.com/pytest-dev/pytest/issues/2775&gt;_)
  • Fix issue with pytest.parametrize if argnames was specified as keyword arguments.
    (2819 &lt;https://github.com/pytest-dev/pytest/issues/2819&gt;_)
  • Strip whitespace from marker names when reading them from INI config. (2856 &lt;https://github.com/pytest-dev/pytest/issues/2856&gt;_)
  • Show full context of doctest source in the pytest output, if the line number of
    failed example in the docstring is < 9. (2882 &lt;https://github.com/pytest-dev/pytest/issues/2882&gt;_)
  • Match fixture paths against actual path segments in order to avoid matching folders which share a prefix.
    (2836 &lt;https://github.com/pytest-dev/pytest/issues/2836&gt;_)

Improved Documentation

  • Introduce a dedicated section about conftest.py. (1505 &lt;https://github.com/pytest-dev/pytest/issues/1505&gt;_)
  • Explicitly mention xpass in the documentation of xfail. (1997 &lt;https://github.com/pytest-dev/pytest/issues/1997&gt;_)
  • Append example for pytest.param in the example/parametrize document. (2658 &lt;https://github.com/pytest-dev/pytest/issues/2658&gt;_)
  • Clarify language of proposal for fixtures parameters (2893 &lt;https://github.com/pytest-dev/pytest/issues/2893&gt;_)
  • List python 3.6 in the documented supported versions in the getting started
    document. (2903 &lt;https://github.com/pytest-dev/pytest/issues/2903&gt;_)
  • Clarify the documentation of available fixture scopes. (538 &lt;https://github.com/pytest-dev/pytest/issues/538&gt;_)
  • Add documentation about the python -m pytest invocation adding the
    current directory to sys.path. (911 &lt;https://github.com/pytest-dev/pytest/issues/911&gt;_)

3.2.3

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

Bug Fixes

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

Improved Documentation

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

Trivial/Internal Changes

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

3.2.2

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

Bug Fixes

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

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 &lt;https://github.com/pytest-dev/pytest/issues/2604&gt;_)
  • 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 &lt;https://github.com/pytest-dev/pytest/issues/2653&gt;_)

Trivial/Internal Changes

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

3.2.1

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

Bug Fixes

  • Fixed small terminal glitch when collecting a single test item. (2579 &lt;https://github.com/pytest-dev/pytest/issues/2579&gt;_)
  • Correctly consider / as the file separator to automatically mark plugin
    files for rewrite on Windows. (2591 &lt;https://github.com/pytest- dev/pytest/issues/2591&gt;_)
  • Properly escape test names when setting PYTEST_CURRENT_TEST environment
    variable. (2644 &lt;https://github.com/pytest-dev/pytest/issues/2644&gt;_)
  • 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 &lt;https://github.com/pytest- dev/pytest/issues/2666&gt;_)

Improved Documentation

  • Explicitly document which pytest features work with unittest. (2626 &lt;https://github.com/pytest-dev/pytest/issues/2626&gt;_)

3.2.0

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

Deprecations and Removals

  • pytest.approx no longer supports &gt;, &gt;=, &lt; and &lt;=
    operators to avoid surprising/inconsistent behavior. See the approx docs &lt;https://docs.pytest.org/en/latest/builtin.htmlpytest.approx&gt;_ for more
    information. (2003 &lt;https://github.com/pytest-dev/pytest/issues/2003&gt;_)
  • 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 &lt;https://github.com/pytest-dev/pytest/issues/2147&gt;_)
  • 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 &lt;https://github.com/pytest-dev/pytest/issues/2427&gt;_)

Features

  • Add support for numpy arrays (and dicts) to approx. (1994 &lt;https://github.com/pytest-dev/pytest/issues/1994&gt;_)
  • 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 &lt;https://github.com/pytest- dev/pytest/issues/2516&gt;_)
  • Collection ignores local virtualenvs by default; --collect-in-virtualenv
    overrides this behavior. (2518 &lt;https://github.com/pytest- dev/pytest/issues/2518&gt;_)
  • 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 &lt;https://github.com/pytest- dev/pytest/issues/2528&gt;_)
  • Introduce mark.with_args in order to allow passing functions/classes as
    sole argument to marks. (2540 &lt;https://github.com/pytest- dev/pytest/issues/2540&gt;_)
  • 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 &lt;https://github.com/pytest-dev/pytest/issues/2543&gt;_)
  • 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 &lt;https://docs.pytest.org/en/latest/example/simple.htmlpytest-current-test- environment-variable&gt;_ for more info. (2583 &lt;https://github.com/pytest- dev/pytest/issues/2583&gt;_)
  • Introduced pytest.mark.filterwarnings mark which allows overwriting the
    warnings filter on a per test, class or module level. See the docs &lt;https://docs.pytest.org/en/latest/warnings.htmlpytest-mark- filterwarnings&gt;_ for more information. (2598 &lt;https://github.com/pytest- dev/pytest/issues/2598&gt;_)
  • --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 &lt;https://github.com/pytest-dev/pytest/issues/2621&gt;_)
  • New pytest_report_collectionfinish hook which allows plugins to add
    messages to the terminal reporting after collection has been finished
    successfully. (2622 &lt;https://github.com/pytest-dev/pytest/issues/2622&gt;_)
  • Added support for PEP-415&#39;s &lt;https://www.python.org/dev/peps/pep-0415/&gt;_
    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 &lt;https://github.com/pytest-dev/pytest/issues/2631&gt;_)
  • Exceptions raised by pytest.fail, pytest.skip and pytest.xfail
    now subclass BaseException, making them harder to be caught unintentionally
    by normal code. (580 &lt;https://github.com/pytest-dev/pytest/issues/580&gt;_)

Bug Fixes

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

Improved Documentation

  • Clarify pytest_configure hook call order. (`2539
    <

@pyup-bot
Copy link
Collaborator Author

pyup-bot commented Mar 1, 2018

Closing this in favor of #13

@pyup-bot pyup-bot closed this Mar 1, 2018
@napalm255 napalm255 deleted the pyup-scheduled-update-02-01-2018 branch March 1, 2018 15:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant