### Apache Airflow version

2.2.3 (latest released)

### What happened

The 2.5.0 version of Amazon Provider contains breaking changes - https://airflow.apache.org/docs/apache-airflow-providers-amazon/stable/commits.html specifically https://github.com/apache/airflow/commit/83b51e53062dc596a630edd4bd01407a556f1aa6 or the combination of the following:

- https://github.com/apache/airflow/commit/83b51e53062dc596a630edd4bd01407a556f1aa6
- https://github.com/apache/airflow/commit/d58df468c8d77c5d45e80f2333eb074bb7771a95
- https://github.com/apache/airflow/commit/4be04143a5f7e246127e942bf1d73abcd22ce189

and confirmed by @uranusjr 

I have yanked 2.5.0 and we will need to release ~3.0.0~ 2.5.1 with backwards compatibility fixes 

I have updated the constraints for 2.2.3 for now - https://github.com/apache/airflow/commit/62d490d4da17e35d4ddcd4ee38902a8a4e9bbfff

UPDATED: (@potiuk) to reflect that we are going to release 2.5.1 instead of 3.0.0

airflow/providers/amazon/aws/hooks/s3.py
"""
    Interact with AWS S3, using the boto3 library.
    Additional arguments (such as ``aws_conn_id``) may be specified and
    are passed down to the underlying AwsBaseHook.
    .. seealso::
        :class:`~airflow.providers.amazon.aws.hooks.base_aws.AwsBaseHook`
    """
    conn_type = 's3'
    hook_name = 'S3'
    def __init__(self, *args, **kwargs) -> None:
        kwargs['client_type'] = 's3'
        self.extra_args = {}
        if 'extra_args' in kwargs:
            self.extra_args = kwargs['extra_args']
            if not isinstance(self.extra_args, dict):
                raise ValueError(f"extra_args '{self.extra_args!r}' must be of type {dict}")
            del kwargs['extra_args']
        self.transfer_config = TransferConfig()
        if 'transfer_config_args' in kwargs:
            transport_config_args = kwargs['transfer_config_args']
            if not isinstance(transport_config_args, dict):
                raise ValueError(f"transfer_config_args '{transport_config_args!r} must be of type {dict}")
            self.transfer_config = TransferConfig(**transport_config_args)
            del kwargs['transfer_config_args']
        super().__init__(*args, **kwargs)
    @staticmethod
    def parse_s3_url(s3url: str) -> Tuple[str, str]: