This is an automated email from the ASF dual-hosted git repository.

vatsrahul1001 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 5f77c84133f Revert "Limit pandas to < 3 for DataFrame XComs (#70791)" 
(#71100)
5f77c84133f is described below

commit 5f77c84133f3a12be91e4f15ad3d12e3d846f679
Author: Rahul Vats <[email protected]>
AuthorDate: Wed Aug 5 09:49:44 2026 +0530

    Revert "Limit pandas to < 3 for DataFrame XComs (#70791)" (#71100)
    
    This reverts commit 415cb70f87784cc074d6db7844a07579587b5f0f.
---
 airflow-core/newsfragments/70791.significant.rst   | 35 ---------
 providers/amazon/docs/index.rst                    |  8 +-
 providers/amazon/pyproject.toml                    | 15 +---
 providers/apache/hdfs/README.rst                   | 12 +--
 providers/apache/hdfs/docs/index.rst               | 12 +--
 providers/apache/hdfs/pyproject.toml               | 15 +---
 providers/apache/hive/README.rst                   | 12 +--
 providers/apache/hive/docs/index.rst               | 12 +--
 providers/apache/hive/pyproject.toml               | 15 +---
 providers/common/sql/docs/index.rst                |  8 +-
 providers/common/sql/pyproject.toml                | 15 +---
 providers/databricks/README.rst                    | 12 +--
 providers/databricks/docs/index.rst                | 12 +--
 providers/databricks/pyproject.toml                | 15 +---
 providers/exasol/README.rst                        | 12 +--
 providers/exasol/docs/index.rst                    | 12 +--
 providers/exasol/pyproject.toml                    | 15 +---
 providers/google/README.rst                        | 12 +--
 providers/google/docs/index.rst                    | 12 +--
 providers/google/pyproject.toml                    | 15 +---
 providers/papermill/README.rst                     | 12 +--
 providers/papermill/docs/index.rst                 | 12 +--
 providers/papermill/pyproject.toml                 | 15 +---
 providers/postgres/docs/index.rst                  |  8 +-
 providers/postgres/pyproject.toml                  | 15 +---
 providers/presto/README.rst                        | 12 +--
 providers/presto/docs/index.rst                    | 12 +--
 providers/presto/pyproject.toml                    | 15 +---
 providers/salesforce/README.rst                    | 12 +--
 providers/salesforce/docs/index.rst                | 12 +--
 providers/salesforce/pyproject.toml                | 15 +---
 providers/snowflake/README.rst                     |  6 +-
 providers/snowflake/docs/index.rst                 |  6 +-
 providers/snowflake/pyproject.toml                 | 15 +---
 providers/trino/README.rst                         | 12 +--
 providers/trino/docs/index.rst                     | 12 +--
 providers/trino/pyproject.toml                     | 15 +---
 providers/weaviate/README.rst                      | 12 +--
 providers/weaviate/docs/index.rst                  | 12 +--
 providers/weaviate/pyproject.toml                  | 15 +---
 task-sdk/pyproject.toml                            | 15 +---
 .../src/airflow/sdk/serde/serializers/pandas.py    | 45 -----------
 task-sdk/tests/task_sdk/serde/test_serializers.py  | 28 -------
 uv.lock                                            | 90 +++++++++++-----------
 44 files changed, 228 insertions(+), 471 deletions(-)

diff --git a/airflow-core/newsfragments/70791.significant.rst 
b/airflow-core/newsfragments/70791.significant.rst
deleted file mode 100644
index 827f22bc68f..00000000000
--- a/airflow-core/newsfragments/70791.significant.rst
+++ /dev/null
@@ -1,35 +0,0 @@
-pandas is limited to ``< 3``; DataFrame XComs are refused on pandas 3
-
-A ``pandas.DataFrame`` does not survive an XCom round trip under pandas 3 the 
way it does
-under pandas 2, so this version of Airflow constrains pandas to ``< 3`` and 
refuses DataFrame
-XComs at runtime when a newer pandas is installed anyway.
-
-Two things change under pandas 3. Its public classes are exposed from the 
``pandas``
-namespace, so a DataFrame qualifies as ``pandas.DataFrame`` rather than
-``pandas.core.frame.DataFrame`` and the XCom serializer registry -- keyed on 
the latter --
-never dispatches to the pandas serializer. And the dtypes differ: an 
``object`` column reads
-back as ``str``, and missing values as ``nan`` rather than ``None``, so the 
*reader's* pandas
-version decides what a task receives rather than the writer's.
-
-Because pandas is an optional dependency, the ``< 3`` constraint alone cannot 
be relied on --
-a deployment may install pandas 3 directly, or pull it in through another 
package. It is
-therefore backed by a runtime check.
-
-**Behaviour changes:**
-
-- With pandas 3 or newer installed, pushing **or** pulling a ``DataFrame`` 
through XCom now
-  raises ``RuntimeError`` naming the installed pandas version and the 
supported range.
-  Reads are refused as well as writes, because a payload written under pandas 
2 reads back
-  with pandas 3 dtypes and would otherwise hand the task different data than 
was pushed,
-  with no signal.
-- Previously the same situation produced an opaque
-  ``TypeError: cannot serialize object of type <class 'pandas.DataFrame'>`` 
from the
-  serializer registry, with nothing identifying pandas as the cause.
-- Deployments that pass DataFrames through XCom must pin ``pandas < 3`` in the 
environment
-  that runs their tasks. Deployments that do not use DataFrame XComs are 
unaffected at
-  runtime.
-- Nothing changes for pandas 2 users.
-
-**This defers pandas 3 support rather than dropping it.** Moving from pandas 2 
to pandas 3
-is a deliberate migration for users to make, given the dtype changes it brings 
to data that
-has already been written. Support for pandas 3 will be enabled in a future 
Airflow release.
diff --git a/providers/amazon/docs/index.rst b/providers/amazon/docs/index.rst
index 73635c6f4ce..7dc10574bd4 100644
--- a/providers/amazon/docs/index.rst
+++ b/providers/amazon/docs/index.rst
@@ -171,9 +171,9 @@ Install them when installing from PyPI. For example:
     pip install apache-airflow-providers-amazon[aiobotocore]
 
 
-====================  
=====================================================================================================================================================================
+====================  
============================================================================================================================================================
 Extra                 Dependencies
-====================  
=====================================================================================================================================================================
+====================  
============================================================================================================================================================
 ``aiobotocore``       ``aiobotocore>=3.0.0``
 ``cncf.kubernetes``   ``apache-airflow-providers-cncf-kubernetes>=7.2.0``
 ``s3fs``              ``s3fs>=2023.10.0``
@@ -186,14 +186,14 @@ Extra                 Dependencies
 ``imap``              ``apache-airflow-providers-imap``
 ``microsoft.azure``   ``apache-airflow-providers-microsoft-azure``
 ``mongo``             ``apache-airflow-providers-mongo``
-``pandas``            ``pandas>=2.1.2,<3; python_version <"3.13"``, 
``pandas>=2.2.3,<3; python_version >="3.13" and python_version <"3.14"``, 
``pandas>=2.3.3,<3; python_version >="3.14"``
+``pandas``            ``pandas>=2.1.2; python_version <"3.13"``, 
``pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"``, 
``pandas>=2.3.3; python_version >="3.14"``
 ``openlineage``       ``apache-airflow-providers-openlineage>=2.3.0``
 ``salesforce``        ``apache-airflow-providers-salesforce``
 ``ssh``               ``apache-airflow-providers-ssh``
 ``standard``          ``apache-airflow-providers-standard``
 ``common.messaging``  ``apache-airflow-providers-common-messaging>=2.0.0``
 ``sqlalchemy``        ``sqlalchemy>=1.4.54``
-====================  
=====================================================================================================================================================================
+====================  
============================================================================================================================================================
 
 Downloading official packages
 -----------------------------
diff --git a/providers/amazon/pyproject.toml b/providers/amazon/pyproject.toml
index a5d46203f57..25d1d6320bc 100644
--- a/providers/amazon/pyproject.toml
+++ b/providers/amazon/pyproject.toml
@@ -130,18 +130,9 @@ dependencies = [
     "apache-airflow-providers-mongo"
 ]
 "pandas" = [
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.1.2,<3; python_version <"3.13"',
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.2.3,<3; python_version >="3.13" and python_version <"3.14"',
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.3.3,<3; python_version >="3.14"',
+    'pandas>=2.1.2; python_version <"3.13"',
+    'pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"',
+    'pandas>=2.3.3; python_version >="3.14"',
 ]
 "openlineage" = [
     "apache-airflow-providers-openlineage>=2.3.0"
diff --git a/providers/apache/hdfs/README.rst b/providers/apache/hdfs/README.rst
index f965b90f53b..500ea51e28c 100644
--- a/providers/apache/hdfs/README.rst
+++ b/providers/apache/hdfs/README.rst
@@ -51,19 +51,19 @@ The package supports the following python versions: 
3.10,3.11,3.12,3.13,3.14
 Requirements
 ------------
 
-==========================================  
====================================================================
+==========================================  
==================================================================
 PIP package                                 Version required
-==========================================  
====================================================================
+==========================================  
==================================================================
 ``apache-airflow``                          ``>=2.11.0``
 ``apache-airflow-providers-common-compat``  ``>=1.12.0``
 ``hdfs[avro,dataframe,kerberos]``           ``>=2.5.4; python_version < 
"3.12"``
 ``hdfs[avro,dataframe,kerberos]``           ``>=2.7.3; python_version >= 
"3.12"``
 ``fastavro``                                ``>=1.10.0; python_version >= 
"3.13" and python_version < "3.14"``
 ``fastavro``                                ``>=1.12.1; python_version >= 
"3.14"``
-``pandas``                                  ``>=2.1.2,<3; python_version < 
"3.13"``
-``pandas``                                  ``>=2.2.3,<3; python_version >= 
"3.13" and python_version < "3.14"``
-``pandas``                                  ``>=2.3.3,<3; python_version >= 
"3.14"``
-==========================================  
====================================================================
+``pandas``                                  ``>=2.1.2; python_version < 
"3.13"``
+``pandas``                                  ``>=2.2.3; python_version >= 
"3.13" and python_version < "3.14"``
+``pandas``                                  ``>=2.3.3; python_version >= 
"3.14"``
+==========================================  
==================================================================
 
 The changelog for the provider package can be found in the
 `changelog 
<https://airflow.apache.org/docs/apache-airflow-providers-apache-hdfs/4.12.2/changelog.html>`_.
diff --git a/providers/apache/hdfs/docs/index.rst 
b/providers/apache/hdfs/docs/index.rst
index 8333ad6255c..d0bf84cd740 100644
--- a/providers/apache/hdfs/docs/index.rst
+++ b/providers/apache/hdfs/docs/index.rst
@@ -85,19 +85,19 @@ Requirements
 
 The minimum Apache Airflow version supported by this provider distribution is 
``2.11.0``.
 
-==========================================  
====================================================================
+==========================================  
==================================================================
 PIP package                                 Version required
-==========================================  
====================================================================
+==========================================  
==================================================================
 ``apache-airflow``                          ``>=2.11.0``
 ``apache-airflow-providers-common-compat``  ``>=1.12.0``
 ``hdfs[avro,dataframe,kerberos]``           ``>=2.5.4; python_version < 
"3.12"``
 ``hdfs[avro,dataframe,kerberos]``           ``>=2.7.3; python_version >= 
"3.12"``
 ``fastavro``                                ``>=1.10.0; python_version >= 
"3.13" and python_version < "3.14"``
 ``fastavro``                                ``>=1.12.1; python_version >= 
"3.14"``
-``pandas``                                  ``>=2.1.2,<3; python_version < 
"3.13"``
-``pandas``                                  ``>=2.2.3,<3; python_version >= 
"3.13" and python_version < "3.14"``
-``pandas``                                  ``>=2.3.3,<3; python_version >= 
"3.14"``
-==========================================  
====================================================================
+``pandas``                                  ``>=2.1.2; python_version < 
"3.13"``
+``pandas``                                  ``>=2.2.3; python_version >= 
"3.13" and python_version < "3.14"``
+``pandas``                                  ``>=2.3.3; python_version >= 
"3.14"``
+==========================================  
==================================================================
 
 Downloading official packages
 -----------------------------
diff --git a/providers/apache/hdfs/pyproject.toml 
b/providers/apache/hdfs/pyproject.toml
index 398eedb8f70..d309ff8fed8 100644
--- a/providers/apache/hdfs/pyproject.toml
+++ b/providers/apache/hdfs/pyproject.toml
@@ -65,18 +65,9 @@ dependencies = [
     'hdfs[avro,dataframe,kerberos]>=2.7.3;python_version>="3.12"',
     'fastavro>=1.10.0; python_version>="3.13" and python_version<"3.14"',
     'fastavro>=1.12.1; python_version>="3.14"',
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.1.2,<3; python_version <"3.13"',
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.2.3,<3; python_version >="3.13" and python_version <"3.14"',
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.3.3,<3; python_version >="3.14"',
+    'pandas>=2.1.2; python_version <"3.13"',
+    'pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"',
+    'pandas>=2.3.3; python_version >="3.14"',
 ]
 
 [dependency-groups]
diff --git a/providers/apache/hive/README.rst b/providers/apache/hive/README.rst
index 1f20df918ed..e7e89ad52f7 100644
--- a/providers/apache/hive/README.rst
+++ b/providers/apache/hive/README.rst
@@ -50,19 +50,19 @@ The package supports the following python versions: 
3.10,3.11,3.12,3.13,3.14
 Requirements
 ------------
 
-==========================================  
====================================================================
+==========================================  
=================================================================
 PIP package                                 Version required
-==========================================  
====================================================================
+==========================================  
=================================================================
 ``apache-airflow``                          ``>=2.11.0``
 ``apache-airflow-providers-common-compat``  ``>=1.12.0``
 ``apache-airflow-providers-common-sql``     ``>=1.32.0``
 ``hmsclient``                               ``>=0.1.0``
-``pandas``                                  ``>=2.1.2,<3; python_version < 
"3.13"``
-``pandas``                                  ``>=2.2.3,<3; python_version >= 
"3.13" and python_version < "3.14"``
-``pandas``                                  ``>=2.3.3,<3; python_version >= 
"3.14"``
+``pandas``                                  ``>=2.1.2; python_version < 
"3.13"``
+``pandas``                                  ``>=2.2.3; python_version >= 
"3.13" and python_version < "3.14"``
+``pandas``                                  ``>=2.3.3; python_version >= 
"3.14"``
 ``pyhive[hive_pure_sasl]``                  ``>=0.7.0``
 ``jmespath``                                ``>=0.7.0``
-==========================================  
====================================================================
+==========================================  
=================================================================
 
 Optional cross provider package dependencies
 --------------------------------------------
diff --git a/providers/apache/hive/docs/index.rst 
b/providers/apache/hive/docs/index.rst
index b19c2909172..8008c3b8acc 100644
--- a/providers/apache/hive/docs/index.rst
+++ b/providers/apache/hive/docs/index.rst
@@ -99,19 +99,19 @@ Requirements
 
 The minimum Apache Airflow version supported by this provider distribution is 
``2.11.0``.
 
-==========================================  
====================================================================
+==========================================  
=================================================================
 PIP package                                 Version required
-==========================================  
====================================================================
+==========================================  
=================================================================
 ``apache-airflow``                          ``>=2.11.0``
 ``apache-airflow-providers-common-compat``  ``>=1.12.0``
 ``apache-airflow-providers-common-sql``     ``>=1.32.0``
 ``hmsclient``                               ``>=0.1.0``
-``pandas``                                  ``>=2.1.2,<3; python_version < 
"3.13"``
-``pandas``                                  ``>=2.2.3,<3; python_version >= 
"3.13" and python_version < "3.14"``
-``pandas``                                  ``>=2.3.3,<3; python_version >= 
"3.14"``
+``pandas``                                  ``>=2.1.2; python_version < 
"3.13"``
+``pandas``                                  ``>=2.2.3; python_version >= 
"3.13" and python_version < "3.14"``
+``pandas``                                  ``>=2.3.3; python_version >= 
"3.14"``
 ``pyhive[hive_pure_sasl]``                  ``>=0.7.0``
 ``jmespath``                                ``>=0.7.0``
-==========================================  
====================================================================
+==========================================  
=================================================================
 
 Optional cross provider package dependencies
 --------------------------------------------
diff --git a/providers/apache/hive/pyproject.toml 
b/providers/apache/hive/pyproject.toml
index 8565a499001..c7b62d833bb 100644
--- a/providers/apache/hive/pyproject.toml
+++ b/providers/apache/hive/pyproject.toml
@@ -63,18 +63,9 @@ dependencies = [
     "apache-airflow-providers-common-compat>=1.12.0",
     "apache-airflow-providers-common-sql>=1.32.0",
     "hmsclient>=0.1.0",
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.1.2,<3; python_version <"3.13"',
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.2.3,<3; python_version >="3.13" and python_version <"3.14"',
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.3.3,<3; python_version >="3.14"',
+    'pandas>=2.1.2; python_version <"3.13"',
+    'pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"',
+    'pandas>=2.3.3; python_version >="3.14"',
     "pyhive[hive_pure_sasl]>=0.7.0",
     "jmespath>=0.7.0",
 ]
diff --git a/providers/common/sql/docs/index.rst 
b/providers/common/sql/docs/index.rst
index ff00456d28e..ae215cc5a70 100644
--- a/providers/common/sql/docs/index.rst
+++ b/providers/common/sql/docs/index.rst
@@ -141,10 +141,10 @@ Install them when installing from PyPI. For example:
     pip install apache-airflow-providers-common-sql[pandas]
 
 
-==================  
================================================================================================================================================================================
+==================  
=======================================================================================================================================================================
 Extra               Dependencies
-==================  
================================================================================================================================================================================
-``pandas``          ``pandas[sql-other]>=2.1.2,<3; python_version <"3.13"``, 
``pandas>=2.2.3,<3; python_version >="3.13" and python_version <"3.14"``, 
``pandas>=2.3.3,<3; python_version >="3.14"``
+==================  
=======================================================================================================================================================================
+``pandas``          ``pandas[sql-other]>=2.1.2; python_version <"3.13"``, 
``pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"``, 
``pandas>=2.3.3; python_version >="3.14"``
 ``openlineage``     ``apache-airflow-providers-openlineage``
 ``polars``          ``polars>=1.26.0``
 ``sqlalchemy``      ``sqlalchemy>=1.4.54``
@@ -152,7 +152,7 @@ Extra               Dependencies
 ``datafusion``      ``datafusion>=50.0.0,<52.0.0``
 ``pyiceberg-core``  ``pyiceberg-core>=0.8.0``
 ``apache.iceberg``  ``apache-airflow-providers-apache-iceberg``
-==================  
================================================================================================================================================================================
+==================  
=======================================================================================================================================================================
 
 Downloading official packages
 -----------------------------
diff --git a/providers/common/sql/pyproject.toml 
b/providers/common/sql/pyproject.toml
index b018c3cca45..184f0e10073 100644
--- a/providers/common/sql/pyproject.toml
+++ b/providers/common/sql/pyproject.toml
@@ -72,20 +72,11 @@ dependencies = [
 # Any change in the dependencies is preserved when the file is regenerated
 [project.optional-dependencies]
 "pandas" = [
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas[sql-other]>=2.1.2,<3; python_version <"3.13"',
+    'pandas[sql-other]>=2.1.2; python_version <"3.13"',
     # Technically - we should add "sql-other" here as well, but this will only 
be possible when we move
     # to sqlalchemy 2+ TODO(potiuk): do so.
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.2.3,<3; python_version >="3.13" and python_version <"3.14"',
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.3.3,<3; python_version >="3.14"',
+    'pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"',
+    'pandas>=2.3.3; python_version >="3.14"',
 ]
 "openlineage" = [
     "apache-airflow-providers-openlineage"
diff --git a/providers/databricks/README.rst b/providers/databricks/README.rst
index 712ed795418..e51f00031c4 100644
--- a/providers/databricks/README.rst
+++ b/providers/databricks/README.rst
@@ -50,9 +50,9 @@ The package supports the following python versions: 
3.10,3.11,3.12,3.13,3.14
 Requirements
 ------------
 
-==========================================  
====================================================================
+==========================================  
==================================================================
 PIP package                                 Version required
-==========================================  
====================================================================
+==========================================  
==================================================================
 ``apache-airflow``                          ``>=2.11.0``
 ``apache-airflow-providers-common-compat``  ``>=1.13.0``
 ``apache-airflow-providers-common-sql``     ``>=1.32.0``
@@ -60,13 +60,13 @@ PIP package                                 Version required
 ``databricks-sql-connector``                ``>=4.4.0``
 ``aiohttp``                                 ``>=3.14.0,<4``
 ``mergedeep``                               ``>=1.3.4``
-``pandas``                                  ``>=2.1.2,<3; python_version < 
"3.13"``
-``pandas``                                  ``>=2.2.3,<3; python_version >= 
"3.13" and python_version < "3.14"``
-``pandas``                                  ``>=2.3.3,<3; python_version >= 
"3.14"``
+``pandas``                                  ``>=2.1.2; python_version < 
"3.13"``
+``pandas``                                  ``>=2.2.3; python_version >= 
"3.13" and python_version < "3.14"``
+``pandas``                                  ``>=2.3.3; python_version >= 
"3.14"``
 ``pyarrow``                                 ``>=16.1.0; python_version < 
"3.13"``
 ``pyarrow``                                 ``>=18.0.0; python_version >= 
"3.13" and python_version < "3.14"``
 ``pyarrow``                                 ``>=22.0.0; python_version >= 
"3.14"``
-==========================================  
====================================================================
+==========================================  
==================================================================
 
 Optional cross provider package dependencies
 --------------------------------------------
diff --git a/providers/databricks/docs/index.rst 
b/providers/databricks/docs/index.rst
index 75f80e9b454..67e283f16c8 100644
--- a/providers/databricks/docs/index.rst
+++ b/providers/databricks/docs/index.rst
@@ -98,9 +98,9 @@ Requirements
 
 The minimum Apache Airflow version supported by this provider distribution is 
``2.11.0``.
 
-==========================================  
====================================================================
+==========================================  
==================================================================
 PIP package                                 Version required
-==========================================  
====================================================================
+==========================================  
==================================================================
 ``apache-airflow``                          ``>=2.11.0``
 ``apache-airflow-providers-common-compat``  ``>=1.13.0``
 ``apache-airflow-providers-common-sql``     ``>=1.32.0``
@@ -108,13 +108,13 @@ PIP package                                 Version 
required
 ``databricks-sql-connector``                ``>=4.4.0``
 ``aiohttp``                                 ``>=3.14.0,<4``
 ``mergedeep``                               ``>=1.3.4``
-``pandas``                                  ``>=2.1.2,<3; python_version < 
"3.13"``
-``pandas``                                  ``>=2.2.3,<3; python_version >= 
"3.13" and python_version < "3.14"``
-``pandas``                                  ``>=2.3.3,<3; python_version >= 
"3.14"``
+``pandas``                                  ``>=2.1.2; python_version < 
"3.13"``
+``pandas``                                  ``>=2.2.3; python_version >= 
"3.13" and python_version < "3.14"``
+``pandas``                                  ``>=2.3.3; python_version >= 
"3.14"``
 ``pyarrow``                                 ``>=16.1.0; python_version < 
"3.13"``
 ``pyarrow``                                 ``>=18.0.0; python_version >= 
"3.13" and python_version < "3.14"``
 ``pyarrow``                                 ``>=22.0.0; python_version >= 
"3.14"``
-==========================================  
====================================================================
+==========================================  
==================================================================
 
 Optional cross provider package dependencies
 --------------------------------------------
diff --git a/providers/databricks/pyproject.toml 
b/providers/databricks/pyproject.toml
index 1c2a58f95ac..36f94b8cd6e 100644
--- a/providers/databricks/pyproject.toml
+++ b/providers/databricks/pyproject.toml
@@ -66,18 +66,9 @@ dependencies = [
     "databricks-sql-connector>=4.4.0",
     "aiohttp>=3.14.0, <4",
     "mergedeep>=1.3.4",
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.1.2,<3; python_version <"3.13"',
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.2.3,<3; python_version >="3.13" and python_version <"3.14"',
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.3.3,<3; python_version >="3.14"',
+    'pandas>=2.1.2; python_version <"3.13"',
+    'pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"',
+    'pandas>=2.3.3; python_version >="3.14"',
     "pyarrow>=16.1.0; python_version < '3.13'",
     "pyarrow>=18.0.0; python_version >= '3.13' and python_version < '3.14'",
     "pyarrow>=22.0.0; python_version >= '3.14'",
diff --git a/providers/exasol/README.rst b/providers/exasol/README.rst
index 76470f47480..70aba90425d 100644
--- a/providers/exasol/README.rst
+++ b/providers/exasol/README.rst
@@ -50,17 +50,17 @@ The package supports the following python versions: 
3.10,3.11,3.12,3.13,3.14
 Requirements
 ------------
 
-==========================================  
====================================================================
+==========================================  
=================================================================
 PIP package                                 Version required
-==========================================  
====================================================================
+==========================================  
=================================================================
 ``apache-airflow``                          ``>=2.11.0``
 ``apache-airflow-providers-common-compat``  ``>=1.12.0``
 ``apache-airflow-providers-common-sql``     ``>=1.32.0``
 ``pyexasol``                                ``>=0.26.0,<2``
-``pandas``                                  ``>=2.1.2,<3; python_version < 
"3.13"``
-``pandas``                                  ``>=2.2.3,<3; python_version >= 
"3.13" and python_version < "3.14"``
-``pandas``                                  ``>=2.3.3,<3; python_version >= 
"3.14"``
-==========================================  
====================================================================
+``pandas``                                  ``>=2.1.2; python_version < 
"3.13"``
+``pandas``                                  ``>=2.2.3; python_version >= 
"3.13" and python_version < "3.14"``
+``pandas``                                  ``>=2.3.3; python_version >= 
"3.14"``
+==========================================  
=================================================================
 
 Optional dependencies
 ----------------------
diff --git a/providers/exasol/docs/index.rst b/providers/exasol/docs/index.rst
index e15fc678b29..d361cc38f9d 100644
--- a/providers/exasol/docs/index.rst
+++ b/providers/exasol/docs/index.rst
@@ -95,17 +95,17 @@ Requirements
 
 The minimum Apache Airflow version supported by this provider distribution is 
``2.11.0``.
 
-==========================================  
====================================================================
+==========================================  
=================================================================
 PIP package                                 Version required
-==========================================  
====================================================================
+==========================================  
=================================================================
 ``apache-airflow``                          ``>=2.11.0``
 ``apache-airflow-providers-common-compat``  ``>=1.12.0``
 ``apache-airflow-providers-common-sql``     ``>=1.32.0``
 ``pyexasol``                                ``>=0.26.0,<2``
-``pandas``                                  ``>=2.1.2,<3; python_version < 
"3.13"``
-``pandas``                                  ``>=2.2.3,<3; python_version >= 
"3.13" and python_version < "3.14"``
-``pandas``                                  ``>=2.3.3,<3; python_version >= 
"3.14"``
-==========================================  
====================================================================
+``pandas``                                  ``>=2.1.2; python_version < 
"3.13"``
+``pandas``                                  ``>=2.2.3; python_version >= 
"3.13" and python_version < "3.14"``
+``pandas``                                  ``>=2.3.3; python_version >= 
"3.14"``
+==========================================  
=================================================================
 
 Optional dependencies
 ---------------------
diff --git a/providers/exasol/pyproject.toml b/providers/exasol/pyproject.toml
index 06bee594aa6..a994d8c4d43 100644
--- a/providers/exasol/pyproject.toml
+++ b/providers/exasol/pyproject.toml
@@ -65,18 +65,9 @@ dependencies = [
     # Capped to 1.x: pyexasol 2.x ships stricter types that break the exasol 
hook.
     # Remove the cap after migrating; tracked at 
https://github.com/apache/airflow/issues/69123
     "pyexasol>=0.26.0,<2",
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.1.2,<3; python_version <"3.13"',
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.2.3,<3; python_version >="3.13" and python_version <"3.14"',
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.3.3,<3; python_version >="3.14"',
+    'pandas>=2.1.2; python_version <"3.13"',
+    'pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"',
+    'pandas>=2.3.3; python_version >="3.14"',
 ]
 
 # The optional dependencies should be modified in place in the generated file
diff --git a/providers/google/README.rst b/providers/google/README.rst
index bd1c048e1a7..015137fe2d6 100644
--- a/providers/google/README.rst
+++ b/providers/google/README.rst
@@ -57,9 +57,9 @@ The package supports the following python versions: 
3.10,3.11,3.12,3.13,3.14
 Requirements
 ------------
 
-==========================================  
====================================================================
+==========================================  
==================================================================
 PIP package                                 Version required
-==========================================  
====================================================================
+==========================================  
==================================================================
 ``apache-airflow``                          ``>=2.11.0``
 ``apache-airflow-providers-common-compat``  ``>=1.13.0``
 ``apache-airflow-providers-common-sql``     ``>=1.32.0``
@@ -125,9 +125,9 @@ PIP package                                 Version required
 ``httpx``                                   ``>=0.25.0``
 ``looker-sdk``                              ``>=22.4.0,!=24.18.0``
 ``pandas-gbq``                              ``>=0.7.0``
-``pandas``                                  ``>=2.1.2,<3; python_version < 
"3.13"``
-``pandas``                                  ``>=2.2.3,<3; python_version >= 
"3.13" and python_version < "3.14"``
-``pandas``                                  ``>=2.3.3,<3; python_version >= 
"3.14"``
+``pandas``                                  ``>=2.1.2; python_version < 
"3.13"``
+``pandas``                                  ``>=2.2.3; python_version >= 
"3.13" and python_version < "3.14"``
+``pandas``                                  ``>=2.3.3; python_version >= 
"3.14"``
 ``proto-plus``                              ``>=1.26.0``
 ``pyarrow``                                 ``>=18.0.0; python_version < 
"3.14"``
 ``pyarrow``                                 ``>=22.0.0; python_version >= 
"3.14"``
@@ -138,7 +138,7 @@ PIP package                                 Version required
 ``tenacity``                                ``>=8.3.0``
 ``immutabledict``                           ``>=4.2.0``
 ``types-protobuf``                          ``>=5.27.0,!=5.29.1.20250402``
-==========================================  
====================================================================
+==========================================  
==================================================================
 
 Optional cross provider package dependencies
 --------------------------------------------
diff --git a/providers/google/docs/index.rst b/providers/google/docs/index.rst
index 05c764f3c1c..2863bdaaea8 100644
--- a/providers/google/docs/index.rst
+++ b/providers/google/docs/index.rst
@@ -110,9 +110,9 @@ Requirements
 
 The minimum Apache Airflow version supported by this provider distribution is 
``2.11.0``.
 
-==========================================  
====================================================================
+==========================================  
==================================================================
 PIP package                                 Version required
-==========================================  
====================================================================
+==========================================  
==================================================================
 ``apache-airflow``                          ``>=2.11.0``
 ``apache-airflow-providers-common-compat``  ``>=1.13.0``
 ``apache-airflow-providers-common-sql``     ``>=1.32.0``
@@ -178,9 +178,9 @@ PIP package                                 Version required
 ``httpx``                                   ``>=0.25.0``
 ``looker-sdk``                              ``>=22.4.0,!=24.18.0``
 ``pandas-gbq``                              ``>=0.7.0``
-``pandas``                                  ``>=2.1.2,<3; python_version < 
"3.13"``
-``pandas``                                  ``>=2.2.3,<3; python_version >= 
"3.13" and python_version < "3.14"``
-``pandas``                                  ``>=2.3.3,<3; python_version >= 
"3.14"``
+``pandas``                                  ``>=2.1.2; python_version < 
"3.13"``
+``pandas``                                  ``>=2.2.3; python_version >= 
"3.13" and python_version < "3.14"``
+``pandas``                                  ``>=2.3.3; python_version >= 
"3.14"``
 ``proto-plus``                              ``>=1.26.0``
 ``pyarrow``                                 ``>=18.0.0; python_version < 
"3.14"``
 ``pyarrow``                                 ``>=22.0.0; python_version >= 
"3.14"``
@@ -191,7 +191,7 @@ PIP package                                 Version required
 ``tenacity``                                ``>=8.3.0``
 ``immutabledict``                           ``>=4.2.0``
 ``types-protobuf``                          ``>=5.27.0,!=5.29.1.20250402``
-==========================================  
====================================================================
+==========================================  
==================================================================
 
 Optional cross provider package dependencies
 --------------------------------------------
diff --git a/providers/google/pyproject.toml b/providers/google/pyproject.toml
index e750891904d..1e9a606d237 100644
--- a/providers/google/pyproject.toml
+++ b/providers/google/pyproject.toml
@@ -134,18 +134,9 @@ dependencies = [
     # See https://github.com/looker-open-source/sdk-codegen/issues/1518
     "looker-sdk>=22.4.0,!=24.18.0",
     "pandas-gbq>=0.7.0",
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.1.2,<3; python_version <"3.13"',
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.2.3,<3; python_version >="3.13" and python_version <"3.14"',
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.3.3,<3; python_version >="3.14"',
+    'pandas>=2.1.2; python_version <"3.13"',
+    'pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"',
+    'pandas>=2.3.3; python_version >="3.14"',
     "proto-plus>=1.26.0",
     # Used to write parquet files by BaseSqlToGCSOperator
     "pyarrow>=18.0.0; python_version < '3.14'",
diff --git a/providers/papermill/README.rst b/providers/papermill/README.rst
index f53de9e48e9..6e7a189fa6e 100644
--- a/providers/papermill/README.rst
+++ b/providers/papermill/README.rst
@@ -50,19 +50,19 @@ The package supports the following python versions: 
3.10,3.11,3.12,3.13,3.14
 Requirements
 ------------
 
-==========================================  
====================================================================
+==========================================  
=================================================================
 PIP package                                 Version required
-==========================================  
====================================================================
+==========================================  
=================================================================
 ``apache-airflow``                          ``>=2.11.0``
 ``apache-airflow-providers-common-compat``  ``>=1.8.0``
 ``papermill[all]``                          ``>=2.6.0``
 ``scrapbook[all]``                          ``>=0.5.0``
 ``ipykernel``                               ``>=6.29.4``
-``pandas``                                  ``>=2.1.2,<3; python_version < 
"3.13"``
-``pandas``                                  ``>=2.2.3,<3; python_version >= 
"3.13" and python_version < "3.14"``
-``pandas``                                  ``>=2.3.3,<3; python_version >= 
"3.14"``
+``pandas``                                  ``>=2.1.2; python_version < 
"3.13"``
+``pandas``                                  ``>=2.2.3; python_version >= 
"3.13" and python_version < "3.14"``
+``pandas``                                  ``>=2.3.3; python_version >= 
"3.14"``
 ``nbconvert``                               ``>=7.16.1``
-==========================================  
====================================================================
+==========================================  
=================================================================
 
 The changelog for the provider package can be found in the
 `changelog 
<https://airflow.apache.org/docs/apache-airflow-providers-papermill/3.13.2/changelog.html>`_.
diff --git a/providers/papermill/docs/index.rst 
b/providers/papermill/docs/index.rst
index 84db1c1016f..4a00ba47673 100644
--- a/providers/papermill/docs/index.rst
+++ b/providers/papermill/docs/index.rst
@@ -97,19 +97,19 @@ Requirements
 
 The minimum Apache Airflow version supported by this provider distribution is 
``2.11.0``.
 
-==========================================  
====================================================================
+==========================================  
=================================================================
 PIP package                                 Version required
-==========================================  
====================================================================
+==========================================  
=================================================================
 ``apache-airflow``                          ``>=2.11.0``
 ``apache-airflow-providers-common-compat``  ``>=1.8.0``
 ``papermill[all]``                          ``>=2.6.0``
 ``scrapbook[all]``                          ``>=0.5.0``
 ``ipykernel``                               ``>=6.29.4``
-``pandas``                                  ``>=2.1.2,<3; python_version < 
"3.13"``
-``pandas``                                  ``>=2.2.3,<3; python_version >= 
"3.13" and python_version < "3.14"``
-``pandas``                                  ``>=2.3.3,<3; python_version >= 
"3.14"``
+``pandas``                                  ``>=2.1.2; python_version < 
"3.13"``
+``pandas``                                  ``>=2.2.3; python_version >= 
"3.13" and python_version < "3.14"``
+``pandas``                                  ``>=2.3.3; python_version >= 
"3.14"``
 ``nbconvert``                               ``>=7.16.1``
-==========================================  
====================================================================
+==========================================  
=================================================================
 
 Downloading official packages
 -----------------------------
diff --git a/providers/papermill/pyproject.toml 
b/providers/papermill/pyproject.toml
index 8351b32b799..cfe221235f7 100644
--- a/providers/papermill/pyproject.toml
+++ b/providers/papermill/pyproject.toml
@@ -64,18 +64,9 @@ dependencies = [
     "papermill[all]>=2.6.0",
     "scrapbook[all]>=0.5.0",
     "ipykernel>=6.29.4",
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.1.2,<3; python_version <"3.13"',
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.2.3,<3; python_version >="3.13" and python_version <"3.14"',
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.3.3,<3; python_version >="3.14"',
+    'pandas>=2.1.2; python_version <"3.13"',
+    'pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"',
+    'pandas>=2.3.3; python_version >="3.14"',
     "nbconvert>=7.16.1",
 ]
 
diff --git a/providers/postgres/docs/index.rst 
b/providers/postgres/docs/index.rst
index afcb3012142..56e5152bdc8 100644
--- a/providers/postgres/docs/index.rst
+++ b/providers/postgres/docs/index.rst
@@ -143,18 +143,18 @@ Install them when installing from PyPI. For example:
     pip install apache-airflow-providers-postgres[amazon]
 
 
-===================  
=====================================================================================================================================================================
+===================  
============================================================================================================================================================
 Extra                Dependencies
-===================  
=====================================================================================================================================================================
+===================  
============================================================================================================================================================
 ``amazon``           ``apache-airflow-providers-amazon>=2.6.0``
 ``asyncpg``          ``asyncpg>=0.30.0``
 ``microsoft.azure``  ``apache-airflow-providers-microsoft-azure>=12.8.0``
 ``openlineage``      ``apache-airflow-providers-openlineage``
-``pandas``           ``pandas>=2.1.2,<3; python_version <"3.13"``, 
``pandas>=2.2.3,<3; python_version >="3.13" and python_version <"3.14"``, 
``pandas>=2.3.3,<3; python_version >="3.14"``
+``pandas``           ``pandas>=2.1.2; python_version <"3.13"``, 
``pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"``, 
``pandas>=2.3.3; python_version >="3.14"``
 ``polars``           ``polars>=1.26.0``
 ``psycopg2``         ``psycopg2-binary>=2.9.9; python_version < '3.13'``, 
``psycopg2-binary>=2.9.10; python_version >= '3.13'``
 ``sqlalchemy``       ``sqlalchemy>=1.4.54``
-===================  
=====================================================================================================================================================================
+===================  
============================================================================================================================================================
 
 Downloading official packages
 -----------------------------
diff --git a/providers/postgres/pyproject.toml 
b/providers/postgres/pyproject.toml
index 583f29b2cdc..d95164ae27f 100644
--- a/providers/postgres/pyproject.toml
+++ b/providers/postgres/pyproject.toml
@@ -93,18 +93,9 @@ dependencies = [
     "apache-airflow-providers-openlineage"
 ]
 "pandas" = [
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.1.2,<3; python_version <"3.13"',
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.2.3,<3; python_version >="3.13" and python_version <"3.14"',
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.3.3,<3; python_version >="3.14"',
+    'pandas>=2.1.2; python_version <"3.13"',
+    'pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"',
+    'pandas>=2.3.3; python_version >="3.14"',
 ]
 "polars" = [
     "polars>=1.26.0"
diff --git a/providers/presto/README.rst b/providers/presto/README.rst
index 4aea9bdc949..f9486643f13 100644
--- a/providers/presto/README.rst
+++ b/providers/presto/README.rst
@@ -50,19 +50,19 @@ The package supports the following python versions: 
3.10,3.11,3.12,3.13,3.14
 Requirements
 ------------
 
-==========================================  
====================================================================
+==========================================  
=================================================================
 PIP package                                 Version required
-==========================================  
====================================================================
+==========================================  
=================================================================
 ``apache-airflow``                          ``>=2.11.0``
 ``apache-airflow-providers-common-compat``  ``>=1.12.0``
 ``apache-airflow-providers-common-sql``     ``>=1.32.0``
 ``presto-python-client``                    ``>=0.8.4``
-``pandas``                                  ``>=2.1.2,<3; python_version < 
"3.13"``
-``pandas``                                  ``>=2.2.3,<3; python_version >= 
"3.13" and python_version < "3.14"``
-``pandas``                                  ``>=2.3.3,<3; python_version >= 
"3.14"``
+``pandas``                                  ``>=2.1.2; python_version < 
"3.13"``
+``pandas``                                  ``>=2.2.3; python_version >= 
"3.13" and python_version < "3.14"``
+``pandas``                                  ``>=2.3.3; python_version >= 
"3.14"``
 ``psycopg2-binary``                         ``>=2.9.9; python_version < 
"3.13"``
 ``psycopg2-binary``                         ``>=2.9.10; python_version >= 
"3.13"``
-==========================================  
====================================================================
+==========================================  
=================================================================
 
 Optional cross provider package dependencies
 --------------------------------------------
diff --git a/providers/presto/docs/index.rst b/providers/presto/docs/index.rst
index b990a5da459..65317d259a8 100644
--- a/providers/presto/docs/index.rst
+++ b/providers/presto/docs/index.rst
@@ -98,19 +98,19 @@ Requirements
 
 The minimum Apache Airflow version supported by this provider distribution is 
``2.11.0``.
 
-==========================================  
====================================================================
+==========================================  
=================================================================
 PIP package                                 Version required
-==========================================  
====================================================================
+==========================================  
=================================================================
 ``apache-airflow``                          ``>=2.11.0``
 ``apache-airflow-providers-common-compat``  ``>=1.12.0``
 ``apache-airflow-providers-common-sql``     ``>=1.32.0``
 ``presto-python-client``                    ``>=0.8.4``
-``pandas``                                  ``>=2.1.2,<3; python_version < 
"3.13"``
-``pandas``                                  ``>=2.2.3,<3; python_version >= 
"3.13" and python_version < "3.14"``
-``pandas``                                  ``>=2.3.3,<3; python_version >= 
"3.14"``
+``pandas``                                  ``>=2.1.2; python_version < 
"3.13"``
+``pandas``                                  ``>=2.2.3; python_version >= 
"3.13" and python_version < "3.14"``
+``pandas``                                  ``>=2.3.3; python_version >= 
"3.14"``
 ``psycopg2-binary``                         ``>=2.9.9; python_version < 
"3.13"``
 ``psycopg2-binary``                         ``>=2.9.10; python_version >= 
"3.13"``
-==========================================  
====================================================================
+==========================================  
=================================================================
 
 Optional cross provider package dependencies
 --------------------------------------------
diff --git a/providers/presto/pyproject.toml b/providers/presto/pyproject.toml
index c1fde9da0d9..cb1506fe164 100644
--- a/providers/presto/pyproject.toml
+++ b/providers/presto/pyproject.toml
@@ -63,18 +63,9 @@ dependencies = [
     "apache-airflow-providers-common-compat>=1.12.0",
     "apache-airflow-providers-common-sql>=1.32.0",
     "presto-python-client>=0.8.4",
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.1.2,<3; python_version <"3.13"',
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.2.3,<3; python_version >="3.13" and python_version <"3.14"',
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.3.3,<3; python_version >="3.14"',
+    'pandas>=2.1.2; python_version <"3.13"',
+    'pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"',
+    'pandas>=2.3.3; python_version >="3.14"',
     'psycopg2-binary>=2.9.9; python_version < "3.13"',
     'psycopg2-binary>=2.9.10; python_version >= "3.13"',
 ]
diff --git a/providers/salesforce/README.rst b/providers/salesforce/README.rst
index ab5ca3e0a15..a6455cdb169 100644
--- a/providers/salesforce/README.rst
+++ b/providers/salesforce/README.rst
@@ -50,16 +50,16 @@ The package supports the following python versions: 
3.10,3.11,3.12,3.13,3.14
 Requirements
 ------------
 
-==========================================  
====================================================================
+==========================================  
=================================================================
 PIP package                                 Version required
-==========================================  
====================================================================
+==========================================  
=================================================================
 ``apache-airflow``                          ``>=2.11.0``
 ``apache-airflow-providers-common-compat``  ``>=1.10.1``
 ``simple-salesforce``                       ``>=1.0.0``
-``pandas``                                  ``>=2.1.2,<3; python_version < 
"3.13"``
-``pandas``                                  ``>=2.2.3,<3; python_version >= 
"3.13" and python_version < "3.14"``
-``pandas``                                  ``>=2.3.3,<3; python_version >= 
"3.14"``
-==========================================  
====================================================================
+``pandas``                                  ``>=2.1.2; python_version < 
"3.13"``
+``pandas``                                  ``>=2.2.3; python_version >= 
"3.13" and python_version < "3.14"``
+``pandas``                                  ``>=2.3.3; python_version >= 
"3.14"``
+==========================================  
=================================================================
 
 The changelog for the provider package can be found in the
 `changelog 
<https://airflow.apache.org/docs/apache-airflow-providers-salesforce/5.14.2/changelog.html>`_.
diff --git a/providers/salesforce/docs/index.rst 
b/providers/salesforce/docs/index.rst
index 2fa5706cbe9..69ab6cdf6ca 100644
--- a/providers/salesforce/docs/index.rst
+++ b/providers/salesforce/docs/index.rst
@@ -97,16 +97,16 @@ Requirements
 
 The minimum Apache Airflow version supported by this provider distribution is 
``2.11.0``.
 
-==========================================  
====================================================================
+==========================================  
=================================================================
 PIP package                                 Version required
-==========================================  
====================================================================
+==========================================  
=================================================================
 ``apache-airflow``                          ``>=2.11.0``
 ``apache-airflow-providers-common-compat``  ``>=1.10.1``
 ``simple-salesforce``                       ``>=1.0.0``
-``pandas``                                  ``>=2.1.2,<3; python_version < 
"3.13"``
-``pandas``                                  ``>=2.2.3,<3; python_version >= 
"3.13" and python_version < "3.14"``
-``pandas``                                  ``>=2.3.3,<3; python_version >= 
"3.14"``
-==========================================  
====================================================================
+``pandas``                                  ``>=2.1.2; python_version < 
"3.13"``
+``pandas``                                  ``>=2.2.3; python_version >= 
"3.13" and python_version < "3.14"``
+``pandas``                                  ``>=2.3.3; python_version >= 
"3.14"``
+==========================================  
=================================================================
 
 Downloading official packages
 -----------------------------
diff --git a/providers/salesforce/pyproject.toml 
b/providers/salesforce/pyproject.toml
index 38780a67cc7..0908820c2f8 100644
--- a/providers/salesforce/pyproject.toml
+++ b/providers/salesforce/pyproject.toml
@@ -62,18 +62,9 @@ dependencies = [
     "apache-airflow>=2.11.0",
     "apache-airflow-providers-common-compat>=1.10.1",
     "simple-salesforce>=1.0.0",
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.1.2,<3; python_version <"3.13"',
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.2.3,<3; python_version >="3.13" and python_version <"3.14"',
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.3.3,<3; python_version >="3.14"',
+    'pandas>=2.1.2; python_version <"3.13"',
+    'pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"',
+    'pandas>=2.3.3; python_version >="3.14"',
 ]
 
 [dependency-groups]
diff --git a/providers/snowflake/README.rst b/providers/snowflake/README.rst
index 680cb0d8cf3..628e771ed8f 100644
--- a/providers/snowflake/README.rst
+++ b/providers/snowflake/README.rst
@@ -56,9 +56,9 @@ PIP package                                 Version required
 ``apache-airflow``                          ``>=2.11.0``
 ``apache-airflow-providers-common-compat``  ``>=1.12.0``
 ``apache-airflow-providers-common-sql``     ``>=1.32.0``
-``pandas``                                  ``>=2.1.2,<3; python_version < 
"3.13"``
-``pandas``                                  ``>=2.2.3,<3; python_version >= 
"3.13" and python_version < "3.14"``
-``pandas``                                  ``>=2.3.3,<3; python_version >= 
"3.14"``
+``pandas``                                  ``>=2.1.2; python_version < 
"3.13"``
+``pandas``                                  ``>=2.2.3; python_version >= 
"3.13" and python_version < "3.14"``
+``pandas``                                  ``>=2.3.3; python_version >= 
"3.14"``
 ``pyarrow``                                 ``>=16.1.0; python_version < 
"3.13"``
 ``pyarrow``                                 ``>=18.0.0; python_version >= 
"3.13" and python_version < "3.14"``
 ``pyarrow``                                 ``>=22.0.0; python_version >= 
"3.14"``
diff --git a/providers/snowflake/docs/index.rst 
b/providers/snowflake/docs/index.rst
index 1fb9aa7c2ec..793cbae42e0 100644
--- a/providers/snowflake/docs/index.rst
+++ b/providers/snowflake/docs/index.rst
@@ -105,9 +105,9 @@ PIP package                                 Version required
 ``apache-airflow``                          ``>=2.11.0``
 ``apache-airflow-providers-common-compat``  ``>=1.12.0``
 ``apache-airflow-providers-common-sql``     ``>=1.32.0``
-``pandas``                                  ``>=2.1.2,<3; python_version < 
"3.13"``
-``pandas``                                  ``>=2.2.3,<3; python_version >= 
"3.13" and python_version < "3.14"``
-``pandas``                                  ``>=2.3.3,<3; python_version >= 
"3.14"``
+``pandas``                                  ``>=2.1.2; python_version < 
"3.13"``
+``pandas``                                  ``>=2.2.3; python_version >= 
"3.13" and python_version < "3.14"``
+``pandas``                                  ``>=2.3.3; python_version >= 
"3.14"``
 ``pyarrow``                                 ``>=16.1.0; python_version < 
"3.13"``
 ``pyarrow``                                 ``>=18.0.0; python_version >= 
"3.13" and python_version < "3.14"``
 ``pyarrow``                                 ``>=22.0.0; python_version >= 
"3.14"``
diff --git a/providers/snowflake/pyproject.toml 
b/providers/snowflake/pyproject.toml
index 5503d6e48cc..a8d84362909 100644
--- a/providers/snowflake/pyproject.toml
+++ b/providers/snowflake/pyproject.toml
@@ -62,18 +62,9 @@ dependencies = [
     "apache-airflow>=2.11.0",
     "apache-airflow-providers-common-compat>=1.12.0",
     "apache-airflow-providers-common-sql>=1.32.0",
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.1.2,<3; python_version <"3.13"',
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.2.3,<3; python_version >="3.13" and python_version <"3.14"',
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.3.3,<3; python_version >="3.14"',
+    'pandas>=2.1.2; python_version <"3.13"',
+    'pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"',
+    'pandas>=2.3.3; python_version >="3.14"',
     "pyarrow>=16.1.0; python_version < '3.13'",
     "pyarrow>=18.0.0; python_version >= '3.13' and python_version < '3.14'",
     "pyarrow>=22.0.0; python_version >= '3.14'",
diff --git a/providers/trino/README.rst b/providers/trino/README.rst
index 2575de22957..59a497c0bb4 100644
--- a/providers/trino/README.rst
+++ b/providers/trino/README.rst
@@ -50,17 +50,17 @@ The package supports the following python versions: 
3.10,3.11,3.12,3.13,3.14
 Requirements
 ------------
 
-==========================================  
====================================================================
+==========================================  
=================================================================
 PIP package                                 Version required
-==========================================  
====================================================================
+==========================================  
=================================================================
 ``apache-airflow``                          ``>=2.11.0``
 ``apache-airflow-providers-common-compat``  ``>=1.12.0``
 ``apache-airflow-providers-common-sql``     ``>=1.32.0``
-``pandas``                                  ``>=2.1.2,<3; python_version < 
"3.13"``
-``pandas``                                  ``>=2.2.3,<3; python_version >= 
"3.13" and python_version < "3.14"``
-``pandas``                                  ``>=2.3.3,<3; python_version >= 
"3.14"``
+``pandas``                                  ``>=2.1.2; python_version < 
"3.13"``
+``pandas``                                  ``>=2.2.3; python_version >= 
"3.13" and python_version < "3.14"``
+``pandas``                                  ``>=2.3.3; python_version >= 
"3.14"``
 ``trino``                                   ``>=0.319.0``
-==========================================  
====================================================================
+==========================================  
=================================================================
 
 Optional cross provider package dependencies
 --------------------------------------------
diff --git a/providers/trino/docs/index.rst b/providers/trino/docs/index.rst
index aefcf7db66c..079a0d94a50 100644
--- a/providers/trino/docs/index.rst
+++ b/providers/trino/docs/index.rst
@@ -98,17 +98,17 @@ Requirements
 
 The minimum Apache Airflow version supported by this provider distribution is 
``2.11.0``.
 
-==========================================  
====================================================================
+==========================================  
=================================================================
 PIP package                                 Version required
-==========================================  
====================================================================
+==========================================  
=================================================================
 ``apache-airflow``                          ``>=2.11.0``
 ``apache-airflow-providers-common-compat``  ``>=1.12.0``
 ``apache-airflow-providers-common-sql``     ``>=1.32.0``
-``pandas``                                  ``>=2.1.2,<3; python_version < 
"3.13"``
-``pandas``                                  ``>=2.2.3,<3; python_version >= 
"3.13" and python_version < "3.14"``
-``pandas``                                  ``>=2.3.3,<3; python_version >= 
"3.14"``
+``pandas``                                  ``>=2.1.2; python_version < 
"3.13"``
+``pandas``                                  ``>=2.2.3; python_version >= 
"3.13" and python_version < "3.14"``
+``pandas``                                  ``>=2.3.3; python_version >= 
"3.14"``
 ``trino``                                   ``>=0.319.0``
-==========================================  
====================================================================
+==========================================  
=================================================================
 
 Optional cross provider package dependencies
 --------------------------------------------
diff --git a/providers/trino/pyproject.toml b/providers/trino/pyproject.toml
index 3f72a5f242b..b0e66c047c8 100644
--- a/providers/trino/pyproject.toml
+++ b/providers/trino/pyproject.toml
@@ -62,18 +62,9 @@ dependencies = [
     "apache-airflow>=2.11.0",
     "apache-airflow-providers-common-compat>=1.12.0",
     "apache-airflow-providers-common-sql>=1.32.0",
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.1.2,<3; python_version <"3.13"',
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.2.3,<3; python_version >="3.13" and python_version <"3.14"',
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.3.3,<3; python_version >="3.14"',
+    'pandas>=2.1.2; python_version <"3.13"',
+    'pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"',
+    'pandas>=2.3.3; python_version >="3.14"',
     "trino>=0.319.0",
 ]
 
diff --git a/providers/weaviate/README.rst b/providers/weaviate/README.rst
index 593ad8725db..d4198503860 100644
--- a/providers/weaviate/README.rst
+++ b/providers/weaviate/README.rst
@@ -50,17 +50,17 @@ The package supports the following python versions: 
3.10,3.11,3.12,3.13,3.14
 Requirements
 ------------
 
-==========================================  
====================================================================
+==========================================  
=================================================================
 PIP package                                 Version required
-==========================================  
====================================================================
+==========================================  
=================================================================
 ``apache-airflow``                          ``>=2.11.0``
 ``apache-airflow-providers-common-compat``  ``>=1.8.0``
 ``httpx``                                   ``>=0.25.0``
 ``weaviate-client``                         ``>=4.16.0,!=4.16.7``
-``pandas``                                  ``>=2.1.2,<3; python_version < 
"3.13"``
-``pandas``                                  ``>=2.2.3,<3; python_version >= 
"3.13" and python_version < "3.14"``
-``pandas``                                  ``>=2.3.3,<3; python_version >= 
"3.14"``
-==========================================  
====================================================================
+``pandas``                                  ``>=2.1.2; python_version < 
"3.13"``
+``pandas``                                  ``>=2.2.3; python_version >= 
"3.13" and python_version < "3.14"``
+``pandas``                                  ``>=2.3.3; python_version >= 
"3.14"``
+==========================================  
=================================================================
 
 The changelog for the provider package can be found in the
 `changelog 
<https://airflow.apache.org/docs/apache-airflow-providers-weaviate/3.4.1/changelog.html>`_.
diff --git a/providers/weaviate/docs/index.rst 
b/providers/weaviate/docs/index.rst
index 1b5e52e6650..48b8b058e91 100644
--- a/providers/weaviate/docs/index.rst
+++ b/providers/weaviate/docs/index.rst
@@ -99,17 +99,17 @@ Requirements
 
 The minimum Apache Airflow version supported by this provider distribution is 
``2.11.0``.
 
-==========================================  
====================================================================
+==========================================  
=================================================================
 PIP package                                 Version required
-==========================================  
====================================================================
+==========================================  
=================================================================
 ``apache-airflow``                          ``>=2.11.0``
 ``apache-airflow-providers-common-compat``  ``>=1.8.0``
 ``httpx``                                   ``>=0.25.0``
 ``weaviate-client``                         ``>=4.16.0,!=4.16.7``
-``pandas``                                  ``>=2.1.2,<3; python_version < 
"3.13"``
-``pandas``                                  ``>=2.2.3,<3; python_version >= 
"3.13" and python_version < "3.14"``
-``pandas``                                  ``>=2.3.3,<3; python_version >= 
"3.14"``
-==========================================  
====================================================================
+``pandas``                                  ``>=2.1.2; python_version < 
"3.13"``
+``pandas``                                  ``>=2.2.3; python_version >= 
"3.13" and python_version < "3.14"``
+``pandas``                                  ``>=2.3.3; python_version >= 
"3.14"``
+==========================================  
=================================================================
 
 Downloading official packages
 -----------------------------
diff --git a/providers/weaviate/pyproject.toml 
b/providers/weaviate/pyproject.toml
index 7c1aaefe14a..02d1adfc092 100644
--- a/providers/weaviate/pyproject.toml
+++ b/providers/weaviate/pyproject.toml
@@ -63,18 +63,9 @@ dependencies = [
     "apache-airflow-providers-common-compat>=1.8.0",
     "httpx>=0.25.0",
     "weaviate-client>=4.16.0,!=4.16.7",
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.1.2,<3; python_version <"3.13"',
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.2.3,<3; python_version >="3.13" and python_version <"3.14"',
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    'pandas>=2.3.3,<3; python_version >="3.14"',
+    'pandas>=2.1.2; python_version <"3.13"',
+    'pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"',
+    'pandas>=2.3.3; python_version >="3.14"',
 ]
 
 [dependency-groups]
diff --git a/task-sdk/pyproject.toml b/task-sdk/pyproject.toml
index 6c540ee3bc9..bb8f7e2c3f4 100644
--- a/task-sdk/pyproject.toml
+++ b/task-sdk/pyproject.toml
@@ -224,18 +224,9 @@ dev = [
     "apache-airflow-providers-common-sql",
     "apache-airflow-providers-standard",
     "apache-airflow-devel-common",
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    "pandas>=2.1.2,<3; python_version <\"3.13\"",
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    "pandas>=2.2.3,<3; python_version >=\"3.13\" and python_version <\"3.14\"",
-    # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame 
XComs do not
-    # round trip; capped until pandas 3 support lands.
-    # Tracked at https://github.com/apache/airflow/pull/70558
-    "pandas>=2.3.3,<3; python_version >=\"3.14\""
+    "pandas>=2.1.2; python_version <\"3.13\"",
+    "pandas>=2.2.3; python_version >=\"3.13\" and python_version <\"3.14\"",
+    "pandas>=2.3.3; python_version >=\"3.14\""
 ]
 docs = [
     "apache-airflow-devel-common[docs]",
diff --git a/task-sdk/src/airflow/sdk/serde/serializers/pandas.py 
b/task-sdk/src/airflow/sdk/serde/serializers/pandas.py
index a3562f5af47..72a2e818a11 100644
--- a/task-sdk/src/airflow/sdk/serde/serializers/pandas.py
+++ b/task-sdk/src/airflow/sdk/serde/serializers/pandas.py
@@ -22,49 +22,11 @@ from typing import TYPE_CHECKING
 from airflow.sdk.module_loading import qualname
 
 # lazy loading for performance reasons
-#
-# ``pandas.core.frame.DataFrame`` is what a DataFrame qualifies as under 
pandas 2. Under
-# pandas 3 the public classes moved to the ``pandas`` namespace, so the same 
object
-# qualifies as ``pandas.DataFrame``. That name is registered too, but *only* 
so that the
-# registry dispatches here and this module can refuse it with an actionable 
message --
-# without it the caller gets serde's generic "cannot serialize object of type" 
instead.
-# See ``_reject_pandas_3`` below.
 serializers = [
     "pandas.core.frame.DataFrame",
-    "pandas.DataFrame",
 ]
 deserializers = serializers
 
-# First pandas major version whose DataFrame XComs this version of Airflow 
does not support.
-_FIRST_UNSUPPORTED_PANDAS_MAJOR = 3
-
-
-def _reject_pandas_3(pd) -> None:
-    """
-    Refuse a DataFrame XCom when the installed pandas is 3 or newer.
-
-    pandas is an optional dependency, so the ``<3`` constraint Airflow 
declares cannot be
-    relied on: a deployment may install pandas 3 directly, or pull it in 
through another
-    package. This is the runtime half of that constraint.
-
-    The failure is deliberate rather than best-effort. Under pandas 3 a 
DataFrame round
-    trips through parquet with different dtypes than under pandas 2 -- an 
``object`` column
-    comes back as ``str`` and missing values as ``nan`` rather than ``None`` 
-- so silently
-    accepting the value would hand tasks data that differs from what was 
written, with no
-    signal. Failing on the write is the louder and more recoverable half of 
that.
-    """
-    major = int(pd.__version__.split(".")[0])
-    if major < _FIRST_UNSUPPORTED_PANDAS_MAJOR:
-        return
-    raise RuntimeError(
-        f"DataFrame XComs are not supported with pandas {pd.__version__}: this 
version of "
-        f"Airflow supports pandas < {_FIRST_UNSUPPORTED_PANDAS_MAJOR} for XCom 
serialization. "
-        "Pin pandas < 3 in the environment that runs your tasks, or avoid 
passing DataFrames "
-        "through XCom. Moving to pandas 3 is a deliberate migration -- its 
DataFrames read "
-        "back with different dtypes -- and Airflow will enable it in a future 
release."
-    )
-
-
 if TYPE_CHECKING:
     import pandas as pd
 
@@ -81,8 +43,6 @@ def serialize(o: object) -> tuple[U, str, int, bool]:
     if not isinstance(o, pd.DataFrame):
         return "", "", 0, False
 
-    _reject_pandas_3(pd)
-
     # for now, we *always* serialize into in memory
     # until we have a generic backend that manages
     # sinks
@@ -102,11 +62,6 @@ def deserialize(cls: type, version: int, data: object) -> 
pd.DataFrame:
     if cls is not pd.DataFrame:
         raise TypeError(f"do not know how to deserialize {qualname(cls)}")
 
-    # Reading is refused too, not just writing: a payload written under pandas 
2 comes back
-    # with pandas 3 dtypes, so the task would silently receive different data 
than was
-    # pushed. An error is the safer outcome.
-    _reject_pandas_3(pd)
-
     if not isinstance(data, str):
         raise TypeError(f"serialized {qualname(cls)} has wrong data type 
{type(data)}")
 
diff --git a/task-sdk/tests/task_sdk/serde/test_serializers.py 
b/task-sdk/tests/task_sdk/serde/test_serializers.py
index 8ef21272194..7e2ade64ebd 100644
--- a/task-sdk/tests/task_sdk/serde/test_serializers.py
+++ b/task-sdk/tests/task_sdk/serde/test_serializers.py
@@ -286,34 +286,6 @@ class TestSerializers:
 
         assert serialize(123) == ("", "", 0, False)
 
-    def test_pandas_3_dataframe_name_is_registered(self):
-        """The pandas 3 qualname must be registered, or the guard below is 
unreachable.
-
-        Under pandas 3 a DataFrame qualifies as ``pandas.DataFrame``. serde 
dispatches on
-        that name, so if it is absent from the registry the caller gets the 
generic
-        "cannot serialize object of type" from serde and never reaches this 
module.
-        """
-        from airflow.sdk.serde.serializers.pandas import deserializers, 
serializers
-
-        assert "pandas.DataFrame" in serializers
-        assert "pandas.core.frame.DataFrame" in deserializers
-
-    @pytest.mark.parametrize("version", ["3.0.0", "3.0.5", "4.1.2"])
-    def test_pandas_3_dataframe_xcom_is_refused(self, monkeypatch, version):
-        """pandas >= 3 must fail loudly on both write and read, not round trip 
silently."""
-        import pandas as pd
-
-        from airflow.sdk.serde.serializers import pandas as pandas_serializer
-
-        monkeypatch.setattr(pd, "__version__", version)
-        df = pd.DataFrame(data={"col1": [1, 2], "col2": [3, 4]})
-
-        with pytest.raises(RuntimeError, match=rf"DataFrame XComs are not 
supported with pandas {version}"):
-            pandas_serializer.serialize(df)
-
-        with pytest.raises(RuntimeError, match=r"DataFrame XComs are not 
supported with pandas"):
-            pandas_serializer.deserialize(pd.DataFrame, 1, "")
-
     @pytest.mark.parametrize(
         ("klass", "version", "data", "msg"),
         [
diff --git a/uv.lock b/uv.lock
index 3b52d8d26c2..9321fb52ec7 100644
--- a/uv.lock
+++ b/uv.lock
@@ -3180,9 +3180,9 @@ requires-dist = [
     { name = "jsonpath-ng", specifier = ">=1.5.3" },
     { name = "lxml", marker = "python_full_version < '3.13' and extra == 
'python3-saml'", specifier = ">=6.0.0" },
     { name = "marshmallow", specifier = ">=3" },
-    { name = "pandas", marker = "python_full_version == '3.13.*' and extra == 
'pandas'", specifier = ">=2.2.3,<3" },
-    { name = "pandas", marker = "python_full_version < '3.13' and extra == 
'pandas'", specifier = ">=2.1.2,<3" },
-    { name = "pandas", marker = "python_full_version >= '3.14' and extra == 
'pandas'", specifier = ">=2.3.3,<3" },
+    { name = "pandas", marker = "python_full_version == '3.13.*' and extra == 
'pandas'", specifier = ">=2.2.3" },
+    { name = "pandas", marker = "python_full_version < '3.13' and extra == 
'pandas'", specifier = ">=2.1.2" },
+    { name = "pandas", marker = "python_full_version >= '3.14' and extra == 
'pandas'", specifier = ">=2.3.3" },
     { name = "pyathena", specifier = ">=3.10.0" },
     { name = "python3-saml", marker = "python_full_version < '3.13' and extra 
== 'python3-saml'", specifier = ">=1.16.0" },
     { name = "redshift-connector", specifier = ">=2.1.3" },
@@ -3488,9 +3488,9 @@ requires-dist = [
     { name = "fastavro", marker = "python_full_version >= '3.14'", specifier = 
">=1.12.1" },
     { name = "hdfs", extras = ["avro", "dataframe", "kerberos"], marker = 
"python_full_version < '3.12'", specifier = ">=2.5.4" },
     { name = "hdfs", extras = ["avro", "dataframe", "kerberos"], marker = 
"python_full_version >= '3.12'", specifier = ">=2.7.3" },
-    { name = "pandas", marker = "python_full_version < '3.13'", specifier = 
">=2.1.2,<3" },
-    { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = 
">=2.2.3,<3" },
-    { name = "pandas", marker = "python_full_version >= '3.14'", specifier = 
">=2.3.3,<3" },
+    { name = "pandas", marker = "python_full_version < '3.13'", specifier = 
">=2.1.2" },
+    { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = 
">=2.2.3" },
+    { name = "pandas", marker = "python_full_version >= '3.14'", specifier = 
">=2.3.3" },
 ]
 
 [package.metadata.requires-dev]
@@ -3578,9 +3578,9 @@ requires-dist = [
     { name = "hmsclient", specifier = ">=0.1.0" },
     { name = "jmespath", specifier = ">=0.7.0" },
     { name = "kerberos", marker = "sys_platform != 'win32' and extra == 
'gssapi'", specifier = ">=1.3.0" },
-    { name = "pandas", marker = "python_full_version < '3.13'", specifier = 
">=2.1.2,<3" },
-    { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = 
">=2.2.3,<3" },
-    { name = "pandas", marker = "python_full_version >= '3.14'", specifier = 
">=2.3.3,<3" },
+    { name = "pandas", marker = "python_full_version < '3.13'", specifier = 
">=2.1.2" },
+    { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = 
">=2.2.3" },
+    { name = "pandas", marker = "python_full_version >= '3.14'", specifier = 
">=2.3.3" },
     { name = "pyhive", extras = ["hive-pure-sasl"], specifier = ">=0.7.0" },
     { name = "sqlalchemy", marker = "extra == 'sqlalchemy'", specifier = 
">=1.4.54" },
     { name = "winkerberos", marker = "sys_platform == 'win32' and extra == 
'gssapi'", specifier = ">=0.7.0" },
@@ -4763,9 +4763,9 @@ requires-dist = [
     { name = "datafusion", marker = "extra == 'datafusion'", specifier = 
">=50.0.0,<52.0.0" },
     { name = "methodtools", specifier = ">=0.4.7" },
     { name = "more-itertools", specifier = ">=9.0.0" },
-    { name = "pandas", marker = "python_full_version == '3.13.*' and extra == 
'pandas'", specifier = ">=2.2.3,<3" },
-    { name = "pandas", marker = "python_full_version >= '3.14' and extra == 
'pandas'", specifier = ">=2.3.3,<3" },
-    { name = "pandas", extras = ["sql-other"], marker = "python_full_version < 
'3.13' and extra == 'pandas'", specifier = ">=2.1.2,<3" },
+    { name = "pandas", marker = "python_full_version == '3.13.*' and extra == 
'pandas'", specifier = ">=2.2.3" },
+    { name = "pandas", marker = "python_full_version >= '3.14' and extra == 
'pandas'", specifier = ">=2.3.3" },
+    { name = "pandas", extras = ["sql-other"], marker = "python_full_version < 
'3.13' and extra == 'pandas'", specifier = ">=2.1.2" },
     { name = "polars", marker = "extra == 'polars'", specifier = ">=1.26.0" },
     { name = "pyiceberg-core", marker = "extra == 'pyiceberg-core'", specifier 
= ">=0.8.0" },
     { name = "sqlalchemy", marker = "extra == 'sqlalchemy'", specifier = 
">=1.4.54" },
@@ -4877,9 +4877,9 @@ requires-dist = [
     { name = "fastavro", marker = "python_full_version >= '3.14' and extra == 
'avro'", specifier = ">=1.12.1" },
     { name = "fastavro", marker = "python_full_version < '3.14' and extra == 
'avro'", specifier = ">=1.9.0" },
     { name = "mergedeep", specifier = ">=1.3.4" },
-    { name = "pandas", marker = "python_full_version < '3.13'", specifier = 
">=2.1.2,<3" },
-    { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = 
">=2.2.3,<3" },
-    { name = "pandas", marker = "python_full_version >= '3.14'", specifier = 
">=2.3.3,<3" },
+    { name = "pandas", marker = "python_full_version < '3.13'", specifier = 
">=2.1.2" },
+    { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = 
">=2.2.3" },
+    { name = "pandas", marker = "python_full_version >= '3.14'", specifier = 
">=2.3.3" },
     { name = "pyarrow", marker = "python_full_version < '3.13'", specifier = 
">=16.1.0" },
     { name = "pyarrow", marker = "python_full_version == '3.13.*'", specifier 
= ">=18.0.0" },
     { name = "pyarrow", marker = "python_full_version >= '3.14'", specifier = 
">=22.0.0" },
@@ -5241,9 +5241,9 @@ requires-dist = [
     { name = "apache-airflow", editable = "." },
     { name = "apache-airflow-providers-common-compat", editable = 
"providers/common/compat" },
     { name = "apache-airflow-providers-common-sql", editable = 
"providers/common/sql" },
-    { name = "pandas", marker = "python_full_version < '3.13'", specifier = 
">=2.1.2,<3" },
-    { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = 
">=2.2.3,<3" },
-    { name = "pandas", marker = "python_full_version >= '3.14'", specifier = 
">=2.3.3,<3" },
+    { name = "pandas", marker = "python_full_version < '3.13'", specifier = 
">=2.1.2" },
+    { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = 
">=2.2.3" },
+    { name = "pandas", marker = "python_full_version >= '3.14'", specifier = 
">=2.3.3" },
     { name = "pyexasol", specifier = ">=0.26.0,<2" },
     { name = "sqlalchemy", marker = "extra == 'sqlalchemy'", specifier = 
">=1.4.54" },
 ]
@@ -5759,9 +5759,9 @@ requires-dist = [
     { name = "httpx", specifier = ">=0.25.0" },
     { name = "immutabledict", specifier = ">=4.2.0" },
     { name = "looker-sdk", specifier = ">=22.4.0,!=24.18.0" },
-    { name = "pandas", marker = "python_full_version < '3.13'", specifier = 
">=2.1.2,<3" },
-    { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = 
">=2.2.3,<3" },
-    { name = "pandas", marker = "python_full_version >= '3.14'", specifier = 
">=2.3.3,<3" },
+    { name = "pandas", marker = "python_full_version < '3.13'", specifier = 
">=2.1.2" },
+    { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = 
">=2.2.3" },
+    { name = "pandas", marker = "python_full_version >= '3.14'", specifier = 
">=2.3.3" },
     { name = "pandas-gbq", specifier = ">=0.7.0" },
     { name = "plyvel", marker = "python_full_version < '3.13' and extra == 
'leveldb'", specifier = ">=1.5.1" },
     { name = "proto-plus", specifier = ">=1.26.0" },
@@ -7085,9 +7085,9 @@ requires-dist = [
     { name = "apache-airflow-providers-common-compat", editable = 
"providers/common/compat" },
     { name = "ipykernel", specifier = ">=6.29.4" },
     { name = "nbconvert", specifier = ">=7.16.1" },
-    { name = "pandas", marker = "python_full_version < '3.13'", specifier = 
">=2.1.2,<3" },
-    { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = 
">=2.2.3,<3" },
-    { name = "pandas", marker = "python_full_version >= '3.14'", specifier = 
">=2.3.3,<3" },
+    { name = "pandas", marker = "python_full_version < '3.13'", specifier = 
">=2.1.2" },
+    { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = 
">=2.2.3" },
+    { name = "pandas", marker = "python_full_version >= '3.14'", specifier = 
">=2.3.3" },
     { name = "papermill", extras = ["all"], specifier = ">=2.6.0" },
     { name = "scrapbook", extras = ["all"], specifier = ">=0.5.0" },
 ]
@@ -7253,9 +7253,9 @@ requires-dist = [
     { name = "apache-airflow-providers-openlineage", marker = "extra == 
'openlineage'", editable = "providers/openlineage" },
     { name = "asyncpg", specifier = ">=0.30.0" },
     { name = "asyncpg", marker = "extra == 'asyncpg'", specifier = ">=0.30.0" 
},
-    { name = "pandas", marker = "python_full_version == '3.13.*' and extra == 
'pandas'", specifier = ">=2.2.3,<3" },
-    { name = "pandas", marker = "python_full_version < '3.13' and extra == 
'pandas'", specifier = ">=2.1.2,<3" },
-    { name = "pandas", marker = "python_full_version >= '3.14' and extra == 
'pandas'", specifier = ">=2.3.3,<3" },
+    { name = "pandas", marker = "python_full_version == '3.13.*' and extra == 
'pandas'", specifier = ">=2.2.3" },
+    { name = "pandas", marker = "python_full_version < '3.13' and extra == 
'pandas'", specifier = ">=2.1.2" },
+    { name = "pandas", marker = "python_full_version >= '3.14' and extra == 
'pandas'", specifier = ">=2.3.3" },
     { name = "polars", marker = "extra == 'polars'", specifier = ">=1.26.0" },
     { name = "psycopg", extras = ["binary"], marker = "python_full_version < 
'3.14'", specifier = ">=3.2.9" },
     { name = "psycopg", extras = ["binary"], marker = "python_full_version >= 
'3.14'", specifier = ">=3.3.3" },
@@ -7326,9 +7326,9 @@ requires-dist = [
     { name = "apache-airflow-providers-common-compat", editable = 
"providers/common/compat" },
     { name = "apache-airflow-providers-common-sql", editable = 
"providers/common/sql" },
     { name = "apache-airflow-providers-google", marker = "extra == 'google'", 
editable = "providers/google" },
-    { name = "pandas", marker = "python_full_version < '3.13'", specifier = 
">=2.1.2,<3" },
-    { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = 
">=2.2.3,<3" },
-    { name = "pandas", marker = "python_full_version >= '3.14'", specifier = 
">=2.3.3,<3" },
+    { name = "pandas", marker = "python_full_version < '3.13'", specifier = 
">=2.1.2" },
+    { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = 
">=2.2.3" },
+    { name = "pandas", marker = "python_full_version >= '3.14'", specifier = 
">=2.3.3" },
     { name = "presto-python-client", specifier = ">=0.8.4" },
     { name = "psycopg2-binary", marker = "python_full_version < '3.13'", 
specifier = ">=2.9.9" },
     { name = "psycopg2-binary", marker = "python_full_version >= '3.13'", 
specifier = ">=2.9.10" },
@@ -7459,9 +7459,9 @@ docs = [
 requires-dist = [
     { name = "apache-airflow", editable = "." },
     { name = "apache-airflow-providers-common-compat", editable = 
"providers/common/compat" },
-    { name = "pandas", marker = "python_full_version < '3.13'", specifier = 
">=2.1.2,<3" },
-    { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = 
">=2.2.3,<3" },
-    { name = "pandas", marker = "python_full_version >= '3.14'", specifier = 
">=2.3.3,<3" },
+    { name = "pandas", marker = "python_full_version < '3.13'", specifier = 
">=2.1.2" },
+    { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = 
">=2.2.3" },
+    { name = "pandas", marker = "python_full_version >= '3.14'", specifier = 
">=2.3.3" },
     { name = "simple-salesforce", specifier = ">=1.0.0" },
 ]
 
@@ -7824,9 +7824,9 @@ requires-dist = [
     { name = "apache-airflow-providers-common-sql", editable = 
"providers/common/sql" },
     { name = "apache-airflow-providers-microsoft-azure", marker = "extra == 
'microsoft-azure'", editable = "providers/microsoft/azure" },
     { name = "apache-airflow-providers-openlineage", marker = "extra == 
'openlineage'", editable = "providers/openlineage" },
-    { name = "pandas", marker = "python_full_version < '3.13'", specifier = 
">=2.1.2,<3" },
-    { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = 
">=2.2.3,<3" },
-    { name = "pandas", marker = "python_full_version >= '3.14'", specifier = 
">=2.3.3,<3" },
+    { name = "pandas", marker = "python_full_version < '3.13'", specifier = 
">=2.1.2" },
+    { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = 
">=2.2.3" },
+    { name = "pandas", marker = "python_full_version >= '3.14'", specifier = 
">=2.3.3" },
     { name = "pyarrow", marker = "python_full_version < '3.13'", specifier = 
">=16.1.0" },
     { name = "pyarrow", marker = "python_full_version == '3.13.*'", specifier 
= ">=18.0.0" },
     { name = "pyarrow", marker = "python_full_version >= '3.14'", specifier = 
">=22.0.0" },
@@ -8159,9 +8159,9 @@ requires-dist = [
     { name = "apache-airflow-providers-common-sql", editable = 
"providers/common/sql" },
     { name = "apache-airflow-providers-google", marker = "extra == 'google'", 
editable = "providers/google" },
     { name = "apache-airflow-providers-openlineage", marker = "extra == 
'openlineage'", editable = "providers/openlineage" },
-    { name = "pandas", marker = "python_full_version < '3.13'", specifier = 
">=2.1.2,<3" },
-    { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = 
">=2.2.3,<3" },
-    { name = "pandas", marker = "python_full_version >= '3.14'", specifier = 
">=2.3.3,<3" },
+    { name = "pandas", marker = "python_full_version < '3.13'", specifier = 
">=2.1.2" },
+    { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = 
">=2.2.3" },
+    { name = "pandas", marker = "python_full_version >= '3.14'", specifier = 
">=2.3.3" },
     { name = "trino", specifier = ">=0.319.0" },
 ]
 provides-extras = ["google", "openlineage"]
@@ -8297,9 +8297,9 @@ requires-dist = [
     { name = "apache-airflow", editable = "." },
     { name = "apache-airflow-providers-common-compat", editable = 
"providers/common/compat" },
     { name = "httpx", specifier = ">=0.25.0" },
-    { name = "pandas", marker = "python_full_version < '3.13'", specifier = 
">=2.1.2,<3" },
-    { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = 
">=2.2.3,<3" },
-    { name = "pandas", marker = "python_full_version >= '3.14'", specifier = 
">=2.3.3,<3" },
+    { name = "pandas", marker = "python_full_version < '3.13'", specifier = 
">=2.1.2" },
+    { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = 
">=2.2.3" },
+    { name = "pandas", marker = "python_full_version >= '3.14'", specifier = 
">=2.3.3" },
     { name = "weaviate-client", specifier = ">=4.16.0,!=4.16.7" },
 ]
 
@@ -9070,9 +9070,9 @@ dev = [
     { name = "apache-airflow-devel-common", editable = "devel-common" },
     { name = "apache-airflow-providers-common-sql", editable = 
"providers/common/sql" },
     { name = "apache-airflow-providers-standard", editable = 
"providers/standard" },
-    { name = "pandas", marker = "python_full_version < '3.13'", specifier = 
">=2.1.2,<3" },
-    { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = 
">=2.2.3,<3" },
-    { name = "pandas", marker = "python_full_version >= '3.14'", specifier = 
">=2.3.3,<3" },
+    { name = "pandas", marker = "python_full_version < '3.13'", specifier = 
">=2.1.2" },
+    { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = 
">=2.2.3" },
+    { name = "pandas", marker = "python_full_version >= '3.14'", specifier = 
">=2.3.3" },
 ]
 docs = [{ name = "apache-airflow-devel-common", extras = ["docs"], editable = 
"devel-common" }]
 mypy = [{ name = "apache-airflow-devel-common", extras = ["mypy"], editable = 
"devel-common" }]

Reply via email to