This is an automated email from the ASF dual-hosted git repository.
kaxilnaik pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new dda86263e8a Adding change in `xcom_pull` behaviour to release notes
(#49455)
dda86263e8a is described below
commit dda86263e8a9c171d91729f14668028408568022
Author: Amogh Desai <[email protected]>
AuthorDate: Tue Apr 22 15:19:55 2025 +0530
Adding change in `xcom_pull` behaviour to release notes (#49455)
---
RELEASE_NOTES.rst | 20 ++++++++++++++++++++
reproducible_build.yaml | 4 ++--
2 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/RELEASE_NOTES.rst b/RELEASE_NOTES.rst
index 1a519f204b0..8324131e799 100644
--- a/RELEASE_NOTES.rst
+++ b/RELEASE_NOTES.rst
@@ -331,6 +331,26 @@ The internal representation of asset event triggers now
also includes an explici
aligning with the broader asset-aware execution model introduced in Airflow
3.0. DAG authors interacting directly with
``inlet_events`` may need to update logic that assumes the previous structure.
+
+Predictable Behaviour of ``xcom_pull``
+""""""""""""""""""""""""""""""""""""""
+
+In Airflow 2, the ``xcom_pull()`` method allowed pulling XComs by key without
specifying task_ids, despite the fact that the underlying
+DB model defines task_id as part of the XCom primary key. This created
ambiguity: if two tasks pushed XComs with the same key,
+``xcom_pull()`` would pull whichever one happened to be first, leading to
unpredictable behavior.
+
+Airflow 3 resolves im inconsistency by requiring ``task_ids`` when pulling by
key. This change aligns with the task-scoped nature of
+XComs as defined by the schema, ensuring predictable and consistent behavior.
+
+DAG Authors should update their dags to use ``task_ids`` if their dags used
``xcom_pull`` without ``task_ids`` such as::
+
+ kwargs["ti"].xcom_pull(key="key")
+
+Should be updated to::
+
+ kwargs["ti"].xcom_pull(task_ids="task1", key="key")
+
+
Removed Configuration Keys
"""""""""""""""""""""""""""
diff --git a/reproducible_build.yaml b/reproducible_build.yaml
index 163be3fdb24..3ed76c96ba9 100644
--- a/reproducible_build.yaml
+++ b/reproducible_build.yaml
@@ -1,2 +1,2 @@
-release-notes-hash: 00a97e0a1a68a6eebd9803edbc7a8b84
-source-date-epoch: 1745220190
+release-notes-hash: 4d3a20b56440122fcbd72bf1b8c9020e
+source-date-epoch: 1745314549