Btw, these links are wrong. Instead refer this:

1. For PMC:
https://github.com/apache/airflow/blob/main/dev/README_RELEASE_AIRFLOW.md#verify-the-release-candidate-by-pmc-members
2. For contributors:
https://github.com/apache/airflow/blob/main/dev/README_RELEASE_AIRFLOW.md#verify-the-release-candidate-by-contributors


Thanks & Regards,
Amogh Desai


On Thu, Apr 4, 2024 at 10:01 AM Amogh Desai <[email protected]>
wrote:

> +1 non binding
>
> Installed the RC with pip and ran it with breeze.
>
> Tested out a few example dags from my test suite and also checked if my
> changes
> work as expected.
>
>
>
> Thanks & Regards,
> Amogh Desai
>
>
> On Wed, Apr 3, 2024 at 1:46 PM Ephraim Anierobi <
> [email protected]> wrote:
>
>> Hey fellow Airflowers,
>>
>> I have cut Airflow 2.9.0rc1. This email is calling a vote on the release,
>> which will last at least 72 hours, from Wednesday, April 3, 2024 at 8:15
>> am
>> UTC
>> until Saturday, April 6, 2024, at 8:15 am UTC
>> <
>> https://www.timeanddate.com/worldclock/fixedtime.html?msg=8&iso=20240406T0815&p1=1440
>> >,
>> and until 3 binding +1 votes have been received.
>>
>> Consider this my (binding) +1.
>>
>> Airflow 2.9.0rc1 is available at:
>> https://dist.apache.org/repos/dist/dev/airflow/2.9.0rc1/
>>
>> *apache-airflow-2.9.0-source.tar.gz* is a source release that comes with
>> INSTALL instructions.
>> *apache-airflow-2.9.0.tar.gz* is the binary Python "sdist" release.
>> *apache_airflow-2.9.0-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 and Contributors 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.0. 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.0rc1/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.8.4:*
>>
>> *Significant Changes*
>>
>> *Following Listener API methods are considered stable and can be used for
>> production system (were experimental feature in older Airflow versions)
>> (#36376):*
>> Lifecycle events:
>>
>> - ``on_starting``
>> - ``before_stopping``
>>
>> DagRun State Change Events:
>>
>> - ``on_dag_run_running``
>> - ``on_dag_run_success``
>> - ``on_dag_run_failed``
>>
>> TaskInstance State Change Events:
>>
>> - ``on_task_instance_running``
>> - ``on_task_instance_success``
>> - ``on_task_instance_failed``
>>
>> *Support for Microsoft SQL-Server for Airflow Meta Database has been
>> removed (#36514)*
>>
>> After `discussion <
>> https://lists.apache.org/thread/r06j306hldg03g2my1pd4nyjxg78b3h4>`__
>> and a `voting process <
>> https://lists.apache.org/thread/pgcgmhf6560k8jbsmz8nlyoxosvltph2>`__,
>> the Airflow's PMC and Committers have reached a resolution to no longer
>> maintain MsSQL as a supported Database Backend.
>>
>> As of Airflow 2.9.0 support of MsSQL has been removed for Airflow Database
>> Backend.
>>
>> A migration script which can help migrating the database *before*
>> upgrading
>> to Airflow 2.9.0 is available in
>> `airflow-mssql-migration repo on Github <
>> https://github.com/apache/airflow-mssql-migration>`_.
>> Note that the migration script is provided without support and warranty.
>>
>> This does not affect the existing provider packages (operators and hooks),
>> DAGs can still access and process data from MsSQL.
>>
>> *Dataset URIs are now validated on input (#37005)*
>>
>> Datasets must use a URI that conform to rules laid down in AIP-60, and the
>> value
>> will be automatically normalized when the DAG file is parsed. See
>> `documentation on Datasets <
>>
>> https://airflow.apache.org/docs/apache-airflow/stable/authoring-and-scheduling/datasets.html
>> >`_
>> for
>> a more detailed description on the rules.
>>
>> You may need to change your Dataset identifiers if they look like a URI,
>> but are
>> used in a less mainstream way, such as relying on the URI's auth section,
>> or
>> have a case-sensitive protocol name.
>>
>> *The method ``get_permitted_menu_items`` in ``BaseAuthManager`` has been
>> renamed ``filter_permitted_menu_items`` (#37627)*
>>
>> *Add REST API actions to Audit Log events (#37734)*
>>
>> The Audit Log ``event`` name for REST API events will be prepended with
>> ``api.`` or ``ui.``, depending on if it came from the Airflow UI or
>> externally.
>>
>> *Official support for Python 3.12 (#38025)*
>> There are a few caveats though:
>>
>> * Pendulum2 does not support Python 3.12. For Python 3.12 you need to use
>>   `Pendulum 3 <
>> https://pendulum.eustace.io/blog/announcing-pendulum-3-0-0.html>`_
>>
>> * Minimum SQLAlchemy version supported when Pandas is installed for Python
>> 3.12 is ``1.4.36`` released in
>>   April 2022. Airflow 2.9.0 increases the minimum supported version of
>> SQLAlchemy to ``1.4.36`` for all
>>   Python versions.
>>
>> Not all Providers support Python 3.12. At the initial release of Airflow
>> 2.9.0 the following providers
>> are released without support for Python 3.12:
>>
>>   * ``apache.beam`` - pending on `Apache Beam support for 3.12 <
>> https://github.com/apache/beam/issues/29149>`_
>>   * ``papermill`` - pending on Releasing Python 3.12 compatible papermill
>> client version
>>     `including this merged issue <
>> https://github.com/nteract/papermill/pull/771>`_
>>
>> *Prevent large string objects from being stored in the Rendered Template
>> Fields (#38094)*
>> There's now a limit to the length of data that can be stored in the
>> Rendered Template Fields.
>> The limit is set to 4096 characters. If the data exceeds this limit, it
>> will be truncated. You can change this limit
>> by setting the ``[core]max_template_field_length`` configuration option in
>> your airflow config.
>>
>> *Change xcom table column value type to longblob for MySQL backend
>> (#38401)*
>> Xcom table column ``value`` type has changed from ``blob`` to
>> ``longblob``.
>> This will allow you to store relatively big data in Xcom but process can
>> take a significant amount of time if you have a lot of large data stored
>> in
>> Xcom.
>>
>> To downgrade from revision: ``b4078ac230a1``, ensure that you don't have
>> Xcom values larger than 65,535 bytes. Otherwise, you'll need to clean
>> those
>> rows or run ``airflow db clean xcom`` to clean the Xcom table.
>>
>> *New Features*
>> - Allow users to write dag_id and task_id in their national characters,
>> added display name for dag / task (v2) (#38446)
>> - Prevent large objects from being stored in the RTIF (#38094)
>> - Use current time to calculate duration when end date is not present.
>> (#38375)
>> - Add average duration mark line in task and dagrun duration charts.
>> (#38214, #38434)
>> - Add button to manually create dataset events (#38305)
>> - Add ``Matomo`` as an option for analytics_tool. (#38221)
>> - Experimental: Support custom weight_rule implementation to calculate the
>> TI priority_weight (#38222)
>> - Adding ability to automatically set DAG to off after X times it failed
>> sequentially (#36935)
>> - Add dataset conditions to next run datasets modal (#38123)
>> - Add task log grouping to UI (#38021)
>> - Add dataset_expression to grid dag details (#38121)
>> - Introduce mechanism to support multiple executor configuration (#37635)
>> - Add color formatting for ANSI chars in logs from task executions
>> (#37985)
>> - Add the dataset_expression as part of DagModel and DAGDetailSchema
>> (#37826)
>> - Add TaskFail entries to Gantt chart (#37918)
>> - Allow longer rendered_map_index (#37798)
>> - Inherit the run_ordering from DatasetTriggeredTimetable for
>> DatasetOrTimeSchedule (#37775)
>> - Implement AIP-60 Dataset URI formats (#37005)
>> - Introducing Logical Operators for dataset conditional logic (#37101)
>> - Add post endpoint for dataset events (#37570)
>> - Show custom instance names for a mapped task in UI (#36797)
>> - Add excluded/included events to get_event_logs api (#37641)
>> - Add datasets to dag graph (#37604)
>> - Show dataset events above task/run details in grid view (#37603)
>> - Introduce new config variable to control whether DAG processor outputs
>> to
>> stdout (#37439)
>> - Make Datasets ``hashable`` (#37465)
>> - Add conditional logic for dataset triggering (#37016)
>> - Implement task duration page in react. (#35863)
>> - Add ``queuedEvent`` endpoint to get/delete DatasetDagRunQueue (#37176)
>> - Support multiple XCom output in the BaseOperator (#37297)
>> - AIP-58: Add object storage backend for xcom (#37058)
>> - Introduce ``DatasetOrTimeSchedule`` (#36710)
>> - Add ``on_skipped_callback`` to ``BaseOperator`` (#36374)
>> - Allow override of hovered navbar colors (#36631)
>> - Create new Metrics with Tagging (#36528)
>> - Add support for openlineage to AFS and common.io (#36410)
>> - Introduce ``@task.bash`` TaskFlow decorator (#30176, #37875)
>> - Added functionality to automatically ingest custom airflow.cfg file upon
>> startup (#36289)
>>
>> *Improvements*
>> - More human friendly "show tables" output for db cleanup (#38654)
>> - Improve trigger assign_unassigned by merging alive_triggerer_ids and
>> get_sorted_triggers queries (#38664)
>> - Add exclude/include events filters to audit log (#38506)
>> - Clean up unused triggers in a single query for all dialects except MySQL
>> (#38663)
>> - Update Confirmation Logic for Config Changes on Sensitive Environments
>> Like Production (#38299)
>> - Improve datasets graph UX (#38476)
>> - Only show latest dataset event timestamp after last run (#38340)
>> - Add button to clear only failed tasks in a dagrun. (#38217)
>> - Delete all old dag pages and redirect to grid view (#37988)
>> - Check task attribute before use in sentry.add_tagging() (#37143)
>> - Mysql change xcom value col type for MySQL backend (#38401)
>> - ``ExternalPythonOperator`` use version from ``sys.version_info``
>> (#38377)
>> - Replace too broad exceptions into the Core (#38344)
>> - Add CLI support for bulk pause and resume of DAGs (#38265)
>> - Implement methods on TaskInstancePydantic and DagRunPydantic (#38295,
>> #38302, #38303, #38297)
>> - Made filters bar collapsible and add a full screen toggle (#38296)
>> - Encrypt all trigger attributes (#38233, #38358)
>> - Upgrade react-table package. Use with Audit Log table (#38092)
>> - Show if dag page filters are active (#38080)
>> - Add try number to mapped instance (#38097)
>> - Add retries to job heartbeat (#37541)
>> - Add REST API events to Audit Log (#37734)
>> - Make current working directory as templated field in BashOperator
>> (#37968)
>> - Add calendar view to react (#37909)
>> - Add ``run_id`` column to log table (#37731)
>> - Add ``tryNumber`` to grid task instance tooltip (#37911)
>> - Session is not used in _do_render_template_fields (#37856)
>> - Improve MappedOperator property types (#37870)
>> - Remove provide_session decorator from TaskInstancePydantic methods
>> (#37853)
>> - Ensure the "airflow.task" logger used for TaskInstancePydantic and
>> TaskInstance (#37857)
>> - Better error message for internal api call error (#37852)
>> - Increase tooltip size of dag grid view (#37782) (#37805)
>> - Use named loggers instead of root logger (#37801)
>> - Add Run Duration in React (#37735)
>> - Avoid non-recommended usage of logging (#37792)
>> - Improve DateTimeTrigger typing (#37694)
>> - Make sure all unique run_ids render a task duration bar (#37717)
>> - Add Dag Audit Log to React (#37682)
>> - Add log event for auto pause (#38243)
>> - Better message for exception for templated base operator fields (#37668)
>> - Clean up webserver endpoints adding to audit log (#37580)
>> - Filter datasets graph by dag_id (#37464)
>> - Use new exception type inheriting BaseException for SIGTERMs (#37613)
>> - Refactor dataset class inheritance (#37590)
>> - Simplify checks for package versions (#37585)
>> - Filter Datasets by associated dag_ids (GET /datasets) (#37512)
>> - Enable "airflow tasks test" to run deferrable operator (#37542)
>> - Make datasets list/graph width adjustable (#37425)
>> - Speedup determine installed airflow version in
>> ``ExternalPythonOperator``
>> (#37409)
>> - Add more task details from rest api (#37394)
>> - Add confirmation dialog box for DAG run actions (#35393)
>> - Added shutdown color to the STATE_COLORS (#37295)
>> - Remove legacy dag details page and redirect to grid (#37232)
>> - Order XCom entries by map index in API (#37086)
>> - Add data_interval_start and data_interval_end in dagrun create API
>> endpoint (#36630)
>> - Making links in task logs as hyperlinks by preventing HTML injection
>> (#36829)
>> - Improve ExternalTaskSensor Async Implementation (#36916)
>> - Make Datasets ``Pathlike`` (#36947)
>> - Simplify query for orphaned tasks (#36566)
>> - Add deferrable param in FileSensor (#36840)
>> - Run Trigger Page: Configurable number of recent configs (#36878)
>> - Merge ``nowait`` and skip_locked into with_row_locks (#36889)
>> - Return the specified field when get ``dag/dagRun`` in the REST API
>> (#36641)
>> - Only iterate over the items if debug is enabled for
>> DagFileProcessorManager (#36761)
>> - Add a fuzzy/regex pattern-matching for metric allow and block list
>> (#36250)
>> - Allow custom columns in cli dags list (#35250)
>> - Make it possible to change the default cron timetable (#34851)
>> - Some improvements to Airflow IO code (#36259)
>> - Improve TaskInstance typing hints (#36487)
>> - Remove dependency of ``Connexion`` from auth manager interface (#36209)
>> - Refactor ExternalDagLink to not create ad hoc TaskInstances (#36135)
>>
>> *Bug Fixes*
>> - Add a task instance dependency for mapped dependencies (#37498)
>> - Improve stability of remove_task_decorator function (#38649)
>> - Mark more fields on API as dump-only (#38616)
>> - Fix ``total_entries`` count on the event logs endpoint (#38625)
>> - Add padding to bottom of log block. (#38610)
>> - Properly serialize nested attrs classes (#38591)
>> - Fixing the ``tz`` in next run ID info (#38482)
>> - Show abandoned tasks in Grid View (#38511)
>> - Apply task instance mutation hook consistently (#38440)
>> - Override ``chakra`` styles to keep ``dropdowns`` in filter bar (#38456)
>> - Store duration in seconds and scale to handle case when a value in the
>> series has a larger unit than the preceding durations. (#38374)
>> - Don't allow defaults other than None in context parameters, and improve
>> error message (#38015)
>> - Make postgresql default engine args comply with SA 2.0 (#38362)
>> - Add return statement to yield within a while loop in triggers (#38389)
>> - Ensure ``__exit__`` is called in decorator context managers (#38383)
>> - Make the method ``BaseAuthManager.is_authorized_custom_view`` abstract
>> (#37915)
>> - Add upper limit to planned calendar events calculation (#38310)
>> - Fix Scheduler in daemon mode doesn't create PID at the specified
>> location
>> (#38117)
>> - Properly serialize TaskInstancePydantic and DagRunPydantic (#37855)
>> - Fix graph task state border color (#38084)
>> - Add back methods removed in security manager (#37997)
>> - Don't log "403" from worker serve-logs as "Unknown error". (#37933)
>> - Fix execution data validation error in ``/get_logs_with_metadata``
>> endpoint (#37756)
>> - Fix task duration selection (#37630)
>> - Refrain from passing ``encoding`` to the SQL engine in SQLAlchemy v2
>> (#37545)
>> - Fix 'implicitly coercing SELECT object to scalar subquery' in latest dag
>> run statement (#37505)
>> - Clean up typing with max_execution_date query builder (#36958)
>> - Optimize max_execution_date query in single dag case (#33242)
>> - Fix list dags command for get_dagmodel is None (#36739)
>> - Load ``consuming_dags`` attr eagerly before dataset listener (#36247)
>>
>> *Miscellaneous*
>> - Remove display of param from the UI (#38660)
>> - Update log level to debug from warning about scheduled_duration metric
>> (#38180)
>> - Use ``importlib_metadata`` with compat to Python 3.10/3.12 ``stdlib``
>> (#38366)
>> - Refactored ``__new__`` magic method of BaseOperatorMeta to avoid bad
>> mixing classic and decorated operators (#37937)
>> - Use ``sys.version_info`` for determine Python Major.Minor (#38372)
>> - Add missing deprecated Fab auth manager (#38376)
>> - Remove unused loop variable from airflow package (#38308)
>> - Adding max consecutive failed dag runs info in UI (#38229)
>> - Bump minimum version of ``blinker`` add where it requires (#38140)
>> - Bump follow-redirects from 1.15.4 to 1.15.6 in /airflow/www (#38156)
>> - Bump Cryptography to ``> 39.0.0`` (#38112)
>> - Add Python 3.12 support (#36755, #38025, #36595)
>> - Avoid use of ``assert`` outside of the tests (#37718)
>> - Update ObjectStoragePath for universal_pathlib>=v0.2.2 (#37930)
>> - Resolve G004: Logging statement uses f-string (#37873)
>> - Update build and install dependencies. (#37910)
>> - Bump sanitize-html from 2.11.0 to 2.12.1 in /airflow/www (#37833)
>> - Update to latest installer versions. (#37754)
>> - Deprecate smtp configs in airflow settings / local_settings (#37711)
>> - Deprecate PY* constants into the airflow module (#37575)
>> - Remove usage of deprecated ``flask._request_ctx_stack`` (#37522)
>> - Remove redundant ``login`` attribute in ``airflow.__init__.py`` (#37565)
>> - Upgrade to FAB 4.3.11 (#37233)
>> - Remove SCHEDULED_DEPS which is no longer used anywhere since 2.0.0
>> (#37140)
>> - Replace ``datetime.datetime.utcnow`` by
>> ``airflow.utils.timezone.utcnow``
>> in core (#35448)
>> - Bump aiohttp min version to avoid CVE-2024-23829 and CVE-2024-23334
>> (#37110)
>> - Move config related to FAB auth manager to FAB provider (#36232)
>> - Remove MSSQL support form Airflow core (#36514)
>> - Remove ``is_authorized_cluster_activity`` from auth manager (#36175)
>> - Create FAB provider and move FAB auth manager in it (#35926)
>>
>> *Doc Only Changes*
>> - Update UI screenshots in the documentation (#38680, #38403, #38438,
>> #38435)
>> - Remove section as it's no longer true with dataset expressions PR
>> (#38370)
>> - Refactor DatasetOrTimeSchedule timetable docs (#37771)
>> - Migrate executor docs to respective providers (#37728)
>> - Add directive to render a list of URI schemes (#37700)
>> - Add doc page with providers deprecations (#37075)
>> - Add a cross reference to security policy (#37004)
>> - Improve AIRFLOW__WEBSERVER__BASE_URL docs (#37003)
>> - Update faq.rst with (hopefully) clearer description of start_date
>> (#36846)
>> - Update public interface doc re operators (#36767)
>> - Add ``exception`` to templates ref list (#36656)
>> - Add auth manager interface as public interface (#36312)
>> - Reference fab provider documentation in Airflow documentation (#36310)
>> - Create auth manager documentation (#36211)
>> - Update permission docs (#36120)
>> - Docstring improvement to _covers_every_hour (#36081)
>> - Add note that task instance, dag and lifecycle listeners are
>> non-experimental (#36376)
>>
>> Cheers,
>> Ephraim
>>
>

Reply via email to