fix(deps): update all dependencies
This MR contains the following updates:
| Package | Change | Age | Confidence | Type | Update |
|---|---|---|---|---|---|
| black (changelog) |
25.9.0 -> 25.11.0
|
docs | minor | ||
| boto3 |
1.40.64 -> 1.41.2
|
project.dependencies | minor | ||
| coverage |
7.11.0 -> 7.12.0
|
dev | minor | ||
| django (changelog) |
5.2.7 -> 5.2.8
|
project.optional-dependencies | patch | ||
| faker (changelog) |
37.12.0 -> 38.2.0
|
dev | major | ||
| google-auth |
2.42.1 -> 2.43.0
|
project.dependencies | minor | ||
| google-cloud-storage |
3.4.1 -> 3.6.0
|
project.dependencies | minor | ||
| mkdocs-material (changelog) |
9.6.23 -> 9.7.0
|
docs | minor | ||
| mkdocstrings-python (changelog) |
1.18.2 -> 1.19.0
|
docs | minor | ||
| moto (changelog) |
5.1.16 -> 5.1.17
|
dev | patch | ||
| psf/black |
25.9.0 -> 25.11.0
|
repository | minor | ||
| pydantic (changelog) |
2.12.3 -> 2.12.4
|
project.dependencies | patch | ||
| pytest (changelog) |
8.4.2 -> 9.0.1
|
dev | major | ||
| uis/devops/continuous-delivery/ci-templates |
v7.20.2 -> v7.21.0
|
repository | minor |
Note: The pre-commit manager in Renovate is not supported by the pre-commit maintainers or community. Please do not report any problems there, instead create a Discussion in the Renovate repository if you have any questions.
Release Notes
psf/black (black)
v25.11.0
Highlights
- Enable base 3.14 support (#4804)
- Add support for the new Python 3.14 t-string syntax introduced by PEP 750 (#4805)
Stable style
- Fix bug where comments between
# fmt: offand# fmt: onwere reformatted (#4811) - Comments containing fmt directives now preserve their exact formatting instead of being normalized (#4811)
Preview style
- Move
multiline_string_handlingfrom--unstableto--preview(#4760) - Fix bug where module docstrings would be treated as normal strings if preceded by comments (#4764)
- Fix bug where python 3.12 generics syntax split line happens weirdly (#4777)
- Standardize type comments to form
# type: <value>(#4645) - Fix
fix_fmt_skip_in_one_linerspreview feature to respect# fmt: skipfor compound statements with semicolon-separated bodies (#4800)
Configuration
- Add
no_cacheoption to control caching behavior. (#4803)
Packaging
- Releases now include arm64 Linux binaries (#4773)
- Releases now include arm64 Windows binaries and wheels (#4814)
Output
- Write unchanged content to stdout when excluding formatting from stdin using pipes (#4610)
Blackd
- Implemented BlackDClient. This simple python client allows to easily send formatting requests to blackd (#4774)
Integrations
- Enable 3.14 base CI (#4804)
- Enhance GitHub Action
psf/blackto support therequired-versionmajor-version-only "stability" format when using pyproject.toml (#4770) - Improve error message for vim plugin users. It now handles independently vim version
- Vim: Warn on unsupported Vim and Python versions independently (#4772)
- Vim: Print the import paths when importing black fails (#4675)
- Vim: Fix handling of virtualenvs that have a different Python version (#4675)
boto/boto3 (boto3)
v1.41.2
======
- api-change:
apigateway: [botocore] API Gateway supports VPC link V2 for REST APIs. - api-change:
athena: [botocore] Introduces Spark workgroup features including log persistence, S3/CloudWatch delivery, UI and History Server APIs, and SparkConnect 3.5.6 support. Adds DPU usage limits at workgroup and query levels as well as DPU usage tracking for Capacity Reservation queries to optimize performance and costs. - api-change:
bedrock: [botocore] Add support to automatically enforce safeguards across accounts within an AWS Organization. - api-change:
bedrock-agentcore-control: [botocore] Support for agentcore gateway interceptor configurations and NONE authorizer type - api-change:
bedrock-data-automation-runtime: [botocore] Adding new fields to GetDataAutomationStatus: jobSubmissionTime, jobCompletionTime, and jobDurationInSeconds - api-change:
bedrock-runtime: [botocore] Add support to automatically enforce safeguards across accounts within an AWS Organization. - api-change:
cloudformation: [botocore] Adds the DependsOn field to the AutoDeployment configuration parameter for CreateStackSet, UpdateStackSet, and DescribeStackSet APIs, allowing users to set and read auto-deployment dependencies between StackSets - api-change:
compute-optimizer-automation: [botocore] Initial release of AWS Compute Optimizer Automation. Create automation rules to implement recommended actions on a recurring schedule based on your specified criteria. Supported actions include: snapshot and delete unattached EBS volumes and upgrade volume types to the latest generation. - api-change:
connect: [botocore] New APIs to support aliases and versions for ContactFlowModule. Updated ContactFlowModule APIs to support custom blocks. - api-change:
controltower: [botocore] The manifest field is now optional for the AWS Control Tower CreateLandingZone and UpdateLandingZone APIs for Landing Zone version 4.0 - api-change:
ec2: [botocore] This release adds a new capability to create and manage interruptible EC2 Capacity Reservations. - api-change:
ecr: [botocore] Add support for ECR managed signing - api-change:
eks: [botocore] Adds support for controlPlaneScalingConfig on EKS Clusters. - api-change:
elbv2: [botocore] This release adds the health check log feature in ALB, allowing customers to send detailed target health check log data directly to their designated Amazon S3 bucket. - api-change:
endpoint-rules: [botocore] Update endpoint-rules client to latest version - api-change:
invoicing: [botocore] Added the CreateProcurementPortalPreference, GetProcurementPortalPreference, PutProcurementPortalPreference, UpdateProcurementPortalPreferenceStatus, ListProcurementPortalPreferences and DeleteProcurementPortalPreference APIs for procurement portal preference management. - api-change:
kinesisvideo: [botocore] This release adds support for Tiered Storage - api-change:
kms: [botocore] Support for on-demand rotation of AWS KMS Multi-Region keys with imported key material - api-change:
lambda: [botocore] Launching Enhanced Error Handling and ESM Grouping capabilities for Kafka ESMs - api-change:
lexv2-models: [botocore] Adds support for Intent Disambiguation, allowing resolution of ambiguous user inputs when multiple intents match by presenting clarifying questions to users. Also adds Speech Detection Sensitivity configuration for optimizing voice activity detection sensitivity levels in various noise environments. - api-change:
mailmanager: [botocore] Add support for resources in the aws-eusc partition. - api-change:
marketplace-entitlement: [botocore] Endpoint update for new region - api-change:
mediapackagev2: [botocore] Adds support for excluding session key tags from HLS multivariant playlists - api-change:
meteringmarketplace: [botocore] Endpoint update for new region - api-change:
odb: [botocore] Adds AssociateIamRoleToResource and DisassociateIamRoleFromResource APIs for managing IAM roles. Enhances CreateOdbNetwork and UpdateOdbNetwork APIs with KMS, STS, and cross-region S3 parameters. Adds OCI identity domain support to InitializeService API. - api-change:
organizations: [botocore] Add support for policy operations on the UPGRADE_ROLLOUT_POLICY policy type. - api-change:
qconnect: [botocore] This release introduces two new messaging channel subtypes: Push, WhatsApp, under MessageTemplate which is a resource in Amazon Q in Connect. - api-change:
quicksight: [botocore] Amazon Quick Suite now supports QuickChat as an embedding type when calling the GenerateEmbedUrlForRegisteredUser API, enabling developers to embed conversational AI agents directly into their applications. - api-change:
rds: [botocore] Add support for Upgrade Rollout Order - api-change:
redshift: [botocore] Added support for Amazon Redshift Federated Permissions and AWS IAM Identity Center trusted identity propagation. - api-change:
redshift-serverless: [botocore] Added UpdateLakehouseConfiguration API to manage Amazon Redshift Federated Permissions and AWS IAM Identity Center trusted identity propagation for namespaces. - api-change:
sagemaker: [botocore] Enhanced SageMaker HyperPod instance groups with support for MinInstanceCount, CapacityRequirements (Spot/On-Demand), and KubernetesConfig (labels and taints). Also Added speculative decoding and MaxInstanceCount for model optimization jobs. - api-change:
security-ir: [botocore] Add ListInvestigations and SendFeedback APIs to support SecurityIR AI agents - api-change:
sesv2: [botocore] Added support for new SES regions - Asia Pacific (Malaysia) and Canada (Calgary) - api-change:
transfer: [botocore] Adds support for creating Webapps accessible from a VPC.
v1.41.1
======
- api-change:
application-signals: [botocore] Amazon CloudWatch Application Signals now supports un-instrumented services discovery, cross-account views, and change history, helping SRE and DevOps teams monitor and troubleshoot their large-scale distributed applications. - api-change:
autoscaling: [botocore] This release adds support for three new features: 1) Image ID overrides in mixed instances policy, 2) Replace Root Volume - a new strategy for Instance Refresh, and 3) Instance Lifecycle Policy for enhanced instance lifecycle management. - api-change:
bedrock-agentcore: [botocore] Bedrock AgentCore Memory release for redriving memory extraction jobs (StartMemoryExtractionJob and ListMemoryExtractionJob) - api-change:
bedrock-data-automation: [botocore] Added support for Synchronous project type and PII Detection and Redaction - api-change:
bedrock-data-automation-runtime: [botocore] Bedrock Data Automation Runtime Sync API - api-change:
braket: [botocore] Add support for Braket spending limits. - api-change:
budgets: [botocore] Add BillingViewHealthStatusException to DescribeBudgetPerformanceHistory and ServiceQuotaExceededException to UpdateBudget for improved error handling with Billing Views. - api-change:
cloudfront: [botocore] This release adds support for bring your own IP (BYOIP) to CloudFront's CreateAnycastIpList API through an optional IpamCidrConfigs field. - api-change:
cloudtrail: [botocore] AWS launches CloudTrail aggregated events to simplify monitoring of data events at scale. This feature delivers both granular and summarized data events for resources like S3/Lambda, helping security teams identify patterns without custom aggregation logic. - api-change:
connect: [botocore] Add optional ability to exclude users from send notification actions for Contact Lens Rules. - api-change:
datasync: [botocore] The partition value "aws-eusc" is now permitted for ARN (Amazon Resource Name) fields. - api-change:
devicefarm: [botocore] Add support for environment variables and an IAM execution role. - api-change:
dms: [botocore] Added support for customer-managed KMS key (CMK) for encryption for import private key certificate. Additionally added Amazon SageMaker Lakehouse endpoint used for zero-ETL integrations with data warehouses. - api-change:
dsql: [botocore] Added clusterVpcEndpoint field to GetVpcEndpointServiceName API response, returning the VPC connection endpoint for the cluster - api-change:
ec2: [botocore] This release adds support for multiple features including: VPC Encryption Control for the status of traffic flow; S2S VPN BGP Logging; TGW Flexible Costs; IPAM allocation of static IPs from IPAM pools to CF Anycast IP lists used on CloudFront distribution; and EBS Volume Integration with Recycle Bin - api-change:
ecs: [botocore] Launching Amazon ECS Express Mode - a new feature that enables developers to quickly launch highly available, scalable containerized applications with a single command. - api-change:
elbv2: [botocore] This release adds the target optimizer feature in ALB, enabling strict concurrency enforcement on targets. - api-change:
emr: [botocore] Add support for configuring S3 destination for step logs on a per-step basis. - api-change:
endpoint-rules: [botocore] Update endpoint-rules client to latest version - api-change:
glue: [botocore] Added FunctionType parameter to Glue GetuserDefinedFunctions. - api-change:
imagebuilder: [botocore] EC2 Image Builder now enables the distribution of existing AMIs, retry distribution, and define distribution workflows. It also supports automatic versioning for recipes and components, allowing automatic version increments and dynamic referencing in pipelines. - api-change:
kinesis: [botocore] Kinesis Data Streams now supports up to 50 Enhance Fan-out consumers for On-demand Advantage Streams. On-demand Standard and Provisioned streams will continue with the existing limit of 20 consumers for Enhanced Fan-out. - api-change:
lakeformation: [botocore] Added ServiceIntegrations as a request parameter for CreateLakeFormationIdentityCenterConfigurationRequest and UpdateLakeFormationIdentityCenterConfigurationRequest and response parameter for DescribeLakeFormationIdentityCenterConfigurationResponse - api-change:
license-manager: [botocore] Added cross-account resource aggregation via license asset groups and expiry tracking for Self-Managed Licenses. Extended Org-Wide View to Self-Managed Licenses, added reporting for license asset groups, and removed Athena/Glue dependencies for cross-account resource discovery in commercial regions. - api-change:
networkmanager: [botocore] This release adds support for Cloud WAN Routing Policy providing customers sophisticated routing controls to better manage their global networks - api-change:
organizations: [botocore] Added new APIs for Billing Transfer, new policy type INSPECTOR_POLICY, and allow an account to transfer between organizations - api-change:
quicksight: [botocore] Introducing comprehensive theme styling controls. New features include border customization (radius, width, color), flexible padding controls, background styling for cards and sheets, centralized typography management, and visual-level override support across layouts. - api-change:
rbin: [botocore] Add support for EBS volume in Recycle Bin - api-change:
rds: [botocore] Add support for VPC Encryption Controls. - api-change:
redshift-data: [botocore] Increasing the length limit of Statement Name from 500 to 2048. - api-change:
s3: [botocore] Enable / Disable ABAC on a general purpose bucket. - api-change:
sagemaker: [botocore] Added training plan support for inference endpoints. Added HyperPod task governance with accelerator partition-based quota allocation. Added BatchRebootClusterNodes and BatchReplaceClusterNodes APIs. Updated ListClusterNodes to include privateDnsHostName. - api-change:
securityhub: [botocore] Release Findings and Resources Trends APIs- GetFindingsTrendsV2 and GetResourcesTrendsV2. This supports time-series aggregated counts with composite filtering for 1-year of historical data analysis of Findings and Resources.
v1.41.0
======
- api-change:
apigateway: [botocore] API Gateway now supports response streaming and new security policies for REST APIs and custom domain names. - api-change:
apigatewayv2: [botocore] Support for API Gateway portals and portal products. - api-change:
backup: [botocore] Amazon GuardDuty Malware Protection now supports AWS Backup, extending malware detection capabilities to EC2, EBS, and S3 backups. - api-change:
bcm-pricing-calculator: [botocore] Add GroupSharingPreference, CostCategoryGroupSharingPreferenceArn, and CostCategoryGroupSharingPreferenceEffectiveDate to Bill Estimate. Add GroupSharingPreference and CostCategoryGroupSharingPreferenceArn to Bill Scenario. - api-change:
bedrock-runtime: [botocore] This release includes support for Search Results. - api-change:
billing: [botocore] Added name filtering support to ListBillingViews API through the new names parameter to efficiently filter billing views by name. - api-change:
billingconductor: [botocore] This release adds support for Billing Transfers, enabling management of billing transfers with billing groups on AWS Billing Conductor. - api-change:
ce: [botocore] Add support for COST_CATEGORY, TAG, and LINKED_ACCOUNT AWS managed cost anomaly detection monitors - api-change:
cloudtrail: [botocore] AWS CloudTrail now supports Insights for data events, expanding beyond management events to automatically detect unusual activity on data plane operations. - api-change:
connectcampaignsv2: [botocore] This release added support for ring timer configuration for campaign calls. - api-change:
cost-optimization-hub: [botocore] Release ListEfficiencyMetrics API - api-change:
datazone: [botocore] Amazon DataZone now supports business metadata (readme and metadata forms) at the individual attribute (column) level, a new rule type for glossary terms, and the ability to update the owner of the root domain unit. - api-change:
dynamodb: [botocore] Extended Global Secondary Index (GSI) composite keys to support up to 8 attributes. - api-change:
ec2: [botocore] This launch adds support for two new features: Regional NAT Gateway and IPAM Policies. IPAM policies offers customers central control for public IPv4 assignments across AWS services. Regional NAT is a single NAT Gateway that automatically expands across AZs in a VPC to maintain high availability. - api-change:
ecr: [botocore] Add support for ECR archival storage class and Inspector org policy for scanning - api-change:
ecs: [botocore] Added support for Amazon ECS Managed Instances infrastructure optimization configuration. - api-change:
emr: [botocore] Add CloudWatch Logs integration for Spark driver, executor and step logs - api-change:
endpoint-rules: [botocore] Update endpoint-rules client to latest version - api-change:
fsx: [botocore] Adding File Server Resource Manager configuration to FSx Windows - api-change:
guardduty: [botocore] Add support for scanning and viewing scan results for backup resource types - api-change:
health: [botocore] Adds actionability and personas properties to Health events exposed through DescribeEvents, DescribeEventsForOrganization, DescribeEventDetails, and DescribeEventTypes APIs. Adds filtering by actionabilities and personas in EventFilter, OrganizationEventFilter, EventTypeFilter. - api-change:
iam: [botocore] Added the EnableOutboundWebIdentityFederation, DisableOutboundWebIdentityFederation and GetOutboundWebIdentityFederationInfo APIs for the IAM outbound federation feature. - api-change:
inspector2: [botocore] This release introduces BLOCKED_BY_ORGANIZATION_POLICY error code and IMAGE_ARCHIVED scanStatusReason. BLOCKED_BY_ORGANIZATION_POLICY error code is returned when an operation is blocked by an AWS Organizations policy. IMAGE_ARCHIVED scanStatusReason is returned when an Image is archived in ECR. - api-change:
invoicing: [botocore] Add support for adding Billing transfers in Invoice configuration - api-change:
lambda: [botocore] Added support for creating and invoking Tenant Isolated functions in AWS Lambda APIs. - api-change:
logs: [botocore] Adding support for ocsf version 1.5, add optional parameter MappingVersion - api-change:
mediaconnect: [botocore] This release adds support for global routing in AWS Elemental MediaConnect. You can now use router inputs and router outputs to manage global video and audio routing workflows both within the AWS-Cloud and over the public internet. - api-change:
medialive: [botocore] MediaLive is adding support for MediaConnect Router by supporting a new input type called MEDIACONNECT_ROUTER. This new input type will provide seamless encrypted transport between MediaConnect Router and your MediaLive channel. - api-change:
network-firewall: [botocore] Partner Managed Rulegroup feature support - api-change:
networkflowmonitor: [botocore] Added new enum value (AWS::EKS::Cluster) for type field under MonitorLocalResource - api-change:
partnercentral-channel: [botocore] Initial GA launch of Partner Central Channel - api-change:
route53: [botocore] Add dual-stack endpoint support for Route53 - api-change:
rum: [botocore] CloudWatch RUM now supports mobile application monitoring for Android and iOS platforms - api-change:
s3: [botocore] Adds support for blocking SSE-C writes to general purpose buckets. - api-change:
sagemaker: [botocore] Added support for enhanced metrics for SageMaker AI Endpoints. This features provides Utilization Metrics at instance and container granularity and also provides easy configuration of metric publish frequency from 10 sec -> 5 mins - api-change:
secretsmanager: [botocore] Adds support to create, update, retrieve, rotate, and delete managed external secrets. - api-change:
signin: [botocore] AWS Sign-In manages authentication for AWS services. This service provides secure authentication flows for accessing AWS resources from the console and developer tools. This release adds the CreateOAuth2Token API, which can be used to fetch OAuth2 access tokens and refresh tokens from Sign-In. - api-change:
stepfunctions: [botocore] Adds support to TestState for mocked results and exceptions, along with additional inspection data. - api-change:
sts: [botocore] IAM now supports outbound identity federation via the STS GetWebIdentityToken API, enabling AWS workloads to securely authenticate with external services using short-lived JSON Web Tokens. - feature:credentials: [
botocore] Adds support for the login credential provider, allowing users to use AWS Management Console credentials for authentication.
v1.40.76
=======
- api-change:
autoscaling: [botocore] This release adds the new LaunchInstances API, which can launch instances synchronously in an AutoScaling group. The API also returns instances info and launch error back immediately. - api-change:
backup: [botocore] AWS Backup now supports a low-cost warm storage tier for Amazon S3 backup data. - api-change:
bedrock-runtime: [botocore] Amazon Bedrock Runtime Service Tier Support Launch - api-change:
cloudformation: [botocore] New CloudFormation DescribeEvents API with operation ID tracking and failure filtering capabilities to quickly identify root causes of deployment failures. Also, a DeploymentMode parameter for the CreateChangeSet API that enables creation of drift-aware change sets for safe drift management. - api-change:
connect: [botocore] This release added support for ring timer configuration for campaign calls. - api-change:
ec2: [botocore] AWS Site-to-Site VPN now supports VPN Concentrator, a new feature that enables customers to connect multiple low-bandwidth sites connections through a single attachment, simplifying multi-site connectivity for distributed enterprises. - api-change:
iam: [botocore] Added the AssociateDelegationRequest, GetDelegationRequest, AcceptDelegationRequest, RejectDelegatonRequest, ListDelegationRequests, UpdateDelegationRequest, SendDelegationToken and GetHumanReadableSummary APIs for the IAM temporary delegation feature. - api-change:
kafka: [botocore] Amazon MSK adds three new APIs, ListTopics, DescribeTopic, and DescribeTopicPartitions for viewing Kafka topics in your MSK clusters. - api-change:
logs: [botocore] CloudWatch Logs updates: Added capability to setup a recurring schedule for log insights queries. Logs introduced Scheduled Queries (managed through Create/Update/Get/Delete/List/History Scheduled Query APIs). For more information, see CloudWatch Logs API documentation. - api-change:
resourcegroupstaggingapi: [botocore] Add support for new ListRequiredTags API used to retrieve the required tags specified in a customer's effective tag policy. - api-change:
storagegateway: [botocore] Adds support for European Sovereign Cloud ARNs in Storage Gateway API parameters. - api-change:
wafv2: [botocore] AssociateWebACL, UpdateWebACL and PutLoggingConfiguration will now throw WAFFeatureNotIncludedInPricingPlanException when the request contains a feature that is not included in the CloudFront pricing plan of the WebACL.
v1.40.75
=======
- api-change:
appstream: [botocore] Adding support for additional instances and extended storage - api-change:
backup: [botocore] AWS Backup now supports specifying a logically air-gapped backup vault as a primary backup target in backup plans and on-demand backup jobs. - api-change:
bedrock: [botocore] Automated Reasoning checks in Amazon Bedrock Guardrails now automatically generate Q&A tests for new Automated Reasoning policies. The GetAutomatedReasoningPolicyBuildWorkflowResultAssets API adds GENERATED_TEST_CASES asset type, allowing customers to retrieve tests generated by the build workflow. - api-change:
devicefarm: [botocore] This release adds support for interacting with devices during a remote access session using the remoteDriverEndpoint interface - api-change:
dms: [botocore] This release introduces the SAP ASE(Sybase) Data Provider for AWS Data Migration Service (DMS). In addition, DMS Schema Conversion now supports this provider, enabling customers to migrate SAP ASE(Sybase) databases to Amazon RDS for PostgreSQL or Aurora PostgreSQL seamlessly. - api-change:
ec2: [botocore] This release introduces new APIs: DescribeInstanceSqlHaStates, DescribeInstanceSqlHaHistoryStates, EnableInstanceSqlHaStandbyDetections and DisableInstanceSqlHaStandbyDetections on Amazon EC2, allowing customers to enroll and monitor SQL Server licensing fee savings for their SQL HA EC2 instances. - api-change:
endpoint-rules: [botocore] Update endpoint-rules client to latest version - api-change:
glue: [botocore] Amazon Glue Releasing 2 the new API ListIntegrationResourceProperties and DeleteIntegrationResourceProperty along with minor improvement on existing API(s). - api-change:
guardduty: [botocore] Add S3 On-Demand Object Scanning - api-change:
lexv2-models: [botocore] Adds support for LLM as Primary, allowing usage of LLMs as the default NLU system. - api-change:
medialive: [botocore] Adds configurations for spatial/temporal adaptive quantization in AV1 codec, and conversion to HLG output color space in H265 codec. - api-change:
mediapackagev2: [botocore] Add support for SCTE messages in Segment file output - api-change:
mwaa-serverless: [botocore] Amazon MWAA now offers serverless deployment, eliminating operational overhead while optimizing costs. The service supports YAML and Python-based workflows, with 80+ AWS Operators. It provides isolated execution, IAM permissions, and automatic scaling with pay-per-use pricing. - api-change:
opensearch: [botocore] This release adds index operation APIs to support Automatic Semantic Enrichment feature - api-change:
pcs: [botocore] Added support for the managed Slurm REST API endpoint - api-change:
route53resolver: [botocore] Adding DICTIONARY_DGA to dns-threat-protection as a new enum type. Customers can now set rules for dictionary dga protection
v1.40.74
=======
- api-change:
datazone: [botocore] Adds support for granting read and write access to Amazon S3 general purpose buckets using CreateSubscriptionRequest and AcceptSubscriptionRequest APIs. Also adds search filters for SSOUser and SSOGroup to ListSubscriptions APIs and deprecates "sortBy" parameter for ListSubscriptions APIs. - api-change:
ec2: [botocore] This release adds AvailabilityZoneId support for CreateInstanceConnectEndpoint, DescribeInstanceConnectEndpoints, and DeleteInstanceConnectEndpoint APIs. - api-change:
imagebuilder: [botocore] EC2 Image Builder now supports invoking Lambda functions and executing Step Functions state machine through image workflows. - api-change:
medialive: [botocore] Removed all the value constraint (min/max) for the shape definitions (e.g. integerMin0Max3600) on the C2j models to get rid of the need to request an exemption from the SDK team whenever a shape definition (e.g. integerMin0Max3600) is changed. - enhancement:AWSCRT: [
botocore] Update awscrt version to 0.28.4
v1.40.73
=======
- api-change:
cloudformation: [botocore] CloudFormation now supports GetHookResult API with annotations to retrieve structured compliance check results and remediation guidance for each evaluated resource, replacing the previous single-message limitation with detailed validation outcomes. - api-change:
controlcatalog: [botocore] Added support for related control mappings with new RELATED_CONTROL mapping type in ListControlMappings API. - api-change:
ec2: [botocore] Added support for new accelerator types ("media") and accelerator names ("L4", "L40s", "GAUDI_HL_205", "INFERENTIA2", "TRAINIUM", "TRAINIUM2", "U30") in Attributes Based Instance Type Selection for launched instance types. - api-change:
ecr: [botocore] Add Amazon ECR FIPS PrivateLink endpoint support - api-change:
elbv2: [botocore] QUIC and TCP_QUIC protocol support for Network Load Balancer (NLB). This capability enables customers to forward QUIC traffic to their targets with ultra-low latency while maintaining session stickiness using QUIC Connection IDs. - api-change:
endpoint-rules: [botocore] Update endpoint-rules client to latest version - api-change:
iotwireless: [botocore] Integration of Device Location with Amazon Sidewalk network for Amazon Sidewalk enabled devices - api-change:
mediaconvert: [botocore] Lowers minimum duration for black video generator. Adds support for embedding and signing C2PA content credentials in DASH and CMAF HLS outputs. - api-change:
rds: [botocore] Updated endpoint and service metadata - api-change:
sagemaker: [botocore] Added support for minor version upgrades and AWS Identity Center integration for SageMaker Hadron Partner Apps, enabling automated version management and IdC group-based access control. - api-change:
workspaces-web: [botocore] Support for managing web content filtering for defining, tracking and regulating type of content accessed with WorkSpaces Secure Browser as part of browser settings.
v1.40.72
=======
- api-change:
amp: [botocore] Add VPC source configuration support enabling Amazon Managed Service for Prometheus Collector to collect metrics from MSK clusters. - api-change:
connect: [botocore] Updated Authentication Profile APIs to add support for automatic logout on user inactivity - api-change:
dms: [botocore] Added support of SQL statements creation, metadata model discovery and selection rules transformation. - api-change:
ec2: [botocore] Adds complete AMI ancestry tracing from immediate parent through each preceding generation back to the root AMI - api-change:
elbv2: [botocore] This release expands ALB Authentication to support JWT verification and adds support for a new JWT validation action in listener rule. - api-change:
redshift: [botocore] Added GetIdentityCenterAuthToken API to retrieve encrypted authentication tokens for Identity Center integrated applications. This API enables programmatic access to secure Identity Center tokens with proper error handling and parameter validation across supported SDK languages. - api-change:
s3tables: [botocore] Adds support for request metrics metrics APIs for S3 Tables - api-change:
sagemaker: [botocore] Add support for trn2.3xlarge instance type for SageMaker Hyperpod
v1.40.71
=======
- api-change:
batch: [botocore] Documentation-only update: update API and doc descriptions per EKS ImageType default value switch from AL2 to AL2023. - api-change:
bedrock-data-automation: [botocore] Added support for Language Expansion feature for BDA Audio modality. - api-change:
ec2: [botocore] AWS Site-to-Site VPN now supports VPN connections with up to 5 Gbps bandwidth per tunnel, a 4x improvement from existing limit of 1.25 Gbps. - api-change:
endpoint-rules: [botocore] Update endpoint-rules client to latest version - api-change:
medical-imaging: [botocore] Added new fields in existing APIs. - api-change:
rtbfabric: [botocore] Added LogSettings and LinkAttribute fields to external links - api-change:
security-ir: [botocore] Added support for configuring communication preferences as well as clearly displaying case comment author identities.
v1.40.70
=======
- api-change:
acm-pca: [botocore] Private Certificate Authority service now supports ML-DSA key algorithms. - api-change:
appstream: [botocore] AWS Appstream support for IPv6 - api-change:
backup: [botocore] AWS Backup supports backups of Amazon EKS clusters, including Kubernetes cluster state and persistent storage attached to the EKS cluster via a persistent volume claim (EBS volumes, EFS file systems, and S3 buckets). - api-change:
braket: [botocore] Adds ExperimentalCapabilities field to CreateQuantumTask request and GetQuantumTask response objects. Enables use of experimental software capabilities when creating quantum tasks. - api-change:
datazone: [botocore] Remove trackingServerName from DataZone Connection MLflowProperties - api-change:
dsql: [botocore] Cluster endpoint added to CreateCluster and GetCluster API responses - api-change:
ec2: [botocore] Amazon EC2 Fleet customers can now filter instance types based on encryption-in-transit support using Attribute-Based Instance Type Selection (ABIS), eliminating the manual effort of identifying and selecting compatible instance types for security-sensitive workloads. - api-change:
guardduty: [botocore] Include tags filed in CreatePublishingDestinationRequest and DescribePublishingDestinationResponse. - api-change:
iam: [botocore] Added CreateDelegationRequest API, which is not available for general use at this time. - api-change:
invoicing: [botocore] Added new invoicing get-invoice-pdf API Operation - api-change:
kafka: [botocore] Amazon MSK now supports intelligent rebalancing for MSK Express brokers. - api-change:
sts: [botocore] Added GetDelegatedAccessToken API, which is not available for general use at this time. - api-change:
verifiedpermissions: [botocore] Amazon Verified Permissions / Features : Adds support for entity Cedar tags. - api-change:
wafv2: [botocore] AWS WAF now supports CLOUDWATCH_TELEMETRY_RULE_MANAGED as a LogScope option, enabling automated logging configuration through Amazon CloudWatch Logs for telemetry data collection and analysis.
v1.40.69
=======
- api-change:
controltower: [botocore] Added Parent Identifier support to ListEnabledControls and GetEnabledControl API. Implemented RemediationType support for Landing Zone operations: CreateLandingZone, UpdateLandingZone and GetLandingZone APIs - api-change:
ec2: [botocore] Adds PrivateDnsPreference and PrivateDnsSpecifiedDomains to control private DNS resolution for resource and service network VPC endpoints and IpamScopeExternalAuthorityConfiguration to integrate Amazon VPC IPAM with a third-party IPAM service - api-change:
kms: [botocore] Added support for new ECC_NIST_EDWARDS25519 AWS KMS key spec - api-change:
opensearch: [botocore] This release introduces the Default Application feature, allowing users to set, change, or unset a preferred OpenSearch UI application on a per-region basis for a streamlined and consistent user experience. - api-change:
vpc-lattice: [botocore] Amazon VPC Lattice now supports custom domain name for resource configurations
v1.40.68
=======
- api-change:
accessanalyzer: [botocore] New field totalActiveErrors added to getFindingsStatistics response. - api-change:
backup: [botocore] AWS Backup now supports customer-managed keys (CMK) for logically air-gapped vaults, enabling customers to maintain full control over their encryption key lifecycle. This feature helps organizations meet specific internal governance requirements or external regulatory compliance standards. - api-change:
connect: [botocore] Added support for Conditional Questions in Evaluation Forms. Introduced Auto Evaluation capability for Evaluation Forms and Contact Evaluations. Added new API operations: SearchEvaluationForms and SearchContactEvaluations. - api-change:
ec2: [botocore] Add Amazon EC2 R8a instance types - api-change:
gamelift: [botocore] Amazon GameLift Servers now supports game builds that use the Windows 2022 operating system. - api-change:
identitystore: [botocore] IdentityStore API: added new KMSExceptionReason fields to the Exception object; added multiple new fields to the User APIs - UserStatus, Birthdate, Website and Photos; added multiple new metadata fields for User, Groups and Membership APIs - CreatedAt, CreatedBy, UpdatedAt and UpdatedBy. - api-change:
quicksight: [botocore] Support for New Data Prep Experience - api-change:
s3tables: [botocore] Adds support for tagging APIs for S3 Tables - api-change:
s3vectors: [botocore] Amazon S3 Vectors provides cost-effective, elastic, and durable vector storage for queries based on semantic meaning and similarity. - api-change:
sagemaker: [botocore] Added NodeProvisioningMode parameter to UpdateCluster API to determine how instance provisioning is handled during cluster operations; in Continuous mode. Added VpcId field in UpdateDomain request for SageMaker Unified Studio domains with no VPC to add a customer VPC. - api-change:
ssm: [botocore] Provides NoLongerSupportedException error message
v1.40.67
=======
- api-change:
cloudfront: [botocore] This release adds new and updated API operations. You can now use the IpAddressType field to specify either ipv4 or dualstack for your Anycast static IP list. You can also enable cross-account resource sharing to share your VPC origins with other AWS accounts - api-change:
datazone: [botocore] Added support for Project Resource Tags - api-change:
ec2: [botocore] This release adds AvailabilityZoneId support for DescribeFastSnapshotRestores, DisableFastSnapshotRestores, and EnableFastSnapshotRestores APIs. - api-change:
endpoint-rules: [botocore] Update endpoint-rules client to latest version - api-change:
fsx: [botocore] Amazon FSx now enables secure management of Active Directory credentials through AWS Secrets Manager integration. Customers can use Secret ARNs instead of direct credentials when joining resources to Active Directory domains. - api-change:
groundstation: [botocore] Introduce CreateDataflowEndpointGroupV2 action - api-change:
s3: [botocore] Launch IPv6 dual-stack support for S3 Express - api-change:
sagemaker: [botocore] Add new fields in SageMaker Hyperpod DescribeCluster API response: TargetStateCount, SoftwareUpdateStatus and ActiveSoftwareDeploymentConfig to provide AMI update progress visibility .
v1.40.66
=======
- api-change:
pinpoint-sms-voice-v2: [botocore] This release adds support for the CarrierLookup API, which returns information about a destination phone number including if the number is valid, the carrier, and more.
v1.40.65
=======
- api-change:
bedrock-agentcore-control: [botocore] Adds support for direct code deploy with CreateAgentRuntime and UpdateAgentRuntime - api-change:
budgets: [botocore] Fix the AWS Budgets endpoint for the aws-eusc partition. - api-change:
ec2: [botocore] Add Amazon EC2 trn2.3xlarge instance type. - api-change:
ecs: [botocore] Documentation-only update for LINEAR and CANARY deployment strategies. - api-change:
endpoint-rules: [botocore] Update endpoint-rules client to latest version - api-change:
kinesis: [botocore] Adds support for MinimumThroughputBillingCommitment with new UpdateAccountSettings API. Adds support to configure warm throughput for on-demand streams in new UpdateStreamWarmThroughput API and existing CreateStream API and UpdateStreamMode API.
coveragepy/coveragepy (coverage)
v7.12.0
-
The HTML report now shows separate coverage totals for statements and branches, as well as the usual combined coverage percentage. Thanks to Ryuta Otsuka for the
discussion <issue 2081_>_ and theimplementation <pull 2085_>_. -
The JSON report now includes separate coverage totals for statements and branches, thanks to
Ryuta Otsuka <pull 2090_>_. -
Fix:
except*clauses were not handled properly under the "sysmon" measurement core, causing KeyError exceptions as described inissue 2086_. This is now fixed. -
Fix: we now defend against aggressive mocking of
open()that could cause errors inside coverage.py. An example of a failure is inissue 2083_. -
Fix: in unusual cases where a test suite intentionally exhausts the system's file descriptors to test handling errors in
open(), coverage.py would fail when trying to open source files, as described inissue 2091_. This is now fixed. -
A small tweak to the HTML report: file paths now use thin spaces around slashes to make them easier to read.
.. _issue 2081: #2081 .. _issue 2083: #2083 .. _pull 2085: #2085 .. _issue 2086: #2086 .. _pull 2090: #2090 .. _issue 2091: #2091
.. _changes_7-11-3:
v7.11.3
-
Fix: the 7.11.1 changes meant that conflicts between a requested measurement core and other settings would raise an error. This was a breaking change from previous behavior, as reported in
issue 2076_ andissue 2078_.The previous behavior has been restored: when the requested core conflicts with other settings, another core is used instead, and a warning is issued.
-
For contributors: the repo has moved from Ned's
nedbat GitHub account_ to thecoveragepy GitHub organization_. The default branch has changed from master to main.
.. _issue 2076: #2076 .. _issue 2078: #2078 .. _nedbat GitHub account: https://github.com/nedbat .. _coveragepy GitHub organization: https://github.com/coveragepy
.. _changes_7-11-2:
v7.11.2
-
Fix: using the "sysmon" measurement core in 7.11.1, if Python code was claimed to come from a non-Python file, a
NotPythonexception could be raised. This could happen for example with Jinja templates compiled to Python, as reported inissue 2077_. This is now fixed. -
Doc: corrected the first entry in the 7.11.1 changelog.
.. _issue 2077: #2077
.. _changes_7-11-1:
v7.11.1
-
Fix: some chanages to details of how the measurement core is chosen, and how conflicting settings are handled. The "sysmon" core cannot be used with some conurrency settings, with dynamic context, and in Python 3.12/3.13, with branch measurement.
-
If the core is not specified and defaults to "sysmon" (Python 3.14+), but other settings conflict with sysmon, then the "ctrace" core will be used instead with no warning. For concurrency conflicts, this used to produce an error, as described in
issue 2064_. -
If the "sysmon" core is explicitly requested in your configuration, but other settings conflict, an error is now raised. This used to produce a warning.
-
-
Fix: some multi-line case clauses or for loops (and probably other constructs) could cause incorrect claims of missing branches with the sys.monitoring core, as described in
issue 2070_. This is now fixed. -
Fix: when running in pytest under coverage, a
breakpoint()would stop in the wrong frame, one level down from where it should, as described inissue 1420_. This was due to a coverage change in v6.4.1 that seemed to give a slight performance improvement, but I couldn't reproduce the performance gain, so it's been reverted, fixing the debugger problem. -
A new debug option
--debug=coreshows which core is in use and why. -
Split
sqlitedebugging information out of thesys:ref:coverage debug <cmd_debug>and :ref:cmd_run_debugoptions since it's bulky and not very useful. -
Updated the :ref:
howitworkspage to better describe the three different measurement cores.
.. _issue 1420: #1420 .. _issue 2064: #2064 .. _issue 2070: #2070
.. _changes_7-11-0:
joke2k/faker (faker)
v38.2.0
- Add localized UniqueProxy. Thanks @azmeuk
v38.1.0
- Add
personprovider forar_DZlocale. Thanks @othmane099. - Add
person,phone_number,date_timeforfr_DZlocale. Thanks @othmane099.
v38.0.0
- Drop support for Python 3.9
- Add support for Python 3.14
googleapis/google-auth-library-python (google-auth)
v2.43.0
Features
- Add public wrapper for _mtls_helper.check_use_client_cert which enables mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE is not set, when the MWID/X.509 cert sources detected (#1859) Add public wrapper for check_use_client_cert which enables mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE is not set, when the MWID/X.509 cert sources detected. Also, fix check_use_client_cert to return boolean value. Change #1848 added the check_use_client_cert method that helps know if client cert should be used for mTLS connection. However, that was in a private class, thus, created a public wrapper of the same function so that it can be used by python Client Libraries. Also, updated check_use_client_cert to return a boolean value instead of existing string value for better readability and future scope. --------- (1535eccbff0ad8f3fd6a9775316ac8b77dca66ba)
- Enable mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE is not set, if the MWID/X.509 cert sources detected (#1848) The Python SDK will use a hybrid approach for mTLS enablement:
- If the GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is set (either true or false), the SDK will respect that setting. This is necessary for test scenarios and users who need to explicitly control mTLS behavior.
- If the GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is not
set, the SDK will automatically enable mTLS only if it detects Managed
Workload Identity (MWID) or X.509 Workforce Identity Federation (WIF)
certificate sources. In other cases where the variable is not set, mTLS
will remain disabled.
** This change also adds the helper method
check_use_client_certand it's unit test, which will be used for checking the criteria for setting the mTLS to true ** This change is only for Auth-Library, other changes will be created for Client-Library use-cases. --------- (395e405b64b56ddb82ee639958c2e8056ad2e82b)
- onboard
google-authto librarian (#1838) This MR onboardsgoogle-authlibrary to the Librarian system. Wait for #1819. (c503eaa511357d7a76cc1e1f1d3a3be2dabd5bca)
googleapis/python-storage (google-cloud-storage)
v3.6.0
Features
- Add support for partial list buckets (#1606) (92fc2b0)
- Make return_partial_success and unreachable fields public for list Bucket (#1601) (323cddd)
- zb-experimental: Add async write object stream (5ab8103)
- zb-experimental: Add async write object stream (#1612) (5ab8103)
Bug Fixes
v3.5.0
Features
- experimental: Add base resumption strategy for bidi streams (#1594) (5fb85ea)
- experimental: Add checksum for bidi reads operation (#1566) (93ce515)
- experimental: Add read resumption strategy (#1599) (5d5e895)
- experimental: Handle BidiReadObjectRedirectedError for bidi reads (#1600) (71b0f8a)
- Indicate that md5 is used as a CRC (#1522) (961536c)
- Provide option to update user_agent (#1596) (02f1451)
Bug Fixes
- Deprecate credentials_file argument (74415a2)
- Flaky system tests for resumable_media (#1592) (7fee3dd)
- Make
download_rangescompatible withasyncio.create_task(..)(#1591) (faf8b83) - Make
download_rangescompatible withasyncio.create_task(..)(#1591) (faf8b83) - Redact sensitive data from OTEL traces and fix env var parsing (#1553) (a38ca19)
- Redact sensitive data from OTEL traces and fix env var parsing (#1553) (a38ca19)
- Use separate header object for each upload in Transfer Manager MPU (#1595) (0d867bd)
squidfunk/mkdocs-material (mkdocs-material)
v9.7.0: mkdocs-material-9.7.0
[!WARNING]
Material for MkDocs is now in maintenance mode
This is the last release of Material for MkDocs that will receive new features. Going forward, the Material for MkDocs team focuses on Zensical, a next-gen static site generator built from first principles. We will provide critical bug fixes and security updates for Material for MkDocs for 12 months at least.
→ Read the full announcement on our blog
This release includes all features that were previously exclusive to the Insiders edition. These features are now freely available to everyone.
Note on deprecated plugins: The projects and typeset plugins are included in this release, but must be considered deprecated. Both plugins proved unsustainable to maintain and represent architectural dead ends. They are provided as-is without ongoing support.
Changes:
- Added support for projects plugin (for compat, now deprecated)
- Added support for typeset plugin (for compat, now deprecated)
- Added support for pinned blog posts and author profiles
- Added support for customizing pagination for blog index pages
- Added support for customizing blog category sort order
- Added support for staying on page when switching languages
- Added support for disabling tags in table of contents
- Added support for nested tags and shadow tags
- Added support for footnote tooltips
- Added support for instant previews
- Added support for instant prefetching
- Added support for custom social card layouts
- Added support for custom social card background images
- Added support for selectable rangs in code blocks
- Added support for custom selectors for code annotations
- Added support for configurable log level in privacy plugin
- Added support for processing of external links in privacy plugin
- Added support for automatic image optimization via optimize plugin
- Added support for navigation paths (breadcrumbs)
- Fixed #8519: Vector accents do not render when using KaTeX
mkdocstrings/python (mkdocstrings-python)
v1.19.0
Features
- Release scoped and relative cross-references (872afc5 by Timothée Mazzucotelli).
- Release
__all__ordering feature (84aaebc by Timothée Mazzucotelli). - Release public filter feature (3be14cc by Timothée Mazzucotelli).
- Release backlinks feature (ae7cc2d by Timothée Mazzucotelli).
- Release expression modernization feature (dbadd1e by Timothée Mazzucotelli).
- Release visually-lighter admonitions for source code blocks (fdaeb48 by Timothée Mazzucotelli).
- Release inheritance diagram features (669b42e by Timothée Mazzucotelli).
Code Refactoring
- Update code base for Python 3.10 (b696ed2 by Timothée Mazzucotelli).
getmoto/moto (moto)
v5.1.17
Docker Digest for 5.1.17: sha256:0361ac8f0cc6687dcf3835da1d60e31cf457fb0d49229d56586f2aa5c510f170
General:
* The MotoServer dashboard (available on http://localhost:5000/moto-api) now has an new and improved look, making it easier to search for and find your resources
New Methods:
* CloudFront:
* tag_resource()
* untag_resource()
* DMS:
* create_replication_subnet_group()
* describe_connection()
* describe_replication_subnet_group()
* delete_endpoint()
* delete_replication_instance()
* delete_replication_subnet_group()
* test_endpoint()
* EC2:
* describe_reserved_instances_offerings()
* RDS:
* add_role_to_db_cluster()
* add_role_to_db_instance()
* S3Vectors:
* create_index()
* delete_index()
* get_index()
* list_indexes()
* ServiceCatalog:
* create_product()
* describe_product()
* delete_product()
Miscellaneous:
* ACM-PCA: get_certificate() now returns the CertificateChain-attribute, if appropriate
* DMS: Manual control of the State Transition is now available for the `dms:connection` and `dms:replicationinstance` models.
* Organizations: describe_account() now returns the State-attribute.
* ResourceGroupsTaggingAPI: get_resources() now supports all Comprehend models
* StepFunctions: create_execution() now takes the execution input into account when checking idempotency.
pydantic/pydantic (pydantic)
v2.12.4: 2025-11-05
v2.12.4 (2025-11-05)
This is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the build() method
of the AnyUrl and Dsn types.
This patch release also fixes an issue with the serialization of IP address types, when serialize_as_any is used. The next patch release
will try to address the remaining issues with serialize as any behavior by introducing a new polymorphic serialization feature, that
should be used in most cases in place of serialize as any.
-
Fix issue with forward references in parent
TypedDictclasses by @Viicos in #12427.This issue is only relevant on Python 3.14 and greater.
-
Exclude fields with
exclude_iffrom JSON Schema required fields by @Viicos in #12430 -
Revert URL percent-encoding of credentials in the
build()method of theAnyUrland Dsn types by @davidhewitt in pydantic-core#1833.This was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include an opt-in option to percent-encode components of the URL.
-
Add type inference for IP address types by @davidhewitt in pydantic-core#1868.
The 2.12 changes to the
serialize_as_anybehavior made it so that IP address types could not properly serialize to JSON. -
Avoid getting default values from defaultdict by @davidhewitt in pydantic-core#1853.
This fixes a subtle regression in the validation behavior of the
collections.defaultdicttype. -
Fix issue with field serializers on nested typed dictionaries by @davidhewitt in pydantic-core#1879.
-
Add more
pydantic-corebuilds for the three-threaded version of Python 3.14 by @davidhewitt in pydantic-core#1864.
Full Changelog: https://github.com/pydantic/pydantic/compare/v2.12.3...v2.12.4
pytest-dev/pytest (pytest)
v9.0.1
pytest 9.0.1 (2025-11-12)
Bug fixes
-
#13895: Restore support for skipping tests via
raise unittest.SkipTest. - #13896: The terminal progress plugin added in pytest 9.0 is now automatically disabled when iTerm2 is detected, it generated desktop notifications instead of the desired functionality.
- #13904: Fixed the TOML type of the verbosity settings in the API reference from number to string.
- #13910: Fixed UserWarning: Do not expect file_or_dir on some earlier Python 3.12 and 3.13 point versions.
Packaging updates and notes for downstreams
-
#13933: The tox configuration has been adjusted to make sure the desired
version string can be passed into its
package_envthrough theSETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTESTenvironment variable as a part of the release process -- bywebknjaz.
Contributor-facing changes
-
#13891, #13942: The CI/CD part of the release automation is now capable of
creating GitHub Releases without having a Git checkout on
disk -- by
bluetechandwebknjaz. -
#13933: The tox configuration has been adjusted to make sure the desired
version string can be passed into its
package_envthrough theSETUPTOOLS_SCM_PRETEND_VERSION_FOR_PYTESTenvironment variable as a part of the release process -- bywebknjaz.
v9.0.0
pytest 9.0.0 (2025-11-05)
New features
-
#1367: Support for subtests has been added.
subtests <subtests>are an alternative to parametrization, useful in situations where the parametrization values are not all known at collection time.Example:
def contains_docstring(p: Path) -> bool: """Return True if the given Python file contains a top-level docstring.""" ... def test_py_files_contain_docstring(subtests: pytest.Subtests) -> None: for path in Path.cwd().glob("*.py"): with subtests.test(path=str(path)): assert contains_docstring(path)Each assert failure or error is caught by the context manager and reported individually, giving a clear picture of all files that are missing a docstring.
In addition,
unittest.TestCase.subTestis now also supported.This feature was originally implemented as a separate plugin in pytest-subtests, but since then has been merged into the core.
[!NOTE] This feature is experimental and will likely evolve in future releases. By that we mean that we might change how subtests are reported on failure, but the functionality and how to use it are stable.
-
#13743: Added support for native TOML configuration files.
While pytest, since version 6, supports configuration in
pyproject.tomlfiles under[tool.pytest.ini_options], it does so in an "INI compatibility mode", where all configuration values are treated as strings or list of strings. Now, pytest supports the native TOML data model.In
pyproject.toml, the native TOML configuration is under the[tool.pytest]table.# pyproject.toml [tool.pytest] minversion = "9.0" addopts = ["-ra", "-q"] testpaths = [ "tests", "integration", ]The
[tool.pytest.ini_options]table remains supported, but both tables cannot be used at the same time.If you prefer to use a separate configuration file, or don't use
pyproject.toml, you can usepytest.tomlor.pytest.toml:# pytest.toml or .pytest.toml [pytest] minversion = "9.0" addopts = ["-ra", "-q"] testpaths = [ "tests", "integration", ]The documentation now (sometimes) shows configuration snippets in both TOML and INI formats, in a tabbed interface.
See
config file formatsfor full details. -
#13823: Added a "strict mode" enabled by the
strictconfiguration option.When set to
true, thestrictoption currently enablesstrict_configstrict_markersstrict_parametrization_idsstrict_xfail
The individual strictness options can be explicitly set to override the global
strictsetting.The previously-deprecated
--strictcommand-line flag now enables strict mode.If pytest adds new strictness options in the future, they will also be enabled in strict mode. Therefore, you should only enable strict mode if you use a pinned/locked version of pytest, or if you want to proactively adopt new strictness options as they are added.
See
strict modefor more details. -
#13737: Added the
strict_parametrization_idsconfiguration option.When set, pytest emits an error if it detects non-unique parameter set IDs, rather than automatically making the IDs unique by adding 0, 1, ... to them. This can be particularly useful for catching unintended duplicates.
-
#13072: Added support for displaying test session progress in the terminal tab using the OSC 9;4; ANSI sequence. When pytest runs in a supported terminal emulator like ConEmu, Gnome Terminal, Ptyxis, Windows Terminal, Kitty or Ghostty, you'll see the progress in the terminal tab or window, allowing you to monitor pytest's progress at a glance.
This feature is automatically enabled when running in a TTY. It is implemented as an internal plugin. If needed, it can be disabled as follows:
- On a user level, using
-p no:terminalprogresson the command line or via an environment variablePYTEST_ADDOPTS='-p no:terminalprogress'. - On a project configuration level, using
addopts = "-p no:terminalprogress".
- On a user level, using
-
#478: Support PEP420 (implicit namespace packages) as --pyargs target when
consider_namespace_packagesis true in the config.Previously, this option only impacted package imports, now it also impacts tests discovery.
-
#13678: Added a new
faulthandler_exit_on_timeoutconfiguration option set to "false" by default to let faulthandler interrupt the pytest process after a timeout in case of deadlock.Previously, a faulthandler timeout would only dump the traceback of all threads to stderr, but would not interrupt the pytest process.
-- by
ogrisel. -
#13829: Added support for configuration option aliases via the
aliasesparameter inParser.addini() <pytest.Parser.addini>.Plugins can now register alternative names for configuration options, allowing for more flexibility in configuration naming and supporting backward compatibility when renaming options. The canonical name always takes precedence if both the canonical name and an alias are specified in the configuration file.
Improvements in existing functionality
-
#13330: Having pytest configuration spread over more than one file (for example having both a
pytest.inifile andpyproject.tomlwith a[tool.pytest.ini_options]table) will now print a warning to make it clearer to the user that only one of them is actually used.-- by
sgaist -
#13574: The single argument
--versionno longer loads the entire plugin infrastructure, making it faster and more reliable when displaying only the pytest version.Passing
--versiontwice (e.g.,pytest --version --version) retains the original behavior, showing both the pytest version and plugin information.[!NOTE] Since
--versionis now processed early, it only takes effect when passed directly via the command line. It will not work if set through other mechanisms, such asPYTEST_ADDOPTSoraddopts. -
#13823: Added
strict_xfailas an alias to thexfail_strictoption,strict_configas an alias to the--strict-configflag, andstrict_markersas an alias to the--strict-markersflag. This makes all strictness options consistently have configuration options with the prefixstrict_. -
#13700: --junitxml no longer prints the generated xml file summary at the end of the pytest session when --quiet is given.
-
#13732: Previously, when filtering warnings, pytest would fail if the filter referenced a class that could not be imported. Now, this only outputs a message indicating the problem.
-
#13859: Clarify the error message for pytest.raises() when a regex match fails.
-
#13861: Better sentence structure in a test's expected error message. Previously, the error message would be "expected exception must be <expected>, but got <actual>". Now, it is "Expected <expected>, but got <actual>".
Removals and backward incompatible breaking changes
-
#12083: Fixed a bug where an invocation such as pytest a/ a/b would cause only tests from a/b to run, and not other tests under a/.
The fix entails a few breaking changes to how such overlapping arguments and duplicates are handled:
- pytest a/b a/ or pytest a/ a/b are equivalent to pytest a; if an argument overlaps another arguments, only the prefix remains.
- pytest x.py x.py is equivalent to pytest x.py; previously such an invocation was taken as an explicit request to run the tests from the file twice.
If you rely on these behaviors, consider using
--keep-duplicates <duplicate-paths>, which retains its existing behavior (including the bug). -
#13719: Support for Python 3.9 is dropped following its end of life.
-
#13766: Previously, pytest would assume it was running in a CI/CD environment if either of the environment variables CI</span> or <span class="title-ref">BUILD_NUMBER was defined; now, CI mode is only activated if at least one of those variables is defined and set to a non-empty value.
-
#13779: PytestRemovedIn9Warning deprecation warnings are now errors by default.
Following our plan to remove deprecated features with as little disruption as possible, all warnings of type
PytestRemovedIn9Warningnow generate errors instead of warning messages by default.The affected features will be effectively removed in pytest 9.1, so please consult the
deprecationssection in the docs for directions on how to update existing code.In the pytest
9.0.Xseries, it is possible to change the errors back into warnings as a stopgap measure by adding this to yourpytest.inifile:[pytest] filterwarnings = ignore::pytest.PytestRemovedIn9WarningBut this will stop working when pytest
9.1is released.If you have concerns about the removal of a specific feature, please add a comment to
13779.
Deprecations (removal in next major release)
-
#13807:
monkeypatch.syspath_prepend() <pytest.MonkeyPatch.syspath_prepend>now issues a deprecation warning when the prepended path contains legacy namespace packages (those usingpkg_resources.declare_namespace()). Users should migrate to native namespace packages (420). Seemonkeypatch-fixup-namespace-packagesfor details.
Bug fixes
-
#13445: Made the type annotations of
pytest.skipand friends more spec-complaint to have them work across more type checkers. -
#13537: Fixed a bug in which
ExceptionGroupwith onlySkippedexceptions in teardown was not handled correctly and showed as error. -
#13598: Fixed possible collection confusion on Windows when short paths and symlinks are involved.
-
#13716: Fixed a bug where a nonsensical invocation like
pytest x.py[a](a file cannot be parametrized) was silently treated aspytest x.py. This is now a usage error. -
#13722: Fixed a misleading assertion failure message when using
pytest.approxon mappings with differing lengths. -
#13773: Fixed the static fixture closure calculation to properly consider transitive dependencies requested by overridden fixtures.
-
#13816: Fixed
pytest.approxwhich now returns a clearer error message when comparing mappings with different keys. -
#13849: Hidden
.pytest.inifiles are now picked up as the config file even if empty. This was an inconsistency with non-hiddenpytest.ini. -
#13865: Fixed --show-capture with --tb=line.
-
#13522: Fixed
pytesterin subprocess mode ignored all :attr`pytester.plugins <pytest.Pytester.plugins>` except the first.Fixed
pytesterin subprocess mode silently ignored non-strpytester.plugins <pytest.Pytester.plugins>. Now it errors instead. If you are affected by this, specify the plugin by name, or switch the affected tests to usepytester.runpytest_inprocess <pytest.Pytester.runpytest_inprocess>explicitly instead.
Packaging updates and notes for downstreams
-
#13791: Minimum requirements on
iniconfigandpackagingwere bumped to1.0.1and22.0.0, respectively.
Contributor-facing changes
- #12244: Fixed self-test failures when TERM=dumb.
- #12474: Added scheduled GitHub Action Workflow to run Sphinx linkchecks in repo documentation.
-
#13621: pytest's own testsuite now handles the
lsofcommand hanging (e.g. due to unreachable network filesystems), with the affected selftests being skipped after 10 seconds. -
#13638: Fixed deprecated
gh pr newcommand inscripts/prepare-release-pr.py. The script now usesgh pr createwhich is compatible with GitHub CLI v2.0+. -
#13695: Flush stdout and stderr in Pytester.run to avoid truncated outputs in test_faulthandler.py::test_timeout on CI -- by
ogrisel. - #13771: Skip test_do_not_collect_symlink_siblings on Windows environments without symlink support to avoid false negatives.
-
#13841:
tox>=4is now required when contributing to pytest. -
#13625: Added missing docstrings to
pytest_addoption(),pytest_configure(), andcacheshow()functions incacheprovider.py.
Miscellaneous internal changes
-
#13830: Configuration overrides (
-o/--override-ini) are now processed during startup rather than duringconfig.getini() <pytest.Config.getini>.
uis/devops/continuous-delivery/ci-templates (uis/devops/continuous-delivery/ci-templates)
v7.21.0: 7.21.0
7.21.0 (2025-11-19)
Features
v7.20.3: 7.20.3
7.20.3 (2025-11-03)
Bug Fixes
- use only needed bits of Terraform-Module.gitlab-ci.yml to avoid duplicate jobs (ff646a0)
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.