googleapis / google-api-python-client

🐍 The official Python client library for Google's discovery based APIs.
https://googleapis.github.io/google-api-python-client/docs/
Apache License 2.0
7.55k stars 2.37k forks source link

chore(deps): update all dependencies #2424

Open renovate-bot opened 5 days ago

renovate-bot commented 5 days ago

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
google-api-python-client ==2.134.0 -> ==2.136.0 age adoption passing confidence
google-auth ==2.30.0 -> ==2.31.0 age adoption passing confidence
pytest (changelog) ==7.4.4 -> ==8.2.2 age adoption passing confidence

Release Notes

googleapis/google-api-python-client (google-api-python-client) ### [`v2.136.0`](https://togithub.com/googleapis/google-api-python-client/blob/HEAD/CHANGELOG.md#21360-2024-07-02) [Compare Source](https://togithub.com/googleapis/google-api-python-client/compare/v2.135.0...v2.136.0) ##### Features - **accesscontextmanager:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/84a06e1c93c9265010757417ae114849070f9eaa ([17aae81](https://togithub.com/googleapis/google-api-python-client/commit/17aae817359e442f764d3cd9fc863ee806c31277)) - **analyticshub:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/572f7cab3f7da1f7273efdca1bf9bd7d679acb77 ([17aae81](https://togithub.com/googleapis/google-api-python-client/commit/17aae817359e442f764d3cd9fc863ee806c31277)) - **beyondcorp:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/93cbb474022ec6fe394a93cbf5a4ad4b62e2ba69 ([17aae81](https://togithub.com/googleapis/google-api-python-client/commit/17aae817359e442f764d3cd9fc863ee806c31277)) - **bigquery:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/1b44551ace1aea63571dc86e3927e79cb49e7d07 ([17aae81](https://togithub.com/googleapis/google-api-python-client/commit/17aae817359e442f764d3cd9fc863ee806c31277)) - **chat:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/c4485d4e275bfb35e22bc44c1f61a7507b81da2e ([17aae81](https://togithub.com/googleapis/google-api-python-client/commit/17aae817359e442f764d3cd9fc863ee806c31277)) - **cloudcontrolspartner:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/777370823356e8d8e9f5467a025be7c09f40f59c ([17aae81](https://togithub.com/googleapis/google-api-python-client/commit/17aae817359e442f764d3cd9fc863ee806c31277)) - **compute:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/33107239b29391862565a5460f0e6132be5692f4 ([17aae81](https://togithub.com/googleapis/google-api-python-client/commit/17aae817359e442f764d3cd9fc863ee806c31277)) - **connectors:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/00885f5db343e1df6c8f47cb18eee7d1eb33a524 ([17aae81](https://togithub.com/googleapis/google-api-python-client/commit/17aae817359e442f764d3cd9fc863ee806c31277)) - **containeranalysis:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/d7812ed355cbc5c2e93f30ad3d0abb55654c0a3d ([17aae81](https://togithub.com/googleapis/google-api-python-client/commit/17aae817359e442f764d3cd9fc863ee806c31277)) - **dataflow:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/b3907de0778e3c6108f0b1372448ad3ed0a988a9 ([17aae81](https://togithub.com/googleapis/google-api-python-client/commit/17aae817359e442f764d3cd9fc863ee806c31277)) - **dialogflow:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/9f4d3a91a7d2578f580b3bfe07d28bdea4890a3d ([17aae81](https://togithub.com/googleapis/google-api-python-client/commit/17aae817359e442f764d3cd9fc863ee806c31277)) - **displayvideo:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/6c0b5bae60a8698b7db2c34848441b15c3dcafba ([17aae81](https://togithub.com/googleapis/google-api-python-client/commit/17aae817359e442f764d3cd9fc863ee806c31277)) - **dlp:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/0ab9f23ad8bd7d7b90f4afd8a7f66433250c16a6 ([17aae81](https://togithub.com/googleapis/google-api-python-client/commit/17aae817359e442f764d3cd9fc863ee806c31277)) - **file:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/e59a4de0da478919228ae5676f15c25b11de9f99 ([17aae81](https://togithub.com/googleapis/google-api-python-client/commit/17aae817359e442f764d3cd9fc863ee806c31277)) - **firebaseappdistribution:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/fac0afa90e055bbb437a7489ac4ed48737094a1f ([17aae81](https://togithub.com/googleapis/google-api-python-client/commit/17aae817359e442f764d3cd9fc863ee806c31277)) - **gkehub:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/5c8cd184754868338928074de0b71c1fd92714f3 ([17aae81](https://togithub.com/googleapis/google-api-python-client/commit/17aae817359e442f764d3cd9fc863ee806c31277)) - **logging:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/925c0b82afdcc0dcd663268b4ac3f1af0696b33b ([17aae81](https://togithub.com/googleapis/google-api-python-client/commit/17aae817359e442f764d3cd9fc863ee806c31277)) - **metastore:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/891fe5a12e32b41f3488728b6d2e19e3e3cc1f3c ([17aae81](https://togithub.com/googleapis/google-api-python-client/commit/17aae817359e442f764d3cd9fc863ee806c31277)) - **migrationcenter:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/65e7d2381ad7201b7eaaf7b10f2c4ac20bba7bb4 ([17aae81](https://togithub.com/googleapis/google-api-python-client/commit/17aae817359e442f764d3cd9fc863ee806c31277)) - **ondemandscanning:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/2b468b2d3ce9d47369594ac1c7b7e371fc462a3f ([17aae81](https://togithub.com/googleapis/google-api-python-client/commit/17aae817359e442f764d3cd9fc863ee806c31277)) - **policysimulator:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/57723e593f60fae72fb27b61bda5a6eb606bfccd ([17aae81](https://togithub.com/googleapis/google-api-python-client/commit/17aae817359e442f764d3cd9fc863ee806c31277)) - **pubsub:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/09a4806aa0db8ee3a337a1f7abc13251d2fb4f04 ([17aae81](https://togithub.com/googleapis/google-api-python-client/commit/17aae817359e442f764d3cd9fc863ee806c31277)) - **sqladmin:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/6fe857f679c65af446b35f7b5b50cd6383bc777a ([17aae81](https://togithub.com/googleapis/google-api-python-client/commit/17aae817359e442f764d3cd9fc863ee806c31277)) - **storage:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/4d3fcef5067512db9034751f5363e7d8e26bd701 ([17aae81](https://togithub.com/googleapis/google-api-python-client/commit/17aae817359e442f764d3cd9fc863ee806c31277)) - **tasks:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/caf8ca809a50a5773442546186e0e68da2d39afa ([17aae81](https://togithub.com/googleapis/google-api-python-client/commit/17aae817359e442f764d3cd9fc863ee806c31277)) - **vault:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/22a9fde6e9bcf5c6452125e4c61d1dd258c51876 ([17aae81](https://togithub.com/googleapis/google-api-python-client/commit/17aae817359e442f764d3cd9fc863ee806c31277)) - **workloadmanager:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/796bf11180dd46d3cf41611c38cf5d478ef8ea46 ([17aae81](https://togithub.com/googleapis/google-api-python-client/commit/17aae817359e442f764d3cd9fc863ee806c31277)) - **workstations:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/e6c58903285043d04fcfc2199aa59eead5920cfb ([17aae81](https://togithub.com/googleapis/google-api-python-client/commit/17aae817359e442f764d3cd9fc863ee806c31277)) ##### Bug Fixes - **factchecktools:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/5066f77cb693d98268730cd92ea12aa4bdad409d ([17aae81](https://togithub.com/googleapis/google-api-python-client/commit/17aae817359e442f764d3cd9fc863ee806c31277)) ### [`v2.135.0`](https://togithub.com/googleapis/google-api-python-client/blob/HEAD/CHANGELOG.md#21350-2024-06-27) [Compare Source](https://togithub.com/googleapis/google-api-python-client/compare/v2.134.0...v2.135.0) ##### Features - **aiplatform:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/fa0f7405d0a695742e46ca7ff2cfc937c913c297 ([979de72](https://togithub.com/googleapis/google-api-python-client/commit/979de72fa2c144391f2fc6575aab3c4206be2fc3)) - **alloydb:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/5fa05a1bbb401cb278879cd3cfb98e0736598e3d ([979de72](https://togithub.com/googleapis/google-api-python-client/commit/979de72fa2c144391f2fc6575aab3c4206be2fc3)) - **androidmanagement:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/e21069878939b64b43f2c0262124475c02d051a6 ([979de72](https://togithub.com/googleapis/google-api-python-client/commit/979de72fa2c144391f2fc6575aab3c4206be2fc3)) - **androidpublisher:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/2159e56331423445f548c63e2bf1f679f388a65f ([979de72](https://togithub.com/googleapis/google-api-python-client/commit/979de72fa2c144391f2fc6575aab3c4206be2fc3)) - **beyondcorp:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/2552a87e203c46e8a59736b18893ff2554a57313 ([979de72](https://togithub.com/googleapis/google-api-python-client/commit/979de72fa2c144391f2fc6575aab3c4206be2fc3)) - **classroom:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/64f950c9a97cbfe58c0ca6a84a9951be909e5300 ([979de72](https://togithub.com/googleapis/google-api-python-client/commit/979de72fa2c144391f2fc6575aab3c4206be2fc3)) - **containeranalysis:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/d74083efec46927be8b04c7b46ec216427964734 ([979de72](https://togithub.com/googleapis/google-api-python-client/commit/979de72fa2c144391f2fc6575aab3c4206be2fc3)) - **datafusion:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/c655e51d8033ec3360c1f79626bae8bfa332a780 ([979de72](https://togithub.com/googleapis/google-api-python-client/commit/979de72fa2c144391f2fc6575aab3c4206be2fc3)) - **dataproc:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/c47274b07937cb6916b2033322f38bba6f38349b ([979de72](https://togithub.com/googleapis/google-api-python-client/commit/979de72fa2c144391f2fc6575aab3c4206be2fc3)) - **dlp:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/f0f13cd746b29c2ea47839524759233c109c15f7 ([979de72](https://togithub.com/googleapis/google-api-python-client/commit/979de72fa2c144391f2fc6575aab3c4206be2fc3)) - **firestore:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/fd456c4a830e2387da4eccd1c1974a419b45fafb ([979de72](https://togithub.com/googleapis/google-api-python-client/commit/979de72fa2c144391f2fc6575aab3c4206be2fc3)) - **games:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/338896250a13d1048d8c7bf29413a152554da91e ([979de72](https://togithub.com/googleapis/google-api-python-client/commit/979de72fa2c144391f2fc6575aab3c4206be2fc3)) - **healthcare:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/38b9107a2d3999a16bdfc800904f72e1ff7cdab4 ([979de72](https://togithub.com/googleapis/google-api-python-client/commit/979de72fa2c144391f2fc6575aab3c4206be2fc3)) - **iap:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/539b6790ca157e26a5558952a5bf57ddfe7f994c ([979de72](https://togithub.com/googleapis/google-api-python-client/commit/979de72fa2c144391f2fc6575aab3c4206be2fc3)) - **integrations:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/c963397c548cb8e323930e5a9329a961ecede5b6 ([979de72](https://togithub.com/googleapis/google-api-python-client/commit/979de72fa2c144391f2fc6575aab3c4206be2fc3)) - **jobs:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/83fdb4e4c5d7ddf17dab60b591b60c985feef0c7 ([979de72](https://togithub.com/googleapis/google-api-python-client/commit/979de72fa2c144391f2fc6575aab3c4206be2fc3)) - **monitoring:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/826d4087a2784fa17bd6ea676c43c0940ab2d06b ([979de72](https://togithub.com/googleapis/google-api-python-client/commit/979de72fa2c144391f2fc6575aab3c4206be2fc3)) - **networkconnectivity:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/d7b7ae5a37d8aff0db97202dbe5aa5eae1dd3b4e ([979de72](https://togithub.com/googleapis/google-api-python-client/commit/979de72fa2c144391f2fc6575aab3c4206be2fc3)) - **securitycenter:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/bc1b1e68953c874c2f0d39d74eca06280317d3c2 ([979de72](https://togithub.com/googleapis/google-api-python-client/commit/979de72fa2c144391f2fc6575aab3c4206be2fc3)) - **vmmigration:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/025fe36ad417664c8e15383636ed11b81acd23ac ([979de72](https://togithub.com/googleapis/google-api-python-client/commit/979de72fa2c144391f2fc6575aab3c4206be2fc3)) - **walletobjects:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/b6722910e8f4835711004ad36a6961f4b86c9cce ([979de72](https://togithub.com/googleapis/google-api-python-client/commit/979de72fa2c144391f2fc6575aab3c4206be2fc3)) - **workloadmanager:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/2303a5d9dc00800243d5064083ae3afd0d7fffad ([979de72](https://togithub.com/googleapis/google-api-python-client/commit/979de72fa2c144391f2fc6575aab3c4206be2fc3)) ##### Bug Fixes - **bigquerydatatransfer:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/99116546ba974f9f5787ded2ce0ff150fa9555fe ([979de72](https://togithub.com/googleapis/google-api-python-client/commit/979de72fa2c144391f2fc6575aab3c4206be2fc3)) - **bigqueryreservation:** Update the api https://togithub.com/googleapis/google-api-python-client/commit/6e68c87ff494fd6cf28a6bca11efcfe0f969e847 ([979de72](https://togithub.com/googleapis/google-api-python-client/commit/979de72fa2c144391f2fc6575aab3c4206be2fc3))
googleapis/google-auth-library-python (google-auth) ### [`v2.31.0`](https://togithub.com/googleapis/google-auth-library-python/blob/HEAD/CHANGELOG.md#2310-2024-06-27) [Compare Source](https://togithub.com/googleapis/google-auth-library-python/compare/v2.30.0...v2.31.0) ##### Features - Adds X509 workload cert logic ([#​1527](https://togithub.com/googleapis/google-auth-library-python/issues/1527)) ([05220e0](https://togithub.com/googleapis/google-auth-library-python/commit/05220e06a23b3d4c398628918dab113abcce52db)) ##### Bug Fixes - Added py.typed to MANIFEST.in ([#​1526](https://togithub.com/googleapis/google-auth-library-python/issues/1526)) ([1829a3b](https://togithub.com/googleapis/google-auth-library-python/commit/1829a3be18aea5eca8b7272111d75eb61a6077b1)) - Pass trust_env kwarg to ClientSession ([#​1533](https://togithub.com/googleapis/google-auth-library-python/issues/1533)) ([6c15c9a](https://togithub.com/googleapis/google-auth-library-python/commit/6c15c9ad0ff90cf9bac044b38e72956aa3039cf6)), closes [#​1530](https://togithub.com/googleapis/google-auth-library-python/issues/1530)
pytest-dev/pytest (pytest) ### [`v8.2.2`](https://togithub.com/pytest-dev/pytest/releases/tag/8.2.2) [Compare Source](https://togithub.com/pytest-dev/pytest/compare/8.2.1...8.2.2) # pytest 8.2.2 (2024-06-04) ## Bug Fixes - [#​12355](https://togithub.com/pytest-dev/pytest/issues/12355): Fix possible catastrophic performance slowdown on a certain parametrization pattern involving many higher-scoped parameters. - [#​12367](https://togithub.com/pytest-dev/pytest/issues/12367): Fix a regression in pytest 8.2.0 where unittest class instances (a fresh one is created for each test) were not released promptly on test teardown but only on session teardown. - [#​12381](https://togithub.com/pytest-dev/pytest/issues/12381): Fix possible "Directory not empty" crashes arising from concurent cache dir (`.pytest_cache`) creation. Regressed in pytest 8.2.0. ## Improved Documentation - [#​12290](https://togithub.com/pytest-dev/pytest/issues/12290): Updated Sphinx theme to use Furo instead of Flask, enabling Dark mode theme. - [#​12356](https://togithub.com/pytest-dev/pytest/issues/12356): Added a subsection to the documentation for debugging flaky tests to mention lack of thread safety in pytest as a possible source of flakyness. - [#​12363](https://togithub.com/pytest-dev/pytest/issues/12363): The documentation webpages now links to a canonical version to reduce outdated documentation in search engine results. ### [`v8.2.1`](https://togithub.com/pytest-dev/pytest/releases/tag/8.2.1) [Compare Source](https://togithub.com/pytest-dev/pytest/compare/8.2.0...8.2.1) # pytest 8.2.1 (2024-05-19) ## Improvements - [#​12334](https://togithub.com/pytest-dev/pytest/issues/12334): Support for Python 3.13 (beta1 at the time of writing). ## Bug Fixes - [#​12120](https://togithub.com/pytest-dev/pytest/issues/12120): Fix \[PermissionError]{.title-ref} crashes arising from directories which are not selected on the command-line. - [#​12191](https://togithub.com/pytest-dev/pytest/issues/12191): Keyboard interrupts and system exits are now properly handled during the test collection. - [#​12300](https://togithub.com/pytest-dev/pytest/issues/12300): Fixed handling of 'Function not implemented' error under squashfuse_ll, which is a different way to say that the mountpoint is read-only. - [#​12308](https://togithub.com/pytest-dev/pytest/issues/12308): Fix a regression in pytest 8.2.0 where the permissions of automatically-created `.pytest_cache` directories became `rwx------` instead of the expected `rwxr-xr-x`. ## Trivial/Internal Changes - [#​12333](https://togithub.com/pytest-dev/pytest/issues/12333): pytest releases are now attested using the recent [Artifact Attestation](https://github.blog/2024-05-02-introducing-artifact-attestations-now-in-public-beta/) support from GitHub, allowing users to verify the provenance of pytest's sdist and wheel artifacts. ### [`v8.2.0`](https://togithub.com/pytest-dev/pytest/releases/tag/8.2.0) [Compare Source](https://togithub.com/pytest-dev/pytest/compare/8.1.2...8.2.0) # pytest 8.2.0 (2024-04-27) ## Deprecations - [#​12069](https://togithub.com/pytest-dev/pytest/issues/12069): A deprecation warning is now raised when implementations of one of the following hooks request a deprecated `py.path.local` parameter instead of the `pathlib.Path` parameter which replaced it: - `pytest_ignore_collect`{.interpreted-text role="hook"} - the `path` parameter - use `collection_path` instead. - `pytest_collect_file`{.interpreted-text role="hook"} - the `path` parameter - use `file_path` instead. - `pytest_pycollect_makemodule`{.interpreted-text role="hook"} - the `path` parameter - use `module_path` instead. - `pytest_report_header`{.interpreted-text role="hook"} - the `startdir` parameter - use `start_path` instead. - `pytest_report_collectionfinish`{.interpreted-text role="hook"} - the `startdir` parameter - use `start_path` instead. The replacement parameters are available since pytest 7.0.0. The old parameters will be removed in pytest 9.0.0. See `legacy-path-hooks-deprecated`{.interpreted-text role="ref"} for more details. ## Features - [#​11871](https://togithub.com/pytest-dev/pytest/issues/11871): Added support for reading command line arguments from a file using the prefix character `@`, like e.g.: `pytest @​tests.txt`. The file must have one argument per line. See `Read arguments from file `{.interpreted-text role="ref"} for details. ## Improvements - [#​11523](https://togithub.com/pytest-dev/pytest/issues/11523): `pytest.importorskip`{.interpreted-text role="func"} will now issue a warning if the module could be found, but raised `ImportError`{.interpreted-text role="class"} instead of `ModuleNotFoundError`{.interpreted-text role="class"}. The warning can be suppressed by passing `exc_type=ImportError` to `pytest.importorskip`{.interpreted-text role="func"}. See `import-or-skip-import-error`{.interpreted-text role="ref"} for details. - [#​11728](https://togithub.com/pytest-dev/pytest/issues/11728): For `unittest`-based tests, exceptions during class cleanup (as raised by functions registered with `TestCase.addClassCleanup `{.interpreted-text role="meth"}) are now reported instead of silently failing. - [#​11777](https://togithub.com/pytest-dev/pytest/issues/11777): Text is no longer truncated in the `short test summary info` section when `-vv` is given. - [#​12112](https://togithub.com/pytest-dev/pytest/issues/12112): Improved namespace packages detection when `consider_namespace_packages`{.interpreted-text role="confval"} is enabled, covering more situations (like editable installs). - [#​9502](https://togithub.com/pytest-dev/pytest/issues/9502): Added `PYTEST_VERSION`{.interpreted-text role="envvar"} environment variable which is defined at the start of the pytest session and undefined afterwards. It contains the value of `pytest.__version__`, and among other things can be used to easily check if code is running from within a pytest run. ## Bug Fixes - [#​12065](https://togithub.com/pytest-dev/pytest/issues/12065): Fixed a regression in pytest 8.0.0 where test classes containing `setup_method` and tests using `@staticmethod` or `@classmethod` would crash with `AttributeError: 'NoneType' object has no attribute 'setup_method'`. Now the `request.instance `{.interpreted-text role="attr"} attribute of tests using `@staticmethod` and `@classmethod` is no longer `None`, but a fresh instance of the class, like in non-static methods. Previously it was `None`, and all fixtures of such tests would share a single `self`. - [#​12135](https://togithub.com/pytest-dev/pytest/issues/12135): Fixed issue where fixtures adding their finalizer multiple times to fixtures they request would cause unreliable and non-intuitive teardown ordering in some instances. - [#​12194](https://togithub.com/pytest-dev/pytest/issues/12194): Fixed a bug with `--importmode=importlib` and `--doctest-modules` where child modules did not appear as attributes in parent modules. - [#​1489](https://togithub.com/pytest-dev/pytest/issues/1489): Fixed some instances where teardown of higher-scoped fixtures was not happening in the reverse order they were initialized in. ## Trivial/Internal Changes - [#​12069](https://togithub.com/pytest-dev/pytest/issues/12069): `pluggy>=1.5.0` is now required. - [#​12167](https://togithub.com/pytest-dev/pytest/issues/12167): `cache `{.interpreted-text role="ref"}: create supporting files (`CACHEDIR.TAG`, `.gitignore`, etc.) in a temporary directory to provide atomic semantics. ### [`v8.1.2`](https://togithub.com/pytest-dev/pytest/releases/tag/8.1.2) [Compare Source](https://togithub.com/pytest-dev/pytest/compare/8.1.1...8.1.2) # pytest 8.1.2 (2024-04-26) ## Bug Fixes - [#​12114](https://togithub.com/pytest-dev/pytest/issues/12114): Fixed error in `pytest.approx`{.interpreted-text role="func"} when used with \[numpy]{.title-ref} arrays and comparing with other types. ### [`v8.1.1`](https://togithub.com/pytest-dev/pytest/releases/tag/8.1.1) [Compare Source](https://togithub.com/pytest-dev/pytest/compare/8.1.0...8.1.1) # 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](https://togithub.com/pytest-dev/pytest/issues/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](https://packaging.python.org/en/latest/guides/packaging-namespace-packages) when importing modules. - [#​11653](https://togithub.com/pytest-dev/pytest/issues/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 `{.interpreted-text role="ref"} for more details. ## Improvements - [#​10865](https://togithub.com/pytest-dev/pytest/issues/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](https://togithub.com/python/cpython/issues/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](https://togithub.com/pytest-dev/pytest/issues/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](https://togithub.com/pytest-dev/pytest/issues/11475): `--import-mode=importlib `{.interpreted-text role="ref"} now tries to import modules using the standard import mechanism (but still without changing :py`sys.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](https://togithub.com/pytest-dev/pytest/issues/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](https://togithub.com/pytest-dev/pytest/issues/11850): Added support for `sys.last_exc`{.interpreted-text role="data"} for post-mortem debugging on Python>=3.12. - [#​11962](https://togithub.com/pytest-dev/pytest/issues/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](https://togithub.com/pytest-dev/pytest/issues/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](https://togithub.com/pytest-dev/pytest/issues/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](https://togithub.com/pytest-dev/pytest/issues/11475): Fixed regression where `--importmode=importlib` would import non-test modules more than once. - [#​11904](https://togithub.com/pytest-dev/pytest/issues/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](https://togithub.com/pytest-dev/pytest/issues/12011): Fixed a regression in 8.0.1 whereby `setup_module` xunit-style fixtures are not executed when `--doctest-modules` is passed. - [#​12014](https://togithub.com/pytest-dev/pytest/issues/12014): Fix the `stacklevel` used when warning about marks used on fixtures. - [#​12039](https://togithub.com/pytest-dev/pytest/issues/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](https://togithub.com/pytest-dev/pytest/issues/11790): Documented the retention of temporary directories created using the `tmp_path` fixture in more detail. ## Trivial/Internal Changes - [#​11785](https://togithub.com/pytest-dev/pytest/issues/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](https://togithub.com/pytest-dev/pytest/issues/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](https://togithub.com/pytest-dev/pytest/issues/12069). ::: ### [`v8.1.0`](https://togithub.com/pytest-dev/pytest/releases/tag/8.1.0) [Compare Source](https://togithub.com/pytest-dev/pytest/compare/8.0.2...8.1.0) # 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](https://togithub.com/pytest-dev/pytest/issues/12069). ## Features - [#​11475](https://togithub.com/pytest-dev/pytest/issues/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](https://packaging.python.org/en/latest/guides/packaging-namespace-packages) when importing modules. - [#​11653](https://togithub.com/pytest-dev/pytest/issues/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 `{.interpreted-text role="ref"} for more details. ## Improvements - [#​10865](https://togithub.com/pytest-dev/pytest/issues/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](https://togithub.com/python/cpython/issues/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](https://togithub.com/pytest-dev/pytest/issues/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](https://togithub.com/pytest-dev/pytest/issues/11475): `--import-mode=importlib `{.interpreted-text role="ref"} now tries to import modules using the standard import mechanism (but still without changing :py`sys.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](https://togithub.com/pytest-dev/pytest/issues/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](https://togithub.com/pytest-dev/pytest/issues/11850): Added support for `sys.last_exc`{.interpreted-text role="data"} for post-mortem debugging on Python>=3.12. - [#​11962](https://togithub.com/pytest-dev/pytest/issues/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](https://togithub.com/pytest-dev/pytest/issues/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](https://togithub.com/pytest-dev/pytest/issues/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](https://togithub.com/pytest-dev/pytest/issues/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](https://togithub.com/pytest-dev/pytest/issues/12011): Fixed a regression in 8.0.1 whereby `setup_module` xunit-style fixtures are not executed when `--doctest-modules` is passed. - [#​12014](https://togithub.com/pytest-dev/pytest/issues/12014): Fix the `stacklevel` used when warning about marks used on fixtures. - [#​12039](https://togithub.com/pytest-dev/pytest/issues/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](https://togithub.com/pytest-dev/pytest/issues/11790): Documented the retention of temporary directories created using the `tmp_path` fixture in more detail. ## Trivial/Internal Changes - [#​11785](https://togithub.com/pytest-dev/pytest/issues/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`](https://togithub.com/pytest-dev/pytest/releases/tag/8.0.2) [Compare Source](https://togithub.com/pytest-dev/pytest/compare/8.0.1...8.0.2) # pytest 8.0.2 (2024-02-24) ## Bug Fixes - [#​11895](https://togithub.com/pytest-dev/pytest/issues/11895): Fix collection on Windows where initial paths contain the short version of a path (for example `c:\PROGRA~1\tests`). - [#​11953](https://togithub.com/pytest-dev/pytest/issues/11953): Fix an `IndexError` crash raising from `getstatementrange_ast`. - [#​12021](https://togithub.com/pytest-dev/pytest/issues/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`](https://togithub.com/pytest-dev/pytest/releases/tag/8.0.1) [Compare Source](https://togithub.com/pytest-dev/pytest/compare/8.0.0...8.0.1) # pytest 8.0.1 (2024-02-16) ## Bug Fixes - [#​11875](https://togithub.com/pytest-dev/pytest/issues/11875): Correctly handle errors from `getpass.getuser`{.interpreted-text role="func"} in Python 3.13. - [#​11879](https://togithub.com/pytest-dev/pytest/issues/11879): Fix an edge case where `ExceptionInfo._stringify_exception` could crash `pytest.raises`{.interpreted-text role="func"}. - [#​11906](https://togithub.com/pytest-dev/pytest/issues/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](https://togithub.com/pytest-dev/pytest/issues/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](https://togithub.com/pytest-dev/pytest/issues/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](https://togithub.com/pytest-dev/pytest/issues/11937): Fix a regression in pytest 8.0.0 whereby items would be collected in reverse order in some circumstances. ### [`v8.0.0`](https://togithub.com/pytest-dev/pytest/releases/tag/8.0.0): pytest 8.0.0 (2024-01-27) [Compare Source](https://togithub.com/pytest-dev/pytest/compare/7.4.4...8.0.0) See [8.0.0rc1](https://togithub.com/pytest-dev/pytest/releases/tag/8.0.0rc1) and [8.0.0rc2](https://togithub.com/pytest-dev/pytest/releases/tag/8.0.0rc2) for the full changes since pytest 7.4! #### Bug Fixes - [#​11842](https://togithub.com/pytest-dev/pytest/issues/11842): Properly escape the `reason` of a `skip `{.interpreted-text role="ref"} mark when writing JUnit XML files. - [#​11861](https://togithub.com/pytest-dev/pytest/issues/11861): Avoid microsecond exceeds `1_000_000` when using `log-date-format` with `%f` specifier, which might cause the test suite to crash.

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

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.



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