### Description

there is limitation to version 2 
https://github.com/apache/airflow/blob/809d95ec06447c9579383d15136190c0963b3c1b/airflow/providers/amazon/provider.yaml#L48


### Use case/motivation

using up to date version of the library

### Related issues

didnt find

### Are you willing to submit a PR?

- [ ] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

session.query(DagRun).delete()
    def test_hook(self):
        assert isinstance(self.cloudwatch_task_handler.hook, AwsLogsHook)
    def test_handler(self):
        self.cloudwatch_task_handler.set_context(self.ti)
        assert isinstance(self.cloudwatch_task_handler.handler, CloudWatchLogHandler)
    def test_write(self):
        handler = self.cloudwatch_task_handler
        handler.set_context(self.ti)
        messages = [str(i) for i in range(10)]
        with mock.patch("watchtower.CloudWatchLogHandler.emit") as mock_emit:
            for message in messages:
                handler.handle(message)
            mock_emit.assert_has_calls([call(message) for message in messages])
    def test_event_to_str(self):
        handler = self.cloudwatch_task_handler
        current_time = int(time.time()) * 1000
        events = [
            {"timestamp": current_time - 2000, "message": "First"},
            {"timestamp": current_time - 1000, "message": "Second"},
            {"timestamp": current_time, "message": "Third"},
        ]
        assert [handler._event_to_str(event) for event in events] == (
            [
                f"[{get_time_str(current_time-2000)}] First",
                f"[{get_time_str(current_time-1000)}] Second",
                f"[{get_time_str(current_time)}] Third",
            ]
        )
    def test_read(self):