Hey fellow Airflowers, I have cut Airflow 2.9.2rc1. This email is calling a vote on the release, which will last at least 72 hours, from Thursday, June 6, 2024 at 12:00 pm UTC until Sunday, June 9, 2024 at 12:00 pm UTC <https://www.timeanddate.com/worldclock/fixedtime.html?msg=8&iso=20240609T1200&p1=1440>, and until 3 binding +1 votes have been received.
Status of testing of the release is kept in https://github.com/apache/airflow/issues/40093 Consider this my (non-binding) +1. As I’m not a member of the PMC, Ephraim signed the distribution. Airflow 2.9.2rc1 is available at: https://dist.apache.org/repos/dist/dev/airflow/2.9.2rc1/ *apache-airflow-2.9.2-source.tar.gz* is a source release that comes with INSTALL instructions. *apache-airflow-2.9.2.tar.gz* is the binary Python "sdist" release. *apache_airflow-2.9.2-py3-none-any.whl* is the binary Python wheel "binary" release. Public keys are available at: https://dist.apache.org/repos/dist/release/airflow/KEYS Please vote accordingly: [ ] +1 approve [ ] +0 no opinion [ ] -1 disapprove with the reason Only votes from PMC members are binding, but all members of the community are encouraged to test the release and vote with "(non-binding)". The test procedure for PMC members is described in: https://github.com/apache/airflow/blob/main/dev/README_RELEASE_AIRFLOW.md\#verify-the-release-candidate-by-pmc-members The test procedure for contributors and members of the community who would like to test this RC is described in: https://github.com/apache/airflow/blob/main/dev/README_RELEASE_AIRFLOW.md\#verify-the-release-candidate-by-contributors Please note that the version number excludes the `rcX` string, so it's now simply 2.9.2. This will allow us to rename the artifact without modifying the artifact checksums when we actually release. Release Notes: https://github.com/apache/airflow/blob/2.9.2rc1/RELEASE_NOTES.rst For information on what goes into a release please see: https://github.com/apache/airflow/blob/main/dev/WHAT_GOES_INTO_THE_NEXT_RELEASE.md Changes since 2.9.1: *Bug Fixes* - Fix bug that makes ``AirflowSecurityManagerV2`` leave transactions in the ``idle in transaction`` state (#39935) - Fix alembic auto-generation and rename mismatching constraints (#39032) - Add the existing_nullable to the downgrade side of the migration (#39374) - Fix Mark Instance state buttons stay disabled if user lacks permission (#37451). (#38732) - Use SKIP LOCKED instead of NOWAIT in mini scheduler (#39745) - Remove DAG Run Add option from FAB view (#39881) - Add max_consecutive_failed_dag_runs in API spec (#39830) - Fix example_branch_operator failing in python 3.12 (#39783) - Fetch served logs also when task attempt is up for retry and no remote logs available (#39496) - Change dataset URI validation to raise warning instead of error in Airflow 2.9 (#39670) - Visible DAG RUN doesn't point to the same dag run id (#38365) - Refactor ``SafeDogStatsdLogger`` to use ``get_validator`` to enable pattern matching (#39370) - Fix custom actions in security manager ``has_access`` (#39421) - Fix HTTP 500 Internal Server Error if DAG is triggered with bad params (#39409) - Fix static file caching is disabled in Airflow Webserver. (#39345) - Fix TaskHandlerWithCustomFormatter now adds prefix only once (#38502) - Do not provide deprecated ``execution_date`` in ``@apply_lineage`` (#39327) - Add missing conn_id to string representation of ObjectStoragePath (#39313) - Fix ``sql_alchemy_engine_args`` config example (#38971) - Add Cache-Control "no-store" to all dynamically generated content (#39550) *Miscellaneous* - Limit ``yandex`` provider to avoid ``mypy`` errors (#39990) - Warn on mini scheduler failures instead of debug (#39760) - Change type definition for ``provider_info_cache`` decorator (#39750) - Better typing for BaseOperator ``defer`` (#39742) - More typing in TimeSensor and TimeSensorAsync (#39696) - Re-raise exception from strict dataset URI checks (#39719) - Fix stacklevel for _log_state helper (#39596) - Resolve SA warnings in migrations scripts (#39418) - Remove unused index ``idx_last_scheduling_decision`` on ``dag_run`` table (#39275) *Doc Only Changes* - Provide extra tip on labeling DynamicTaskMapping (#39977) - Improve visibility of links / variables / other configs in Configuration Reference (#39916) - Remove 'legacy' definition for ``CronDataIntervalTimetable`` (#39780) - Update plugins.rst examples to use pyproject.toml over setup.py (#39665) - Fix nit in pg set-up doc (#39628) - Add Matomo to Tracking User Activity docs (#39611) - Fix Connection.get -> Connection. get_connection_from_secrets (#39560) - Adding note for provider dependencies (#39512) - Update docker-compose command (#39504) - Update note about restarting triggerer process (#39436) - Updating S3LogLink with an invalid bucket link (#39424) - Update testing_packages.rst (#38996) - Add multi-team diagrams (#38861) Cheers, Utkarsh & Ephraim