*TL;DR; In case you were not aware during the weekend we had experienced
Pydantic 2.10.0/2.10.1 issue that impacted both main for development and
potentially also released airflow versions (where constraints are not used
or Pydantic upgraded by other means). *

This is going to be fixed in 2.10.2 of Pydantic (which is likely to come
out in a matter of hours or days). But in the meantime there are
workarounds we can tell our users to apply.

The result of that release - was that our `main` needed a workaround (
https://github.com/apache/airflow/pull/44317). But more importantly, those
releases could (and did) cause issues for previous airflow versions

If users did not use constraints when installing airflow from scratch, or
upgrade Pydantic independently, airflow would start failing.

With our feedback and help in testing it, Pydantic team is working on
2.10.2 and a permanent fix is already merged (
https://github.com/pydantic/pydantic/pull/10962), but seems that they have
more issues to handle as  Pydantic 2.10 had a number of internal changes
that had some unintended side-effects despite being theoretically
backwards-compatible (which is a clear manifestation of the Hyrum's law in
a full swing https://www.hyrumslaw.com/. More details on those "Hyrum's law
effects for Pydantic 2.10 release are kept together by the Pydantic team in
https://github.com/pydantic/pydantic/issues/10910

Once 2.10.2 of Pydantic is released we will get rid of the workaround and
exclude 2.10.0/2.10.1 of Pydantic from main (and backporting to 2.10.4
eventually - and advocate for yanking the bad Pydantic versions)

In the meantime - if anyone reports an issue with "Unable to evaluate type
annotation" - a simple workaround to suggest is to install the
`eval-type-backport` package alongside the new Pydantic version and airflow
- it's a crude, but working workaround until Pydantic 2.10.2 gets released.

I will keep you posted - I am following this issue closely.

J.

Reply via email to