Apache Products
All Apache Release Notes
- Nov 14, 2025
- Parsed from source:Nov 14, 2025
- Detected by Releasebot:Nov 15, 2025
Apache Airflow 3.1.3
Airflow ships security and reliability fixes including refined API server secret context handling and the removal of the insecure dagReports endpoint. Expect safer cross-context secret access, faster API server performance, and enhanced hook support in log handlers without plugin changes.
Fix Connection & Variable access in API server contexts (plugins, log handlers)(#56583)
Previously, hooks used in API server contexts (plugins, middlewares, log handlers) would fail with an
ImportError
for
SUPERVISOR_COMMS
, because
SUPERVISOR_COMMS
only exists in task runner child processes.
This has been fixed by implementing automatic context detection with three separate secrets backend chains:Context Detection:
- Client contexts (task runner in worker): Detected via
SUPERVISOR_COMMS
presence - Server contexts (API server, scheduler): Explicitly marked with
_AIRFLOW_PROCESS_CONTEXT=server
environment variable - Fallback contexts (supervisor, unknown contexts): Neither marker present, uses minimal safe chain
Backend Chains:
- Client:
EnvironmentVariablesBackend
→
ExecutionAPISecretsBackend
(routes to Execution API via SUPERVISOR_COMMS) - Server:
EnvironmentVariablesBackend
→
MetastoreBackend
(direct database access) - Fallback:
EnvironmentVariablesBackend
only (+ external backends from config like AWS Secrets Manager, Vault)
The fallback chain is crucial for supervisor processes (worker-side, before task runner starts) which need to access
external secrets for remote logging setup but should not use
MetastoreBackend
(to maintain worker isolation).Architecture Benefits:
- Workers (supervisor + task runner) never use
MetastoreBackend
, maintaining strict isolation - External secrets backends (AWS Secrets Manager, Vault, etc.) work in all three contexts
- Supervisor falls back to Execution API client for connections not found in external backends
- API server and scheduler have direct database access for optimal performance
Impact:
- Hooks like
GCSHook
,
S3Hook
now work correctly in log handlers and plugins - No code changes required for existing plugins or hooks
- Workers remain isolated from direct database access (network-level DB blocking fully supported)
- External secrets work everywhere (workers, supervisor, API server)
- Robust handling of unknown contexts with safe minimal chain
See:
- #56120 https://github.com/apache/airflow/issues/56120
- #56583 https://github.com/apache/airflow/issues/56583
- #51816 https://github.com/apache/airflow/issues/51816
__
Remove insecure dag reports API endpoint that executed user code in API server (#56609)
Remove insecure dag reports API endpoint that executed user code in API server (#56609)
The
/api/v2/dagReports
endpoint has been removed because it loaded user DAG files directly in the API server process,
violating Airflow's security architecture. This endpoint was not used in the UI and had no known consumers.
Use the
airflow dags report
CLI command instead for DAG loading reports.Bug Fixes
- Fix HITL tasks not properly validating params (#57547) (#58144)
- Fix secrets being exposed in Jinja template rendering error messages (#57467) (#57962)
- UI: Fix slow loading on next run assets page (#58052) (#58064)
- Fix logout not working in airflow-core (#57990) (#58043)
- Fix slow loading on UI [(#57820) (#57856), (#57956) (#57973), (#57957) (#57972),(#57869) (#57882), (#57868) (#57918),(#57624) (#57757)]
- UI: Fix log download to include .txt file extension (#57991) (#58040)
- Fix scheduler using incorrect max_active_runs value from cached DAG (#57619) (#57959)
- Fix database migration failures when XCom contains NaN values (#57866) (#57893)
- Fix incorrect task context in trigger rule scenarios (#57884) (#57892)
- UI: Fix test connection not working (#57811) (#57852)
- Fix worker
healthcheck
timeout not respecting worker-timeout CLI option (#57731) (#57854) - Fix provider hooks not loading when FAB provider is not installed (#57717) (#57830)
- Fix slow API responses for task instances list [(#57645) (#57794), (#57646) (#57664),(#57500) (#57735), (#57549) (#57738), (#57450) (#57736),(#57647) (#57732)]
- Fix task instance errors when tasks are triggered by trigger rules (#57474) (#57786)
- Fix type consistency for extra field in Asset, AssetAlias, and AssetEvent (#57352) (#57728)
- Fix upgrade failures when XCom contains NaN in string values (#57614)
Miscellaneous
- UI: Add resize functionality to DAG run and task instance notes (#57897) (#58068)
- Add Taiwan translation for UI (#58121)
- UI: Shorten German translation of Asset in navigation (#57671) (#57690)
- Fix code formatting via ruff preview (#57641) (#57670)
- Remove remnants from unlimited parallelism in local executor (#57579) (#57644)
Doc Only Changes
- Add learning from Airflow 3 migration guide (#57989) (#58083)
- Fix duplicate mention of 'DAGs' and 'tasks' in overview documentation (#57524) (#57793)
- Document asset event extra storage behavior (#57727) (#57734)
- Nov 14, 2025
- Parsed from source:Nov 14, 2025
- Detected by Releasebot:Nov 15, 2025
November 14, 2025
We’ve just released Apache Airflow 3.1.3 🎉
Release Notes: https://airflow.apache.org/docs/apache-airflow/3.1.3/release_notes.html
Docker Image: “docker pull apache/airflow:3.1.3” 🚏 Constraints: https://github.com/apache/airflow/tree/constraints-3.1.3
Thanks to all the contributors who made this possible.
- Nov 13, 2025
- Parsed from source:Nov 13, 2025
- Detected by Releasebot:Nov 4, 2025
- Modified by Releasebot:Nov 15, 2025
Airflow 3.1.3
Airflow ships an improved API server context handling for secrets with three context chains, preserving worker isolation while enabling external secrets everywhere. It also removes the insecure dagReports API and delivers numerous UI and stability fixes.
Fix Connection & Variable access in API server contexts (plugins, log handlers)(#56583)
Previously, hooks used in API server contexts (plugins, middlewares, log handlers) would fail with an
ImportError
for
SUPERVISOR_COMMS
, because
SUPERVISOR_COMMS
only exists in task runner child processes.
This has been fixed by implementing automatic context detection with three separate secrets backend chains:Context Detection:
- Client contexts (task runner in worker): Detected via
SUPERVISOR_COMMS
presence - Server contexts (API server, scheduler): Explicitly marked with
_AIRFLOW_PROCESS_CONTEXT=server
environment variable - Fallback contexts (supervisor, unknown contexts): Neither marker present, uses minimal safe chain
Backend Chains:
- Client: EnvironmentVariablesBackend→ExecutionAPISecretsBackend (routes to Execution API via SUPERVISOR_COMMS)
- Server: EnvironmentVariablesBackend→MetastoreBackend (direct database access)
- Fallback: EnvironmentVariablesBackend only (+ external backends from config like AWS Secrets Manager, Vault)
The fallback chain is crucial for supervisor processes (worker-side, before task runner starts) which need to access external secrets for remote logging setup but should not use
MetastoreBackend
(to maintain worker isolation).Architecture Benefits:
- Workers (supervisor + task runner) never use
MetastoreBackend
, maintaining strict isolation - External secrets backends (AWS Secrets Manager, Vault, etc.) work in all three contexts
- Supervisor falls back to Execution API client for connections not found in external backends
- API server and scheduler have direct database access for optimal performance
Impact:
- Hooks like
GCSHook
,
S3Hook
now work correctly in log handlers and plugins - No code changes required for existing plugins or hooks
- Workers remain isolated from direct database access (network-level DB blocking fully supported)
- External secrets work everywhere (workers, supervisor, API server)
- Robust handling of unknown contexts with safe minimal chain
See:
#56120
,
#56583
,
#51816Remove insecure dag reports API endpoint that executed user code in API server (#56609)
The
/api/v2/dagReports
endpoint has been removed because it loaded user DAG files directly in the API server process, violating Airflow’s security architecture. This endpoint was not used in the UI and had no known consumers. Use the
airflow dags report
CLI command instead for DAG loading reports.Bug Fixes
- Fix HITL tasks not properly validating params (#57547) (#58144)
- Fix secrets being exposed in Jinja template rendering error messages (#57467) (#57962)
- UI: Fix slow loading on next run assets page (#58052) (#58064)
- Fix logout not working in airflow-core (#57990) (#58043)
- Fix slow loading on UI [(#57820) (#57856), (#57956) (#57973), (#57957) (#57972),(#57869) (#57882), (#57868) (#57918),(#57624) (#57757)]
- UI: Fix log download to include .txt file extension (#57991) (#58040)
- Fix scheduler using incorrect max_active_runs value from cached DAG (#57619) (#57959)
- Fix database migration failures when XCom contains NaN values (#57866) (#57893)
- Fix incorrect task context in trigger rule scenarios (#57884) (#57892)
- UI: Fix test connection not working (#57811) (#57852)
- Fix worker healthcheck timeout not respecting worker-timeout CLI option (#57731) (#57854)
- Fix provider hooks not loading when FAB provider is not installed (#57717) (#57830)
- Fix slow API responses for task instances list [(#57645) (#57794), (#57646) (#57664),(#57500) (#57735), (#57549) (#57738), (#57450) (#57736),(#57647) (#57732)]
- Fix task instance errors when tasks are triggered by trigger rules (#57474) (#57786)
- Fix type consistency for extra field in Asset, AssetAlias, and AssetEvent (#57352) (#57728)
- Fix upgrade failures when XCom contains NaN in string values (#57614)
Miscellaneous
- UI: Add resize functionality to DAG run and task instance notes (#57897) (#58068)
- Add Taiwan translation for UI (#58121)
- UI: Shorten German translation of Asset in navigation (#57671) (#57690)
- Fix code formatting via ruff preview (#57641) (#57670)
- Remove remnants from unlimited parallelism in local executor (#57579) (#57644)
Doc Only Changes
- Add learning from Airflow 3 migration guide (#57989) (#58083)
- Fix duplicate mention of ‘DAGs’ and ‘tasks’ in overview documentation (#57524) (#57793)
- Document asset event extra storage behavior (#57727) (#57734)
- Nov 11, 2025
- Parsed from source:Nov 11, 2025
- Detected by Releasebot:Nov 12, 2025
November 11, 2025
📣 We’ve just released Apache Airflow CTL 0.1.0 🎉
- 📦 PyPI: https://pypi.org/project/apache-airflow-ctl/
- 📚 Docs: https://airflow.apache.org/docs/apache-airflow-ctl/stable/index.html
- 🛠 Release Notes: https://airflow.apache.org/docs/apache-airflow-ctl/stable/changelog.html
Thanks to all the contributors who made this possible.
Original source Report a problem - Nov 5, 2025
- Parsed from source:Nov 5, 2025
- Detected by Releasebot:Nov 5, 2025
Apache Airflow 3.1.2
Airflow 3.1.2 lands with broad bug fixes and UI polish. From import fixes and DAG processing stability to improved logs, performance, and navigation, this release tightens reliability for day to day workflows. A solid stability and speed upgrade.
📦 PyPI: https://pypi.org/project/apache-airflow/3.1.2/
📚 Docs: https://airflow.apache.org/docs/apache-airflow/3.1.2/
🛠 Release Notes: https://airflow.apache.org/docs/apache-airflow/3.1.2/release_notes.html
🐳 Docker Image: "docker pull apache/airflow:3.1.2"
🚏 Constraints: https://github.com/apache/airflow/tree/constraints-3.1.2Significant Changes
Significant Changes
No significant changes.
Bug Fixes
Bug Fixes
- Fix import error when upgrading structlog to 25.5.0+ (#57335)
- Fix connection retrieval in DagProcessorManager for bundle initialization (#57459)
- Fix incorrect task instance counts displayed in task group headers (#55670)
- Fix task retry execution after tasks are killed by external signals (#55767)
- Fix triggerer errors after Airflow 2 to 3 migration (#55884)
- Fix tasks unable to access triggering_user_name context variable (#56193)
- Fix outlet event extra data being empty in task instance success listener callbacks (#57031)
- UI: Fix panel button spacing and alignment issues (#57062)
- UI: Fix broken grid view links for tasks with retries (#57097)
- Fix DAG processor crash when renaming DAG tag case on MySQL (#57113)
- Fix iteration errors when using ObjectStoragePath (#57156)
- Fix auto-refresh not working on Required Actions page (#57207)
- Fix DAG processor crash by ignoring callbacks from other bundles (#57330)
- Fix asset name text overflow in DAG list view (#57363)
- Fix memory leak caused by repeated SSL context creation in API client (#57374)
- Fix performance issues loading DAG list page with many DAGs (#57444)
- Fix text selection jumping unexpectedly in log viewer (#57453)
- Fix DAG documentation pane not scroll-able when content is too long (#57518)
- Fix incorrect macro listings in template reference documentation (#57529)
- Fix Human-In-The-Loop operators failing when using notifiers (#57551)
- Fix n+1 query issues in XCom API endpoints (#57554)
- Fix n+1 query issues in Event Logs API endpoint (#57558)
- Fix n+1 query to fetch tags in the dags list page (#57570)
- Optimize database query to prevent "Out of sort memory" errors with many DAG versions (#57042)
- Optimize DAG list query for users with limited access (#57460)
- Optimize dynamic DAG updates to avoid loading large serialized DAGs (#57592)
- Reduce serialized DAG size by optimizing callback serialization in default_args (#57397)
Miscellaneous
Miscellaneous
- UI: Improve global navigation visual design, interaction, and accessibility (#57565)
- UI: Add button to download all task logs at once (#56771)
- UI: Add timestamp column to XCom viewer and standardize task instance columns (#57447)
- UI: Improve highlighting of selected task instances and edges in grid view (#57560)
- Improve retry logic by migrating from retryhttp to tenacity library (#56762)
- Improve exception logging for task instance heartbeat failures (#57179)
- Add Content-Type header to Task SDK API requests (#57386)
- Log execution API server URL at task startup (#57409)
- Reduce log noise by changing "Connection not found" from error to debug level (#57548)
- Add task_display_name alias in event log API responses (#57609)
- Improve Pydantic model validation strictness in serialization (#57616)
- Fix systemd service files issues (#57231)
Doc Only Changes
Doc Only Changes
- Improve plugin system documentation for clarity and completeness (#57068)
- Improve clarity on api workers recommendation in docs (#57404)
- Fix instance_name in UI docs (#57523)
- Fix airflow macros list in template document (#57529)
- Nov 5, 2025
- Parsed from source:Nov 5, 2025
- Detected by Releasebot:Nov 4, 2025
- Modified by Releasebot:Nov 12, 2025
November 5, 2025
Apache Airflow 3.1.2 Release
We’ve just released Apache Airflow 3.1.2 and Task SDK 1.1.2.
- 📦 PyPI: https://pypi.org/project/apache-airflow/3.1.2/
- 📚 Docs: https://airflow.apache.org/docs/apache-airflow/3.1.2/
- 🛠 Release Notes: https://airflow.apache.org/docs/apache-airflow/3.1.2/release_notes.html
- 🐳 Docker Image: “docker pull apache/airflow:3.1.2” 🚏 Constraints: https://github.com/apache/airflow/tree/constraints-3.1.2
- Nov 5, 2025
- Parsed from source:Nov 5, 2025
- Detected by Releasebot:Nov 5, 2025
Airflow 3.1.2
Airflow release bundles a broad set of fixes across UI, DAG processing, and API stability to improve upgrade reliability and everyday ops. It resolves import errors, task and retry issues, performance bottlenecks, and UI glitches while tightening docs and log handling.
Significant Changes
No significant changes.
Bug Fixes
- Fix import error when upgrading structlog to 25.5.0+ (#57335)
- Fix connection retrieval in DagProcessorManager for bundle initialization (#57459)
- Fix incorrect task instance counts displayed in task group headers (#55670)
- Fix task retry execution after tasks are killed by external signals (#55767)
- Fix triggerer errors after Airflow 2 to 3 migration (#55884)
- Fix tasks unable to access triggering_user_name context variable (#56193)
- Fix outlet event extra data being empty in task instance success listener callbacks (#57031)
- UI: Fix panel button spacing and alignment issues (#57062)
- UI: Fix broken grid view links for tasks with retries (#57097)
- Fix DAG processor crash when renaming DAG tag case on MySQL (#57113)
- Fix iteration errors when using ObjectStoragePath (#57156)
- Fix auto-refresh not working on Required Actions page (#57207)
- Fix DAG processor crash by ignoring callbacks from other bundles (#57330)
- Fix asset name text overflow in DAG list view (#57363)
- Fix memory leak caused by repeated SSL context creation in API client (#57374)
- Fix performance issues loading DAG list page with many DAGs (#57444)
- Fix text selection jumping unexpectedly in log viewer (#57453)
- Fix DAG documentation pane not scroll-able when content is too long (#57518)
- Fix incorrect macro listings in template reference documentation (#57529)
- Fix Human-In-The-Loop operators failing when using notifiers (#57551)
- Fix n+1 query issues in XCom API endpoints (#57554)
- Fix n+1 query issues in Event Logs API endpoint (#57558)
- Fix n+1 query to fetch tags in the dags list page (#57570)
- Optimize database query to prevent “Out of sort memory” errors with many DAG versions (#57042)
- Optimize DAG list query for users with limited access (#57460)
- Optimize dynamic DAG updates to avoid loading large serialized DAGs (#57592)
- Reduce serialized DAG size by optimizing callback serialization in default_args (#57397)
Miscellaneous
- UI: Improve global navigation visual design, interaction, and accessibility (#57565)
- UI: Add button to download all task logs at once (#56771)
- UI: Add timestamp column to XCom viewer and standardize task instance columns (#57447)
- UI: Improve highlighting of selected task instances and edges in grid view (#57560)
- Improve retry logic by migrating from retryhttp to tenacity library (#56762)
- Improve exception logging for task instance heartbeat failures (#57179)
- Add Content-Type header to Task SDK API requests (#57386)
- Log execution API server URL at task startup (#57409)
- Reduce log noise by changing “Connection not found” from error to debug level (#57548)
- Add task_display_name alias in event log API responses (#57609)
- Improve Pydantic model validation strictness in serialization (#57616)
- Fix systemd service files issues (#57231)
Doc Only Changes
- Improve plugin system documentation for clarity and completeness (#57068)
- Improve clarity on api workers recommendation in docs (#57404)
- Fix instance_name in UI docs (#57523)
- Fix airflow macros list in template document (#57529)
- Oct 29, 2025
- Parsed from source:Oct 29, 2025
- Detected by Releasebot:Nov 4, 2025
- Modified by Releasebot:Nov 12, 2025
October 29, 2025
Apache Airflow Python Client 3.1.0
We’ve just released Apache Airflow Python Client 3.1.0.
- PyPI: https://pypi.org/project/apache-airflow-client/3.1.0/
- Docs: https://github.com/apache/airflow-client-python/blob/3.1.0/README.md
- Release Notes: https://github.com/apache/airflow-client-python/blob/3.1.0/CHANGELOG.md
- Oct 28, 2025
- Parsed from source:Oct 28, 2025
- Detected by Releasebot:Nov 4, 2025
Airflow 3.1.1
Patch release with extensive bug fixes across core, UI and docs. Airflow 3.1.1 resolves crashes, memory leaks, and misbehaving retries while strengthening API behavior, grid views, and translations for a more stable, snappier workflow experience.
Bug Fixes
- Fix execution failures with NULL dag_run.conf during upgrades from earlier versions (#56729)
- Fix memory leak in remote logging connection cache (#56695)
- Fix DAG processor crash with pre-import module optimization enabled (#56779)
- Fix scheduler crash with email notifications (#56431)
- Fix scheduler crash during 3.0 to 3.1 migration when retry_delay is None (#56236)
- Fix task retries executing wrong method after deferred state (#56737)
- Fix retry callbacks not executing for externally killed tasks (#56607)
- Fix custom timetable generate_run_id not called for manual triggers (#56699)
- Fix KeyError when accessing retry_delay on MappedOperator without explicit value (#56605)
- Fix task-sdk connection error handling to match airflow-core behavior (#56653)
- Fix topological sort for Grid View (#56963)
- Fix get_ti_count and get_task_states access in callback requests (#56860)
- Fix Connection or Variable access in Server context (#56602)
- Fix .airflowignore order precedence (#56832)
- Fix migration errors for Pydantic 2.12.0 compatibility (#56581)
- Fix: Correctly parse JSON for --dag_run_conf in airflow dags backfill CLI (#56599)
- UI: Fix note modal does not change markdown text after change (#56092)
- UI: Fix Grid for cleared runs when tasks were removed (#56297)
- UI: Fix log text selection contrast in light mode (#56893)
- UI: Fix Advanced Search button overlap in DAG List View (#56777)
- UI: Fix view for many DAG tags (#55604)
- UI: Fix asset name text overflow in DAGs list view (#55914)
- UI: Fix auto refresh when only 1 dag run is running (#56649)
- UI: Fix UI keeps poking pools API when no permission (#56626)
- UI: Fix multi-line drag selection in task log view (#56300)
- UI: Fix task named 'root' causes blue screen on hover (#56926)
- UI: Fix cron expression display for Day-of-Month and Day-of-Week conflicts (#56255)
- UI: Fix Grid view performance issues with SerializedDagModel query optimization (#56938)
- Fix: Gracefully handle FastAPI plugins with empty url_prefix (#55262)
- Fix: Allow mapped tasks to accept zero-length inputs on rerun (#56162)
- Fix: Enable API to clear task instances by specifying map indexes (#56945)
- Fix: Add max_retry_delay to MappedOperator model (#56951)
- Fix: Use name passed to @asset decorator when fetching the asset (#56611)
- UI: Add English as a fallback locale (#56934)
Miscellaneous
- Add Greek UI translation (#56724)
- Add Thai UI translation (#56946)
- Add Polish translations (#56825)
- Close German translation gaps for full UI translation (#56981)
- Fix Hebrew typo in translations (#56168)
- Improve DAG and task missing error handling in callbacks (#56725)
- Improve UI retry strategy on client errors (#56638)
- Improve get dag grid structure endpoint speed (#56937)
- Optimize grid structure query with DISTINCT for dag_version_id lookup (#56565)
- Add configurable timeout for Execution API requests (#56969)
- Prevent unnecessary kubernetes client imports in workers (#56692)
- Lazy import PodGenerator for deserialization (#56733)
- Serialize pydantic models in json mode for JSON serialization compatibility (#56939)
- Update authentication to handle JWT token in backend (#56677)
- Update bulk API permission check to handle action_on_existence (#56672)
- Migrate CreateAssetEventsBody to Pydantic v2 ConfigDict (#56772)
- Restore timetable active_runs_limit check (#56922)
- Add is_favorite to UI dags list (#56341)
- Add executor, hostname, and queue columns to TaskInstances page (#55922)
- Add resize function for DAG Documentation (#56344)
- Add optional pending dag runs check to auto refresh (#56648)
- Add auto refresh to backfill banner (#56774)
- UI: Add Expand/Collapse all to XComs page (#56285)
- UI: Update recent runs bar chart and improve responsiveness (#56314)
- UI: Update duration format to show milliseconds (#56961)
- UI: Modify min width for task names in grid view (#56952)
- UI: Use Task Display Name in Graph if existing (#56511)
- UI: Use Task Display Name in Grid if existing (#56410)
- UI: Use TI duration from database instead of UI calculated (#56329)
- UI: Make DAG Run ID visible in DAG Header Card (#56409)
- UI: Modify calendar cell colors (#56161)
- UI: Modify log highlight color (#56894)
- UI: Fix show appropriate time units in grid view (#56414)
- UI: Reduce default columns of DAG Run and Task Instance lists (#55968)
- UI: Add expand and collapse functionality for task groups (#56334)
- UI: Avoid using rem for icons for Safari compatibility (#56304)
- UI: Add ANSI support to log viewer (#56721)
- UI: Support Dynamic UI Alerts (#56259)
- UI: Disable Gantt view by default (#56242)
- UI: Use welcome on dashboard instead of airflow (#56074)
- UI: Improve clipboard button visibility with hover effect (#56484)
- UI: Allow sub-pages in React UI plugins (#56485)
- Include task instance id in log printed by supervisor (#56383)
- Emit log stream stopped warning as ndjson (#56480)
- Detect interactive terminal to set colored logging with override env variable support (#56157)
- Add back deprecation warning for sla_miss_callback (#56127)
- Move natsort dependency to airflow-core (#56582)
- Added missing babel dependency in Task SDK (#56592)
- Remove unused dagReports API endpoint (#56621)
Doc Only Changes
- Improve API sort documentation (#56617)
- Improve API doc for ordering query param (#55988)
- Add Audit Logs detailed documentation (#56719)
- Update serializer document to reflect latest changes in codebase (#56857)
- Update ASF logos in documentation to the new Oak logo (#56601)
- Enhance triggering_asset_event retrieval documentation in DAGs (#56957)
- Remove self-reference in best practices documentation (#56111)
- Fix supported Python versions in README (#56734)
Full Changelog: 3.1.0...3.1.1
Original source Report a problem - Oct 27, 2025
- Parsed from source:Oct 27, 2025
- Detected by Releasebot:Nov 12, 2025
October 27, 2025
Apache Airflow 3.1.1 Release
We’ve just released Apache Airflow 3.1.1 and Task SDK 1.1.1.
- PyPI: https://pypi.org/project/apache-airflow/3.1.1/
- Core Airflow Docs: https://airflow.apache.org/docs/apache-airflow/3.1.1/
- Task SDK Docs: https://airflow.apache.org/docs/task-sdk/1.1.1/
- Release Notes: https://airflow.apache.org/docs/apache-airflow/3.1.1/release_notes.html
- Sources: https://airflow.apache.org/docs/apache-airflow/3.1.1/installation/installing-from-sources.html
- Constraints: https://github.com/apache/airflow/tree/constraints-3.1.1