# Apache Airflow 3.1.2 — Release & Upgrade Intelligence
- **Product:** Apache Airflow (https://airflow.apache.org)
- **Version:** 3.1.2
- **Released:** Nov 05, 2025
- **Impact Score:** 5/10
- **Breaking Changes:** Not verified
- **Canonical Analysis:** https://changelogs.us/airflow/updates/3.1.2/

## Executive Summary (TL;DR)
Apache Airflow 3.1.2. Source highlight: 📦 PyPI: https://pypi.org/project/apache-airflow/3.1.2/

## New Features
- UI: Add button to download all task logs at once (#56771)
- UI: Add timestamp column to ``XCom`` viewer and standardize task instance columns (#57447)
- Add ``Content-Type`` header to Task SDK API requests (#57386)
- Add ``task_display_name`` alias in event log API responses (#57609)

## Improvements
- UI: Improve global navigation visual design, interaction, and accessibility (#57565)
- 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)
- Improve Pydantic model validation strictness in serialization (#57616)
- Improve plugin system documentation for clarity and completeness (#57068)

## 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)
