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

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

## New Features
- Add partition date filters to the Dag run API (#70304)
- Add support for filtering Dags by any Dag run state (#70292)
- Add expand/collapse all for the Dag Run conf JSON in the Dag Runs list (#69777)
- Add a ``task.execute`` OpenTelemetry span around task execution (#69359)
- Add a ``run_type`` tag to the ``dagrun.duration.failed`` metric (#70731)
- UI: Add JSON validation and prettifying to the JSON editor (#70554)

## Improvements
- Improve error messages when a value's type cannot be serialized (for example, XCom values) (#70982)
- UI: Improve Dag list rendering by deferring the pause confirmation dialog (#70025)
- UI: Improve Grid view performance when summaries stream in (#69958)
- UI: Improve Grid view responsiveness by avoiding a full re-render on hover (#69928)

## Bug Fixes
- UI: Fix a 500 error when combining the last-run and any-run Dag state filters on the Dags list (#71371)
- UI: Fix task log text selection being cleared while scrolling (#71200)
- UI: Fix a translation key showing as raw text in the Clear Task dialog (#71240)
- Fail deferred task instances whose saved state can't be resumed, instead of leaving them stuck (#71183)
- Fix task callbacks being skipped when ``TriggerDagRunOperator`` gets a 404 (#71083)
- Fix task state store rejecting keys that contain slashes (#70967)
