NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3083 most downloaded on PyPI
Provider package apache-airflow-providers-sftp for Apache Airflow
Last release 5 days ago
29 Sep 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
6 years old
146 releases · first in 2020
One column per quarter.
- Template every connection id accepted by provider operators
Release Date: 2026-09-29
Template every connection id accepted by provider operators (#73286)
Add deferrable mode to SFTPOperator (#72336)
Keep pooled SFTP connection on application-level SFTP errors (#73288)
Fix SFTPHookAsync letting a connection's known_hosts extra override an explicit constructor path (#73593)
Template every connection id accepted by provider operators (#73286)
Add deferrable mode to SFTPOperator (#72336)
Keep pooled SFTP connection on application-level SFTP errors (#73288)
Fix SFTPHookAsync letting a connection's known_hosts extra override an explicit constructor path (#73593)
Nothing published for this version
- Fix encrypted private keys in async SFTP hook
Release Date: 2026-08-08
Fix encrypted private keys in async SFTP hook (#70858)
Support Paramiko 5 (#69712)
Fix encrypted private keys in async SFTP hook (#70858)
Support Paramiko 5 (#69712)
Nothing published for this version
Nothing published for this version
- Bump minimum paramiko to 4.0.0; DSA/DSS keys are no longer supported
Release Date: 2026-07-28
Bump minimum paramiko to 4.0.0; DSA/DSS keys are no longer supported (#69669)
This provider depends on paramiko 4.0+, which dropped DSS / DSA keys; see paramiko changelog . To migrate: create a key pair that does not use DSA (Ed25519 or RSA are typical, e.g. ssh-keygen -t ed25519 ), add the public key to the SFTP server, then update your Airflow SFTP (or shared SSH) connection so key_file or the private_key extra uses the new key, and ensure any host_key extra is not in ssh-dss form. If you are not ready to migrate keys, stay on a provider release that still pins paramiko<4 until you can switch.
Document each provider's optional extras in its docs index (#69478)
Bump minimum paramiko to 4.0.0; DSA/DSS keys are no longer supported (#69669)
This provider depends on paramiko 4.0+, which dropped DSS/DSA keys; see paramiko changelog. To migrate: create a key pair that does not use DSA (Ed25519 or RSA are typical, e.g. ssh-keygen -t ed25519), add the public key to the SFTP server, then update your Airflow SFTP (or shared SSH) connection so key_file or the private_key extra uses the new key, and ensure any host_key extra is not in ssh-dss form. If you are not ready to migrate keys, stay on a provider release that still pins paramiko<4 until you can switch.
Document each provider's optional extras in its docs index (#69478)
Nothing published for this version
- Validate downloaded paths stay within the destination directory in SFTPHook.retrieve_directory
Release Date: 2026-06-22
Validate downloaded paths stay within the destination directory in SFTPHook.retrieve_directory (#67985)
Validate downloaded paths stay within the destination directory in SFTPHook.retrieve_directory (#67985)
Nothing published for this version
- Use compat timezone helpers in sensor and trigger of SFTP provider
Release Date: 2026-06-07
Use compat timezone helpers in sensor and trigger of SFTP provider (#65442)
Use compat timezone helpers in sensor and trigger of SFTP provider (#65442)
Nothing published for this version
- SFTP: add async retrieve_file / store_file / mkdir to SFTPHookAsync and introduce SFTPClientPool
Release Date: 2026-05-23
SFTP: add async retrieve_file / store_file / mkdir to SFTPHookAsync and introduce SFTPClientPool (#64465)
Some nits in asset normalization (#66710)
SFTP: add async retrieve_file / store_file / mkdir to SFTPHookAsync and introduce SFTPClientPool (#64465)
Some nits in asset normalization (#66710)
Nothing published for this version
- Bump paramiko lower bound to >=3.5.1 due to adding Vespa provider
Release Date: 2026-04-26
Bump paramiko lower bound to >=3.5.1 due to adding Vespa provider (#63988)
Bump paramiko lower bound to >=3.5.1 due to adding Vespa provider (#63988)
Nothing published for this version
- Load hook metadata from YAML without importing Hook class
Release Date: 2026-04-12
Load hook metadata from YAML without importing Hook class (#63826)
Load hook metadata from YAML without importing Hook class (#63826)
Nothing published for this version
- Fix an import in providers/sftp to be Airflow 2 compatible
Release Date: 2026-03-28
Fix an import in providers/sftp to be Airflow 2 compatible (#63822)
Return a warning instead of an error when file is already absent (#62639)
Add Python 3.14 Support (#63520)
Fix an import in providers/sftp to be Airflow 2 compatible (#63822)
Return a warning instead of an error when file is already absent (#62639)
Add Python 3.14 Support (#63520)
Nothing published for this version
- Bump minimum cryptography to 44.0.3 and paramiko to 3.4.0
Release Date: 2026-03-13
Bump minimum cryptography to 44.0.3 and paramiko to 3.4.0 (#62723)
Bump minimum cryptography to 44.0.3 and paramiko to 3.4.0 (#62723)
Nothing published for this version
- Add SSH/SFTP support for ObjectStoragePath
Release Date: 2026-02-02
Add SSH/SFTP support for ObjectStoragePath (#60757)
Use common provider's get_async_connection in other providers (#56791)
Add SSH/SFTP support for ObjectStoragePath (#60757)
Use common provider's get_async_connection in other providers (#56791)
Nothing published for this version
- Enhance SFTPSensor documentation and functionality
Release Date: 2026-01-17
Enhance SFTPSensor documentation and functionality (#60313)
New year means updated Copyright notices (#60344)
Migrate sftp provider to use airflow.sdk.configuration.conf (#59970)
Enhance SFTPSensor documentation and functionality (#60313)
New year means updated Copyright notices (#60344)
Migrate sftp provider to use airflow.sdk.configuration.conf (#59970)
Nothing published for this version
- fix(sftp): add default port to SFTPHookAsync
Release Date: 2025-12-13
fix(sftp): add default port to SFTPHookAsync (#58945)
Add backcompat for exceptions in providers (#58727)
fix(sftp): add default port to SFTPHookAsync (#58945)
Add backcompat for exceptions in providers (#58727)
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-11-30
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 >_.
Bump minimum Airflow version in providers to Airflow 2.11.0 (#58612)
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>_.
Bump minimum Airflow version in providers to Airflow 2.11.0 (#58612)
Nothing published for this version
- Convert all airflow distributions to be compliant with ASF requirements
Release Date: 2025-11-17
Convert all airflow distributions to be compliant with ASF requirements (#58138)
Migrate sftp provider to 'common.compat' (#57111)
Convert all airflow distributions to be compliant with ASF requirements (#58138)
Migrate sftp provider to 'common.compat' (#57111)
Nothing published for this version
- Pass required remote_host arg to SSHHook
Release Date: 2025-10-26
Pass required remote_host arg to SSHHook (#55664)
Remove placeholder Release Date in changelog and index files (#56056)
Pass required remote_host arg to SSHHook (#55664)
Remove placeholder Release Date in changelog and index files (#56056)
Nothing published for this version
- Feature: add optional managed connection
Release Date: 2025-09-09
Feature: add optional managed connection (#52700)
Add file_pattern to template fields (#54562)
Fix sftp async hoook (#54763)
Feature: add optional managed connection (#52700)
Add file_pattern to template fields (#54562)
Fix sftp async hoook (#54763)
Nothing published for this version
- Fix missing prefetch arg to SFTPOperator
Release Date: 2025-08-11
Fix missing prefetch arg to SFTPOperator (#53906)
Limit paramiko to '< 4.0.0' till we remove DSS support (#54078)
Fix missing prefetch arg to SFTPOperator (#53906)
Limit paramiko to '< 4.0.0' till we remove DSS support (#54078)
Nothing published for this version
- Updating SSH dependency for SFTP provider
Release Date: 2025-08-02
Updating SSH dependency for SFTP provider (#53100)
Fix BlobWriter (GCS) support for SFTP Streaming (#52850)
Add Python 3.13 support for Airflow. (#46891)
Cleanup type ignores in sftp provider where possible (#53266)
Remove type ignore across codebase after mypy upgrade (#53243)
Remove upper-binding for "python-requires" (#52980)
Temporarily switch to use >=,< pattern instead of '~=' (#52967)
Move all BaseHook usages to version_compat in SFTP (#52894)
docs: Correct TaskFlow capitalization in documentation (#51794)
Updating SSH dependency for SFTP provider (#53100)
Fix BlobWriter (GCS) support for SFTP Streaming (#52850)
Add Python 3.13 support for Airflow. (#46891)
Cleanup type ignores in sftp provider where possible (#53266)
Remove type ignore across codebase after mypy upgrade (#53243)
Remove upper-binding for "python-requires" (#52980)
Temporarily switch to use >=,< pattern instead of '~=' (#52967)
Move all BaseHook usages to version_compat in SFTP (#52894)
docs: Correct TaskFlow capitalization in documentation (#51794)
Nothing published for this version
- bugfix: removed cache for proxycommand in SFTPHook
Release Date: 2025-07-06
bugfix: removed cache for proxycommand in SFTPHook (#52641)
Move 'BaseHook' implementation to task SDK (#51873)
Replace 'models.BaseOperator' to Task SDK one for SFTP (#52435)
Drop support for Python 3.9 (#52072)
Use BaseSensorOperator from task sdk in providers (#52296)
bugfix: removed cache for proxycommand in SFTPHook (#52641)
Move 'BaseHook' implementation to task SDK (#51873)
Replace 'models.BaseOperator' to Task SDK one for SFTP (#52435)
Drop support for Python 3.9 (#52072)
Use BaseSensorOperator from task sdk in providers (#52296)
Nothing published for this version
- Updating SFTPSensor to properly handle scenario where file is missing
Release Date: 2025-06-18
Updating SFTPSensor to properly handle scenario where file is missing (#51167)
Updating SFTPSensor to properly handle scenario where file is missing (#51167)
Nothing published for this version
This release of provider is only available for Airflow 2.10+ as explained in the Apache Airflow providers support policy < https://github.com/apache/a
Release Date: 2025-05-18
Note
This release of provider is only available for Airflow 2.10+ 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 >_.
Remove AIRFLOW_2_10_PLUS conditions (#49877)
Bump min Airflow version in providers to 2.10 (#49843)
Note
This release of provider is only available for Airflow 2.10+ 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>_.
Remove AIRFLOW_2_10_PLUS conditions (#49877)
Bump min Airflow version in providers to 2.10 (#49843)
Nothing published for this version
- remove superfluous else block
Release Date: 2025-04-19
remove superfluous else block (#49199)
Nothing published for this version
- Implement concurrent directory transfer in SFTPOperator
Release Date: 2025-04-14
Implement concurrent directory transfer in SFTPOperator (#47533)
Make '@task' import from airflow.sdk (#48896)
Implement concurrent directory transfer in SFTPOperator (#47533)
Make '@task' import from airflow.sdk (#48896)
Nothing published for this version
- Checking modification timestamps only when newer_than parameter is present
Release Date: 2025-04-09
Checking modification timestamps only when newer_than parameter is present (#48063)
Checking modification timestamps only when newer_than parameter is present (#48063)
Nothing published for this version
- Re-added close_conn connection on SFTPHook and get_conn should return SFTPClient instead of context managed connection
Release Date: 2025-03-13
Re-added close_conn connection on SFTPHook and get_conn should return SFTPClient instead of context managed connection (#47217)
Change get_conn to get_managed_conn in direcotry transfer (#47248)
Improve SFTP hook's directory transfer to use a single connection for multiple files (#46582)
Upgrade flit to 3.11.0 (#46938)
Re-added close_conn connection on SFTPHook and get_conn should return SFTPClient instead of context managed connection (#47217)
Change get_conn to get_managed_conn in direcotry transfer (#47248)
Improve SFTP hook's directory transfer to use a single connection for multiple files (#46582)
Upgrade flit to 3.11.0 (#46938)
Nothing published for this version
- Add DELETE operation in SFTPOperator
Release Date: 2025-02-26
Add DELETE operation in SFTPOperator (#46233)
Also allow passing buffer instead of path for retrieve_file and store_file methods in SFTPHook (#44247)
Add directory transfer support for SFTPOperator (#44126)
Make sure the SSHClient is also closed when using connection in context manager from SFTPHook (#46716)
AIP-72: Support better type-hinting for Context dict in SDK (#45583)
Add DELETE operation in SFTPOperator (#46233)
Also allow passing buffer instead of path for retrieve_file and store_file methods in SFTPHook (#44247)
Add directory transfer support for SFTPOperator (#44126)
Make sure the SSHClient is also closed when using connection in context manager from SFTPHook (#46716)
AIP-72: Support better type-hinting for Context dict in SDK (#45583)
Nothing published for this version
All deprecated classes, parameters and features have been removed from the sftp provider package. The following breaking changes were introduced:
Release Date: 2024-12-26
Note
This release of provider is only available for Airflow 2.9+ as explained in the Apache Airflow providers support policy .
Warning
All deprecated classes, parameters and features have been removed from the sftp provider package. The following breaking changes were introduced:
Removed deprecated ssh_hook parameter from SFTPOperator . Use sftp_hook instead.
Removed deprecated ssh_hook parameter from SFTPHook .
Removed deprecated ftp_conn_id parameter from SFTPHook . Use ssh_conn_id instead.
Remove deprecations from SFTP Provider (#44740)
feat: retrieve sftp file attrs once instead multiple time (#44625)
Add host_proxy_cmd parameter to SSHHook and SFTPHook (#44565)
Bump minimum Airflow version in providers to Airflow 2.9.0 (#44956)
Note
This release of provider is only available for Airflow 2.9+ as explained in the Apache Airflow providers support policy.
Warning
All deprecated classes, parameters and features have been removed from the sftp provider package. The following breaking changes were introduced:
Removed deprecated ssh_hook parameter from SFTPOperator. Use sftp_hook instead.
Removed deprecated ssh_hook parameter from SFTPHook.
Removed deprecated ftp_conn_id parameter from SFTPHook. Use ssh_conn_id instead.
Remove deprecations from SFTP Provider (#44740)
feat: retrieve sftp file attrs once instead multiple time (#44625)
Add host_proxy_cmd parameter to SSHHook and SFTPHook (#44565)
Bump minimum Airflow version in providers to Airflow 2.9.0 (#44956)
Nothing published for this version
Nothing published for this version
- remove deprecated soft_fail from providers
Release Date: 2024-09-24
remove deprecated soft_fail from providers (#41710)
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →