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

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

## New Features
- UI: Add Dag run ID to grid bar tooltip and task instance tooltip (#65626) (#66871)
- Add configurable LRU+TTL caching for API server Dag retrieval (#60804) (#66862)
- UI: Add hover feedback to ``Checkbox`` (#66714) (#66826)
- UI: Add ``isExpanded`` prop on JSON expand/collapse buttons (#66340) (#66364)
- Add cursor-based pagination for ``get_dag_runs`` endpoint (#65604) (#65746)
- UI: Add cursor-based pagination for task instances list (#64953) (#65542)

## Improvements
- The SMTP STARTTLS upgrade performed by ``airflow.utils.email.send_email`` now validates the SMTP server's certificate against the system's trusted CA bundle by default. Previously the ``starttls()`` call was made without an SSL context, so any certificate was accepted.
- Improve post-task logs to show exception in failure (#66735) (#66920)
- UI: Improve grid and ``ti_summaries`` and grid runs queries (#64034) (#67014)

## Bug Fixes
- Fix triggerer race condition and deadlock that caused deferred tasks to stall indefinitely
- Fix ``Callback.handle_event`` triggerer crash when OpenTelemetry metrics receive dict typed tag values (#67527) (#67529)
- UI: Rewrite ``modulepreload hrefs`` to the api-server static path (#67548) (#67556)
- Correctly pre-allocate ``external_executor_id`` with multiple executors on PostgreSQL (#67388) (#67458)
- Return raw import-error stacktrace when a Dag file has no registered Dag (#67465) (#67478)
- UI: Fix Expand/Collapse All on XComs and Audit Log JSON cells (#67316) (#67361)
