You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Previously, Airflow reported timing metrics in milliseconds for ``StatsD`` but in seconds for other backends
1023
+
such as ``OpenTelemetry`` and ``Datadog``. This inconsistency made it difficult to interpret or compare
1024
+
timing metrics across systems.
1025
+
1026
+
Airflow 2.11 introduces a new config option:
1027
+
1028
+
- ``[metrics] timer_unit_consistency`` (default: ``False`` in 2.11, ``True`` and dropped in Airflow 3.0).
1029
+
1030
+
When enabled, all timing metrics are consistently reported in milliseconds, regardless of the backend.
1031
+
1032
+
This setting has become mandatory and always ``True`` in Airflow 3.0 (the config will be removed), so
1033
+
enabling it in 2.11 allows users to migrate early and avoid surprises during upgrade.
1034
+
1035
+
Ease migration to Airflow 3
1036
+
"""""""""""""""""""""""""""
1037
+
This release introduces several changes to help users prepare for upgrading to Airflow 3:
1038
+
1039
+
- All models using ``execution_date`` now also include a ``logical_date`` field. Airflow 3 drops ``execution_date`` entirely in favor of ``logical_date`` (#44283)
1040
+
- Added ``airflow config lint`` and ``airflow config update`` commands in 2.11 to help audit and migrate configs for Airflow 3.0. (#45736, #50353, #46757)
1041
+
1042
+
Python 3.8 support removed
1043
+
""""""""""""""""""""""""""
1044
+
Support for Python 3.8 has been removed, as it has reached end-of-life.
1045
+
Airflow 2.11 requires Python 3.9, 3.10, 3.11, or 3.12.
1046
+
1047
+
New Features
1048
+
""""""""""""
1049
+
1050
+
- Introduce ``DeltaTriggerTimetable`` (#47074)
1051
+
- Backport ``airflow config update`` and ``airflow config lint`` changes to ease migration to Airflow 3 (#45736, #50353)
1052
+
- Add link to show task in a DAG in DAG Dependencies view (#47721)
1053
+
- Align timers and timing metrics (ms) across all metrics loggers (#39908, #43966)
1054
+
1055
+
Bug Fixes
1056
+
"""""""""
1057
+
1058
+
- Don't resolve path for DAGs folder (#46877)
1059
+
- Fix ``ti.log_url`` timestamp format from ``"%Y-%m-%dT%H:%M:%S%z"`` to ``"%Y-%m-%dT%H:%M:%S.%f%z"`` (#50306)
1060
+
- Ensure that the generated ``airflow.cfg`` contains a random ``fernet_key`` and ``secret_key`` (#47755)
1061
+
- Fixed setting ``rendered_map_index`` via internal api (#49057)
1062
+
- Store rendered_map_index from ``TaskInstancePydantic`` into ``TaskInstance`` (#48571)
1063
+
- Allow using ``log_url`` property on ``TaskInstancePydantic`` (Internal API) (#50560)
1064
+
- Fix Trigger Form with Empty Object Default (#46872)
1065
+
- Fix ``TypeError`` when deserializing task with ``execution_timeout`` set to ``None`` (#46822)
1066
+
- Always populate mapped tasks (#46790)
1067
+
- Ensure ``check_query_exists`` returns a bool (#46707)
1068
+
- UI: ``/xcom/list`` got exception when applying filter on the ``value`` column (#46053)
1069
+
- Allow to set note field via the experimental internal api (#47769)
1070
+
1071
+
Miscellaneous
1072
+
"""""""""""""
1073
+
1074
+
- Add ``logical_date`` to models using ``execution_date`` (#44283)
1075
+
- Drop support for Python 3.8 (#49980, #50015)
1076
+
- Emit warning for deprecated ``BaseOperatorLink.get_link`` signature (#46448)
0 commit comments