### 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
self,
        string_data: str,
        key: str,
        bucket_name: Optional[str] = None,
        replace: bool = False,
        encrypt: bool = False,
        encoding: Optional[str] = None,
        acl_policy: Optional[str] = None,
        compression: Optional[str] = None,
    ) -> None:
        """
        Loads a string to S3
        This is provided as a convenience to drop a string in S3. It uses the
        boto infrastructure to ship a file to s3.
        :param string_data: str to set as content for the key.
        :type string_data: str
        :param key: S3 key that will point to the file
        :type key: str
        :param bucket_name: Name of the bucket in which to store the file
        :type bucket_name: str
        :param replace: A flag to decide whether or not to overwrite the key
            if it already exists
        :type replace: bool
        :param encrypt: If True, the file will be encrypted on the server-side
            by S3 and will be stored in an encrypted form while at rest in S3.