Apache Airflow this week, multi team triggerer and dags clear CLI

   |   4 minute read   |   Using 782 words

Apache Airflow shipped 143 commits to main in the last seven days, touching 1,210 files across 46,490 insertions and 11,241 deletions. The headline change is multi team triggerer support landing as a schema migration on the trigger table, plus a new airflow dags clear CLI for partition range reprocessing. This post walks the activity that actually matters for operators and DAG authors who follow apache/airflow.

Multi team triggerer lands in the schema

Multi team triggerer support adds a team_name column to the trigger table, an index on it, and a foreign key to team.name with ON DELETE SET NULL. The Alembic migration file is 0116_3_3_0_add_team_name_to_trigger_table.py, and the model lives in airflow-core/src/airflow/models/trigger.py.

The column is intentionally denormalized, and the model carries a comment that spells out why. The triggerer polls roughly once per second, and joining dag_bundle_team on every poll would add two or three joins depending on trigger type. Trigger rows are ephemeral, so eventual consistency on the team name is acceptable. Performance testing confirmed no measurable overhead in the triggerer loop under load.

The migration head moves to acc215baed80 and Alembic applies it on upgrade. Operators running multi team deployments should expect UI and API filters to start keying off this column.

New CLI for partition range reprocessing

The maintainers added an airflow dags clear command aimed at partition range reprocessing. Clearing a range of dag runs to rerun a backfill used to require stitching multiple commands and date filters together. Now it is a single CLI call.

Alongside that, airflow dags next-execution reports when a given DAG will run next. Both fit the larger theme of trimming rough edges in day to day operator workflows.

If your team keeps ops runbooks in version control, plan an update. These are stable surfaces in 3.3.

JWT, Akeyless, and OpenLineage auth fixes

Several patches close real footguns in the auth layer:

The v3.2 JWT and security model docs got a refresh with mermaid diagrams. If you bounced off the older version, the new one is worth a second pass.

Triggerer and deferrable operator fixes

This was a busy week for the triggerer loop and deferrable operators:

The supervisor child schema migration is also worth flagging. It touches the task SDK runner side, so confirm custom operators still serialize cleanly after upgrade.

Monaco workers, Playwright bump, and DAG tab titles

A handful of cleanups that the maintainers shipped this week:

On the contributor side, the test stack picked up a pymysql 1.2.0 compatibility fix for aiomysql, and a flaky AzureDataFactory test was pinned by mocking time.

What to watch

  • The team_name column is nullable with SET NULL on delete, which is the right call for ephemeral rows. Watch downstream code that assumes the column is always populated.
  • airflow dags clear and airflow dags next-execution are new surfaces. Pin scripted ops to the 3.3 release tag if you want stable flags.
  • The Akeyless redaction fix is a candidate for backport requests. If you operate older Airflow with the Akeyless provider, ask the maintainers about a patch release window.

Diff stats are big this week, but most of the volume is uv.lock, pyproject.toml, and provider yaml churn. The functional changes worth your attention are the ones above.



denis256 at denis256.dev