jedcunningham opened a new pull request, #66441:
URL: https://github.com/apache/airflow/pull/66441

   Switching a Dag from `CronTriggerTimetable` to `CronDataIntervalTimetable` 
on existing dagruns skips one scheduled run, because the next run is advanced 
one period to avoid colliding with the previous run's `logical_date`. This can 
happen silently in two ways without anyone editing a Dag:
   
   - Flipping `[scheduler] create_cron_data_intervals`, which changes how every 
Dag with a bare cron string in `schedule=` resolves its timetable.
   - Crossing a version boundary where the default differs (Airflow 2.x 
defaults to `True`, Airflow 3 defaults to `False`).
   
   This PR documents that behavior and recommends pinning the flag before the 
change:
   
   - Expand the Airflow 3 upgrade guide entry for `create_cron_data_intervals` 
to spell out which Dags are affected, what `data_interval_start` / 
`data_interval_end` / `ds` / `ts` consumers need to do, and that the flag 
should be set **before** the upgrade.
   - Add a "Switching between trigger and data interval timetables on an 
existing Dag" section to the timetable comparison docs covering both the 
explicit-flag-flip and version-boundary cases, and the asymmetry (data interval 
-> trigger does not skip a run).
   - Mirror the warning into the Airflow 3.0 sections of `RELEASE_NOTES.rst`.
   
   Docs-only change.
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   - [X] Yes — Claude Code (Opus 4.7)
   
   Generated-by: Claude Code (Opus 4.7) following [the 
guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to