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

Regression in 3.7.0: AttributeError for _collectfile #3742

Closed
fschulze opened this issue Jul 31, 2018 · 17 comments
Closed

Regression in 3.7.0: AttributeError for _collectfile #3742

fschulze opened this issue Jul 31, 2018 · 17 comments
Labels
status: critical grave problem or usability issue that affects lots of users type: bug problem that needs to be addressed type: regression indicates a problem that was introduced in a release which was working previously

Comments

@fschulze
Copy link
Contributor

I get AttributeError: 'FlakesItem' object has no attribute '_collectfile' when running devpi-server tests with tox (tox -e py27 is enough) since pytest 3.7.0. When I pin to pytest<3.7dev it works (using 3.6.4).

It seems to be related to the current working directory. The tox config switches to test_devpi_server. When I run pytest in server it's fine, when i run in server/test_devpi_server it breaks.

@The-Compiler
Copy link
Member

Not sure if this is an issue in pytest itself, or the pytest-flakes plugin.

@pytestbot
Copy link
Contributor

GitMate.io thinks possibly related issues are #707 (pytest-xdist regression since execnet 1.3.0), #2968 (Memory usage in 3.3.0), #1083 (Regression with parallel tests on 2.7.3 and 2.8), #386 (tests fail with pexpect-3.0), and #1572 (Making _CallOutcome.result private in 3.0).

@pytestbot pytestbot added the type: bug problem that needs to be addressed label Jul 31, 2018
@RonnyPfannschmidt
Copy link
Member

this is a regression made by pytest - root._collectfile got introduced in #3389

this triggered a unintentional regression as now a private api is used in more places and on objects that dont belong to it

@RonnyPfannschmidt RonnyPfannschmidt added the type: regression indicates a problem that was introduced in a release which was working previously label Jul 31, 2018
@JohanLorenzo
Copy link

JohanLorenzo commented Jul 31, 2018

Hello! Thank you for this great library! The Mozilla release engineering team relies on it for several projects 😃

I just found a similar regression:

AttributeError: 'async_generator' object has no attribute 'put'

This async generator is a regular aiohttp.ClientSession() and is initialized here. This might be an integration issue with the pytest-asyncio plugin.

I rolled pytest back to 3.6.4 and things are back working. You can see both the failure and the workaround in

@RonnyPfannschmidt
Copy link
Member

@JohanLorenzo this is a different issue - related to fixture definitions, please open a new issue

@JohanLorenzo
Copy link

Thanks for the quick answer. I opened #3747

@Thomasillo
Copy link

Same here with flake8:

$ py.test --flake8 package
=========================================================================================== test session starts ============================================================================================
platform darwin -- Python 3.6.2, pytest-3.7.0, py-1.5.3, pluggy-0.7.1
rootdir: /Users/Thomas/Work/stuff, inifile: setup.cfg
plugins: flake8-1.0.1, cov-2.5.1, hypothesis-3.57.0
collected 0 items / 1 errors                                                                                                                                                                               

================================================================================================== ERRORS ==================================================================================================
____________________________________________________________________________________________ ERROR collecting  _____________________________________________________________________________________________
../../../../.local/miniconda3/envs/test/lib/python3.6/site-packages/_pytest/runner.py:201: in __init__
    self.result = func()
../../../../.local/miniconda3/envs/test/lib/python3.6/site-packages/_pytest/runner.py:261: in <lambda>
    call = CallInfo(lambda: list(collector.collect()), "collect")
../../../../.local/miniconda3/envs/test/lib/python3.6/site-packages/_pytest/main.py:475: in collect
    for x in self._collect(arg):
../../../../.local/miniconda3/envs/test/lib/python3.6/site-packages/_pytest/main.py:519: in _collect
    for x in root._collectfile(pkginit):
E   AttributeError: 'Flake8Item' object has no attribute '_collectfile'
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 1 errors during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
========================================================================================= 1 error in 0.17 seconds ==========================================================================================

@ThreePinkApples
Copy link

Getting the same with PEP8

============================= test session starts ==============================
platform linux -- Python 3.6.4, pytest-3.7.0, py-1.5.4, pluggy-0.7.1
rootdir: /var/lib/jenkins/jobs/Simplereg/workspace, inifile:
plugins: xdist-1.22.5, twisted-1.8, pep8-1.0.6, forked-0.2, cov-2.5.1
collected 0 items / 1 errors

==================================== ERRORS ====================================
______________________________ ERROR collecting  _______________________________
.tox/py36/lib/python3.6/site-packages/_pytest/runner.py:201: in __init__
    self.result = func()
.tox/py36/lib/python3.6/site-packages/_pytest/runner.py:261: in <lambda>
    call = CallInfo(lambda: list(collector.collect()), "collect")
.tox/py36/lib/python3.6/site-packages/_pytest/main.py:475: in collect
    for x in self._collect(arg):
.tox/py36/lib/python3.6/site-packages/_pytest/main.py:519: in _collect
    for x in root._collectfile(pkginit):
E   AttributeError: 'Pep8Item' object has no attribute '_collectfile

@RonnyPfannschmidt RonnyPfannschmidt added the status: critical grave problem or usability issue that affects lots of users label Jul 31, 2018
@cdeil
Copy link

cdeil commented Jul 31, 2018

We're seeing this error after the update pytest 3.6 -> 3.7:

__________________________ ERROR collecting  _______________________________
�[1m�[31m/home/travis/miniconda/envs/test/lib/python2.7/site-packages/_pytest/runner.py�[0m:201: in __init__
�[1m    self.result = func()�[0m
�[1m�[31m/home/travis/miniconda/envs/test/lib/python2.7/site-packages/_pytest/runner.py�[0m:261: in <lambda>
�[1m    call = CallInfo(lambda: list(collector.collect()), "collect")�[0m
�[1m�[31m/home/travis/miniconda/envs/test/lib/python2.7/site-packages/_pytest/main.py�[0m:475: in collect
�[1m    for x in self._collect(arg):�[0m
�[1m�[31m/home/travis/miniconda/envs/test/lib/python2.7/site-packages/_pytest/main.py�[0m:519: in _collect
�[1m    for x in root._collectfile(pkginit):�[0m
�[1m�[31mE   AttributeError: 'Pair' object has no attribute '_collectfile'�[0m
!!!!!!!!!!!!!!!!!!! Interrupted: 1 errors during collection !!!!!!!!!!!!!!!!!!!!

https://travis-ci.org/gammapy/gammapy/jobs/410288389#L2253

Same issue or a different one?

@RonnyPfannschmidt
Copy link
Member

same all issues that are triggered by _collectfile missing on 3rd party items are due to this one
its an entirely unintended issue

@The-Compiler The-Compiler changed the title Regression in 3.7.0 Regression in 3.7.0: AttributeError for _collectfile Jul 31, 2018
@castarco
Copy link

In our team we're suffering the same problem, we had to fix the pytest version to 3.6.4 to avoid this regression.

@ktdreyer
Copy link

ktdreyer commented Aug 1, 2018

I'm seeing this with pytest-flake8 and pytest 3.7.0 as well.

../../../virtualenv/python2.7.14/lib/python2.7/site-packages/_pytest/runner.py:201: in __init__
    self.result = func()
../../../virtualenv/python2.7.14/lib/python2.7/site-packages/_pytest/runner.py:261: in <lambda>
    call = CallInfo(lambda: list(collector.collect()), "collect")
../../../virtualenv/python2.7.14/lib/python2.7/site-packages/_pytest/main.py:475: in collect
    for x in self._collect(arg):
../../../virtualenv/python2.7.14/lib/python2.7/site-packages/_pytest/main.py:519: in _collect
    for x in root._collectfile(pkginit):
E   AttributeError: 'Flake8Item' object has no attribute '_collectfile'

@henry0312
Copy link

There is something wrong with fedc785.

@henry0312
Copy link

henry0312 commented Aug 1, 2018

this is a work-around:

diff --git a/src/_pytest/main.py b/src/_pytest/main.py
index 9599fa16..3ba66986 100644
--- a/src/_pytest/main.py
+++ b/src/_pytest/main.py
@@ -516,12 +516,12 @@ class Session(nodes.FSCollector):
             ):
                 pkginit = path.dirpath().join("__init__.py")
                 if pkginit.exists() and not any(x in pkginit.parts() for x in paths):
-                    for x in root._collectfile(pkginit):
+                    for x in self._collectfile(pkginit):
                         yield x
                         paths.append(x.fspath.dirpath())

                 if not any(x in path.parts() for x in paths):
-                    for x in root._collectfile(path):
+                    for x in self._collectfile(path):
                         if (type(x), x.fspath) in self._node_cache:
                             yield self._node_cache[(type(x), x.fspath)]
                         else:

, or we can use pytest v3.6.4.

@RonnyPfannschmidt
Copy link
Member

as far as i can tell the code paths considering the change of root are incorrect, falling back to self is only hiding the issue

@henry0312
Copy link

I don't understand why __collectfile with the last root is called.

nicoddemus added a commit that referenced this issue Aug 2, 2018
This was missing from PR #3751
cmccandless referenced this issue in cmccandless/tools Aug 3, 2018
This PR updates [pytest](https://pypi.org/project/pytest) from **3.7.0** to **3.7.1**.



<details>
  <summary>Changelog</summary>
  
  
   ### 3.7.1
   ```
   =========================

Bug Fixes
---------

- `3473 &lt;https://github.com/pytest-dev/pytest/issues/3473&gt;`_: Raise immediately if ``approx()`` is given an expected value of a type it doesn&#39;t understand (e.g. strings, nested dicts, etc.).


- `3712 &lt;https://github.com/pytest-dev/pytest/issues/3712&gt;`_: Correctly represent the dimensions of an numpy array when calling ``repr()`` on ``approx()``.

- `3742 &lt;https://github.com/pytest-dev/pytest/issues/3742&gt;`_: Fix incompatibility with third party plugins during collection, which produced the error ``object has no attribute &#39;_collectfile&#39;``.

- `3745 &lt;https://github.com/pytest-dev/pytest/issues/3745&gt;`_: Display the absolute path if ``cache_dir`` is not relative to the ``rootdir`` instead of failing.


- `3747 &lt;https://github.com/pytest-dev/pytest/issues/3747&gt;`_: Fix compatibility problem with plugins and the warning code issued by fixture functions when they are called directly.


- `3748 &lt;https://github.com/pytest-dev/pytest/issues/3748&gt;`_: Fix infinite recursion in ``pytest.approx`` with arrays in ``numpy&lt;1.13``.


- `3757 &lt;https://github.com/pytest-dev/pytest/issues/3757&gt;`_: Pin pathlib2 to ``&gt;=2.2.0`` as we require ``__fspath__`` support.


- `3763 &lt;https://github.com/pytest-dev/pytest/issues/3763&gt;`_: Fix ``TypeError`` when the assertion message is ``bytes`` in python 3.
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/pytest
  - Changelog: https://pyup.io/changelogs/pytest/
  - Repo: https://github.com/pytest-dev/pytest/issues
  - Homepage: http://pytest.org
</details>
bors bot referenced this issue in rehandalal/therapist Aug 3, 2018
26: Update pytest to 3.7.1 r=rehandalal a=pyup-bot


This PR updates [pytest](https://pypi.org/project/pytest) from **3.7.0** to **3.7.1**.



<details>
  <summary>Changelog</summary>
  
  
   ### 3.7.1
   ```
   =========================

Bug Fixes
---------

- `3473 &lt;https://github.com/pytest-dev/pytest/issues/3473&gt;`_: Raise immediately if ``approx()`` is given an expected value of a type it doesn&#39;t understand (e.g. strings, nested dicts, etc.).


- `3712 &lt;https://github.com/pytest-dev/pytest/issues/3712&gt;`_: Correctly represent the dimensions of an numpy array when calling ``repr()`` on ``approx()``.

- `3742 &lt;https://github.com/pytest-dev/pytest/issues/3742&gt;`_: Fix incompatibility with third party plugins during collection, which produced the error ``object has no attribute &#39;_collectfile&#39;``.

- `3745 &lt;https://github.com/pytest-dev/pytest/issues/3745&gt;`_: Display the absolute path if ``cache_dir`` is not relative to the ``rootdir`` instead of failing.


- `3747 &lt;https://github.com/pytest-dev/pytest/issues/3747&gt;`_: Fix compatibility problem with plugins and the warning code issued by fixture functions when they are called directly.


- `3748 &lt;https://github.com/pytest-dev/pytest/issues/3748&gt;`_: Fix infinite recursion in ``pytest.approx`` with arrays in ``numpy&lt;1.13``.


- `3757 &lt;https://github.com/pytest-dev/pytest/issues/3757&gt;`_: Pin pathlib2 to ``&gt;=2.2.0`` as we require ``__fspath__`` support.


- `3763 &lt;https://github.com/pytest-dev/pytest/issues/3763&gt;`_: Fix ``TypeError`` when the assertion message is ``bytes`` in python 3.
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/pytest
  - Changelog: https://pyup.io/changelogs/pytest/
  - Repo: https://github.com/pytest-dev/pytest/issues
  - Homepage: http://pytest.org
</details>



Co-authored-by: pyup-bot <github-bot@pyup.io>
jonozzz pushed a commit to jonozzz/pytest that referenced this issue Aug 10, 2018
jezdez referenced this issue in mozilla/telemetry-analysis-service Aug 14, 2018
This PR updates [pytest](https://pypi.org/project/pytest) from **3.6.2** to **3.7.1**.



<details>
  <summary>Changelog</summary>
  
  
   ### 3.7.1
   ```
   =========================

Bug Fixes
---------

- `3473 &lt;https://github.com/pytest-dev/pytest/issues/3473&gt;`_: Raise immediately if ``approx()`` is given an expected value of a type it doesn&#39;t understand (e.g. strings, nested dicts, etc.).


- `3712 &lt;https://github.com/pytest-dev/pytest/issues/3712&gt;`_: Correctly represent the dimensions of an numpy array when calling ``repr()`` on ``approx()``.

- `3742 &lt;https://github.com/pytest-dev/pytest/issues/3742&gt;`_: Fix incompatibility with third party plugins during collection, which produced the error ``object has no attribute &#39;_collectfile&#39;``.

- `3745 &lt;https://github.com/pytest-dev/pytest/issues/3745&gt;`_: Display the absolute path if ``cache_dir`` is not relative to the ``rootdir`` instead of failing.


- `3747 &lt;https://github.com/pytest-dev/pytest/issues/3747&gt;`_: Fix compatibility problem with plugins and the warning code issued by fixture functions when they are called directly.


- `3748 &lt;https://github.com/pytest-dev/pytest/issues/3748&gt;`_: Fix infinite recursion in ``pytest.approx`` with arrays in ``numpy&lt;1.13``.


- `3757 &lt;https://github.com/pytest-dev/pytest/issues/3757&gt;`_: Pin pathlib2 to ``&gt;=2.2.0`` as we require ``__fspath__`` support.


- `3763 &lt;https://github.com/pytest-dev/pytest/issues/3763&gt;`_: Fix ``TypeError`` when the assertion message is ``bytes`` in python 3.
   ```
   
  
  
   ### 3.7.0
   ```
   =========================

Deprecations and Removals
-------------------------

- `2639 &lt;https://github.com/pytest-dev/pytest/issues/2639&gt;`_: ``pytest_namespace`` has been deprecated.

  See the documentation for ``pytest_namespace`` hook for suggestions on how to deal
  with this in plugins which use this functionality.


- `3661 &lt;https://github.com/pytest-dev/pytest/issues/3661&gt;`_: Calling a fixture function directly, as opposed to request them in a test function, now issues a ``RemovedInPytest4Warning``. It will be changed into an error in pytest ``4.0``.

  This is a great source of confusion to new users, which will often call the fixture functions and request them from test functions interchangeably, which breaks the fixture resolution model.



Features
--------

- `2283 &lt;https://github.com/pytest-dev/pytest/issues/2283&gt;`_: New ``package`` fixture scope: fixtures are finalized when the last test of a *package* finishes. This feature is considered **experimental**, so use it sparingly.


- `3576 &lt;https://github.com/pytest-dev/pytest/issues/3576&gt;`_: ``Node.add_marker`` now supports an ``append=True/False`` parameter to determine whether the mark comes last (default) or first.


- `3579 &lt;https://github.com/pytest-dev/pytest/issues/3579&gt;`_: Fixture ``caplog`` now has a ``messages`` property, providing convenient access to the format-interpolated log messages without the extra data provided by the formatter/handler.


- `3610 &lt;https://github.com/pytest-dev/pytest/issues/3610&gt;`_: New ``--trace`` option to enter the debugger at the start of a test.


- `3623 &lt;https://github.com/pytest-dev/pytest/issues/3623&gt;`_: Introduce ``pytester.copy_example`` as helper to do acceptance tests against examples from the project.



Bug Fixes
---------

- `2220 &lt;https://github.com/pytest-dev/pytest/issues/2220&gt;`_: Fix a bug where fixtures overridden by direct parameters (for example parametrization) were being instantiated even if they were not being used by a test.


- `3695 &lt;https://github.com/pytest-dev/pytest/issues/3695&gt;`_: Fix ``ApproxNumpy`` initialisation argument mixup, ``abs`` and ``rel`` tolerances were flipped causing strange comparsion results.
  Add tests to check ``abs`` and ``rel`` tolerances for ``np.array`` and test for expecting ``nan`` with ``np.array()``


- `980 &lt;https://github.com/pytest-dev/pytest/issues/980&gt;`_: Fix truncated locals output in verbose mode.



Improved Documentation
----------------------

- `3295 &lt;https://github.com/pytest-dev/pytest/issues/3295&gt;`_: Correct the usage documentation of ``--last-failed-no-failures`` by adding the missing ``--last-failed`` argument in the presented examples, because they are misleading and lead to think that the missing argument is not needed.



Trivial/Internal Changes
------------------------

- `3519 &lt;https://github.com/pytest-dev/pytest/issues/3519&gt;`_: Now a ``README.md`` file is created in ``.pytest_cache`` to make it clear why the directory exists.
   ```
   
  
  
   ### 3.6.4
   ```
   =========================

Bug Fixes
---------

- Invoke pytest using ``-mpytest`` so ``sys.path`` does not get polluted by packages installed in ``site-packages``. (`742 &lt;https://github.com/pytest-dev/pytest/issues/742&gt;`_)


Improved Documentation
----------------------

- Use ``smtp_connection`` instead of ``smtp`` in fixtures documentation to avoid possible confusion. (`3592 &lt;https://github.com/pytest-dev/pytest/issues/3592&gt;`_)


Trivial/Internal Changes
------------------------

- Remove obsolete ``__future__`` imports. (`2319 &lt;https://github.com/pytest-dev/pytest/issues/2319&gt;`_)

- Add CITATION to provide information on how to formally cite pytest. (`3402 &lt;https://github.com/pytest-dev/pytest/issues/3402&gt;`_)

- Replace broken type annotations with type comments. (`3635 &lt;https://github.com/pytest-dev/pytest/issues/3635&gt;`_)

- Pin ``pluggy`` to ``&lt;0.8``. (`3727 &lt;https://github.com/pytest-dev/pytest/issues/3727&gt;`_)
   ```
   
  
  
   ### 3.6.3
   ```
   =========================

Bug Fixes
---------

- Fix ``ImportWarning`` triggered by explicit relative imports in
  assertion-rewritten package modules. (`3061
  &lt;https://github.com/pytest-dev/pytest/issues/3061&gt;`_)

- Fix error in ``pytest.approx`` when dealing with 0-dimension numpy
  arrays. (`3593 &lt;https://github.com/pytest-dev/pytest/issues/3593&gt;`_)

- No longer raise ``ValueError`` when using the ``get_marker`` API. (`3605
  &lt;https://github.com/pytest-dev/pytest/issues/3605&gt;`_)

- Fix problem where log messages with non-ascii characters would not
  appear in the output log file.
  (`3630 &lt;https://github.com/pytest-dev/pytest/issues/3630&gt;`_)

- No longer raise ``AttributeError`` when legacy marks can&#39;t be stored in
  functions. (`3631 &lt;https://github.com/pytest-dev/pytest/issues/3631&gt;`_)


Improved Documentation
----------------------

- The description above the example for ``pytest.mark.skipif`` now better
  matches the code. (`3611
  &lt;https://github.com/pytest-dev/pytest/issues/3611&gt;`_)


Trivial/Internal Changes
------------------------

- Internal refactoring: removed unused ``CallSpec2tox ._globalid_args``
  attribute and ``metafunc`` parameter from ``CallSpec2.copy()``. (`3598
  &lt;https://github.com/pytest-dev/pytest/issues/3598&gt;`_)

- Silence usage of ``reduce`` warning in Python 2 (`3609
  &lt;https://github.com/pytest-dev/pytest/issues/3609&gt;`_)

- Fix usage of ``attr.ib`` deprecated ``convert`` parameter. (`3653
  &lt;https://github.com/pytest-dev/pytest/issues/3653&gt;`_)
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/pytest
  - Changelog: https://pyup.io/changelogs/pytest/
  - Repo: https://github.com/pytest-dev/pytest/issues
  - Homepage: http://pytest.org
</details>
@darland
Copy link

darland commented Aug 15, 2018

I got the same error if I run tests like this pytest tests/unit/*.py

E   AttributeError: 'list' object has no attribute '_collectfile'

But if I run like this pytest tests/unit/, it passes.

cmccandless referenced this issue in cmccandless/multisite Aug 20, 2018
This PR updates [pytest](https://pypi.org/project/pytest) from **3.6.4** to **3.7.2**.



<details>
  <summary>Changelog</summary>
  
  
   ### 3.7.2
   ```
   =========================

Bug Fixes
---------

- `3671 &lt;https://github.com/pytest-dev/pytest/issues/3671&gt;`_: Fix ``filterwarnings`` not being registered as a builtin mark.


- `3768 &lt;https://github.com/pytest-dev/pytest/issues/3768&gt;`_, `3789 &lt;https://github.com/pytest-dev/pytest/issues/3789&gt;`_: Fix test collection from packages mixed with normal directories.


- `3771 &lt;https://github.com/pytest-dev/pytest/issues/3771&gt;`_: Fix infinite recursion during collection if a ``pytest_ignore_collect`` hook returns ``False`` instead of ``None``.


- `3774 &lt;https://github.com/pytest-dev/pytest/issues/3774&gt;`_: Fix bug where decorated fixtures would lose functionality (for example ``mock.patch``).


- `3775 &lt;https://github.com/pytest-dev/pytest/issues/3775&gt;`_: Fix bug where importing modules or other objects with prefix ``pytest_`` prefix would raise a ``PluginValidationError``.


- `3788 &lt;https://github.com/pytest-dev/pytest/issues/3788&gt;`_: Fix ``AttributeError`` during teardown of ``TestCase`` subclasses which raise an exception during ``__init__``.


- `3804 &lt;https://github.com/pytest-dev/pytest/issues/3804&gt;`_: Fix traceback reporting for exceptions with ``__cause__`` cycles.



Improved Documentation
----------------------

- `3746 &lt;https://github.com/pytest-dev/pytest/issues/3746&gt;`_: Add documentation for ``metafunc.config`` that had been mistakenly hidden.
   ```
   
  
  
   ### 3.7.1
   ```
   =========================

Bug Fixes
---------

- `3473 &lt;https://github.com/pytest-dev/pytest/issues/3473&gt;`_: Raise immediately if ``approx()`` is given an expected value of a type it doesn&#39;t understand (e.g. strings, nested dicts, etc.).


- `3712 &lt;https://github.com/pytest-dev/pytest/issues/3712&gt;`_: Correctly represent the dimensions of an numpy array when calling ``repr()`` on ``approx()``.

- `3742 &lt;https://github.com/pytest-dev/pytest/issues/3742&gt;`_: Fix incompatibility with third party plugins during collection, which produced the error ``object has no attribute &#39;_collectfile&#39;``.

- `3745 &lt;https://github.com/pytest-dev/pytest/issues/3745&gt;`_: Display the absolute path if ``cache_dir`` is not relative to the ``rootdir`` instead of failing.


- `3747 &lt;https://github.com/pytest-dev/pytest/issues/3747&gt;`_: Fix compatibility problem with plugins and the warning code issued by fixture functions when they are called directly.


- `3748 &lt;https://github.com/pytest-dev/pytest/issues/3748&gt;`_: Fix infinite recursion in ``pytest.approx`` with arrays in ``numpy&lt;1.13``.


- `3757 &lt;https://github.com/pytest-dev/pytest/issues/3757&gt;`_: Pin pathlib2 to ``&gt;=2.2.0`` as we require ``__fspath__`` support.


- `3763 &lt;https://github.com/pytest-dev/pytest/issues/3763&gt;`_: Fix ``TypeError`` when the assertion message is ``bytes`` in python 3.
   ```
   
  
  
   ### 3.7.0
   ```
   =========================

Deprecations and Removals
-------------------------

- `2639 &lt;https://github.com/pytest-dev/pytest/issues/2639&gt;`_: ``pytest_namespace`` has been deprecated.

  See the documentation for ``pytest_namespace`` hook for suggestions on how to deal
  with this in plugins which use this functionality.


- `3661 &lt;https://github.com/pytest-dev/pytest/issues/3661&gt;`_: Calling a fixture function directly, as opposed to request them in a test function, now issues a ``RemovedInPytest4Warning``. It will be changed into an error in pytest ``4.0``.

  This is a great source of confusion to new users, which will often call the fixture functions and request them from test functions interchangeably, which breaks the fixture resolution model.



Features
--------

- `2283 &lt;https://github.com/pytest-dev/pytest/issues/2283&gt;`_: New ``package`` fixture scope: fixtures are finalized when the last test of a *package* finishes. This feature is considered **experimental**, so use it sparingly.


- `3576 &lt;https://github.com/pytest-dev/pytest/issues/3576&gt;`_: ``Node.add_marker`` now supports an ``append=True/False`` parameter to determine whether the mark comes last (default) or first.


- `3579 &lt;https://github.com/pytest-dev/pytest/issues/3579&gt;`_: Fixture ``caplog`` now has a ``messages`` property, providing convenient access to the format-interpolated log messages without the extra data provided by the formatter/handler.


- `3610 &lt;https://github.com/pytest-dev/pytest/issues/3610&gt;`_: New ``--trace`` option to enter the debugger at the start of a test.


- `3623 &lt;https://github.com/pytest-dev/pytest/issues/3623&gt;`_: Introduce ``pytester.copy_example`` as helper to do acceptance tests against examples from the project.



Bug Fixes
---------

- `2220 &lt;https://github.com/pytest-dev/pytest/issues/2220&gt;`_: Fix a bug where fixtures overridden by direct parameters (for example parametrization) were being instantiated even if they were not being used by a test.


- `3695 &lt;https://github.com/pytest-dev/pytest/issues/3695&gt;`_: Fix ``ApproxNumpy`` initialisation argument mixup, ``abs`` and ``rel`` tolerances were flipped causing strange comparsion results.
  Add tests to check ``abs`` and ``rel`` tolerances for ``np.array`` and test for expecting ``nan`` with ``np.array()``


- `980 &lt;https://github.com/pytest-dev/pytest/issues/980&gt;`_: Fix truncated locals output in verbose mode.



Improved Documentation
----------------------

- `3295 &lt;https://github.com/pytest-dev/pytest/issues/3295&gt;`_: Correct the usage documentation of ``--last-failed-no-failures`` by adding the missing ``--last-failed`` argument in the presented examples, because they are misleading and lead to think that the missing argument is not needed.



Trivial/Internal Changes
------------------------

- `3519 &lt;https://github.com/pytest-dev/pytest/issues/3519&gt;`_: Now a ``README.md`` file is created in ``.pytest_cache`` to make it clear why the directory exists.
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/pytest
  - Changelog: https://pyup.io/changelogs/pytest/
  - Homepage: http://pytest.org
</details>
guykisel referenced this issue in guykisel/inline-plz Oct 1, 2018



### Update [wheel](https://pypi.org/project/wheel) from **0.31.1** to **0.32.0**.


<details>
  <summary>Changelog</summary>
  
  
   ### 0.32.0
   ```
   - Removed wheel signing and verifying features
- Removed the &quot;wheel install&quot; and &quot;wheel installscripts&quot; commands
- Added the ``wheel pack`` command
- Allowed multiple license files to be specified using the ``license_files``
  option
- Deprecated the ``license_file`` option
- Eliminated duplicate lines from generated requirements in
  ``.dist-info/METADATA`` (thanks to Wim Glenn for the contribution)
- Fixed handling of direct URL specifiers in requirements
  (PR by Benoit Pierre)
- Fixed canonicalization of extras (PR by Benoit Pierre)
- Warn when the deprecated ``[wheel]`` section is used in ``setup.cfg``
  (PR by Jon Dufresne)
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/wheel
  - Changelog: https://pyup.io/changelogs/wheel/
  - Repo: https://github.com/pypa/wheel
</details>





### Update [watchdog](https://pypi.org/project/watchdog) from **0.8.3** to **0.9.0**.


*The bot wasn't able to find a changelog for this release. [Got an idea?](https://github.com/pyupio/changelogs/issues/new)*

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/watchdog
  - Changelog: https://pyup.io/changelogs/watchdog/
  - Repo: http://github.com/gorakhargosh/watchdog
  - Docs: https://pythonhosted.org/watchdog/
</details>





### Update [Sphinx](https://pypi.org/project/Sphinx) from **1.7.6** to **1.8.1**.


<details>
  <summary>Changelog</summary>
  
  
   ### 1.8.1
   ```
   =====================================

Incompatible changes
--------------------

* LaTeX ``\pagestyle`` commands have been moved to the LaTeX template. No
  changes in PDF, except possibly if ``\sphinxtableofcontents``, which
  contained them, had been customized in :file:`conf.py`. (refs: 5455)

Bugs fixed
----------

* 5418: Incorrect default path for sphinx-build -d/doctrees files
* 5421: autodoc emits deprecation warning for :confval:`autodoc_default_flags`
* 5422: lambda object causes PicklingError on storing environment
* 5417: Sphinx fails to build with syntax error in Python 2.7.5
* 4911: add latexpdf to make.bat for non make-mode
* 5436: Autodoc does not work with enum subclasses with properties/methods
* 5437: autodoc: crashed on modules importing eggs
* 5433: latex: ImportError: cannot import name &#39;DEFAULT_SETTINGS&#39;
* 5431: autodoc: ``autofunction`` emits a warning for callable objects
* 5457: Fix TypeError in error message when override is prohibited
* 5453: PDF builds of &#39;howto&#39; documents have no page numbers
* 5463: mathbase: math_role and MathDirective was disappeared in 1.8.0
* 5454: latex: Index has disappeared from PDF for Japanese documents
* 5432: py domain: ``:type:`` field can&#39;t process ``:term:`` references
* 5426: py domain: TypeError has been raised for class attribute
   ```
   
  
  
   ### 1.8.0
   ```
   =====================================

Dependencies
------------
   ```
   
  
  
   ### 1.8.0b2
   ```
   * html: search box overrides to other elements if scrolled
* i18n: warnings for translation catalogs have wrong line numbers (refs: 5321)
* 5325: latex: cross references has been broken by multiply labeled objects
* C++, fixes for symbol addition and lookup. Lookup should no longer break
  in partial builds. See also 5337.
* 5348: download reference to remote file is not displayed
* 5282: html theme: ``pygments_style`` of theme was overrided by ``conf.py``
  by default
* 4379: toctree shows confusible warning when document is excluded
* 2401: autodoc: ``:members:`` causes ``:special-members:`` not to be shown
* autodoc: ImportError is replaced by AttributeError for deeper module
* 2720, 4034: Incorrect links with ``:download:``, duplicate names, and
  parallel builds
* 5290: autodoc: failed to analyze source code in egg package
* 5399: Sphinx crashes if unknown po file exists
   ```
   
  
  
   ### 1.8.0b1
   ```
   * 5083: Fix wrong make.bat option for internationalization.
* 5115: napoleon: add admonitions added by 4613 to the docs.
   ```
   
  
  
   ### 1.7.10
   ```
   ===============================

Dependencies
------------

Incompatible changes
--------------------

Deprecated
----------

Features added
--------------

Bugs fixed
----------

Testing
--------
   ```
   
  
  
   ### 1.7.9
   ```
   =====================================

Features added
--------------

* 5359: Make generated texinfo files reproducible by sorting the anchors

Bugs fixed
----------

* 5361: crashed on incremental build if document uses include directive
   ```
   
  
  
   ### 1.7.8
   ```
   =====================================

Incompatible changes
--------------------

* The type of ``env.included`` has been changed to dict of set

Bugs fixed
----------

* 5320: intersphinx: crashed if invalid url given
* 5326: manpage: crashed when invalid docname is specified as ``man_pages``
* 5322: autodoc: ``Any`` typehint causes formatting error
* 5327: &quot;document isn&#39;t included in any toctree&quot; warning on rebuild with
  generated files
* 5335: quickstart: escape sequence has been displayed with MacPorts&#39; python
   ```
   
  
  
   ### 1.7.7
   ```
   =====================================

Bugs fixed
----------

* 5198: document not in toctree warning when including files only for parallel
  builds
* LaTeX: reduce &quot;Token not allowed in a PDF string&quot; hyperref warnings in latex
  console output (refs: 5236)
* LaTeX: suppress &quot;remreset Warning: The remreset package is obsolete&quot; in latex
  console output with recent LaTeX (refs: 5237)
* 5234: PDF output: usage of PAPER environment variable is broken since Sphinx
  1.5
* LaTeX: fix the :confval:`latex_engine` documentation regarding Latin Modern
  font with XeLaTeX/LuaLateX (refs: 5251)
* 5280: autodoc: Fix wrong type annotations for complex typing
* autodoc: Optional types are wrongly rendered
* 5291: autodoc crashed by ForwardRef types
* 5211: autodoc: No docs generated for functools.partial functions
* 5306: autodoc: ``getargspec()`` raises NameError for invalid typehints
* 5298: imgmath: math_number_all causes equations to have two numbers in html
* 5294: sphinx-quickstart blank prompts in PowerShell
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/sphinx
  - Changelog: https://pyup.io/changelogs/sphinx/
  - Homepage: http://sphinx-doc.org/
</details>





### Update [py](https://pypi.org/project/py) from **1.5.3** to **1.6.0**.


<details>
  <summary>Changelog</summary>
  
  
   ### 1.6.0
   ```
   ==================

- add ``TerminalWriter.width_of_current_line`` (i18n version of
  ``TerminalWriter.chars_on_current_line``), a read-only property
  that tracks how wide the current line is, attempting to take
  into account international characters in the calculation.
   ```
   
  
  
   ### 1.5.4
   ```
   ==================

- fix pytest-dev/pytest3451: don&#39;t make assumptions about fs case sensitivity
  in ``make_numbered_dir``.
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/py
  - Changelog: https://pyup.io/changelogs/py/
  - Docs: http://py.readthedocs.io/
</details>





### Update [pytest](https://pypi.org/project/pytest) from **3.7.0** to **3.8.1**.


<details>
  <summary>Changelog</summary>
  
  
   ### 3.8.1
   ```
   =========================

Bug Fixes
---------

- `3286 &lt;https://github.com/pytest-dev/pytest/issues/3286&gt;`_: ``.pytest_cache`` directory is now automatically ignored by Git. Users who would like to contribute a solution for other SCMs please consult/comment on this issue.


- `3749 &lt;https://github.com/pytest-dev/pytest/issues/3749&gt;`_: Fix the following error during collection of tests inside packages::

      TypeError: object of type &#39;Package&#39; has no len()


- `3941 &lt;https://github.com/pytest-dev/pytest/issues/3941&gt;`_: Fix bug where indirect parametrization would consider the scope of all fixtures used by the test function to determine the parametrization scope, and not only the scope of the fixtures being parametrized.


- `3973 &lt;https://github.com/pytest-dev/pytest/issues/3973&gt;`_: Fix crash of the assertion rewriter if a test changed the current working directory without restoring it afterwards.


- `3998 &lt;https://github.com/pytest-dev/pytest/issues/3998&gt;`_: Fix issue that prevented some caplog properties (for example ``record_tuples``) from being available when entering the debugger with ``--pdb``.


- `3999 &lt;https://github.com/pytest-dev/pytest/issues/3999&gt;`_: Fix ``UnicodeDecodeError`` in python2.x when a class returns a non-ascii binary ``__repr__`` in an assertion which also contains non-ascii text.



Improved Documentation
----------------------

- `3996 &lt;https://github.com/pytest-dev/pytest/issues/3996&gt;`_: New `Deprecations and Removals &lt;https://docs.pytest.org/en/latest/deprecations.html&gt;`_ page shows all currently
  deprecated features, the rationale to do so, and alternatives to update your code. It also list features removed
  from pytest in past major releases to help those with ancient pytest versions to upgrade.



Trivial/Internal Changes
------------------------

- `3955 &lt;https://github.com/pytest-dev/pytest/issues/3955&gt;`_: Improve pre-commit detection for changelog filenames


- `3975 &lt;https://github.com/pytest-dev/pytest/issues/3975&gt;`_: Remove legacy code around im_func as that was python2 only
   ```
   
  
  
   ### 3.8.0
   ```
   =========================

Deprecations and Removals
-------------------------

- `2452 &lt;https://github.com/pytest-dev/pytest/issues/2452&gt;`_: ``Config.warn`` and ``Node.warn`` have been
  deprecated, see `&lt;https://docs.pytest.org/en/latest/deprecations.htmlconfig-warn-and-node-warn&gt;`_ for rationale and
  examples.

- `3936 &lt;https://github.com/pytest-dev/pytest/issues/3936&gt;`_: ``pytest.mark.filterwarnings`` second parameter is no longer regex-escaped,
  making it possible to actually use regular expressions to check the warning message.

  **Note**: regex-escaping the match string was an implementation oversight that might break test suites which depend
  on the old behavior.



Features
--------

- `2452 &lt;https://github.com/pytest-dev/pytest/issues/2452&gt;`_: Internal pytest warnings are now issued using the standard ``warnings`` module, making it possible to use
  the standard warnings filters to manage those warnings. This introduces ``PytestWarning``,
  ``PytestDeprecationWarning`` and ``RemovedInPytest4Warning`` warning types as part of the public API.

  Consult `the documentation &lt;https://docs.pytest.org/en/latest/warnings.htmlinternal-pytest-warnings&gt;`_ for more info.


- `2908 &lt;https://github.com/pytest-dev/pytest/issues/2908&gt;`_: ``DeprecationWarning`` and ``PendingDeprecationWarning`` are now shown by default if no other warning filter is
  configured. This makes pytest more compliant with
  `PEP-0506 &lt;https://www.python.org/dev/peps/pep-0565/recommended-filter-settings-for-test-runners&gt;`_. See
  `the docs &lt;https://docs.pytest.org/en/latest/warnings.htmldeprecationwarning-and-pendingdeprecationwarning&gt;`_ for
  more info.


- `3251 &lt;https://github.com/pytest-dev/pytest/issues/3251&gt;`_: Warnings are now captured and displayed during test collection.


- `3784 &lt;https://github.com/pytest-dev/pytest/issues/3784&gt;`_: ``PYTEST_DISABLE_PLUGIN_AUTOLOAD`` environment variable disables plugin auto-loading when set.


- `3829 &lt;https://github.com/pytest-dev/pytest/issues/3829&gt;`_: Added the ``count`` option to ``console_output_style`` to enable displaying the progress as a count instead of a percentage.


- `3837 &lt;https://github.com/pytest-dev/pytest/issues/3837&gt;`_: Added support for &#39;xfailed&#39; and &#39;xpassed&#39; outcomes to the ``pytester.RunResult.assert_outcomes`` signature.



Bug Fixes
---------

- `3911 &lt;https://github.com/pytest-dev/pytest/issues/3911&gt;`_: Terminal writer now takes into account unicode character width when writing out progress.


- `3913 &lt;https://github.com/pytest-dev/pytest/issues/3913&gt;`_: Pytest now returns with correct exit code (EXIT_USAGEERROR, 4) when called with unknown arguments.


- `3918 &lt;https://github.com/pytest-dev/pytest/issues/3918&gt;`_: Improve performance of assertion rewriting.



Improved Documentation
----------------------

- `3566 &lt;https://github.com/pytest-dev/pytest/issues/3566&gt;`_: Added a blurb in usage.rst for the usage of -r flag which is used to show an extra test summary info.


- `3907 &lt;https://github.com/pytest-dev/pytest/issues/3907&gt;`_: Corrected type of the exceptions collection passed to ``xfail``: ``raises`` argument accepts a ``tuple`` instead of ``list``.



Trivial/Internal Changes
------------------------

- `3853 &lt;https://github.com/pytest-dev/pytest/issues/3853&gt;`_: Removed ``&quot;run all (no recorded failures)&quot;`` message printed with ``--failed-first`` and ``--last-failed`` when there are no failed tests.
   ```
   
  
  
   ### 3.7.4
   ```
   =========================

Bug Fixes
---------

- `3506 &lt;https://github.com/pytest-dev/pytest/issues/3506&gt;`_: Fix possible infinite recursion when writing ``.pyc`` files.


- `3853 &lt;https://github.com/pytest-dev/pytest/issues/3853&gt;`_: Cache plugin now obeys the ``-q`` flag when ``--last-failed`` and ``--failed-first`` flags are used.


- `3883 &lt;https://github.com/pytest-dev/pytest/issues/3883&gt;`_: Fix bad console output when using ``console_output_style=classic``.


- `3888 &lt;https://github.com/pytest-dev/pytest/issues/3888&gt;`_: Fix macOS specific code using ``capturemanager`` plugin in doctests.



Improved Documentation
----------------------

- `3902 &lt;https://github.com/pytest-dev/pytest/issues/3902&gt;`_: Fix pytest.org links
   ```
   
  
  
   ### 3.7.3
   ```
   =========================

Bug Fixes
---------

- `3033 &lt;https://github.com/pytest-dev/pytest/issues/3033&gt;`_: Fixtures during teardown can again use ``capsys`` and ``capfd`` to inspect output captured during tests.


- `3773 &lt;https://github.com/pytest-dev/pytest/issues/3773&gt;`_: Fix collection of tests from ``__init__.py`` files if they match the ``python_files`` configuration option.


- `3796 &lt;https://github.com/pytest-dev/pytest/issues/3796&gt;`_: Fix issue where teardown of fixtures of consecutive sub-packages were executed once, at the end of the outer
  package.


- `3816 &lt;https://github.com/pytest-dev/pytest/issues/3816&gt;`_: Fix bug where ``--show-capture=no`` option would still show logs printed during fixture teardown.


- `3819 &lt;https://github.com/pytest-dev/pytest/issues/3819&gt;`_: Fix ``stdout/stderr`` not getting captured when real-time cli logging is active.


- `3843 &lt;https://github.com/pytest-dev/pytest/issues/3843&gt;`_: Fix collection error when specifying test functions directly in the command line using ``test.py::test`` syntax together with ``--doctest-modules``.


- `3848 &lt;https://github.com/pytest-dev/pytest/issues/3848&gt;`_: Fix bugs where unicode arguments could not be passed to ``testdir.runpytest`` on Python 2.


- `3854 &lt;https://github.com/pytest-dev/pytest/issues/3854&gt;`_: Fix double collection of tests within packages when the filename starts with a capital letter.



Improved Documentation
----------------------

- `3824 &lt;https://github.com/pytest-dev/pytest/issues/3824&gt;`_: Added example for multiple glob pattern matches in ``python_files``.


- `3833 &lt;https://github.com/pytest-dev/pytest/issues/3833&gt;`_: Added missing docs for ``pytester.Testdir``.


- `3870 &lt;https://github.com/pytest-dev/pytest/issues/3870&gt;`_: Correct documentation for setuptools integration.



Trivial/Internal Changes
------------------------

- `3826 &lt;https://github.com/pytest-dev/pytest/issues/3826&gt;`_: Replace broken type annotations with type comments.


- `3845 &lt;https://github.com/pytest-dev/pytest/issues/3845&gt;`_: Remove a reference to issue `568 &lt;https://github.com/pytest-dev/pytest/issues/568&gt;`_ from the documentation, which has since been
  fixed.
   ```
   
  
  
   ### 3.7.2
   ```
   =========================

Bug Fixes
---------

- `3671 &lt;https://github.com/pytest-dev/pytest/issues/3671&gt;`_: Fix ``filterwarnings`` not being registered as a builtin mark.


- `3768 &lt;https://github.com/pytest-dev/pytest/issues/3768&gt;`_, `3789 &lt;https://github.com/pytest-dev/pytest/issues/3789&gt;`_: Fix test collection from packages mixed with normal directories.


- `3771 &lt;https://github.com/pytest-dev/pytest/issues/3771&gt;`_: Fix infinite recursion during collection if a ``pytest_ignore_collect`` hook returns ``False`` instead of ``None``.


- `3774 &lt;https://github.com/pytest-dev/pytest/issues/3774&gt;`_: Fix bug where decorated fixtures would lose functionality (for example ``mock.patch``).


- `3775 &lt;https://github.com/pytest-dev/pytest/issues/3775&gt;`_: Fix bug where importing modules or other objects with prefix ``pytest_`` prefix would raise a ``PluginValidationError``.


- `3788 &lt;https://github.com/pytest-dev/pytest/issues/3788&gt;`_: Fix ``AttributeError`` during teardown of ``TestCase`` subclasses which raise an exception during ``__init__``.


- `3804 &lt;https://github.com/pytest-dev/pytest/issues/3804&gt;`_: Fix traceback reporting for exceptions with ``__cause__`` cycles.



Improved Documentation
----------------------

- `3746 &lt;https://github.com/pytest-dev/pytest/issues/3746&gt;`_: Add documentation for ``metafunc.config`` that had been mistakenly hidden.
   ```
   
  
  
   ### 3.7.1
   ```
   =========================

Bug Fixes
---------

- `3473 &lt;https://github.com/pytest-dev/pytest/issues/3473&gt;`_: Raise immediately if ``approx()`` is given an expected value of a type it doesn&#39;t understand (e.g. strings, nested dicts, etc.).


- `3712 &lt;https://github.com/pytest-dev/pytest/issues/3712&gt;`_: Correctly represent the dimensions of an numpy array when calling ``repr()`` on ``approx()``.

- `3742 &lt;https://github.com/pytest-dev/pytest/issues/3742&gt;`_: Fix incompatibility with third party plugins during collection, which produced the error ``object has no attribute &#39;_collectfile&#39;``.

- `3745 &lt;https://github.com/pytest-dev/pytest/issues/3745&gt;`_: Display the absolute path if ``cache_dir`` is not relative to the ``rootdir`` instead of failing.


- `3747 &lt;https://github.com/pytest-dev/pytest/issues/3747&gt;`_: Fix compatibility problem with plugins and the warning code issued by fixture functions when they are called directly.


- `3748 &lt;https://github.com/pytest-dev/pytest/issues/3748&gt;`_: Fix infinite recursion in ``pytest.approx`` with arrays in ``numpy&lt;1.13``.


- `3757 &lt;https://github.com/pytest-dev/pytest/issues/3757&gt;`_: Pin pathlib2 to ``&gt;=2.2.0`` as we require ``__fspath__`` support.


- `3763 &lt;https://github.com/pytest-dev/pytest/issues/3763&gt;`_: Fix ``TypeError`` when the assertion message is ``bytes`` in python 3.
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/pytest
  - Changelog: https://pyup.io/changelogs/pytest/
  - Homepage: https://docs.pytest.org/en/latest/
</details>





### Update [prospector[with_everything]](https://pypi.org/project/prospector) from **1.1.1** to **1.1.2**.


*The bot wasn't able to find a changelog for this release. [Got an idea?](https://github.com/pyupio/changelogs/issues/new)*

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/prospector
  - Docs: http://prospector.readthedocs.io
</details>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: critical grave problem or usability issue that affects lots of users type: bug problem that needs to be addressed type: regression indicates a problem that was introduced in a release which was working previously
Projects
None yet
Development

No branches or pull requests