Hey, fellow Airflowers,
A  bug was found in rc1 that'll necessitate an rc2. I'm canceling this vote
and will create 2.7.1rc2 soon.

On Mon, 4 Sept 2023 at 08:16, Ephraim Anierobi <ephraimanier...@apache.org>
wrote:

> Hey, fellow Airflowers,
>
> I have cut Airflow 2.7.1rc1. This email is calling a vote on the release,
> which will last at least 72 hours, from Monday, September 4, 2023 at 7:15
> am UTC
> until Thursday, September 7, 2023, at 7:15 am UTC
> <https://www.timeanddate.com/worldclock/fixedtime.html?msg=8&iso=20230907T0715&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/34065
>
> Consider this my (binding) +1.
>
> Airflow 2.7.1rc1 is available at:
> https://dist.apache.org/repos/dist/dev/airflow/2.7.1rc1/
>
> *apache-airflow-2.7.1-source.tar.gz* is a source release that comes with
> INSTALL instructions.
> *apache-airflow-2.7.1.tar.gz* is the binary Python "sdist" release.
> *apache_airflow-2.7.1-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 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.7.1. This will allow us to rename the artifact without modifying
> the artifact checksums when we actually release it.
>
> Release Notes:
> https://github.com/apache/airflow/blob/2.7.1rc1/RELEASE_NOTES.rst
>
> Changes since 2.7.0:
>
> *Significant Changes*
>
> **CronTriggerTimetable is now less aggressive when trying to skip a run
> (#33404)**
>
> When setting ``catchup=False``, CronTriggerTimetable no longer skips a run
> if
> the scheduler does not query the timetable immediately after the previous
> run
> has been triggered.
>
> This should not affect scheduling in most cases, but can change the
> behaviour if
> a DAG is paused-unpaused to manually skip a run. Previously, the timetable
> (with
> ``catchup=False``) would only start a run after a DAG is unpaused, but
> with this
> change, the scheduler would try to look at little bit back to schedule the
> previous run that covers a part of the period when the DAG was paused. This
> means you will need to keep a DAG paused longer (namely, for the entire
> cron
> period to pass) to really skip a run.
>
> Note that this is also the behaviour exhibited by various other cron-based
> scheduling tools, such as ``anacron``.
>
> **``conf.set()`` becomes case insensitive to match ``conf.get()`` behavior
> (#33452)**
>
> Also, ``conf.get()`` will now break if used with non-string parameters.
>
> ``conf.set(section, key, value)`` used to be case sensitive, i.e.
> ``conf.set("SECTION", "KEY", value)``
> and ``conf.set("section", "key", value)`` were stored as two distinct
> configurations.
> This was inconsistent with the behavior of ``conf.get(section, key)``,
> which was always converting the section and key to lower case.
>
> As a result, configuration options set with upper case characters in the
> section or key were unreachable.
> That's why we are now converting section and key to lower case in
> ``conf.set`` too.
>
> We also changed a bit the behavior of ``conf.get()``. It used to allow
> objects that are not strings in the section or key.
> Doing this will now result in an exception. For instance,
> ``conf.get("section", 123)`` needs to be replaced with
> ``conf.get("section", "123")``.
>
> *Bug Fixes*
> - Ensure that tasks wait for running indirect setup (#33903)
> - Respect "soft_fail" for core async sensors (#33403)
> - Differentiate 0 and unset as a default param values (#33965)
> - Raise 404 from Variable PATCH API if variable is not found (#33885)
> - Fix ``MappedTaskGroup`` tasks not respecting upstream dependency (#33732)
> - Add limit 1 if required first value from query result (#33672)
> - Fix UI DAG counts including deleted DAGs (#33778)
> - Fix cleaning zombie RESTARTING tasks (#33706)
> - ``SECURITY_MANAGER_CLASS`` should be a reference to class, not a string
> (#33690)
> - Add back ``get_url_for_login`` in security manager (#33660)
> - Fix ``2.7.0 db`` migration job errors (#33652)
> - Set context inside templates (#33645)
> - Treat dag-defined access_control as authoritative if defined (#33632)
> - Bind engine before attempting to drop archive tables (#33622)
> - Add a fallback in case no first name and last name are set (#33617)
> - Sort data before ``groupby`` in TIS duration calculation (#33535)
> - Stop adding values to rendered templates UI when there is no dagrun
> (#33516)
> - Set strict to True when parsing dates in webserver views (#33512)
> - Use ``dialect.name`` in custom SA types (#33503)
> - Do not return ongoing dagrun when a ``end_date`` is less than ``utcnow``
> (#33488)
> - Fix a bug in ``formatDuration`` method (#33486)
> - Make ``conf.set`` case insensitive (#33452)
> - Allow timetable to slightly miss catchup cutoff (#33404)
> - Respect ``soft_fail`` argument when ``poke`` is called (#33401)
> - Create a new method used to resume the task in order to implement
> specific logic for operators (#33424)
> - Fix DagFileProcessor interfering with dags outside its
> ``processor_subdir`` (#33357)
> - Remove the unnecessary ``<br>`` text in Provider's view (#33326)
> - Respect ``soft_fail`` argument when ExternalTaskSensor runs in
> deferrable mode (#33196)
> - Fix handling of default value and serialization of Param class (#33141)
> - Check if the dynamically-added index is in the table schema before
> adding (#32731)
> - Fix rendering the mapped parameters when using ``expand_kwargs`` method
> (#32272)
> - Fix dependencies for celery and opentelemetry for Python 3.8 (#33579)
>
> *Misc/Internal*
> - Use a trimmed version of README.md for PyPI (#33637)
> - Upgrade to ``Pydantic`` 2 (#33956)
> - Reorganize ``devel_only`` extra in Airflow's setup.py (#33907)
> - Bumping ``FAB`` to ``4.3.4`` in order to fix issues with filters (#33931)
> - Add minimum requirement for ``sqlalchemy to 1.4.24`` (#33892)
> - Update version_added field for configs in config file (#33509)
> - Replace ``OrderedDict`` with plain dict (#33508)
> - Consolidate import and usage of itertools (#33479)
> - Static check fixes (#33462)
> - Import utc from datetime and normalize its import (#33450)
> - D401 Support (#33352, #33339, #33337, #33336, #33335, #33333, #33338)
> - Fix some missing type hints (#33334)
> - D205 Support - Stragglers (#33301, #33298, #33297)
> - Refactor: Simplify code (#33160, #33270, #33268, #33267, #33266, #33264,
> #33292, #33453, #33476, #33567,
>   #33568, #33480, #33753, #33520, #33623)
> - Fix ``Pydantic`` warning about ``orm_mode`` rename (#33220)
> - Add MySQL 8.1 to supported versions. (#33576)
> - Remove ``Pydantic`` limitation for version < 2 (#33507)
>
> *Doc only changes*
> - Add documentation explaining template_ext (and how to override it)
> (#33735)
> - Explain how users can check if python code is top-level (#34006)
> - Clarify that DAG authors can also run code in DAG File Processor (#33920)
> - Fix broken link in Modules Management page (#33499)
> - Fix secrets backend docs (#33471)
> - Fix config description for base_log_folder (#33388)
>
> Cheers,
> Ephraim
>

Reply via email to