⬆️(dependencies) update python dependencies #1062
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==1.38.27
->==1.38.33
==1.82.1
->==1.85.0
==8.3.5
->==8.4.0
==0.11.12
->==0.11.13
Release Notes
boto/boto3 (boto3)
v1.38.33
Compare Source
=======
appsync
: [botocore
] DeprecateatRestEncryptionEnabled
andtransitEncryptionEnabled
attributes inCreateApiCache
action. Encryption is always enabled for new caches.ce
: [botocore
] Support dual-stack endpoints for ce apicustomer-profiles
: [botocore
] This release introduces capability of Profile Explorer, using correct ingestion timestamp & using historical data for computing calculated attributes, and new standard objects for T&H as part of Amazon Connect Customer Profiles service.ec2
: [botocore
] Release to support Elastic VMware Service (Amazon EVS) Subnet and Amazon EVS Network Interface Types.efs
: [botocore
] Added support for Internet Protocol Version 6 (IPv6) on EFS Service APIs and mount targets.marketplace-catalog
: [botocore
] The ListEntities API now supports the EntityID, LastModifiedDate, ProductTitle, and Visibility filters for machine learning products. You can also sort using all of those filters.workspaces-thin-client
: [botocore
] Add ConflictException to UpdateEnvironment APIv1.38.32
Compare Source
=======
bedrock-agent-runtime
: [botocore
] This release introduces thePromptCreationConfigurations
input parameter, which includes fields to control prompt population forInvokeAgent
orInvokeInlineAgent
requests.kms
: [botocore
] Remove unpopulated KeyMaterialId from Encrypt Responserds
: [botocore
] Include Global Cluster Identifier in DBCluster if the DBCluster is a Global Cluster Member.rekognition
: [botocore
] Adds support for defining an ordered preference list of different Rekognition Face Liveness challenge types when calling CreateFaceLivenessSession.route53
: [botocore
] Amazon Route 53 now supports the Asia Pacific (Taipei) Region (ap-east-2) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region.s3tables
: [botocore
] S3 Tables now supports getting details about a table via its table ARN.v1.38.31
Compare Source
=======
bcm-pricing-calculator
: [botocore
] Updating the minimum for List APIs to be 1 (instead of 0)cloudformation
: [botocore
] Add new warning type 'EXCLUDED_PROPERTIES'kms
: [botocore
] AWS KMS announces the support for on-demand rotation of symmetric-encryption KMS keys with imported key material (EXTERNAL origin).wafv2
: [botocore
] AWS WAF adds support for ASN-based traffic filtering and support for ASN-based rate limiting.v1.38.30
Compare Source
=======
amplify
: [botocore
] Update documentation for cacheConfig in CreateApp APIevs
: [botocore
] Amazon Elastic VMware Service (Amazon EVS) allows you to run VMware Cloud Foundation (VCF) directly within your Amazon VPC including simplified self-managed migration experience with guided workflow in AWS console or via AWS CLI, get full access to their VCF deployment and VCF license portability.invoicing
: [botocore
] Added new Invoicing ListInvoiceSummaries API Operationmediaconnect
: [botocore
] This release updates the DescribeFlow API to show peer IP addresses. You can now identify the peer IP addresses of devices connected to your sources and outputs. This helps you to verify and troubleshoot your flow's active connections.mediaconvert
: [botocore
] This release includes support for embedding and signing C2PA content credentials in MP4 outputs.network-firewall
: [botocore
] You can now monitor flow and alert log metrics from the Network Firewall console.sagemaker
: [botocore
] Added support for p6-b200 instance type in SageMaker Training Jobs and Training Plans.transcribe
: [botocore
] AWS Healthscribe now supports new templates for the clinical note summary: BIRP, SIRP, DAP, BEHAVIORAL_SOAP, and PHYSICAL_SOAPv1.38.29
Compare Source
=======
apigateway
: [botocore
] Adds support to set the routing mode for a custom domain name.apigatewayv2
: [botocore
] Adds support to create routing rules and set the routing mode for a custom domain name.emr-serverless
: [botocore
] AWS EMR Serverless: Adds a new option in the CancelJobRun API in EMR 7.9.0+, to cancel a job with grace period. This feature is enabled by default with a 120-second grace period for streaming jobs and is not enabled by default for batch jobs.v1.38.28
Compare Source
=======
athena
: [botocore
] Add support for the managed query result in the workgroup APIs. The managed query result configuration enables users to store query results to Athena owned storage.backup
: [botocore
] You can now subscribe to Amazon SNS notifications and Amazon EventBridge events for backup indexing. You can now receive notifications when a backup index is created, deleted, or fails to create, enhancing your ability to monitor and track your backup operations.bedrock-agent
: [botocore
] This release adds the Agent Lifecycle Paused State feature to Amazon Bedrock agents. By using an agent's alias, you can temporarily suspend agent operations during maintenance, updates, or other situations.compute-optimizer
: [botocore
] This release enables AWS Compute Optimizer to analyze Amazon Aurora database clusters and generate Aurora I/O-Optimized recommendations.cost-optimization-hub
: [botocore
] Support recommendations for Aurora instance and Aurora cluster storage.ecs
: [botocore
] Updates Amazon ECS documentation to include note for upcoming default log driver mode change.eks
: [botocore
] Add support for filtering ListInsights API calls on MISCONFIGURATION insight categoryentityresolution
: [botocore
] Add support for generating match IDs in near real-time.pcs
: [botocore
] Introduces SUSPENDING and SUSPENDED states for clusters, compute node groups, and queues.synthetics
: [botocore
] Support for Java runtime handler pattern.openai/openai-python (openai)
v1.85.0
Compare Source
Full Changelog: v1.84.0...v1.85.0
Features
Bug Fixes
parse()
(d459943)v1.84.0
Compare Source
Full Changelog: v1.83.0...v1.84.0
Features
Chores
v1.83.0
Compare Source
Full Changelog: v1.82.1...v1.83.0
Features
Bug Fixes
get /containers/{container_id}/files/{file_id}/content
(f7c80c4)Chores
pytest-dev/pytest (pytest)
v8.4.0
Compare Source
pytest 8.4.0 (2025-06-02)
Removals and backward incompatible breaking changes
#11372: Async tests will now fail, instead of warning+skipping, if you don't have any suitable plugin installed.
#12346: Tests will now fail, instead of raising a warning, if they return any value other than None.
#12874: We dropped support for Python 3.8 following its end of life (2024-10-07).
#12960: Test functions containing a yield now cause an explicit error. They have not been run since pytest 4.0, and were previously marked as an expected failure and deprecation warning.
See
the docs <yield tests deprecated>
{.interpreted-text role="ref"} for more information.Deprecations (removal in next major release)
autouse=True
. For guidance on how to work around this warning seesync-test-async-fixture
{.interpreted-text role="ref"}.New features
#11538: Added
pytest.RaisesGroup
{.interpreted-text role="class"} as an equivalent topytest.raises
{.interpreted-text role="func"} for expectingExceptionGroup
{.interpreted-text role="exc"}. Also addspytest.RaisesExc
{.interpreted-text role="class"} which is now the logic behindpytest.raises
{.interpreted-text role="func"} and used as parameter topytest.RaisesGroup
{.interpreted-text role="class"}.RaisesGroup
includes the ability to specify multiple different expected exceptions, the structure of nested exception groups, and flags for emulatingexcept* <except_star>
{.interpreted-text role="ref"}. Seeassert-matching-exception-groups
{.interpreted-text role="ref"} and docstrings for more information.#12081: Added
capteesys
{.interpreted-text role="fixture"} to capture AND pass output to next handler set by--capture=
.#12504:
pytest.mark.xfail
{.interpreted-text role="func"} now acceptspytest.RaisesGroup
{.interpreted-text role="class"} for theraises
parameter when you expect an exception group. You can also pass apytest.RaisesExc
{.interpreted-text role="class"} if you e.g. want to make use of thecheck
parameter.#12713: New [--force-short-summary]{.title-ref} option to force condensed summary output regardless of verbosity level.
This lets users still see condensed summary output of failures for quick reference in log files from job outputs, being especially useful if non-condensed output is very verbose.
#12749: pytest traditionally collects classes/functions in the test module namespace even if they are imported from another file.
For example:
contents of src/domain.py
contents of tests/test_testament.py
#12765: Thresholds to trigger snippet truncation can now be set with
truncation_limit_lines
{.interpreted-text role="confval"} andtruncation_limit_chars
{.interpreted-text role="confval"}.See
truncation-params
{.interpreted-text role="ref"} for more information.#13125:
console_output_style
{.interpreted-text role="confval"} now supportstimes
to show execution time of each test.#13192:
pytest.raises
{.interpreted-text role="func"} will now raise a warning when passing an empty string tomatch
, as this will match against any value. Usematch="^$"
if you want to check that an exception has no message.#13192:
pytest.raises
{.interpreted-text role="func"} will now print a helpful string diff if matching fails and the match parameter has^
and$
and is otherwise escaped.#13192: You can now pass
with pytest.raises(check=fn): <pytest.raises>
{.interpreted-text role="func"}, wherefn
is a function which takes a raised exception and returns a boolean. Theraises
fails if no exception was raised (as usual), passes if an exception is raised andfn
returnsTrue
(as well asmatch
and the type matching, if specified, which are checked before), and propagates the exception iffn
returnsFalse
(which likely also fails the test).#13228:
hidden-param
{.interpreted-text role="ref"} can now be used inid
ofpytest.param
{.interpreted-text role="func"} or inids
ofMetafunc.parametrize <pytest.Metafunc.parametrize>
{.interpreted-text role="py:func"}.It hides the parameter set from the test name.
#13253: New flag:
--disable-plugin-autoload <disable_plugin_autoload>
{.interpreted-text role="ref"} which works as an alternative toPYTEST_DISABLE_PLUGIN_AUTOLOAD
{.interpreted-text role="envvar"} when setting environment variables is inconvenient; and allows setting it in config files withaddopts
{.interpreted-text role="confval"}.Improvements in existing functionality
#10224: pytest's
short
andlong
traceback styles (how-to-modifying-python-tb-printing
{.interpreted-text role="ref"})now have partial
657
{.interpreted-text role="pep"} support and will show specific code segments in thetraceback.
-- by
ammaraskar
{.interpreted-text role="user"}#11118: Now
pythonpath
{.interpreted-text role="confval"} configures [$PYTHONPATH]{.title-ref} earlier than before during the initialization process, which now also affects plugins loaded via the [-p]{.title-ref} command-line option.-- by
millerdev
{.interpreted-text role="user"}#11381: The
type
parameter of theparser.addini
method now accepts ["int"]{.title-ref} and"float"
parameters, facilitating the parsing of configuration values in the configuration file.Example:
The [pytest.ini]{.title-ref} file:
#11525: Fixtures are now clearly represented in the output as a "fixture object", not as a normal function as before, making it easy for beginners to catch mistakes such as referencing a fixture declared in the same module but not requested in the test function.
-- by
the-compiler
{.interpreted-text role="user"} andglyphack
{.interpreted-text role="user"}#12426: A warning is now issued when
pytest.mark.usefixtures ref
{.interpreted-text role="ref"} is used without specifying any fixtures. Previously, empty usefixtures markers were silently ignored.#12707: Exception chains can be navigated when dropped into Pdb in Python 3.13+.
#12736: Added a new attribute [name]{.title-ref} with the fixed value ["pytest tests"]{.title-ref} to the root tag [testsuites]{.title-ref} of the junit-xml generated by pytest.
This attribute is part of many junit-xml specifications and is even part of the [junit-10.xsd]{.title-ref} specification that pytest's implementation is based on.
#12943: If a test fails with an exceptiongroup with a single exception, the contained exception will now be displayed in the short test summary info.
#12958: A number of
unraisable <unraisable>
{.interpreted-text role="ref"} enhancements:tracemalloc
{.interpreted-text role="mod"} allocation traceback (if available).StopIteration
{.interpreted-text role="class"} in test failures.pytest.PytestUnraisableExceptionWarning
{.interpreted-text role="class"} exception if raised.repr
of the unraisable object in the unraisable hook so you get the latest information if available, and should help with resurrection of the object.#13010:
pytest.approx
{.interpreted-text role="func"} now can compare collections that contain numbers and non-numbers mixed.#13016: A number of
threadexception <unraisable>
{.interpreted-text role="ref"} enhancements:tracemalloc
{.interpreted-text role="mod"} allocation traceback (if available).StopIteration
{.interpreted-text role="class"} in test failures.pytest.PytestUnhandledThreadExceptionWarning
{.interpreted-text role="class"} exception if raised.name
of the thread object in the excepthook which should help with resurrection of the thread.#13031: An empty parameter set as in
pytest.mark.parametrize([], ids=idfunc)
will no longer trigger a call toidfunc
with internal objects.#13115: Allows supplying
ExceptionGroup[Exception]
andBaseExceptionGroup[BaseException]
topytest.raises
to keep full typing onExceptionInfo <pytest.ExceptionInfo>
{.interpreted-text role="class"}:Parametrizing with other exception types remains an error - we do not check the types of child exceptions and thus do not permit code that might look like we do.
#13122: The
--stepwise
mode received a number of improvements:It no longer forgets the last failed test in case pytest is executed later without the flag.
This enables the following workflow:
--stepwise
, pytest then stops at the first failing test;--stepwise
flag (for example in an IDE), until it is fixed.--stepwise
again and pytest will continue from the previously failed test, and if it passes, continue on to the next tests.Previously, at step 3, pytest would start from the beginning, forgetting the previously failed test.
This change however might cause issues if the
--stepwise
mode is used far apart in time, as the state might get stale, so the internal state will be reset automatically in case the test suite changes (for now only the number of tests are considered for this, we might change/improve this on the future).New
--stepwise-reset
/--sw-reset
flag, allowing the user to explicitly reset the stepwise state and restart the workflow from the beginning.#13308: Added official support for Python 3.14.
#13380: Fix
ExceptionGroup
{.interpreted-text role="class"} traceback filtering to exclude pytest internals.#13415: The author metadata of the BibTex example is now correctly formatted with last names following first names.
An example of BibLaTex has been added.
BibTex and BibLaTex examples now clearly indicate that what is cited is software.
-- by
willynilly
{.interpreted-text role="user"}#13420: Improved test collection performance by optimizing path resolution used in
FSCollector
.#13457: The error message about duplicate parametrization no longer displays an internal stack trace.
#4112: Using
pytest.mark.usefixtures <pytest.mark.usefixtures ref>
{.interpreted-text role="ref"} onpytest.param
{.interpreted-text role="func"} now produces an error instead of silently doing nothing.#5473: Replace [:]{.title-ref} with [;]{.title-ref} in the assertion rewrite warning message so it can be filtered using standard Python warning filters before calling
pytest.main
{.interpreted-text role="func"}.pygments
dependency is now required, causing output always to be source-highlighted (unless disabled via the--code-highlight=no
CLI option).Bug fixes
#10404: Apply filterwarnings from config/cli as soon as possible, and revert them as late as possible
so that warnings as errors are collected throughout the pytest run and before the
unraisable and threadexcept hooks are removed.
This allows very late warnings and unraisable/threadexcept exceptions to fail the test suite.
This also changes the warning that the lsof plugin issues from PytestWarning to the new warning PytestFDWarning so it can be more easily filtered.
#11067: The test report is now consistent regardless if the test xfailed via
pytest.mark.xfail <pytest.mark.xfail ref>
{.interpreted-text role="ref"} orpytest.fail
{.interpreted-text role="func"}.Previously, xfailed tests via the marker would have the string
"reason: "
prefixed to the message, while those xfailed via the function did not. The prefix has been removed.#12008: In
11220
{.interpreted-text role="pr"}, an unintended change in reordering was introduced by changing the way indices were assigned to direct params. More specifically, before that change, the indices of direct params to metafunc's callspecs were assigned after all parametrizations took place. Now, that change is reverted.#12863: Fix applying markers, including
pytest.mark.parametrize <pytest.mark.parametrize ref>
{.interpreted-text role="ref"} when placed above [@staticmethod]{.title-ref} or [@classmethod]{.title-ref}.#12929: Handle StopIteration from test cases, setup and teardown correctly.
#12938: Fixed
--durations-min
argument not respected if-vv
is used.#12946: Fixed missing help for
pdb
{.interpreted-text role="mod"} commands wrapped by pytest -- byadamchainz
{.interpreted-text role="user"}.#12981: Prevent exceptions in
pytest.Config.add_cleanup
{.interpreted-text role="func"} callbacks preventing further cleanups.#13047: Restore
pytest.approx
{.interpreted-text role="func"} handling of equality checks between [bool]{.title-ref} and [numpy.bool_]{.title-ref} types.Comparing [bool]{.title-ref} and [numpy.bool_]{.title-ref} using
pytest.approx
{.interpreted-text role="func"} accidentally changed in version [8.3.4]{.title-ref} and [8.3.5]{.title-ref} to no longer match:This has now been fixed:
#13119: Improved handling of invalid regex patterns for filter warnings by providing a clear error message.
#13175: The diff is now also highlighted correctly when comparing two strings.
#13248: Fixed an issue where passing a
scope
inMetafunc.parametrize <pytest.Metafunc.parametrize>
{.interpreted-text role="py:func"} withindirect=True
could result in other fixtures being unable to depend on the parametrized fixture.
#13291: Fixed
repr
ofattrs
objects in assertion failure messages when usingattrs>=25.2
.#13312: Fixed a possible
KeyError
crash on PyPy during collection of tests involving higher-scoped parameters.#13345: Fix type hints for
pytest.TestReport.when
{.interpreted-text role="attr"} andpytest.TestReport.location
{.interpreted-text role="attr"}.#13377: Fixed handling of test methods with positional-only parameter syntax.
Now, methods are supported that formally define
self
as positional-onlyand/or fixture parameters as keyword-only, e.g.:
Before, this caused an internal error in pytest.
#13384: Fixed an issue where pytest could report negative durations.
#13420: Added
lru_cache
tonodes._check_initialpaths_for_relpath
.#9037: Honor
disable_test_id_escaping_and_forfeit_all_rights_to_community_support
{.interpreted-text role="confval"} when escaping ids in parametrized tests.Improved documentation
#12535: [This
example]{.title-ref}<https://docs.pytest.org/en/latest/example/simple.html#making-test-result-information-available-in-fixtures>
showed
print
statements that do not exactly reflect what thedifferent branches actually do. The fix makes the example more precise.
#13218: Pointed out in the
pytest.approx
{.interpreted-text role="func"} documentation that it considers booleans unequal to numeric zero or one.#13221: Improved grouping of CLI options in the
--help
output.#6649: Added
~pytest.TerminalReporter
{.interpreted-text role="class"} to theapi-reference
{.interpreted-text role="ref"} documentation page.#8612: Add a recipe for handling abstract test classes in the documentation.
A new example has been added to the documentation to demonstrate how to use a mixin class to handle abstract
test classes without manually setting the
__test__
attribute for subclasses.This ensures that subclasses of abstract test classes are automatically collected by pytest.
Packaging updates and notes for downstreams
colorama
,iniconfig
,and
packaging
; and bumped the minimum allowed versionof
exceptiongroup
forpython_version<'3.11'
from a releasecandidate to a full release.
Contributor-facing changes
#12017: Mixed internal improvements:
MockTiming
into_pytest.timing
.-- by
RonnyPfannschmidt
{.interpreted-text role="user"}#12647: Fixed running the test suite with the
hypothesis
pytest plugin.Miscellaneous internal changes
~pytest.TerminalReporter
{.interpreted-text role="class"} to the public pytest API, as it is part of the signature of thepytest_terminal_summary
{.interpreted-text role="hook"} hook.astral-sh/ruff (ruff)
v0.11.13
Compare Source
Preview features
airflow
] Add unsafe fix for module moved cases (AIR301
,AIR311
,AIR312
,AIR302
) (#18367,#18366,#18363,#18093)refurb
] Add coverage ofset
andfrozenset
calls (FURB171
) (#18035)refurb
] MarkFURB180
fix unsafe when class has bases (#18149)Bug fixes
perflint
] Fix missing parentheses for lambda and ternary conditions (PERF401
,PERF403
) (#18412)pyupgrade
] ApplyUP035
only on py313+ forget_type_hints()
(#18476)pyupgrade
] Make fix unsafe if it deletes comments (UP004
,UP050
) (#18393, #18390)Rule changes
fastapi
] Avoid false positive for class dependencies (FAST003
) (#18271)Documentation
Other changes
Configuration
📅 Schedule: Branch creation - "before 7am on monday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, 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 was generated by Mend Renovate. View the repository job log.