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

chore(deps): update development dependencies (non-major) #244

Merged
merged 1 commit into from
Apr 16, 2024

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Apr 10, 2024

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
dev/coverage ==7.4.1 -> ==7.4.4 age adoption passing confidence
dev/pytest (changelog) ==8.0.0 -> ==8.1.1 age adoption passing confidence
dev/pytest-mock (changelog) ==3.12.0 -> ==3.14.0 age adoption passing confidence
lint/black (changelog) ==24.2.0 -> ==24.4.0 age adoption passing confidence
lint/yamllint ==1.34.0 -> ==1.35.1 age adoption passing confidence
types/mypy (source, changelog) ==1.8.0 -> ==1.9.0 age adoption passing confidence
types/pyright ==1.1.350 -> ==1.1.358 age adoption passing confidence

Release Notes

nedbat/coveragepy (dev/coverage)

v7.4.4

Compare Source

  • Fix: in some cases, even with [run] relative_files=True, a data file
    could be created with absolute path names. When combined with other relative
    data files, it was random whether the absolute file names would be made
    relative or not. If they weren't, then a file would be listed twice in
    reports, as detailed in issue 1752_. This is now fixed: absolute file
    names are always made relative when combining. Thanks to Bruno Rodrigues dos
    Santos for support.

  • Fix: the last case of a match/case statement had an incorrect message if the
    branch was missed. It said the pattern never matched, when actually the
    branch is missed if the last case always matched.

  • Fix: clicking a line number in the HTML report now positions more accurately.

  • Fix: the report:format setting was defined as a boolean, but should be a
    string. Thanks, Tanaydin Sirin <pull 1754_>_. It is also now documented
    on the :ref:configuration page <config_report_format>.

.. _issue 1752:https://github.com/nedbat/coveragepy/issues/17522
.. _pull 1754https://github.com/nedbat/coveragepy/pull/175454

.. _changes_7-4-3:

v7.4.3

Compare Source

  • Fix: in some cases, coverage could fail with a RuntimeError: "Set changed
    size during iteration." This is now fixed, closing issue 1733_.

.. _issue 1733:https://github.com/nedbat/coveragepy/issues/17333

.. _changes_7-4-2:

v7.4.2

Compare Source

  • Fix: setting COVERAGE_CORE=sysmon no longer errors on 3.11 and lower,
    thanks Hugo van Kemenade <pull 1747_>_. It now issues a warning that
    sys.monitoring is not available and falls back to the default core instead.

.. _pull 1747:https://github.com/nedbat/coveragepy/pull/17477

.. _changes_7-4-1:

pytest-dev/pytest (dev/pytest)

v8.1.1

Compare Source

pytest 8.1.1 (2024-03-08)

::: {.note}
::: {.title}
Note
:::

This release is not a usual bug fix release -- it contains features and improvements, being a follow up
to 8.1.0, which has been yanked from PyPI.
:::

Features

  • #​11475: Added the new consider_namespace_packages{.interpreted-text role="confval"} configuration option, defaulting to False.

    If set to True, pytest will attempt to identify modules that are part of namespace packages when importing modules.

  • #​11653: Added the new verbosity_test_cases{.interpreted-text role="confval"} configuration option for fine-grained control of test execution verbosity.
    See Fine-grained verbosity <pytest.fine_grained_verbosity>{.interpreted-text role="ref"} for more details.

Improvements

  • #​10865: pytest.warns{.interpreted-text role="func"} now validates that warnings.warn{.interpreted-text role="func"} was called with a [str]{.title-ref} or a [Warning]{.title-ref}.
    Currently in Python it is possible to use other types, however this causes an exception when warnings.filterwarnings{.interpreted-text role="func"} is used to filter those warnings (see CPython #​103577 for a discussion).
    While this can be considered a bug in CPython, we decided to put guards in pytest as the error message produced without this check in place is confusing.

  • #​11311: When using --override-ini for paths in invocations without a configuration file defined, the current working directory is used
    as the relative directory.

    Previoulsy this would raise an AssertionError{.interpreted-text role="class"}.

  • #​11475: --import-mode=importlib <import-mode-importlib>{.interpreted-text role="ref"} now tries to import modules using the standard import mechanism (but still without changing :pysys.path{.interpreted-text role="data"}), falling back to importing modules directly only if that fails.

    This means that installed packages will be imported under their canonical name if possible first, for example app.core.models, instead of having the module name always be derived from their path (for example .env310.lib.site_packages.app.core.models).

  • #​11801: Added the iter_parents() <_pytest.nodes.Node.iter_parents>{.interpreted-text role="func"} helper method on nodes.
    It is similar to listchain <_pytest.nodes.Node.listchain>{.interpreted-text role="func"}, but goes from bottom to top, and returns an iterator, not a list.

  • #​11850: Added support for sys.last_exc{.interpreted-text role="data"} for post-mortem debugging on Python>=3.12.

  • #​11962: In case no other suitable candidates for configuration file are found, a pyproject.toml (even without a [tool.pytest.ini_options] table) will be considered as the configuration file and define the rootdir.

  • #​11978: Add --log-file-mode option to the logging plugin, enabling appending to log-files. This option accepts either "w" or "a" and defaults to "w".

    Previously, the mode was hard-coded to be "w" which truncates the file before logging.

  • #​12047: When multiple finalizers of a fixture raise an exception, now all exceptions are reported as an exception group.
    Previously, only the first exception was reported.

Bug Fixes

  • #​11475: Fixed regression where --importmode=importlib would import non-test modules more than once.

  • #​11904: Fixed a regression in pytest 8.0.0 that would cause test collection to fail due to permission errors when using --pyargs.

    This change improves the collection tree for tests specified using --pyargs, see 12043{.interpreted-text role="pull"} for a comparison with pytest 8.0 and <8.

  • #​12011: Fixed a regression in 8.0.1 whereby setup_module xunit-style fixtures are not executed when --doctest-modules is passed.

  • #​12014: Fix the stacklevel used when warning about marks used on fixtures.

  • #​12039: Fixed a regression in 8.0.2 where tests created using tmp_path{.interpreted-text role="fixture"} have been collected multiple times in CI under Windows.

Improved Documentation

  • #​11790: Documented the retention of temporary directories created using the tmp_path fixture in more detail.

Trivial/Internal Changes

  • #​11785: Some changes were made to private functions which may affect plugins which access them:

    • FixtureManager._getautousenames() now takes a Node itself instead of the nodeid.
    • FixtureManager.getfixturedefs() now takes the Node itself instead of the nodeid.
    • The _pytest.nodes.iterparentnodeids() function is removed without replacement.
      Prefer to traverse the node hierarchy itself instead.
      If you really need to, copy the function from the previous pytest release.
  • #​12069: Delayed the deprecation of the following features to 9.0.0:

    • node-ctor-fspath-deprecation{.interpreted-text role="ref"}.
    • legacy-path-hooks-deprecated{.interpreted-text role="ref"}.

    It was discovered after 8.1.0 was released that the warnings about the impeding removal were not being displayed, so the team decided to revert the removal.

    This is the reason for 8.1.0 being yanked.

pytest 8.1.0 (YANKED)

::: {.note}
::: {.title}
Note
:::

This release has been yanked: it broke some plugins without the proper warning period, due to
some warnings not showing up as expected.

See #​12069.
:::

v8.1.0

Compare Source

pytest 8.1.0 (YANKED)

[!IMPORTANT]
This release has been yanked: it broke some plugins without the proper warning period, due to some warnings not showing up as expected. See #​12069.

Features

  • #​11475: Added the new consider_namespace_packages{.interpreted-text role="confval"} configuration option, defaulting to False.

    If set to True, pytest will attempt to identify modules that are part of namespace packages when importing modules.

  • #​11653: Added the new verbosity_test_cases{.interpreted-text role="confval"} configuration option for fine-grained control of test execution verbosity.
    See Fine-grained verbosity <pytest.fine_grained_verbosity>{.interpreted-text role="ref"} for more details.

Improvements

  • #​10865: pytest.warns{.interpreted-text role="func"} now validates that warnings.warn{.interpreted-text role="func"} was called with a [str]{.title-ref} or a [Warning]{.title-ref}.
    Currently in Python it is possible to use other types, however this causes an exception when warnings.filterwarnings{.interpreted-text role="func"} is used to filter those warnings (see CPython #​103577 for a discussion).
    While this can be considered a bug in CPython, we decided to put guards in pytest as the error message produced without this check in place is confusing.

  • #​11311: When using --override-ini for paths in invocations without a configuration file defined, the current working directory is used
    as the relative directory.

    Previoulsy this would raise an AssertionError{.interpreted-text role="class"}.

  • #​11475: --import-mode=importlib <import-mode-importlib>{.interpreted-text role="ref"} now tries to import modules using the standard import mechanism (but still without changing :pysys.path{.interpreted-text role="data"}), falling back to importing modules directly only if that fails.

    This means that installed packages will be imported under their canonical name if possible first, for example app.core.models, instead of having the module name always be derived from their path (for example .env310.lib.site_packages.app.core.models).

  • #​11801: Added the iter_parents() <_pytest.nodes.Node.iter_parents>{.interpreted-text role="func"} helper method on nodes.
    It is similar to listchain <_pytest.nodes.Node.listchain>{.interpreted-text role="func"}, but goes from bottom to top, and returns an iterator, not a list.

  • #​11850: Added support for sys.last_exc{.interpreted-text role="data"} for post-mortem debugging on Python>=3.12.

  • #​11962: In case no other suitable candidates for configuration file are found, a pyproject.toml (even without a [tool.pytest.ini_options] table) will be considered as the configuration file and define the rootdir.

  • #​11978: Add --log-file-mode option to the logging plugin, enabling appending to log-files. This option accepts either "w" or "a" and defaults to "w".

    Previously, the mode was hard-coded to be "w" which truncates the file before logging.

  • #​12047: When multiple finalizers of a fixture raise an exception, now all exceptions are reported as an exception group.
    Previously, only the first exception was reported.

Bug Fixes

  • #​11904: Fixed a regression in pytest 8.0.0 that would cause test collection to fail due to permission errors when using --pyargs.

    This change improves the collection tree for tests specified using --pyargs, see 12043{.interpreted-text role="pull"} for a comparison with pytest 8.0 and <8.

  • #​12011: Fixed a regression in 8.0.1 whereby setup_module xunit-style fixtures are not executed when --doctest-modules is passed.

  • #​12014: Fix the stacklevel used when warning about marks used on fixtures.

  • #​12039: Fixed a regression in 8.0.2 where tests created using tmp_path{.interpreted-text role="fixture"} have been collected multiple times in CI under Windows.

Improved Documentation

  • #​11790: Documented the retention of temporary directories created using the tmp_path fixture in more detail.

Trivial/Internal Changes

  • #​11785: Some changes were made to private functions which may affect plugins which access them:
    • FixtureManager._getautousenames() now takes a Node itself instead of the nodeid.
    • FixtureManager.getfixturedefs() now takes the Node itself instead of the nodeid.
    • The _pytest.nodes.iterparentnodeids() function is removed without replacement.
      Prefer to traverse the node hierarchy itself instead.
      If you really need to, copy the function from the previous pytest release.

v8.0.2

Compare Source

pytest 8.0.2 (2024-02-24)

Bug Fixes

  • #​11895: Fix collection on Windows where initial paths contain the short version of a path (for example c:\PROGRA~1\tests).
  • #​11953: Fix an IndexError crash raising from getstatementrange_ast.
  • #​12021: Reverted a fix to [--maxfail]{.title-ref} handling in pytest 8.0.0 because it caused a regression in pytest-xdist whereby session fixture teardowns may get executed multiple times when the max-fails is reached.

v8.0.1

Compare Source

pytest 8.0.1 (2024-02-16)

Bug Fixes

  • #​11875: Correctly handle errors from getpass.getuser{.interpreted-text role="func"} in Python 3.13.
  • #​11879: Fix an edge case where ExceptionInfo._stringify_exception could crash pytest.raises{.interpreted-text role="func"}.
  • #​11906: Fix regression with pytest.warns{.interpreted-text role="func"} using custom warning subclasses which have more than one parameter in their [__init__]{.title-ref}.
  • #​11907: Fix a regression in pytest 8.0.0 whereby calling pytest.skip{.interpreted-text role="func"} and similar control-flow exceptions within a pytest.warns(){.interpreted-text role="func"} block would get suppressed instead of propagating.
  • #​11929: Fix a regression in pytest 8.0.0 whereby autouse fixtures defined in a module get ignored by the doctests in the module.
  • #​11937: Fix a regression in pytest 8.0.0 whereby items would be collected in reverse order in some circumstances.
pytest-dev/pytest-mock (dev/pytest-mock)

v3.14.0

Compare Source

  • #&#8203;415 <https://github.com/pytest-dev/pytest-mock/pull/415>_: MockType and AsyncMockType can be imported from pytest_mock for type annotation purposes.

  • #&#8203;420 <https://github.com/pytest-dev/pytest-mock/issues/420>_: Fixed a regression which would cause mocker.patch.object to not being properly cleared between tests.

v3.13.0

Compare Source

  • #&#8203;417 <https://github.com/pytest-dev/pytest-mock/pull/417>_: spy now has spy_return_list, which is a list containing all the values returned by the spied function.
  • pytest-mock now requires pytest>=6.2.5.
  • #&#8203;410 <https://github.com/pytest-dev/pytest-mock/pull/410>: pytest-mock's setup.py file is removed.
    If you relied on this file, e.g. to install pytest using setup.py install,
    please see Why you shouldn't invoke setup.py directly <https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html#summary>
    for alternatives.
psf/black (lint/black)

v24.4.0

Compare Source

Stable style
  • Fix unwanted crashes caused by AST equivalency check (#​4290)
Preview style
  • if guards in case blocks are now wrapped in parentheses when the line is too long.
    (#​4269)
  • Stop moving multiline strings to a new line unless inside brackets (#​4289)
Integrations
  • Add a new option use_pyproject to the GitHub Action psf/black. This will read the
    Black version from pyproject.toml. (#​4294)

v24.3.0

Compare Source

Highlights

This release is a milestone: it fixes Black's first CVE security vulnerability. If you
run Black on untrusted input, or if you habitually put thousands of leading tab
characters in your docstrings, you are strongly encouraged to upgrade immediately to fix
CVE-2024-21503.

This release also fixes a bug in Black's AST safety check that allowed Black to make
incorrect changes to certain f-strings that are valid in Python 3.12 and higher.

Stable style
  • Don't move comments along with delimiters, which could cause crashes (#​4248)
  • Strengthen AST safety check to catch more unsafe changes to strings. Previous versions
    of Black would incorrectly format the contents of certain unusual f-strings containing
    nested strings with the same quote type. Now, Black will crash on such strings until
    support for the new f-string syntax is implemented. (#​4270)
  • Fix a bug where line-ranges exceeding the last code line would not work as expected
    (#​4273)
Performance
  • Fix catastrophic performance on docstrings that contain large numbers of leading tab
    characters. This fixes
    CVE-2024-21503.
    (#​4278)
Documentation
  • Note what happens when --check is used with --quiet (#​4236)
adrienverge/yamllint (lint/yamllint)

v1.35.1

Compare Source

  • Restore ignoration of files passed as command-line arguments
  • Revert API change from version 1.35.0

v1.35.0

Compare Source

  • Fix failure on broken symlinks that should be ignored
  • API change: linter.run(stream, config) doesn't filter files anymore
  • Docs: Restore official Read the Docs theme
python/mypy (types/mypy)

v1.9.0

Compare Source

RobertCraigie/pyright-python (types/pyright)

v1.1.358

Compare Source

v1.1.357

Compare Source

v1.1.356

Compare Source

v1.1.355

Compare Source

v1.1.354

Compare Source

v1.1.353

Compare Source

v1.1.352

Compare Source

v1.1.351

Compare Source


Configuration

📅 Schedule: Branch creation - "every weekend" in timezone Etc/UTC, Automerge - "every weekend" in timezone Etc/UTC.

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot force-pushed the renovate/dev-dependencies branch from cb7aa30 to afec697 Compare April 11, 2024 13:26
@lengau lengau requested a review from tigarmo April 11, 2024 15:42
@renovate renovate bot force-pushed the renovate/dev-dependencies branch from afec697 to da87e6b Compare April 12, 2024 14:24
@renovate renovate bot force-pushed the renovate/dev-dependencies branch from da87e6b to 71b6237 Compare April 14, 2024 21:02
@tigarmo tigarmo merged commit a8d693f into main Apr 16, 2024
10 checks passed
@tigarmo tigarmo deleted the renovate/dev-dependencies branch April 16, 2024 12:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants