NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2125 most downloaded on PyPI
Provider package apache-airflow-providers-amazon for Apache Airflow
Last release 5 days ago
29 Sep 2026
Ships on a steady schedule
a new release about every 2 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
2 versions withdrawn
withdrawn after publishing
6 years old
247 releases · first in 2020
One column per quarter.
Deferrable AWS operators and sensors now hand region_name , verify and botocore_config to the trigger they defer to, so the triggerer builds its hook
Release Date: 2026-09-29
Warning
Deferrable AWS operators and sensors now hand region_name , verify and botocore_config to the trigger they defer to, so the triggerer builds its hook from the operator’s settings instead of falling back to boto3 defaults. Deployments where the triggerer happened to work because of those defaults will see it change: it now uses the operator’s region rather than the triggerer host’s AWS_DEFAULT_REGION , and it applies the operator’s SSL verification and botocore configuration, which previously never reached it. Set these explicitly on the operator if the deferred half needs to differ from the synchronous half.
Warning
FTPToS3Operator , S3ToFTPOperator , S3ToSFTPOperator , and SFTPToS3Operator now match the source _filenames , when it is a string other than "" , as a leading prefix of the file name, as documented, instead of as a substring anywhere in the listed entry. Entries that contained it only elsewhere are no longer selected, and a warning reports how many, naming up to ten. Renaming now replaces only that leading prefix, instead of every occurrence.
For S3ToFTPOperator and S3ToSFTPOperator the prefix is not an S3 key prefix. Keys under s3_key are matched on their last path segment and keep their directory at the destination, and a prefix that contains / no longer matches. To select a subdirectory, narrow s3_key to it and append it to ftp_path or sftp_path to keep the same destination.
With a string ftp_filenames , FTPToS3Operator now builds the destination key from the file name alone, so on servers that qualify nlst entries with the listed directory the key no longer embeds that directory.
Template every connection id accepted by provider operators (#73286)
Add AthenaSparkOperator (#72081)
Preserve SageMaker job lifecycle states in trigger events (#71653)
Add Kinesis Data Streams trigger (#71135)
Add 'MskHook' (#69000)
Add deferrable mode to EmrServerlessJobSensor (#71652)
Support code packages in MWAA Serverless workflow operators (#72622)
Add deferrable mode to QuickSight operator and sensor (#70218)
Fix prefix handling in Amazon transfer operators (#73269)
Log the success message when a deferred EKS cluster deletion completes (#73455)
Build deferred AWS hooks from the operator's own settings (#72171)
Preserve OpenSearch Serverless hook configuration when deferring (#72472)
Fix id_to_job_info memory leak in the AWS Batch executor (#72186)
Fix EMR Serverless delete operator skipping deletion when deferrable (#73323)
Contain remote log upload paths within base_log_folder (#72162)
Log the HTTP response in HttpToS3Operator when log_response is set (#72951)
Give EKS delete operations longer to ride out ResourceInUseException (#73219)
Fix empty status messages in deferrable Bedrock/OpenSearch sensors (#72330)
Reject empty match_glob in GCSToS3Operator on old google provider (#71591)
Unify executor workload queues (#63491)
Keep message queue provider doc markers out of class docstrings (#73588)
Fix howto guide link in AzureBlobStorageToS3Operator docstring (#73227)
Stop recommending psycopg3 connection strings on older Airflow (#70619)
Warning
Deferrable AWS operators and sensors now hand region_name, verify and botocore_config to the trigger they defer to, so the triggerer builds its hook from the operator's settings instead of falling back to boto3 defaults. Deployments where the triggerer happened to work because of those defaults will see it change: it now uses the operator's region rather than the triggerer host's AWS_DEFAULT_REGION, and it applies the operator's SSL verification and botocore configuration, which previously never reached it. Set these explicitly on the operator if the deferred half needs to differ from the synchronous half.
Warning
FTPToS3Operator, S3ToFTPOperator, S3ToSFTPOperator, and SFTPToS3Operator now match the source *_filenames, when it is a string other than "*", as a leading prefix of the file name, as documented, instead of as a substring anywhere in the listed entry. Entries that contained it only elsewhere are no longer selected, and a warning reports how many, naming up to ten. Renaming now replaces only that leading prefix, instead of every occurrence.
For S3ToFTPOperator and S3ToSFTPOperator the prefix is not an S3 key prefix. Keys under s3_key are matched on their last path segment and keep their directory at the destination, and a prefix that contains / no longer matches. To select a subdirectory, narrow s3_key to it and append it to ftp_path or sftp_path to keep the same destination.
With a string ftp_filenames, FTPToS3Operator now builds the destination key from the file name alone, so on servers that qualify nlst entries with the listed directory the key no longer embeds that directory.
Template every connection id accepted by provider operators (#73286)
Add AthenaSparkOperator (#72081)
Preserve SageMaker job lifecycle states in trigger events (#71653)
Add Kinesis Data Streams trigger (#71135)
Add 'MskHook' (#69000)
Add deferrable mode to EmrServerlessJobSensor (#71652)
Support code packages in MWAA Serverless workflow operators (#72622)
Add deferrable mode to QuickSight operator and sensor (#70218)
Fix prefix handling in Amazon transfer operators (#73269)
Log the success message when a deferred EKS cluster deletion completes (#73455)
Build deferred AWS hooks from the operator's own settings (#72171)
Preserve OpenSearch Serverless hook configuration when deferring (#72472)
Fix id_to_job_info memory leak in the AWS Batch executor (#72186)
Fix EMR Serverless delete operator skipping deletion when deferrable (#73323)
Contain remote log upload paths within base_log_folder (#72162)
Log the HTTP response in HttpToS3Operator when log_response is set (#72951)
Give EKS delete operations longer to ride out ResourceInUseException (#73219)
Fix empty status messages in deferrable Bedrock/OpenSearch sensors (#72330)
Reject empty match_glob in GCSToS3Operator on old google provider (#71591)
Unify executor workload queues (#63491)
Keep message queue provider doc markers out of class docstrings (#73588)
Fix howto guide link in AzureBlobStorageToS3Operator docstring (#73227)
Stop recommending psycopg3 connection strings on older Airflow (#70619)
Nothing published for this version
The default waiter timeout of ComprehendCreateDocumentClassifierOperator was raised from 20 minutes ( waiter_max_attempts=20 ) to 60 minutes ( waiter_
Release Date: 2026-09-14
Warning
The default waiter timeout of ComprehendCreateDocumentClassifierOperator was raised from 20 minutes ( waiter_max_attempts=20 ) to 60 minutes ( waiter_max_attempts=60 ), because document classifier training sometimes takes longer than 20 minutes. When the operator waits for completion (the default, in both synchronous and deferrable mode), tasks that previously failed with a waiter timeout around the 20-minute mark now keep waiting for up to an hour. Pass waiter_max_attempts explicitly to restore the previous timeout.
Scope asset API responses to the assets a user may read (#72682)
Add dedicated exceptions for AWS waiter failures and let triggers customize event translation (#72455)
Fix pickle round-trip of Amazon provider exceptions (#72824)
Fix region_name being ignored by the Step Functions execution trigger (#72625)
Pass verify and botocore_config to GlueJobCompleteTrigger (#72557)
Skip GCS folder-marker keys in GCSToS3Operator (#72497)
Fix EmrContainerSensor reporting success for an unknown job state (#72500)
Fix SageMaker Unified Studio trigger hook config (#72453)
Increase Comprehend document classifier timeout from 20 to 60 minutes (#71969)
Fix incorrect documented defaults in Amazon operators and sensors (#72315)
Warning
The default waiter timeout of ComprehendCreateDocumentClassifierOperator was raised from 20 minutes (waiter_max_attempts=20) to 60 minutes (waiter_max_attempts=60), because document classifier training sometimes takes longer than 20 minutes. When the operator waits for completion (the default, in both synchronous and deferrable mode), tasks that previously failed with a waiter timeout around the 20-minute mark now keep waiting for up to an hour. Pass waiter_max_attempts explicitly to restore the previous timeout.
Scope asset API responses to the assets a user may read (#72682)
Add dedicated exceptions for AWS waiter failures and let triggers customize event translation (#72455)
Fix pickle round-trip of Amazon provider exceptions (#72824)
Fix region_name being ignored by the Step Functions execution trigger (#72625)
Pass verify and botocore_config to GlueJobCompleteTrigger (#72557)
Skip GCS folder-marker keys in GCSToS3Operator (#72497)
Fix EmrContainerSensor reporting success for an unknown job state (#72500)
Fix SageMaker Unified Studio trigger hook config (#72453)
Increase Comprehend document classifier timeout from 20 to 60 minutes (#71969)
Fix incorrect documented defaults in Amazon operators and sensors (#72315)
Nothing published for this version
- Use the operator's AWS settings for deferred SageMaker tasks
Release Date: 2026-08-29
Use the operator's AWS settings for deferred SageMaker tasks (#71857)
Use the configured region for deferred Neptune cluster tasks (#71646)
Use common.compat.sdk for the remaining provider timezone imports (#71209)
Use the operator's AWS settings for deferred SageMaker tasks (#71857)
Use the configured region for deferred Neptune cluster tasks (#71646)
Use common.compat.sdk for the remaining provider timezone imports (#71209)
Nothing published for this version
Set durable=True explicitly (or the now-deprecated resume_glue_job_on_retry=True ) to opt in to the same reconnect behavior via an older, scan-based m…
Release Date: 2026-08-23
Warning
On Airflow 3.3+, GlueJobOperator ’s durable parameter now defaults to True : the Glue job run id is persisted to task state store, and a worker crash on retry reconnects to the existing run instead of starting a duplicate. Pass durable=False to restore the previous behavior of always starting a fresh run on retry.
On Airflow versions below 3.3, durable still defaults to False – upgrading the provider alone does not change behavior there. Set durable=True explicitly (or the now-deprecated resume_glue_job_on_retry=True ) to opt in to the same reconnect behavior via an older, scan-based mechanism.
Replace 'resume_glue_job_on_retry' with durable execution for 'GlueJobOperator' (#71211)
Prevent a broken job from stalling AWS Batch executor sync (#71380)
Fail Glue job tasks promptly when a verbose job run errors (#71570)
Make 'durable' reach 'default_args' and warn when set below Airflow 3.3 (#71531)
Fail Glue job tasks stopped mid-run in deferrable verbose mode (#71495)
Include Bedrock ingestion job failure reasons in the error message (#71124)
Narrow AirflowException to specific exceptions in DataSync operator (#70152)
Move SendGrid and SES email backend setup docs to their providers (#71571)
Add type annotations to sql hooks (#70815)
Fix incorrect documented defaults for MwaaTriggerDagRunOperator waiter params (#71740)
Document how clearing tasks works with task state store on durable operators (#71358)
Warning
On Airflow 3.3+, GlueJobOperator's durable parameter now defaults to True: the Glue job run id is persisted to task state store, and a worker crash on retry reconnects to the existing run instead of starting a duplicate. Pass durable=False to restore the previous behavior of always starting a fresh run on retry.
On Airflow versions below 3.3, durable still defaults to False -- upgrading the provider alone does not change behavior there. Set durable=True explicitly (or the now-deprecated resume_glue_job_on_retry=True) to opt in to the same reconnect behavior via an older, scan-based mechanism.
Replace 'resume_glue_job_on_retry' with durable execution for 'GlueJobOperator' (#71211)
Prevent a broken job from stalling AWS Batch executor sync (#71380)
Fail Glue job tasks promptly when a verbose job run errors (#71570)
Make 'durable' reach 'default_args' and warn when set below Airflow 3.3 (#71531)
Fail Glue job tasks stopped mid-run in deferrable verbose mode (#71495)
Include Bedrock ingestion job failure reasons in the error message (#71124)
Narrow AirflowException to specific exceptions in DataSync operator (#70152)
Move SendGrid and SES email backend setup docs to their providers (#71571)
Add type annotations to sql hooks (#70815)
Fix incorrect documented defaults for MwaaTriggerDagRunOperator waiter params (#71740)
Document how clearing tasks works with task state store on durable operators (#71358)
Nothing published for this version
- Cancel the Redshift statement when a user kills the deferred task
Release Date: 2026-08-08
Cancel the Redshift statement when a user kills the deferred task (#69676)
Support setting an S3 object ACL for remote task logs (#70394)
Add 'DmsReloadTablesOperator' (#70569)
Add deferrable mode to DynamoDBValueSensor (#69799)
Refuse the team agnostic fall-through for a team scoped AWS secret name (#70878)
Retry EKS resource deletion on transient ResourceInUseException (#70260)
Apply SageMaker operator template-field checks after rendering (#70485)
Resolve S3ToRedshiftOperator connection and kwargs after template rendering (#70486)
Move AwsToAwsBaseOperator fallback out of init (#70445)
Fix EcsRunTaskOperator deferred logs read from the wrong region (#70474)
Allow templated fields in AppFlow operators (#70440)
Fix EcsRunTaskOperator deferred-logs region and template field init (#70464)
Fix MongoToS3Operator aggregate-pipeline detection before rendering (#70330)
Strip GlueDataQualityOperator ruleset after rendering (#70331)
Move template-field validation/transformation out of init for Amazon Bedrock operators (#70306)
Move template-field validation out of init for Amazon DataSync operator (#70324)
Only refuse team scoped like secret ids when multi_team is on (#71078)
Keep S3DeleteObjectsOperator validation in init, narrow to ValueError (#70359)
Rename StepFunctionStartExecutionOperator's input field to match its constructor argument (#70544)
Fix mypy arg-type error in Redshift Data get_primary_keys (#70677)
Add IMPORT_ERRORS_ALL permission for import errors of files with no registered Dag (#69790)
Tighten the DMS operator cdc-start checks to 'is not None' and raise ValueError (#70450, #70634)
Document effect of state-store cleanup for operators with durable execution (#70721)
Remove hard-coded deferrable crawler run from example_glue (#70206)
Cancel the Redshift statement when a user kills the deferred task (#69676)
Support setting an S3 object ACL for remote task logs (#70394)
Add 'DmsReloadTablesOperator' (#70569)
Add deferrable mode to DynamoDBValueSensor (#69799)
Refuse the team agnostic fall-through for a team scoped AWS secret name (#70878)
Retry EKS resource deletion on transient ResourceInUseException (#70260)
Apply SageMaker operator template-field checks after rendering (#70485)
Resolve S3ToRedshiftOperator connection and kwargs after template rendering (#70486)
Move AwsToAwsBaseOperator fallback out of init (#70445)
Fix EcsRunTaskOperator deferred logs read from the wrong region (#70474)
Allow templated fields in AppFlow operators (#70440)
Fix EcsRunTaskOperator deferred-logs region and template field init (#70464)
Fix MongoToS3Operator aggregate-pipeline detection before rendering (#70330)
Strip GlueDataQualityOperator ruleset after rendering (#70331)
Move template-field validation/transformation out of init for Amazon Bedrock operators (#70306)
Move template-field validation out of init for Amazon DataSync operator (#70324)
Only refuse team scoped like secret ids when multi_team is on (#71078)
Keep S3DeleteObjectsOperator validation in __init__, narrow to ValueError (#70359)
Rename StepFunctionStartExecutionOperator's input field to match its constructor argument (#70544)
Fix mypy arg-type error in Redshift Data get_primary_keys (#70677)
Add IMPORT_ERRORS_ALL permission for import errors of files with no registered Dag (#69790)
Tighten the DMS operator cdc-start checks to 'is not None' and raise ValueError (#70450, #70634)
Document effect of state-store cleanup for operators with durable execution (#70721)
Remove hard-coded deferrable crawler run from example_glue (#70206)
Nothing published for this version
Nothing published for this version
RedshiftSQLHook.get_sqlalchemy_engine() , used for the SQLAlchemy engine backing lineage/reflection, now resolves an explicit Postgres DB-API driver f
Release Date: 2026-07-28
Note
RedshiftSQLHook.get_sqlalchemy_engine() , used for the SQLAlchemy engine backing lineage/reflection, now resolves an explicit Postgres DB-API driver for a bare postgresql:// URL, preferring psycopg (v3) when importable and falling back to psycopg2 . Where both drivers are installed, this engine now uses psycopg (v3), matching the sync Postgres driver default change in apache-airflow-providers-postgres .
Add OpenLineage parent info to EMR Spark steps (#70182)
Add S3RemoteLogIO.from_config and register s3 remote logging scheme (#69817)
Add CloudWatchRemoteLogIO.from_config and register cloudwatch scheme (#69816)
Add Amazon ECR repository operators (#69886)
Add dedicated Glue crawler lifecycle operators (#69930)
Allow 'AthenaOperator' queries without a 'database' argument (#69846)
Add durable execution to 'RedshiftDataOperator' (#69530)
Make RedshiftDeleteClusterOperator delete reliably during cluster transitions (#69574)
Fix Amazon provider log messages to show actual values (#69967)
Secure AWS auth cookies behind TLS proxies (#69898)
Generate a fresh EmrContainerOperator request token on each task attempt (#69625)
Make psycopg (v3) the default synchronous Postgres driver (#69526)
Warn for bad combination of parameters for RedshiftDataOperator (#69524)
Link task state store docs in durable execution across providers (#69851)
Fix documentation misusing previous/next for task relationships (#69179)
Note
RedshiftSQLHook.get_sqlalchemy_engine(), used for the SQLAlchemy engine backing lineage/reflection, now resolves an explicit Postgres DB-API driver for a bare postgresql:// URL, preferring psycopg (v3) when importable and falling back to psycopg2. Where both drivers are installed, this engine now uses psycopg (v3), matching the sync Postgres driver default change in apache-airflow-providers-postgres.
Add OpenLineage parent info to EMR Spark steps (#70182)
Add S3RemoteLogIO.from_config and register s3 remote logging scheme (#69817)
Add CloudWatchRemoteLogIO.from_config and register cloudwatch scheme (#69816)
Add Amazon ECR repository operators (#69886)
Add dedicated Glue crawler lifecycle operators (#69930)
Allow 'AthenaOperator' queries without a 'database' argument (#69846)
Add durable execution to 'RedshiftDataOperator' (#69530)
Make RedshiftDeleteClusterOperator delete reliably during cluster transitions (#69574)
Fix Amazon provider log messages to show actual values (#69967)
Secure AWS auth cookies behind TLS proxies (#69898)
Generate a fresh EmrContainerOperator request token on each task attempt (#69625)
Make psycopg (v3) the default synchronous Postgres driver (#69526)
Warn for bad combination of parameters for RedshiftDataOperator (#69524)
Link task state store docs in durable execution across providers (#69851)
Fix documentation misusing previous/next for task relationships (#69179)
Nothing published for this version
- Add CRUD methods to DynamoDBHook
Release Date: 2026-07-10
Add CRUD methods to DynamoDBHook (#69142)
Add Amazon Provider Neptune Analytics (#64274)
Add team_name tags to Amazon executor metrics (#69072)
Add S3CopyPrefixOperator to copy all objects under a prefix (#68946)
Add output_files_to_xcom parameter to SageMakerProcessingOperator (#69002)
Propagate AWS hook parameters through RedshiftClusterTrigger (#68925)
Propagate verify and botocore_config through EC2StateSensorTrigger (#68921)
Adds Airflow 3 compatibility in 'try_adopt_task_instances' for BatchExec (#68027)
Prevent path traversal in s3 to sftp/ftp transfer destinations (#68984)
Fix SageMakerTransformOperator succeeding on a failed deferred job (#69042)
Close S3 download_file handle once the download finishes or fails (#69084)
Make Amazon SageMaker triggers inherit AWS base classes (#68927)
Persist BatchOperator deferrable xcom links (#64745)
Standardize ECS TaskDoneTrigger on region_name and AWS hook parameters (#68923)
Fix CloudWatch remote logging for ephemeral lifecycle executor (#68779)
Fix Cloudwatch remote logging crash API server if ResourceNotFoundException (#68781)
Add CRUD methods to DynamoDBHook (#69142)
Add Amazon Provider Neptune Analytics (#64274)
Add team_name tags to Amazon executor metrics (#69072)
Add S3CopyPrefixOperator to copy all objects under a prefix (#68946)
Add output_files_to_xcom parameter to SageMakerProcessingOperator (#69002)
Propagate AWS hook parameters through RedshiftClusterTrigger (#68925)
Propagate verify and botocore_config through EC2StateSensorTrigger (#68921)
Adds Airflow 3 compatibility in 'try_adopt_task_instances' for BatchExec (#68027)
Prevent path traversal in s3 to sftp/ftp transfer destinations (#68984)
Fix SageMakerTransformOperator succeeding on a failed deferred job (#69042)
Close S3 download_file handle once the download finishes or fails (#69084)
Make Amazon SageMaker triggers inherit AWS base classes (#68927)
Persist BatchOperator deferrable xcom links (#64745)
Standardize ECS TaskDoneTrigger on region_name and AWS hook parameters (#68923)
Fix CloudWatch remote logging for ephemeral lifecycle executor (#68779)
Fix Cloudwatch remote logging crash API server if ResourceNotFoundException (#68781)
Nothing published for this version
- Wait for Bedrock AgentCore Runtime deletion
Release Date: 2026-06-22
Wait for Bedrock AgentCore Runtime deletion (#68140)
Upload log with 'put_object' in 's3_task_handler' (#68619)
Add 'evaluation_config', 'inference_config' and 'output_data_config' to BedrockCreateEvaluationJobOperator template_fields (#68310)
Fix remote-log providers not satisfying RemoteLogIO upload contract (#68300)
Harden S3 sync target paths (#67847)
Fix mypy errors for task_instance access in provider triggers (#68685)
Wait for Bedrock AgentCore Runtime deletion (#68140)
Upload log with 'put_object' in 's3_task_handler' (#68619)
Add 'evaluation_config', 'inference_config' and 'output_data_config' to BedrockCreateEvaluationJobOperator template_fields (#68310)
Fix remote-log providers not satisfying RemoteLogIO upload contract (#68300)
Harden S3 sync target paths (#67847)
Fix mypy errors for task_instance access in provider triggers (#68685)
Nothing published for this version
- Add 'GlueCatalogBatchDeletePartitionOperator'
Release Date: 2026-06-11
Add 'GlueCatalogBatchDeletePartitionOperator' (#66721)
Add 'OpenSearchServerlessCreateCollectionOperator' (#66549)
Propogate 'verify' and 'botocore_config' in batch triggers (#67508)
Propogate 'verify' and 'botocore_config' in redshift cluster triggers (#67876)
Add ExecuteCallback support to AWS ECS Executor (#63657)
Add Amazon Bedrock AgentCore Runtime operators (#67984)
Add 'DmsModifyTaskOperator' (#67524)
Fix SageMaker processing stopped state handling (#67291)
Fix EMR Serverless task failure on transient AWS throttling errors (#67222)
Fix duplicated logs and memory issue with S3 log handler (#67144)
Fix EksPodOperator 401 with cross-account AssumeRole via aws_conn_id (#65335)
Fix inconsistency in S3 transfer operators (#67378)
Support log level parsing from container output in 'EcsRunTaskOperator' (#67180)
Fix IDC domain S3 path resolution (#67987)
Remove further findings from positional session check (#67712)
Cleanup redundant RedshiftHook TODO comment for cluster snapshot creation (#67485)
Add prek hook to enforce HTTPException is imported from fastapi (#67367)
Update Notebook Operator to pull S3 project bucket from tooling env (#67915)
Add 'GlueCatalogBatchDeletePartitionOperator' (#66721)
Add 'OpenSearchServerlessCreateCollectionOperator' (#66549)
Propogate 'verify' and 'botocore_config' in batch triggers (#67508)
Propogate 'verify' and 'botocore_config' in redshift cluster triggers (#67876)
Add ExecuteCallback support to AWS ECS Executor (#63657)
Add Amazon Bedrock AgentCore Runtime operators (#67984)
Add 'DmsModifyTaskOperator' (#67524)
Fix SageMaker processing stopped state handling (#67291)
Fix EMR Serverless task failure on transient AWS throttling errors (#67222)
Fix duplicated logs and memory issue with S3 log handler (#67144)
Fix EksPodOperator 401 with cross-account AssumeRole via aws_conn_id (#65335)
Fix inconsistency in S3 transfer operators (#67378)
Support log level parsing from container output in 'EcsRunTaskOperator' (#67180)
Fix IDC domain S3 path resolution (#67987)
Remove further findings from positional session check (#67712)
Cleanup redundant RedshiftHook TODO comment for cluster snapshot creation (#67485)
Add prek hook to enforce HTTPException is imported from fastapi (#67367)
Update Notebook Operator to pull S3 project bucket from tooling env (#67915)
Nothing published for this version
Nothing published for this version
- Add OpenLineage support to AthenaSQLHook
Release Date: 2026-05-23
Add OpenLineage support to AthenaSQLHook (#66844)
Add S3TablesDeleteTableBucketPolicyOperator (#66957)
Add parent info injection to EMR operator (#66816)
Add MwaaServerlessDeleteWorkflowOperator (#66891)
Add callback support to AWS batch executor (#62984)
Add MwaaServerlessUpdateWorkflowOperator (#66833)
Add S3TablesPutTableBucketPolicyOperator (#66720)
Add S3VectorsQueryVectorsOperator (#66724)
Add async support to SageMakerNotebookJobTrigger (#65571)
Add S3VectorsPutVectorsOperator (#66545)
Add uri sanitizers and asset factories for new schemes (#66426)
Add S3TablesRenameTableOperator (#66544)
Add MwaaServerlessStopWorkflowRunOperator (#66548)
Add BedrockUpdateGuardrailOperator (#66547)
Add GlueCatalogCreatePartitionOperator (#66546)
Add MwaaServerlessWorkflowRunSensor (#66382)
Add 'BedrockCreateEvaluationJobOperator' (#66722)
Fix CreateWorkflowOperator if_exists=skip ARN construction (#66974)
Fix EMR container job not cancelled on deferral timeout (#64770)
Enable ruff PLE1205 to catch logging calls with too many arguments (#66978)
Add Bundle documentation for Amazon S3 (#66993)
Add OpenLineage support to AthenaSQLHook (#66844)
Add S3TablesDeleteTableBucketPolicyOperator (#66957)
Add parent info injection to EMR operator (#66816)
Add MwaaServerlessDeleteWorkflowOperator (#66891)
Add callback support to AWS batch executor (#62984)
Add MwaaServerlessUpdateWorkflowOperator (#66833)
Add S3TablesPutTableBucketPolicyOperator (#66720)
Add S3VectorsQueryVectorsOperator (#66724)
Add async support to SageMakerNotebookJobTrigger (#65571)
Add S3VectorsPutVectorsOperator (#66545)
Add uri sanitizers and asset factories for new schemes (#66426)
Add S3TablesRenameTableOperator (#66544)
Add MwaaServerlessStopWorkflowRunOperator (#66548)
Add BedrockUpdateGuardrailOperator (#66547)
Add GlueCatalogCreatePartitionOperator (#66546)
Add MwaaServerlessWorkflowRunSensor (#66382)
Add 'BedrockCreateEvaluationJobOperator' (#66722)
Fix CreateWorkflowOperator if_exists=skip ARN construction (#66974)
Fix EMR container job not cancelled on deferral timeout (#64770)
Enable ruff PLE1205 to catch logging calls with too many arguments (#66978)
Add Bundle documentation for Amazon S3 (#66993)
Nothing published for this version
- Add 'S3TablesDeleteNamespaceOperator'
Release Date: 2026-05-11
Add 'S3TablesDeleteNamespaceOperator' (#66375)
Add 'GlueCatalogDeleteTableOperator' (#66380)
Add AWS SageMakerUnifiedStudioNotebookOperator (#62240)
Add 'GlueCatalogCreateTableOperator' (#66362)
Add 'S3VectorsDeleteIndexOperator' (#66361)
Add 'MwaaServerlessCreateWorkflowOperator' (#66363)
Add 'BedrockCreateGuardrailVersionOperator' (#66372)
Add 'S3TablesCreateNamespaceOperator' (#66360)
Add 'S3TablesDeleteTableBucketOperator' (#66120)
Add 'S3VectorsCreateIndexOperator' (#66121)
Add MwaaServerlessStartWorkflowRunOperator (#66046)
Add 'BedrockDeleteGuardrailOperator' (#66140)
Add 'S3TablesCreateTableBucketOperator' (#66119)
Add ExecuteCallback support to AwsLambdaExecutor (#63035)
Add 'BedrockCreateGuardrailOperator' (#66035)
Add 'S3TablesDeleteTableOperator' (#66019)
Add 'GlueCatalogDeleteDatabaseOperator' (#66021)
Add 'S3VectorsDeleteVectorBucketOperator' (#66048)
Add 'S3VectorsCreateVectorBucketOperator' for Amazon S3 Vectors (#65968)
Add 'GlueCatalogCreateDatabaseOperator' (#65977)
Migrate EmrServerlessStartJobTrigger from CancelledError to on_kill() (#65740)
Add 'S3TablesCreateTableOperator' (#65816)
Fix AWS auth manager batch team context (#66203)
Fix ASYNC110 violation in RedshiftDataTrigger (#66157)
Fix double cancellation for airflow 3.3+ for EmrServerlessStartJobTrigger (#65997)
Word changed from DAG to Dag in providers/amazon/ (#66152)
Added logging for skipped lookups in SM and SSM backends (#66059)
Configure S3Hook transfer_config_args via service_config (#65963)
Add 'S3TablesDeleteNamespaceOperator' (#66375)
Add 'GlueCatalogDeleteTableOperator' (#66380)
Add AWS SageMakerUnifiedStudioNotebookOperator (#62240)
Add 'GlueCatalogCreateTableOperator' (#66362)
Add 'S3VectorsDeleteIndexOperator' (#66361)
Add 'MwaaServerlessCreateWorkflowOperator' (#66363)
Add 'BedrockCreateGuardrailVersionOperator' (#66372)
Add 'S3TablesCreateNamespaceOperator' (#66360)
Add 'S3TablesDeleteTableBucketOperator' (#66120)
Add 'S3VectorsCreateIndexOperator' (#66121)
Add MwaaServerlessStartWorkflowRunOperator (#66046)
Add 'BedrockDeleteGuardrailOperator' (#66140)
Add 'S3TablesCreateTableBucketOperator' (#66119)
Add ExecuteCallback support to AwsLambdaExecutor (#63035)
Add 'BedrockCreateGuardrailOperator' (#66035)
Add 'S3TablesDeleteTableOperator' (#66019)
Add 'GlueCatalogDeleteDatabaseOperator' (#66021)
Add 'S3VectorsDeleteVectorBucketOperator' (#66048)
Add 'S3VectorsCreateVectorBucketOperator' for Amazon S3 Vectors (#65968)
Add 'GlueCatalogCreateDatabaseOperator' (#65977)
Migrate EmrServerlessStartJobTrigger from CancelledError to on_kill() (#65740)
Add 'S3TablesCreateTableOperator' (#65816)
Fix AWS auth manager batch team context (#66203)
Fix ASYNC110 violation in RedshiftDataTrigger (#66157)
Fix double cancellation for airflow 3.3+ for EmrServerlessStartJobTrigger (#65997)
Word changed from DAG to Dag in providers/amazon/ (#66152)
Added logging for skipped lookups in SM and SSM backends (#66059)
Configure S3Hook transfer_config_args via service_config (#65963)
Nothing published for this version
- Add multi-team dimensions to boto3 user agent string
Release Date: 2026-05-01
Add 'S3ReadObjectOperator' (#65789)
Add multi-team dimensions to boto3 user agent string (#65821)
Prevent unauthorized access to team-scoped secrets in SM and SSM (#65703)
Add explicit [tool.flit.sdist] sections to flit-based pyproject.tomls (#65861)
Add 'S3ReadObjectOperator' (#65789)
Add multi-team dimensions to boto3 user agent string (#65821)
Prevent unauthorized access to team-scoped secrets in SM and SSM (#65703)
Add explicit [tool.flit.sdist] sections to flit-based pyproject.tomls (#65861)
Nothing published for this version
- Support AWS China region endpoints in RedshiftSQLHook OpenLineage identifier parsing
Release Date: 2026-04-26
Support AWS China region endpoints in RedshiftSQLHook OpenLineage identifier parsing (#65483)
Update SecretsManagerBackend to support multi-team (#65395)
Update SystemsManagerParameterStoreBackend to support multi-team (#65396)
Correct AWS China SQS regex to use amazonaws.com.cn (#65299)
Extend SQS QUEUE_REGEXP to match AWS China endpoints (#65173)
Update 'AwsAuthManager' to support multi-team #65371 (#65393)
Fix RedshiftSQLHook._get_conn_params connection mutation with IAM (#64991)
Fix SQS CreateQueue type error by casting attributes to string (#65649)
Support AWS China region endpoints in RedshiftSQLHook OpenLineage identifier parsing (#65483)
Update SecretsManagerBackend to support multi-team (#65395)
Update SystemsManagerParameterStoreBackend to support multi-team (#65396)
Correct AWS China SQS regex to use amazonaws.com.cn (#65299)
Extend SQS QUEUE_REGEXP to match AWS China endpoints (#65173)
Update 'AwsAuthManager' to support multi-team #65371 (#65393)
Fix RedshiftSQLHook._get_conn_params connection mutation with IAM (#64991)
Fix SQS CreateQueue type error by casting attributes to string (#65649)
Nothing published for this version
- Add OpenLineage parent and transport info injection to 'EmrServerlessStartJobOperator'
Release Date: 2026-04-13
Add OpenLineage parent and transport info injection to 'EmrServerlessStartJobOperator' (#64807)
Add 'EksPodTrigger' (#64187)
Add SageMakerConditionOperator and SageMakerFailOperator (#64545)
Fix AwsBaseWaiterTrigger losing error details on deferred task failure (#64085)
Fix assume_role_with_web_identity not using botocore config for STS calls (#64216)
Fix GlueJobOperator verbose logs not showing in deferrable mode (#64342)
Improve debuggability of SQS, Lambda, EC2, and RDS hooks (#64661)
Load hook metadata from YAML without importing Hook class (#63826)
Bump the min aibotocore version to 3.0.0 (#64631)
Remove the lxml workaround (#64554)
Add debug logging and fix exception handling in DynamoDB hook (#64629)
Add OpenLineage parent info injection to GlueJobOperator (#64513)
Remove obsolete boto3 extra from aiobotocore dependency (#64330)
Replace AWS keys with placeholder text in documentation and code examples (#63577)
Fix stale system test documentation links (#65071)
add more debugging logs when emr_eks system tests fail (#64817)
Compat sdk conf follow-up for multiple providers (#64161)
Add OpenLineage parent and transport info injection to 'EmrServerlessStartJobOperator' (#64807)
Add 'EksPodTrigger' (#64187)
Add SageMakerConditionOperator and SageMakerFailOperator (#64545)
Fix AwsBaseWaiterTrigger losing error details on deferred task failure (#64085)
Fix assume_role_with_web_identity not using botocore config for STS calls (#64216)
Fix GlueJobOperator verbose logs not showing in deferrable mode (#64342)
Improve debuggability of SQS, Lambda, EC2, and RDS hooks (#64661)
Load hook metadata from YAML without importing Hook class (#63826)
Bump the min aibotocore version to 3.0.0 (#64631)
Remove the lxml workaround (#64554)
Add debug logging and fix exception handling in DynamoDB hook (#64629)
Add OpenLineage parent info injection to GlueJobOperator (#64513)
Remove obsolete boto3 extra from aiobotocore dependency (#64330)
Replace AWS keys with placeholder text in documentation and code examples (#63577)
Fix stale system test documentation links (#65071)
add more debugging logs when emr_eks system tests fail (#64817)
Compat sdk conf follow-up for multiple providers (#64161)
Nothing published for this version
Nothing published for this version
- Add bucket_namespace support to 'S3Hook.create_bucket' and 'S3CreateBucketOperator'
Release Date: 2026-03-28
Add bucket_namespace support to 'S3Hook.create_bucket' and 'S3CreateBucketOperator' (#63622)
Adds match_glob to template_fields in GCS operators (#61819)
Add skip_on_exit_code support to EcsRunTaskOperator (#63274)
Fix SageMakerNotebookOperator domain_id/project_id/domain_region params (#62962)
Handle multi-node job log streams in BatchClientHook (#63476)
Fix 'resume_glue_job_on_retry' with 'xcom_push' in 'GlueJobOperator' (#62560)
Add bounded retry cleanup for Redshift cluster deletion after post-creation failure. (#63074)
Fix mypy errors in kubernetes, fab, google, and amazon providers (#63947)
Add Python 3.14 Support (#64096)
Remove 'sqlean.py' dependency from Amazon provider (#63623)
Update Amazon's provider.yaml with some missing modules (#64009)
Fix typos and spelling (#64139)
Add bucket_namespace support to 'S3Hook.create_bucket' and 'S3CreateBucketOperator' (#63622)
Adds match_glob to template_fields in GCS operators (#61819)
Add skip_on_exit_code support to EcsRunTaskOperator (#63274)
Fix SageMakerNotebookOperator domain_id/project_id/domain_region params (#62962)
Handle multi-node job log streams in BatchClientHook (#63476)
Fix 'resume_glue_job_on_retry' with 'xcom_push' in 'GlueJobOperator' (#62560)
Add bounded retry cleanup for Redshift cluster deletion after post-creation failure. (#63074)
Fix mypy errors in kubernetes, fab, google, and amazon providers (#63947)
Add Python 3.14 Support (#64096)
Remove 'sqlean.py' dependency from Amazon provider (#63623)
Update Amazon's provider.yaml with some missing modules (#64009)
Fix typos and spelling (#64139)
Nothing published for this version
- Adding sftp_remote_host to S3 transfer Operators
Release Date: 2026-03-13
Add 'SesEmailOperator' (#58312)
Adding sftp_remote_host to S3 transfer Operators (#63147)
Fix CloudwatchTaskHandler not deleting local logs after streaming (#62985)
Fix invalid RequestPayer usage in S3Hook.select_key() method (#63148)
S3GetBucketTaggingOperator ignoring aws_conn_id parameter (#63137)
Scope session token in cookie to base_url (#62771)
S3DagBundle does not delete stale dag recursively (#63104)
Remove dependency limitations related to FAB's py3.13 incompatibility (#62924)
Clarify to avoid bumping min version for sagemaker-studio (#62891)
Add 'SesEmailOperator' (#58312)
Adding sftp_remote_host to S3 transfer Operators (#63147)
Fix CloudwatchTaskHandler not deleting local logs after streaming (#62985)
Fix invalid RequestPayer usage in S3Hook.select_key() method (#63148)
S3GetBucketTaggingOperator ignoring aws_conn_id parameter (#63137)
Scope session token in cookie to base_url (#62771)
S3DagBundle does not delete stale dag recursively (#63104)
Remove dependency limitations related to FAB's py3.13 incompatibility (#62924)
Clarify to avoid bumping min version for sagemaker-studio (#62891)
Nothing published for this version
- Deprecate 'is_authorized_backfill' in AWS auth manager
Release Date: 2026-03-04
Support custom KMS keys in S3CopyObjectOperator (#60597)
Add best-effort cleanup to EmrCreateJobFlowOperator on post-creation failure (#61010)
Add best-effort cleanup to EksCreateNodegroupOperator on post-create failure (#61145)
Add best-effort cleanup to EcsRunTaskOperator on post-start failure (#61051)
Restrict EC2 cleanup to waiter errors and guard behind flag. (#61272)
Add cancel_on_kill support for EMR Serverless deferrable operator (#60440)
Add delay in 'example_emr_eks' after updating execution role (#62415)
AwsLambdaExecutor: Support multi-team configuration (#61321)
Add SageMaker Unified Studio domain_id, project_id, domain_region as new parameters to SageMakerNotebookOperator (#62147)
feat: Add Hook Level Lineage to SQL hooks (#61535)
Check teams defined in auth managers exist in DB when spinning up API server (#62527)
Update EKS hook auth API version to v1 and replace non-POSIX 'source' with '.' (#61441)
Fix hardcoded waiter logic in EmrCreateJobFlowOperator (#61195)
Fix 'host' in AWS auth manager (#61368)
Fix variable name in 'exemple_emr_eks' (#62480)
fix S3RemoteLogIO using incorrect transfer config (#62423)
Fix EKSPodOperator credential refresh errors and improve error handling (#57585) (#58743)
Fix ECS Executor compatibility with Airflow 3.x in 'try_adopt_task_instances' (#62192)
fix(amazon): flush file buffer in S3Hook.download_file() before returning path (#62078)
Handle CrawlerRunningException gracefully in GlueCrawlerOperator (#62016)
RedshiftCreateClusterOperator could leave clusters running when failures (#61333)
Fix EKS operator failures by consolidating API version references into a shared constant (#61891)
Remove Connection dependency from shared secrets backend (#61523)
Deprecate 'is_authorized_backfill' in AWS auth manager (#61402)
Cleanup some dependencies (#60992)
Increase the redshift cluster deletion to 25 minutes in system tests (#62413)
Bump min sqlalchemy version to 1.4.54 (#62299)
Update trigger rule in 'example_emr_eks.py' (#62228)
Migrate connection UI metadata to YAML for some providers (#62011)
Fix EKS system test xcom issue and standardize naming between tests (#61893)
Warn about AWS auth manager being in alpha stage in identity-center (#61745)
fix(amazon): Filter kwargs in AthenaSQLHook to prevent TypeError (#62227)
Support custom KMS keys in S3CopyObjectOperator (#60597)
Add best-effort cleanup to EmrCreateJobFlowOperator on post-creation failure (#61010)
Add best-effort cleanup to EksCreateNodegroupOperator on post-create failure (#61145)
Add best-effort cleanup to EcsRunTaskOperator on post-start failure (#61051)
Restrict EC2 cleanup to waiter errors and guard behind flag. (#61272)
Add cancel_on_kill support for EMR Serverless deferrable operator (#60440)
Add delay in 'example_emr_eks' after updating execution role (#62415)
AwsLambdaExecutor: Support multi-team configuration (#61321)
Add SageMaker Unified Studio domain_id, project_id, domain_region as new parameters to SageMakerNotebookOperator (#62147)
feat: Add Hook Level Lineage to SQL hooks (#61535)
Check teams defined in auth managers exist in DB when spinning up API server (#62527)
Update EKS hook auth API version to v1 and replace non-POSIX 'source' with '.' (#61441)
Fix hardcoded waiter logic in EmrCreateJobFlowOperator (#61195)
Fix 'host' in AWS auth manager (#61368)
Fix variable name in 'exemple_emr_eks' (#62480)
fix S3RemoteLogIO using incorrect transfer config (#62423)
Fix EKSPodOperator credential refresh errors and improve error handling (#57585) (#58743)
Fix ECS Executor compatibility with Airflow 3.x in 'try_adopt_task_instances' (#62192)
fix(amazon): flush file buffer in S3Hook.download_file() before returning path (#62078)
Handle CrawlerRunningException gracefully in GlueCrawlerOperator (#62016)
RedshiftCreateClusterOperator could leave clusters running when failures (#61333)
Fix EKS operator failures by consolidating API version references into a shared constant (#61891)
Remove Connection dependency from shared secrets backend (#61523)
Deprecate 'is_authorized_backfill' in AWS auth manager (#61402)
Cleanup some dependencies (#60992)
Increase the redshift cluster deletion to 25 minutes in system tests (#62413)
Bump min sqlalchemy version to 1.4.54 (#62299)
Update trigger rule in 'example_emr_eks.py' (#62228)
Migrate connection UI metadata to YAML for some providers (#62011)
Fix EKS system test xcom issue and standardize naming between tests (#61893)
Warn about AWS auth manager being in alpha stage in identity-center (#61745)
fix(amazon): Filter kwargs in AthenaSQLHook to prevent TypeError (#62227)
Nothing published for this version
Nothing published for this version
Nothing published for this version
Since the Lambda executor is still experimental, this is not considered a breaking change.
Release Date: 2026-02-02
Warning
The configuration max_run_task_attempts in lambda executor has been renamed max_invoke_attempts . Since the Lambda executor is still experimental, this is not considered a breaking change.
AIP-67 - Multi-team: AwsBatchExecutor per team executor config (#60920)
Rename ''max_run_task_attempts'' to ''max_invoke_attempts'' in AWS Lambda Executor (#60666)
EC2CreateInstanceOperator could leave EC2 instances running when failures (#60904)
Fix incorrect compute param example in SageMakerNotebookHook docstring (#60247)
Adjusted the EMRServerlessStartJobOperator to cancel failed jobs (#51883)
Fix/ssm deferrable exit code handling (#60978)
Add SQLAlchemy to the dev‑dependency group in providers (#60472)
Define 'TaskInstanceKey' in task-sdk to support client server separation (#60776)
Assert executors support multi team (#60843)
Use common provider's get_async_connection in other providers (#56791)
Warning
The configuration max_run_task_attempts in lambda executor has been renamed max_invoke_attempts. Since the Lambda executor is still experimental, this is not considered a breaking change.
AIP-67 - Multi-team: AwsBatchExecutor per team executor config (#60920)
Rename ''max_run_task_attempts'' to ''max_invoke_attempts'' in AWS Lambda Executor (#60666)
EC2CreateInstanceOperator could leave EC2 instances running when failures (#60904)
Fix incorrect compute param example in SageMakerNotebookHook docstring (#60247)
Adjusted the EMRServerlessStartJobOperator to cancel failed jobs (#51883)
Fix/ssm deferrable exit code handling (#60978)
Add SQLAlchemy to the dev‑dependency group in providers (#60472)
Define 'TaskInstanceKey' in task-sdk to support client server separation (#60776)
Assert executors support multi team (#60843)
Use common provider's get_async_connection in other providers (#56791)
Nothing published for this version
- Add fail_on_nonzero_exit parameter to SSM operators for exit code routing
Release Date: 2026-01-17
Add fail_on_nonzero_exit parameter to SSM operators for exit code routing (#57753)
Check team boundaries in connections (#59476)
Remove the compatibility shim for log_task_event AwsEcsExecutor and AwsBatchExecutor (#60301)
Fixed timestamp comparison bug in s3hook _sync_to_local_dir_if_changed method (#60299)
Consume ''AirflowOptionalProviderFeatureException'' from compat sdk in providers (#60335)
Change starlette import to fastapi (#60382)
New year means updated Copyright notices (#60344)
Introduce a "cli" section in provider metadata (#59805)
Remove TaskInstance and TaskLogReader unused methods (#59922)
Assorted SQLA2/Mypy fixes (#60094)
Made sqlalchemy dependency optional for amazon provider (#59941)
Source amazon provider to use airflow.sdk.configuration.conf (#59979)
Add fail_on_nonzero_exit parameter to SSM operators for exit code routing (#57753)
Check team boundaries in connections (#59476)
Remove the compatibility shim for log_task_event AwsEcsExecutor and AwsBatchExecutor (#60301)
Fixed timestamp comparison bug in s3hook _sync_to_local_dir_if_changed method (#60299)
Consume ''AirflowOptionalProviderFeatureException'' from compat sdk in providers (#60335)
Change starlette import to fastapi (#60382)
New year means updated Copyright notices (#60344)
Introduce a "cli" section in provider metadata (#59805)
Remove TaskInstance and TaskLogReader unused methods (#59922)
Assorted SQLA2/Mypy fixes (#60094)
Made sqlalchemy dependency optional for amazon provider (#59941)
Source amazon provider to use airflow.sdk.configuration.conf (#59979)
Nothing published for this version
- Check team boundaries in variables
Release Date: 2026-01-02
Check team boundaries in variables (#58905)
Upgrade fallback instance type to ml.m6i.xlarge (#59827)
Remove top-level SDK reference in Core (#59817)
Remove redundant InvokeModel calls (#59527)
Check team boundaries in variables (#58905)
Upgrade fallback instance type to ml.m6i.xlarge (#59827)
Remove top-level SDK reference in Core (#59817)
Remove redundant InvokeModel calls (#59527)
Nothing published for this version
- Fix CloudwatchTaskHandler display error
Release Date: 2025-12-13
Fix CloudwatchTaskHandler display error (#54054)
Retry on 'RedshiftSQLHook.get_conn' (#59017)
Add backcompat for exceptions in providers (#58727)
Move the traces and metrics code under a common observability package (#56187)
Add pandas as an optional dependency to the AMPP (#58984)
Fix remaining mypy issues in amazon provider (#58950)
Fix mypy errors in sql_to_s3 due to pandas stub bump (#58923)
Conditionally import from task sdk (#59254)
Fix CloudwatchTaskHandler display error (#54054)
Retry on 'RedshiftSQLHook.get_conn' (#59017)
Add backcompat for exceptions in providers (#58727)
Move the traces and metrics code under a common observability package (#56187)
Add pandas as an optional dependency to the AMPP (#58984)
Fix remaining mypy issues in amazon provider (#58950)
Fix mypy errors in sql_to_s3 due to pandas stub bump (#58923)
Conditionally import from task sdk (#59254)
Nothing published for this version
This release of provider is only available for Airflow 2.11+ as explained in the Apache Airflow providers support policy < https://github.com/apache/a
Release Date: 2025-12-02
Note
This release of provider is only available for Airflow 2.11+ as explained in the Apache Airflow providers support policy < https://github.com/apache/airflow/blob/main/PROVIDERS.rst#minimum-supported-version-of-airflow-for-community-managed-providers >_.
Catch and log pandas import errors (#58744)
Move out some exceptions to TaskSDK (#54505)
Bump minimum Airflow version in providers to Airflow 2.11.0 (#58612)
Remove the limitation for sagemaker for Python 3.13 (#58388)
Remove SDK reference for NOTSET in Airflow Core (#58258)
Fix lower bound dependency to common-compat provider (#58833)
Note
This release of provider is only available for Airflow 2.11+ as explained in the Apache Airflow providers support policy <https://github.com/apache/airflow/blob/main/PROVIDERS.rst#minimum-supported-version-of-airflow-for-community-managed-providers>_.
Catch and log pandas import errors (#58744)
Move out some exceptions to TaskSDK (#54505)
Bump minimum Airflow version in providers to Airflow 2.11.0 (#58612)
Remove the limitation for sagemaker for Python 3.13 (#58388)
Remove SDK reference for NOTSET in Airflow Core (#58258)
Fix lower bound dependency to common-compat provider (#58833)
Nothing published for this version
Nothing published for this version
- Add flatten_structure parameter to GCSToS3Operator
Release Date: 2025-11-17
Add flatten_structure parameter to GCSToS3Operator (#56134) (#57713)
Add missing failure retry case for Bedrock (#57777)
Add support for Airflow 3 in MWAA operators/sensors/triggers (#57443)
Add SsmGetCommandInvocationOperator and enhance SSM components (#56936)
Add missing 'bucket_name' to 'get_file_metadata' in 'S3Hook'
Fix: S3KeySensor deferrable mode ignores metadata_keys, returns only key names, and doesn't pass context to check_fn (#56910)
Fix 'MwaaTaskCompletedTrigger' (#57490)
Fix DAG bundle retrieval from S3 (#57178)
Exclude sagemaker for Python 3.13 due to pydanamodb pinning old sqlean (#58262)
Remove unnecessary list (#58141)
Convert all airflow distributions to be compliant with ASF requirements (#58138)
Update AWS auth manager documentation to fix login callback URL (#57974)
[Doc] Fixing some typos and spelling errors (#57225)
Add flatten_structure parameter to GCSToS3Operator (#56134) (#57713)
Add missing failure retry case for Bedrock (#57777)
Add support for Airflow 3 in MWAA operators/sensors/triggers (#57443)
Add SsmGetCommandInvocationOperator and enhance SSM components (#56936)
Add missing 'bucket_name' to 'get_file_metadata' in 'S3Hook'
Fix: S3KeySensor deferrable mode ignores metadata_keys, returns only key names, and doesn't pass context to check_fn (#56910)
Fix 'MwaaTaskCompletedTrigger' (#57490)
Fix DAG bundle retrieval from S3 (#57178)
Exclude sagemaker for Python 3.13 due to pydanamodb pinning old sqlean (#58262)
Remove unnecessary list (#58141)
Convert all airflow distributions to be compliant with ASF requirements (#58138)
Update AWS auth manager documentation to fix login callback URL (#57974)
[Doc] Fixing some typos and spelling errors (#57225)
Nothing published for this version
- Add poke_mode_only to version_compat to fix the incorrect deprecation warning
Release Date: 2025-10-26
Separate Firehose and Kinesis hooks (#56276)
Fixed incorrect path in EMR notebook waiter (#56584)
Add poke_mode_only to version_compat to fix the incorrect deprecation warning (#56435)
Refactor: deprecate wait_policy in EmrCreateJobFlowOperator in favor of wait_for_completion (#56158)
Migrate amazon provider to ''common.compat'' (#56994)
Fix mypy errors for sqla2 in aws hooks (#56751)
Update authentication to handle JWT token in backend (#56633)
Correct 'Dag' to 'DAG' for code snippets in provider docs (#56727)
Separate Firehose and Kinesis hooks (#56276)
Fixed incorrect path in EMR notebook waiter (#56584)
Add poke_mode_only to version_compat to fix the incorrect deprecation warning (#56435)
Refactor: deprecate wait_policy in EmrCreateJobFlowOperator in favor of wait_for_completion (#56158)
Migrate amazon provider to ''common.compat'' (#56994)
Fix mypy errors for sqla2 in aws hooks (#56751)
Update authentication to handle JWT token in backend (#56633)
Correct 'Dag' to 'DAG' for code snippets in provider docs (#56727)
Nothing published for this version
- Add async support for Amazon SNS Notifier
Release Date: 2025-10-04
Add async support for Amazon SNS Notifier (#56133)
Add async support for Amazon SQS Notifier (#56159)
Add 'SesNotifier' - Amazon Simple Email Service Notifier (#56106)
Implement 'filter_authorized_connections', 'filter_authorized_pools' and 'filter_authorized_variables' in AWS auth manager (#55687)
Fix wrong import of 'AIRFLOW_V_3_0_PLUS' in 'AwsLambdaExecutor' (#56280)
Only defer 'EmrCreateJobFlowOperator' when 'wait_policy' is set (#56077)
Reducing memory footprint for synchronous 'S3KeySensor' (#55070)
Add async support for Amazon SNS Notifier (#56133)
Add async support for Amazon SQS Notifier (#56159)
Add 'SesNotifier' - Amazon Simple Email Service Notifier (#56106)
Implement 'filter_authorized_connections', 'filter_authorized_pools' and 'filter_authorized_variables' in AWS auth manager (#55687)
Fix wrong import of 'AIRFLOW_V_3_0_PLUS' in 'AwsLambdaExecutor' (#56280)
Only defer 'EmrCreateJobFlowOperator' when 'wait_policy' is set (#56077)
Reducing memory footprint for synchronous 'S3KeySensor' (#55070)
Nothing published for this version
- Implement 'batch_is_authorized_' methods in AWS auth manager
Release Date: 2025-09-22
Implement 'batch_is_authorized_' methods in AWS auth manager (#55307)
Add configurable confirm parameter to 'S3ToSFTPOperator' (#55569)
[OSSTaskHandler, CloudwatchTaskHandler, S3TaskHandler, HdfsTaskHandler, ElasticsearchTaskHandler, GCSTaskHandler, OpensearchTaskHandler, RedisTaskHandler, WasbTaskHandler] supports log file size handling (#55455)
Catch 404/401 issues for Bedrock Operators (#55445)
EcsRunTaskOperator fails when no containers are provided in the response (#51692)
AWS BatchOperator does not fetch log entries for deferred jobs (#55703)
List only connections, pools and variables the user has access to (#55298)
Switch all airflow logging to structlog (#52651)
AIP-67 - Multi-team: Per team executor config (env var only) (#55003)
Allow SSM operators and sensors to run in deferrable mode (#55649)
Update EOL AWS Redshift cluster node types (#55741)
improve logging in SqsSensorTrigger (#55705)
Add stable note to BatchExecutor (#55286)
Add quotas section in lambda executor docs (#55740)
Implement 'batch_is_authorized_' methods in AWS auth manager (#55307)
Add configurable confirm parameter to 'S3ToSFTPOperator' (#55569)
[OSSTaskHandler, CloudwatchTaskHandler, S3TaskHandler, HdfsTaskHandler, ElasticsearchTaskHandler, GCSTaskHandler, OpensearchTaskHandler, RedisTaskHandler, WasbTaskHandler] supports log file size handling (#55455)
Catch 404/401 issues for Bedrock Operators (#55445)
EcsRunTaskOperator fails when no containers are provided in the response (#51692)
AWS BatchOperator does not fetch log entries for deferred jobs (#55703)
List only connections, pools and variables the user has access to (#55298)
Switch all airflow logging to structlog (#52651)
AIP-67 - Multi-team: Per team executor config (env var only) (#55003)
Allow SSM operators and sensors to run in deferrable mode (#55649)
Update EOL AWS Redshift cluster node types (#55741)
improve logging in SqsSensorTrigger (#55705)
Add stable note to BatchExecutor (#55286)
Add quotas section in lambda executor docs (#55740)
Nothing published for this version
- Update 'SqlToS3Operator' to support Polars and deprecate 'read_pd_kwargs'
Release Date: 2025-09-09
Note
The experimental BatchExecutor added in 8.20.0 is now stable
feature: Add OpenLineage support for transfer operators between GCS and S3 (#54269)
Update HiveToDynamoDBOperator to support Polars (#54221)
Update 'SqlToS3Operator' to support Polars and deprecate 'read_pd_kwargs' (#54195)
Fix SqlToS3Operator _partition_dataframe for proper polars support (#54588)
fixing file extension issue on SqlToS3Operator (#54187)
Fix connection management for EKS token generation (#55195)
Retry on more edge cases for bedrock (#55201)
Refactor Common Queue Interface (#54651)
Introduce 'LIST' logic in AWS auth manager (#54987)
Move secrets_masker over to airflow_shared distribution (#54449)
Handle task-sdk connection retrieval import error in BaseHook (#54692)
Remove end_from_trigger attribute in trigger (#54567)
Remove redundant exception handling in AWS hook (#54485)
Remove end_from_trigger attribute in trigger (#54531)
Unify error handling when connection is not found in aws hook (#54299)
Fix a small typo and improve logging in bedrock error handling (#55271)
Make term Dag consistent in providers docs (#55101)
Mark Batch Executor as stable (#54924)
Note
The experimental BatchExecutor added in 8.20.0 is now stable
feature: Add OpenLineage support for transfer operators between GCS and S3 (#54269)
Update HiveToDynamoDBOperator to support Polars (#54221)
Update 'SqlToS3Operator' to support Polars and deprecate 'read_pd_kwargs' (#54195)
Fix SqlToS3Operator _partition_dataframe for proper polars support (#54588)
fixing file extension issue on SqlToS3Operator (#54187)
Fix connection management for EKS token generation (#55195)
Retry on more edge cases for bedrock (#55201)
Refactor Common Queue Interface (#54651)
Introduce 'LIST' logic in AWS auth manager (#54987)
Move secrets_masker over to airflow_shared distribution (#54449)
Handle task-sdk connection retrieval import error in BaseHook (#54692)
Remove end_from_trigger attribute in trigger (#54567)
Remove redundant exception handling in AWS hook (#54485)
Remove end_from_trigger attribute in trigger (#54531)
Unify error handling when connection is not found in aws hook (#54299)
Fix a small typo and improve logging in bedrock error handling (#55271)
Make term Dag consistent in providers docs (#55101)
Mark Batch Executor as stable (#54924)
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →