Hey everyone,

Thank you for attending the dev call on the 16th. I updated
our meeting notes on the Airflow wiki and the link for those notes is here
<https://cwiki.apache.org/confluence/spaces/AIRFLOW/pages/444334604/2026-07-30+Dev+call+notes>

To everyone who attended the meeting, please check the summary and add
anything I may have missed. For those who could not join, please let us
know if you disagree with anything discussed and agreed upon in
the meeting. Also, please ask questions if something is unclear.

Our next meeting is scheduled for Thursday, the 13th of August at the same
time i.e. for 8 a.m. Pacific Time.

If you would like to add anything to the agenda or if I missed anything
from the last call, please let me know

Best regards,
Vikram
--
Below is the summary from the call:

   -

   Catchup on Action Items
   -

      Release Updates: 3.3.1 (Rahul Vats)
      -

         Rahul noted RC1 is targeted for 3rd or 4th August, with release
         around 10th August. This leaves a 5-6 day testing window that
accommodates
         an RC2 if one is needed.
         -

         Rahul noted this gives roughly 15-20 days of buffer before Airflow
         Summit.
         -

         Rahul reported the current milestone shows 48 open items, but
         clarified this is inflated: 40-50% of the count is backport PRs, some
         already merged into main.
         -

         Rahul is reviewing PRs he's comfortable with directly and
         requesting code owner reviews for the rest, and to stay
cautious per the
         existing release process.
         -

         Jarek noted he will kick off the provider release vote on Friday
         1st August, expected to close Monday 4th August.
         -

            Jarek is traveling to Beijing for Community Over Code Asia
            around the 4th August release date and flagged
connectivity concerns, so he
            plans to move the provider release ahead of that trip
rather than leave it
            pending.
            -

            Jarek noted Shahar's pending ad hoc hook provider release will
            be folded into this same cycle instead of shipped separately.
            -

         Jarek asked that provider PRs be reviewed ahead of 3.3.1 PRs,
         especially any with dependencies on 3.3.1 fixes.
         -

      Pandas 3 Compatibility (Rahul Vats)
      -

         Rahul raised this during his 3.3.1 update, flagging an open
         question on one of Jarek's PRs and asking whether it might affect
         client-side deserialization.
         -

         Elad asked for context for the group, and Jarek explained the
         background: Pandas 3 has been installable alongside Airflow
since January
         2026, and XCom data serialized under Pandas 2 fails to
deserialize under
         Pandas 3 because Pandas 3 removed an import Airflow's
built-in Pandas XCom
         serializer depends on. Jarek's PR would auto-convert Pandas 2
serialized
         DataFrames to Pandas 3 on deserialization. Jarek flagged this
is a one-way
         migration once XComs are converted.
         -

         Elad said this sounds risky, and Vikram agreed, calling it a very
         significant limitation.
         -

         Jarek argued the risk cuts both ways: if the team does nothing,
         users will eventually upgrade to Pandas 3 on their own and
hit the same
         failures without warning, so shipping the conversion may be
the less risky
         option. Amogh clarified the deserialization Jarek was
concerned about on
         the server side is likely just stringification for UI display
purposes, not
         true serialization, though Jarek noted this needs to be
checked closely
         since Pandas handling is deeply embedded in Airflow Core.
         -

         Elad floated dedicating a full feature release, ignoring the usual
         numbering, solely to this change. Vikram was hesitant, not
opposed, given
         how few users upgrade version by version, and wanted to see
other options
         first.
         -

         Elad asked whether users should be warned regardless of the final
         decision. Vikram agreed this was reasonable.
         -

         Decision for 3.3.1: defer the auto-conversion fix, and instead add
         a pandas < 3 constraint plus a migration note warning users not to
         upgrade to Pandas 3 on unconstrained installs.
         -

         Full Pandas 3 compatibility with auto-conversion is deferred to
         3.4, which Jarek noted will likely set pandas >= 3 given it lands
         roughly 9 months after the Pandas 3 release.
         -

         Elad asked that a safeguard be added to prevent constraints from
         ever rolling back from Pandas 3 to Pandas 2.
         -

         Amogh asked whether there's enough incentive for users to actually
         upgrade to Pandas 3, so the minor release isn't wasted effort.
         -

         Elad asked whether the change has implications for custom XCom
         backends. Jarek confirmed it's specific to Pandas and doesn't
affect custom
         backends.
         -

      Road to Common AI 1.0 (Vikram Koka, Kaxil Naik)
      -

         This came up as Rahul and Jarek wrapped their discussion of the
         provider release cycle, when Vikram mentioned he had held up
the Common AI
         provider 0.7 release pending a PR that has since been
reverted, and the
         provider is now ready to release.
         -

         Kaxil explained the reverted PR had proposed exposing all Google
         and AWS APIs to AI agents via hard-coded API lists. This was rejected
         because agents work better against CLIs or MCPs than raw APIs.
         -

         Both AWS and Google now ship native MCP servers, and Kaxil noted
         Airflow's Common AI provider already supports both MCP
toolsets and agent
         skill toolsets.
         -

         Agent skill toolsets support local files as well as remote,
         GitHub-hosted skills via the Git provider.
         -

         Kaxil noted the AWS MCP server allows scoped access, for example
         restricting deletion operations, which provides a governance layer.
         -

         Jarek asked whether marketplace installs are supported. Kaxil
         clarified there's no native connection to an HTTP marketplace
endpoint, but
         installing a skill from a GitHub URL sourced from a
marketplace works today.
         -

         Full discussion of the Common AI 1.0 roadmap was deferred to the
         next call.
         -

      Kafka Event Producer, formerly Event State Listener (Christos Bisias)
      -

         Vikram introduced this as a follow-up from last call's catch-up on
         the event state listener, noting it took a while to get
Christos's feedback
         on the original PR.
         -

         Christos reported on the two to-dos from last call: renaming the
         plugin and updating the documentation with clear use cases.
         -

         Christos renamed the feature from "Kafka listener" to "Kafka event
         producer" for clearer framing, since it's a listener to Airflow but a
         producer to Kafka, and the old name was causing confusion. Shahar and
         Vincent reviewed quickly, and the PR merged a couple of days
ago, in time
         for the provider release.
         -

         Christos updated the documentation with common use cases:
         monitoring the state of multiple DAGs and task instances
externally without
         querying the database, coordinating multiple DAGs together,
and having an
         external pipeline listen for a DAG to finish, or trigger one,
in either
         direction.
         -

         Elad asked how this compares to the asset watcher and whether a
         user considering both features would know which to choose, and whether
         there's a single place in the docs that explains both
together. Christos
         confirmed no unified doc exists yet. Elad said this is
something the team
         should build, since DAG authors look for one unified solution
to a problem
         even if implementation details live in separate places, and
offered to work
         with Christos on it offline.
         -

         Jarek clarified the core distinction: an asset watcher subscribes
         at the DAG level, while the Kafka event producer can operate
at the level
         of an individual task within a DAG. Elad suggested this
distinction, in a
         couple of sentences, is enough to add to the core docs.
         -

         Vikram raised a persona gap: DAG authors typically don't have
         access to Airflow plugin configuration, so he asked what
coordination is
         needed between personas in that situation.
         -

         Christos asked whether the explanation belongs in a section under
         the Kafka event producer docs or somewhere more central
alongside other
         related features, such as the consumer hook, asset watcher,
or a sensor.
         Elad reframed this as two separate levels: documentation
clarity, and a
         deeper concern that requiring a DAG author to touch the
plugin mechanism
         weakens the feature itself, since many DAG authors don't have
plugin access
         and have to coordinate with a devops team. Elad's position is that
         DAG-author-facing features should avoid the plugin mechanism where
         possible, citing timetables as a cautionary example of a plugin-gated
         feature with low adoption.
         -

         Christos explained the feature is enabled via configuration and
         applies filters so DAG authors aren't overwhelmed with
messages, and that
         this uses Airflow's listener interface, which is integrated into the
         scheduler and workers and adds overhead, so deliberate opt-in is
         intentional rather than an oversight.
         -

         Vikram said Elad's feedback matches what he sees across most
         organizations, including likely MWAA and GCC, and that
articulating the
         persona difference matters since adoption is difficult if a DAG author
         needs access to Airflow configuration. Elad reframed the
question again:
         given the feature's current requirement, is there a way to
achieve the same
         functionality without using the plugin mechanism.
         -

         Vikram asked Elad and Christos to take the remaining discussion
         offline, noting he wanted to preserve time on the agenda for Dilnaz's
         AIP-85 presentation. Christos agreed to follow up with Elad separately.
         -

      Data Quality Provider (Vikram Koka)
      -

         Vikram quickly noted he and Pavan have met twice since the last
         call and are still working through the design. The core open question
         mirrors the Kafka persona discussion: what data quality needs differ
         between the DAG author, i.e. the pipeline owner, and the
business user who
         owns the underlying data. Vikram noted this includes deciding
which data
         quality failures should block a pipeline entirely versus flag specific
         content as bad without failing the run.
         -

         Still open: whether this warrants a new, separate provider or
         should be incorporated into existing providers. Vikram and Pavan will
         return with more detail on a future call.
         -

   Other Development Update
   -

      AIP-85: DAG Importer (Dilnaz Amanzholova)
      -

         Dilnaz presented an abstract, pluggable interface for supporting
         non-Python DAG formats such as YAML and Java, built around four key
         methods: import_file, can_handle, list_dag_files, and
         get_source_code.
         -

         This AIP was split off from a larger original proposal because of
         scope, and AIP-92 is a prerequisite. Tatiana's earlier review
comments have
         been addressed and the AIP is considered in good shape.
         -

         Pierre raised a question on the get_source_code method, noting
         TP's discussion thread on AIP-108 argued against displaying source for
         non-Python task SDK languages, citing complications with
external libraries
         and compiled bytecode with no accessible source file.
         -

         Dilnaz clarified AIP-85 is an internal developer interface only,
         with no end-user-visible change until a concrete importer,
such as YAML or
         Java, is implemented on top of it. AIP-108 has been narrowed
to tasks only
         and doesn't cover Java DAG source display, so a further AIP is likely
         needed for Java DAGs to work end-to-end.
         -

         Rafal, Kaxil, and Dilnaz aligned on YAML-based DAGs as the first
         concrete end-user deliverable. Kaxil and Pavan offered to
help on the YAML
         implementation.
         -

         Vikram asked that the team define the full scope of work needed
         for YAML DAGs to function end-to-end, including any known
unknowns, so the
         effort clearly lands on end-user benefit rather than staying purely an
         internal interface change.
         -

            Dilnaz is reading AIP-108 and syncing with TP as a follow-up.
            -

         Additional points raised:
         -

            Import errors should surface from the YAML file itself, not as
            Python tracebacks.
            -

            The DAG bundle-to-importer mapping is one-to-many, with the
            default bundle using the default importer.
            -

            Kaxil noted static YAML DAGs shouldn't need reparsing unless
            the underlying file changes, and linked this to AIP-95,
the async DAG
            processor, as a likely prerequisite. This can be a
follow-up rather than
            part of AIP-85 itself.
            -

      AIP-115: On-Demand Task Sections was not reached due to time
      constraints.


-- 

Vikram Koka
Chief Strategy Officer
Email: [email protected]


<https://www.astronomer.io/>

Reply via email to