Hey fellow Airflowers, A bug was found in the preparation of this rc1 that will necessitate an rc2. I'm canceling this vote and will create 2.8.2rc2 soon.
- Ephraim On Thu, 22 Feb 2024 at 12:05, Ephraim Anierobi <ephraimanier...@apache.org> wrote: > Hey fellow Airflowers, > > I have cut Airflow 2.8.2rc1. This email is calling a vote on the release, > which will last at least 72 hours, from Thursday, February 22, 2024 at > 11:05 am UTC > until Sunday, February 25, 2024, at 11:05 am UTC > <https://www.timeanddate.com/worldclock/fixedtime.html?msg=8&iso=20240225T1105&p1=1440>, > and until 3 binding +1 votes have been received. > > The status of testing of the release is kept at > https://github.com/apache/airflow/issues/37617 > > Consider this my (binding) +1. > > Airflow 2.8.2rc1 is available at: > https://dist.apache.org/repos/dist/dev/airflow/2.8.2rc1/ > > *apache-airflow-2.8.2-source.tar.gz* is a source release that comes with > INSTALL instructions. > *apache-airflow-2.8.2.tar.gz* is the binary Python "sdist" release. > *apache_airflow-2.8.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 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.8.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.8.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.8.1*: > > *Significant Changes* > > *The ``allowed_deserialization_classes`` flag now follows a glob pattern > (#36147).* > > For example if one wants to add the class ``airflow.tests.custom_class`` > to the > ``allowed_deserialization_classes`` list, it can be done by writing the > full class > name (``airflow.tests.custom_class``) or a pattern such as the ones used > in glob > search (e.g., ``airflow.*``, ``airflow.tests.*``). > > If you currently use a custom regexp path make sure to rewrite it as a > glob pattern. > > Alternatively, if you still wish to match it as a regexp pattern, add it > under the new > list ``allowed_deserialization_classes_regexp`` instead. > > *The audit_logs permissions have been updated for heightened security > (#37501).* > > This was done under the policy that we do not want users like Viewer, Ops, > and other users apart from Admin to have access to audit_logs. The > intention behind > this change is to restrict users with less permissions from viewing user > details > like First Name, Email etc. from the audit_logs when they are not > permitted to. > > The impact of this change is that the existing users with non admin rights > won't be able > to view or access the audit_logs, both from the Browse tab or from the DAG > run. > > *``AirflowTimeoutError`` is no longer ``except`` by default through > ``Exception`` (#35653).* > > The ``AirflowTimeoutError`` is now inheriting ``BaseException`` instead of > ``AirflowException``->``Exception``. > See https://docs.python.org/3/library/exceptions.html#exception-hierarchy > > This prevents code catching ``Exception`` from accidentally > catching ``AirflowTimeoutError`` and continuing to run. > ``AirflowTimeoutError`` is an explicit intent to cancel the task, and > should not > be caught in attempts to handle the error and return some default value. > > Catching ``AirflowTimeoutError`` is still possible by explicitly > ``except``ing > ``AirflowTimeoutError`` or ``BaseException``. > This is discouraged, as it may allow the code to continue running even > after > such cancellation requests. > Code that previously depended on performing strict cleanup in every > situation > after catching ``Exception`` is advised to use ``finally`` blocks or > context managers. To perform only the cleanup and then automatically > re-raise the exception. > See similar considerations about catching ``KeyboardInterrupt`` in > https://docs.python.org/3/library/exceptions.html#KeyboardInterrupt > > > *Bug Fixes* > - Change ``AirflowTaskTimeout`` to inherit ``BaseException`` (#35653) > - Revert "Fix future DagRun rarely triggered by race conditions when > max_active_runs reached its upper limit. (#31414)" (#37596) > - Change margin to padding so first task can be selected (#37527) > - Fix Airflow serialization for ``namedtuple`` (#37168) > - Fix bug with clicking url-unsafe tags (#37395) > - Set deterministic and new getter for ``Treeview`` function (#37162) > - Fix permissions of parent folders for log file handler (#37310) > - Fix permission check on DAGs when ``access_entity`` is specified (#37290) > - Fix the value of ``dateTimeAttrFormat`` constant (#37285) > - Resolve handler close race condition at triggerer shutdown (#37206) > - Fixing status icon alignment for various views (#36804) > - Remove superfluous ``@Sentry.enrich_errors`` (#37002) > - Use execution_date= param as a backup to base date for grid view (#37018) > - Handle SystemExit raised in the task. (#36986) > - Revoking audit_log permission from all users except admin (#37501) > - Fix broken regex for allowed_deserialization_classes (#36147) > - Fix the bug that affected the DAG end date. (#36144) > - Adjust node width based on task name length (#37254) > - fix: PythonVirtualenvOperator crashes if any python_callable function is > defined in the same source as DAG (#37165) > - Fix collapsed grid width, line up selected bar with gantt (#37205) > - Adjust graph node layout (#37207) > - Revert the sequence of initializing configuration defaults (#37155) > - Displaying "actual" try number in TaskInstance view (#34635) > - Bugfix Triggering DAG with parameters is mandatory when > show_trigger_form_if_no_params is enabled (#37063) > - Secret masker ignores passwords with special chars (#36692) > - Fix DagRuns with UPSTREAM_FAILED tasks get stuck in the backfill. > (#36954) > - Disable ``dryrun`` auto-fetch (#36941) > - Fix copy button on a DAG run's config (#36855) > - Fix bug introduced by replacing spaces by + in run_id (#36877) > - Fix webserver always redirecting to home page if user was not logged in > (#36833) > - REST API set description on POST to ``/variables`` endpoint (#36820) > - Sanitize the conn_id to disallow potential script execution (#32867) > - Fix task id copy button copying wrong id (#34904) > - Fix security manager inheritance in fab provider (#36538) > - Avoid ``pendulum.from_timestamp`` usage (#37160) > > *Miscellaneous* > - Bump ``undici`` from ``5.26.3`` to ``5.28.3`` in ``/airflow/www`` > (#37493) > - Add Python ``3.12`` exclusions in ``providers/pyproject.toml`` (#37404) > - Remove ``markdown`` from core dependencies (#37396) > - Remove unused ``pageSize`` method. (#37319) > - Add more-itertools as dependency of common-sql (#37359) > - Replace other ``Python 3.11`` and ``3.12`` deprecations (#37478) > - Include ``airflow_pre_installed_providers.txt`` into ``sdist`` > distribution (#37388) > - Turn Pydantic into an optional dependency (#37320) > - Limit ``universal-pathlib to < 0.2.0`` (#37311) > - Allow running airflow against sqlite in-memory DB for tests (#37144) > - Add description to ``queue_when`` (#36997) > - Updated ``config.yml`` for environment variable > ``sql_alchemy_connect_args`` (#36526) > - Bump min version of ``Alembic to 1.13.1`` (#36928) > - Limit ``flask-session`` to ``<0.6`` (#36895) > > *Doc Only Changes* > - Fix upgrade docs to reflect true ``CLI`` flags available (#37231) > - Fix a bug in fundamentals doc (#37440) > - Add redirect for deprecated page (#37384) > - Fix the ``otel`` config descriptions (#37229) > - Update ``Objectstore`` tutorial with ``prereqs`` section (#36983) > - Add more precise description on avoiding generic ``package/module`` > names (#36927) > - Add airflow version substitution into Docker Compose Howto (#37177) > - Add clarification about DAG author capabilities to security model > (#37141) > - Move docs for cron basics to Authoring and Scheduling section (#37049) > - Link to release notes in the upgrade docs (#36923) > - Prevent templated field logic checks in ``__init__`` of operators > automatically (#33786) > > Cheers, > Ephraim >