diff --git a/.changes/1.35.67.json b/.changes/1.35.67.json new file mode 100644 index 0000000000..3127e1313d --- /dev/null +++ b/.changes/1.35.67.json @@ -0,0 +1,112 @@ +[ + { + "category": "``apigateway``", + "description": "[``botocore``] Added support for custom domain names for private APIs.", + "type": "api-change" + }, + { + "category": "``application-autoscaling``", + "description": "[``botocore``] Application Auto Scaling now supports Predictive Scaling to proactively increase the desired capacity ahead of predicted demand, ensuring improved availability and responsiveness for customers' applications. This feature is currently only made available for Amazon ECS Service scalable targets.", + "type": "api-change" + }, + { + "category": "``appsync``", + "description": "[``botocore``] Add support for the Amazon Bedrock Runtime.", + "type": "api-change" + }, + { + "category": "``ce``", + "description": "[``botocore``] This release introduces three new APIs that enable you to estimate the cost, coverage, and utilization impact of Savings Plans you plan to purchase. The three APIs are StartCommitmentPurchaseAnalysis, GetCommitmentPurchaseAnalysis, and ListCommitmentPurchaseAnalyses.", + "type": "api-change" + }, + { + "category": "``cloudfront``", + "description": "[``botocore``] Adds support for Origin Selection between EMPv2 origins based on media quality score.", + "type": "api-change" + }, + { + "category": "``cloudtrail``", + "description": "[``botocore``] This release introduces new APIs for creating and managing CloudTrail Lake dashboards. It also adds support for resource-based policies on CloudTrail EventDataStore and Dashboard resource.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "[``botocore``] Adds support for requesting future-dated Capacity Reservations with a minimum commitment duration, enabling IPAM for organizational units within AWS Organizations, reserving EC2 Capacity Blocks that start in 30 minutes, and extending the end date of existing Capacity Blocks.", + "type": "api-change" + }, + { + "category": "``elasticache``", + "description": "[``botocore``] Added support to modify the engine type for existing ElastiCache Users and User Groups. Customers can now modify the engine type from redis to valkey.", + "type": "api-change" + }, + { + "category": "``elbv2``", + "description": "[``botocore``] This feature adds support for enabling zonal shift on cross-zone enabled Application Load Balancer, as well as modifying HTTP request and response headers.", + "type": "api-change" + }, + { + "category": "``health``", + "description": "[``botocore``] Adds metadata property to an AffectedEntity.", + "type": "api-change" + }, + { + "category": "``iot``", + "description": "[``botocore``] General Availability (GA) release of AWS IoT Device Management - Commands, to trigger light-weight remote actions on targeted devices", + "type": "api-change" + }, + { + "category": "``iotfleetwise``", + "description": "[``botocore``] AWS IoT FleetWise now includes campaign parameters to store and forward data, configure MQTT topic as a data destination, and collect diagnostic trouble code data. It includes APIs for network agnostic data collection using custom decoding interfaces, and monitoring the last known state of vehicles.", + "type": "api-change" + }, + { + "category": "``iot-jobs-data``", + "description": "[``botocore``] General Availability (GA) release of AWS IoT Device Management - Commands, to trigger light-weight remote actions on targeted devices", + "type": "api-change" + }, + { + "category": "``lambda``", + "description": "[``botocore``] Adds support for metrics for event source mappings for AWS Lambda", + "type": "api-change" + }, + { + "category": "``logs``", + "description": "[``botocore``] Adds \"Create field indexes to improve query performance and reduce scan volume\" and \"Transform logs during ingestion\". Updates documentation for \"PutLogEvents with Entity\".", + "type": "api-change" + }, + { + "category": "``notifications``", + "description": "[``botocore``] This release adds support for AWS User Notifications. You can now configure and view notifications from AWS services in a central location using the AWS SDK.", + "type": "api-change" + }, + { + "category": "``notificationscontacts``", + "description": "[``botocore``] This release adds support for AWS User Notifications Contacts. You can now configure and view email contacts for AWS User Notifications using the AWS SDK.", + "type": "api-change" + }, + { + "category": "``resiliencehub``", + "description": "[``botocore``] AWS Resilience Hub's new summary view visually represents applications' resilience through charts, enabling efficient resilience management. It provides a consolidated view of the app portfolio's resilience state and allows data export for custom stakeholder reporting.", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "[``botocore``] Add support for conditional deletes for the S3 DeleteObject and DeleteObjects APIs. Add support for write offset bytes option used to append to objects with the S3 PutObject API.", + "type": "api-change" + }, + { + "category": "``ssm``", + "description": "[``botocore``] Added support for providing high-level overviews of managed nodes and previewing the potential impact of a runbook execution.", + "type": "api-change" + }, + { + "category": "``ssm-quicksetup``", + "description": "[``botocore``] Add methods that retrieve details about deployed configurations: ListConfigurations, GetConfiguration", + "type": "api-change" + }, + { + "category": "``xray``", + "description": "[``botocore``] AWS X-Ray introduces Transaction Search APIs, enabling span ingestion into CloudWatch Logs for high-scale trace data indexing. These APIs support span-level queries, trace graph generation, and metric correlation for deeper application insights.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 2d90a00f8e..bcfef747da 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,6 +2,33 @@ CHANGELOG ========= +1.35.67 +======= + +* api-change:``apigateway``: [``botocore``] Added support for custom domain names for private APIs. +* api-change:``application-autoscaling``: [``botocore``] Application Auto Scaling now supports Predictive Scaling to proactively increase the desired capacity ahead of predicted demand, ensuring improved availability and responsiveness for customers' applications. This feature is currently only made available for Amazon ECS Service scalable targets. +* api-change:``appsync``: [``botocore``] Add support for the Amazon Bedrock Runtime. +* api-change:``ce``: [``botocore``] This release introduces three new APIs that enable you to estimate the cost, coverage, and utilization impact of Savings Plans you plan to purchase. The three APIs are StartCommitmentPurchaseAnalysis, GetCommitmentPurchaseAnalysis, and ListCommitmentPurchaseAnalyses. +* api-change:``cloudfront``: [``botocore``] Adds support for Origin Selection between EMPv2 origins based on media quality score. +* api-change:``cloudtrail``: [``botocore``] This release introduces new APIs for creating and managing CloudTrail Lake dashboards. It also adds support for resource-based policies on CloudTrail EventDataStore and Dashboard resource. +* api-change:``ec2``: [``botocore``] Adds support for requesting future-dated Capacity Reservations with a minimum commitment duration, enabling IPAM for organizational units within AWS Organizations, reserving EC2 Capacity Blocks that start in 30 minutes, and extending the end date of existing Capacity Blocks. +* api-change:``elasticache``: [``botocore``] Added support to modify the engine type for existing ElastiCache Users and User Groups. Customers can now modify the engine type from redis to valkey. +* api-change:``elbv2``: [``botocore``] This feature adds support for enabling zonal shift on cross-zone enabled Application Load Balancer, as well as modifying HTTP request and response headers. +* api-change:``health``: [``botocore``] Adds metadata property to an AffectedEntity. +* api-change:``iot``: [``botocore``] General Availability (GA) release of AWS IoT Device Management - Commands, to trigger light-weight remote actions on targeted devices +* api-change:``iotfleetwise``: [``botocore``] AWS IoT FleetWise now includes campaign parameters to store and forward data, configure MQTT topic as a data destination, and collect diagnostic trouble code data. It includes APIs for network agnostic data collection using custom decoding interfaces, and monitoring the last known state of vehicles. +* api-change:``iot-jobs-data``: [``botocore``] General Availability (GA) release of AWS IoT Device Management - Commands, to trigger light-weight remote actions on targeted devices +* api-change:``lambda``: [``botocore``] Adds support for metrics for event source mappings for AWS Lambda +* api-change:``logs``: [``botocore``] Adds "Create field indexes to improve query performance and reduce scan volume" and "Transform logs during ingestion". Updates documentation for "PutLogEvents with Entity". +* api-change:``notifications``: [``botocore``] This release adds support for AWS User Notifications. You can now configure and view notifications from AWS services in a central location using the AWS SDK. +* api-change:``notificationscontacts``: [``botocore``] This release adds support for AWS User Notifications Contacts. You can now configure and view email contacts for AWS User Notifications using the AWS SDK. +* api-change:``resiliencehub``: [``botocore``] AWS Resilience Hub's new summary view visually represents applications' resilience through charts, enabling efficient resilience management. It provides a consolidated view of the app portfolio's resilience state and allows data export for custom stakeholder reporting. +* api-change:``s3``: [``botocore``] Add support for conditional deletes for the S3 DeleteObject and DeleteObjects APIs. Add support for write offset bytes option used to append to objects with the S3 PutObject API. +* api-change:``ssm``: [``botocore``] Added support for providing high-level overviews of managed nodes and previewing the potential impact of a runbook execution. +* api-change:``ssm-quicksetup``: [``botocore``] Add methods that retrieve details about deployed configurations: ListConfigurations, GetConfiguration +* api-change:``xray``: [``botocore``] AWS X-Ray introduces Transaction Search APIs, enabling span ingestion into CloudWatch Logs for high-scale trace data indexing. These APIs support span-level queries, trace graph generation, and metric correlation for deeper application insights. + + 1.35.66 ======= diff --git a/boto3/__init__.py b/boto3/__init__.py index 35d4b62c69..552692ac7b 100644 --- a/boto3/__init__.py +++ b/boto3/__init__.py @@ -17,7 +17,7 @@ from boto3.session import Session __author__ = 'Amazon Web Services' -__version__ = '1.35.66' +__version__ = '1.35.67' # The default Boto3 session; autoloaded when needed. diff --git a/boto3/docs/service.py b/boto3/docs/service.py index 0076a3420b..39ed89b871 100644 --- a/boto3/docs/service.py +++ b/boto3/docs/service.py @@ -42,7 +42,6 @@ def __init__(self, service_name, session, root_docs_path): self.sections = [ 'title', 'client', - 'client-exceptions', 'paginators', 'waiters', 'resources', @@ -66,7 +65,6 @@ def document_service(self): self.title(doc_structure.get_section('title')) self.client_api(doc_structure.get_section('client')) - self.client_exceptions(doc_structure.get_section('client-exceptions')) self.paginator_api(doc_structure.get_section('paginators')) self.waiter_api(doc_structure.get_section('waiters')) if self._service_resource: diff --git a/setup.cfg b/setup.cfg index cb40c51f2d..0860ef52d3 100644 --- a/setup.cfg +++ b/setup.cfg @@ -3,7 +3,7 @@ universal = 0 [metadata] requires_dist = - botocore>=1.35.66,<1.36.0 + botocore>=1.35.67,<1.36.0 jmespath>=0.7.1,<2.0.0 s3transfer>=0.10.0,<0.11.0 diff --git a/setup.py b/setup.py index 54174baf82..1bbc8e37d2 100644 --- a/setup.py +++ b/setup.py @@ -14,7 +14,7 @@ requires = [ - 'botocore>=1.35.66,<1.36.0', + 'botocore>=1.35.67,<1.36.0', 'jmespath>=0.7.1,<2.0.0', 's3transfer>=0.10.0,<0.11.0', ] diff --git a/tests/unit/docs/__init__.py b/tests/unit/docs/__init__.py index 4d04a2f70b..a50934c8be 100644 --- a/tests/unit/docs/__init__.py +++ b/tests/unit/docs/__init__.py @@ -344,12 +344,6 @@ def add_shape_to_params( required_list.append(param_name) params_shape['required'] = required_list - def add_shape_to_errors(self, shape_name): - operation = self.json_model['operations']['SampleOperation'] - errors = operation.get('errors', []) - errors.append({'shape': shape_name}) - operation['errors'] = errors - def assert_contains_lines_in_order(self, lines, contents=None): if contents is None: contents = self.doc_structure.flush_structure().decode('utf-8') diff --git a/tests/unit/docs/test_client.py b/tests/unit/docs/test_client.py index 1facc5c52f..11a42fa3cf 100644 --- a/tests/unit/docs/test_client.py +++ b/tests/unit/docs/test_client.py @@ -10,8 +10,6 @@ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. -from botocore.docs.client import ClientExceptionsDocumenter - from boto3.docs.client import Boto3ClientDocumenter from tests.unit.docs import BaseDocsTest @@ -19,16 +17,6 @@ class TestBoto3ClientDocumenter(BaseDocsTest): def setUp(self): super().setUp() - exception_shape = { - 'SomeException': { - 'exception': True, - 'type': 'structure', - 'members': {'Message': {'shape': 'String'}}, - } - } - self.add_shape(exception_shape) - self.add_shape_to_errors('SomeException') - self.setup_client_and_resource() self.client_documenter = Boto3ClientDocumenter( self.client, self.root_services_path ) @@ -108,82 +96,8 @@ def test_document_client(self): ' - *(dict) --*', ' - **Foo** *(string) --*', ' - **Bar** *(string) --*', - '**Exceptions**', - '* :py:class:`MyService.Client.exceptions.SomeException`', ], self.get_nested_service_contents( 'myservice', 'client', 'sample_operation' ), ) - - -class TestClientExceptionsDocumenter(BaseDocsTest): - def setup_documenter(self): - self.setup_client_and_resource() - self.exceptions_documenter = ClientExceptionsDocumenter( - self.client, self.root_services_path - ) - - def test_no_modeled_exceptions(self): - self.setup_documenter() - self.exceptions_documenter.document_exceptions(self.doc_structure) - self.assert_contains_lines_in_order( - [ - '=================', - 'Client Exceptions', - '=================', - 'Client exceptions are available', - 'This client has no modeled exception classes.', - ] - ) - - def test_modeled_exceptions(self): - exception_shape = { - 'SomeException': { - 'exception': True, - 'type': 'structure', - 'members': {'Message': {'shape': 'String'}}, - } - } - self.add_shape(exception_shape) - self.setup_documenter() - self.exceptions_documenter.document_exceptions(self.doc_structure) - self.assert_contains_lines_in_order( - [ - '=================', - 'Client Exceptions', - '=================', - 'Client exceptions are available', - 'The available client exceptions are:', - '.. toctree::', - ':maxdepth: 1', - ':titlesonly:', - ' myservice/client/exceptions/SomeException', - ] - ) - self.assert_contains_lines_in_order( - [ - '.. py:class:: MyService.Client.exceptions.SomeException', - '**Example**', - '::', - 'except client.exceptions.SomeException as e:', - '.. py:attribute:: response', - '**Syntax**', - '{', - "'Message': 'string',", - "'Error': {", - "'Code': 'string',", - "'Message': 'string'", - '}', - '}', - '**Structure**', - '- *(dict) --*', - '- **Message** *(string) --* ', - '- **Error** *(dict) --* ', - '- **Code** *(string) --* ', - '- **Message** *(string) --* ', - ], - self.get_nested_service_contents( - 'myservice', 'client/exceptions', 'SomeException' - ), - ) diff --git a/tests/unit/docs/test_service.py b/tests/unit/docs/test_service.py index 5ceae3713c..a6e8ef19f8 100644 --- a/tests/unit/docs/test_service.py +++ b/tests/unit/docs/test_service.py @@ -34,14 +34,6 @@ def test_document_service(self): '.. py:class:: MyService.Client', 'These are the available methods:', ' myservice/client/sample_operation', - '=================', - 'Client Exceptions', - '=================', - 'Client exceptions are available on a client instance ', - 'via the ``exceptions`` property. For more detailed instructions ', - 'and examples on the exact usage of client exceptions, see the ', - 'error handling ', - 'This client has no modeled exception classes.', '==========', 'Paginators', '==========',