Great idea. I will take a look at this shortly.

Thanks!

On Thu, 18 Jan 2024 at 1:48 PM, Jarek Potiuk <ja...@potiuk.com> wrote:

> Created PR https://github.com/apache/airflow/pull/36858 where I proposed
> a separate document - with a bit more polished version of what I wrote
> above, interlinked with the succinct README chapter we already have.
>
> I also expanded there a bit "What's the purpose of patch-level release"
> explaining the approach we take for classifying changes as breaking/not
> breaking and adding comment on SemVer being "intentional" and not
> "technically breaking non/breaking" - something that we discussed a lot at
> many occasions in multiple PRs when we debated whether things are
> breaking/not breaking.
>
> And removed "how some people know/don't know" about it. I hope having that
> FAQ will help us to get to the point where we all know it  - or at least
> can easily find it when we are looking for it.
>
> J.
>
> On Thu, Jan 18, 2024 at 8:42 AM Jarek Potiuk <ja...@potiuk.com> wrote:
>
>> I think if anything - that should be a separate page in our GitHub -
>> which will be a) easier to do b) maybe indeed makes sense c) this is where
>> we put "developer" docs.
>>
>> I think we agreed already quite some time ago that "airflow.apache.org"
>> is generally for the users and all the docs for contributors/maintainers
>> should go as .md/.rst files in our repository, but not into the airflow
>> website.
>>
>> Yeah - I think it might be worth it if we keep it separate from README
>> :). I think we had far too long README and (as mentioned above) over the
>> last year or so it got shorter and shorter, while it gained only the "super
>> important" information IMHO. So yeah having a separate FAQ taking my mail
>> as context might be a good idea.
>>
>> I will open PR for that and if others agree it's a good idea (and help
>> with reviewing it, we can merge it).
>>
>> J.
>>
>>
>>
>>
>>
>>
>>
>> On Thu, Jan 18, 2024 at 5:29 AM Amogh Desai <amoghdesai....@gmail.com>
>> wrote:
>>
>>> Thanks @Jarek Potiuk <ja...@potiuk.com>!
>>>
>>> I vaguely knew the process but not in such detail, thanks for putting it
>>> together in this email.
>>> I will visit the document
>>> https://github.com/apache/airflow?tab=readme-ov-file#what-goes-into-the-next-release
>>> and if I find any clarifications, I will send it across as a PR.
>>>
>>> One suggestion: what if we put it together in a document and put it on
>>> the airflow website under
>>> https://airflow.apache.org/community/ where we mention "how we release"?
>>>
>>> Might be a bit too much given the context people will have while
>>> visiting the airflow website..
>>>
>>> Thanks & Regards,
>>> Amogh Desai
>>>
>>> On Wed, Jan 17, 2024 at 6:13 PM Jarek Potiuk <ja...@potiuk.com> wrote:
>>>
>>>> I separate it out, because it seems that despite the efforts to explain
>>>> and
>>>> document how our releases work It's not clear even for the PMC chair, so
>>>> likely it warrants a separate thread - also it will be easier to find
>>>> it in
>>>> the archives this way.
>>>>
>>>> I think this is an important topic that all maintainers should be aware
>>>> of,
>>>> so let me take a task to explain it in a longer email (and separate
>>>> thread).
>>>>
>>>> I created it in a form of FAQ, because it seems that similar questions
>>>> might be asked by others.
>>>>
>>>> *Do we have a process defined here?*
>>>>
>>>> Answering Bolke's question - who was apparently confused what our
>>>> process
>>>> is:
>>>>
>>>> > I see that some improvements to Airflow.io (two weeks ago) were not
>>>> included and some provider updates neither.  Haven't checked anything
>>>> else
>>>> yet.
>>>>
>>>> Apparently there is some confusion about the process, but yes we have a
>>>> well defined and well tested (pretty much 4 years now) process that we
>>>> follow., We follow it since I remember actually - it's been also done
>>>> the
>>>> same in 1.10 - but with some variations, Likely we do it the same way
>>>> since
>>>> the beginning of 2.0, but it has been refined and improved over time -
>>>> by
>>>> those who volunteered their time in the release process (a lot of ad-hoc
>>>> discussion have been traditionally happening in #release-management
>>>> slack
>>>> channel) and as of few months ago we even documented it (It was in
>>>> November
>>>> 2023) - with this PR https://github.com/apache/airflow/pull/35245
>>>>
>>>> It is currently described in a prominent place in our most important
>>>> (and
>>>> over the last year or so the README, we made the README pretty short and
>>>> contains only super-important information on how Airflow is developed)
>>>> README.md under *"What goes into the next release?"* chapter:
>>>>
>>>>
>>>> https://github.com/apache/airflow?tab=readme-ov-file#what-goes-into-the-next-release
>>>> .
>>>>
>>>> *How does the selection process for cherry-picking work?*
>>>>
>>>> In short (and this is the most important thing that every maintainer
>>>> should
>>>> be aware of): *those maintainers who think that issue should be included
>>>> should mark it with the next (in this case 2.8.1) milestone*. It's up to
>>>> individual maintainers who want to include certain changes to take care
>>>> about it and mark the issues they think are bug fixes, to go into the
>>>> next
>>>> release
>>>>
>>>> This is the only thing that the maintainer has to do to get the PR
>>>> proposed
>>>> to be considered in the next patchlevel release. Sometimes - if
>>>> controversial - maintainers discuss the proposals in #release-management
>>>> channel, sometimes in #development or in the PR itself (especially if
>>>> the
>>>> release manager decides to not include it and changes the milestone (and
>>>> explains why).
>>>>
>>>> *What's the release manager's role ?*
>>>>
>>>> Release manager's job is purely mechanical (as also mandated by the
>>>> Apache
>>>> Software Foundation release manager role description) to assess
>>>> cherry-pick
>>>> ability of those changes. Release manager - at the sole discretion and
>>>> individual decision (this is the only place in the whole ASF setup
>>>> where a
>>>> single person has such power to make individual decisions) can reject
>>>> some
>>>> of those who other maintainers think should be included. But the release
>>>> manager on his own does not make proposals on what should be included.
>>>>
>>>> *Is this process following the ASF rules?*
>>>>
>>>> I believe yes, The release manager's role is nicely described here:
>>>> https://infra.apache.org/release-publishing.html#releasemanager. And
>>>> there
>>>> is a far more complete description here that describes the whole process
>>>> https://www.apache.org/legal/release-policy.html#management - also
>>>> mentioning that it's the PMC's responsibility (and particularly PMC
>>>> chair's) to adhere to the process.
>>>>
>>>> *What's the role of individual maintainers?*
>>>>
>>>> The role of maintainers (collectively) to propose things for the next
>>>> release. In our case it happens with setting the milestone on a PR.
>>>>
>>>> *When proposed PRs are rejected?*
>>>>
>>>> There are various reasons to reject those - if too complex to
>>>> cherry-pick
>>>> or when the release manager assesses it's a new feature, not a bugfix.
>>>> Essentially (according to semver) when it comes to the user-facing
>>>> changes,
>>>> the PATCHLEVEL release should contain only bugfixes. and may contain
>>>> docs
>>>> changes if they are fixing/improving docs (not about new features) and
>>>> also
>>>> environment/build script changes (so non-user-facing changes) as they
>>>> are
>>>> pretty much always needed to keep the things nicely building - those are
>>>> usually skipped from the changelog as non-user facing).
>>>>
>>>> *Why are provider changes not cherry-picked?*
>>>>
>>>> In our case - basically none of the provider changes are cherry-picked -
>>>> unless they are needed to make the builds work well (sometimes happen).
>>>> Providers are ALWAYS released from the latest main code, not from the
>>>> v2-8-stable branch. In fact all the tests and ci checks for providers
>>>> are
>>>> skipped in the non-main (v2* branches). So yes - not seeing provider
>>>> changes cherry-picked is absolutely expected.
>>>>
>>>> *Do we skip over some changes when releasing a patchlevel release?
>>>> What's
>>>> the purpose of patch-level releases?*
>>>>
>>>> Answering Bolke's question:
>>>>
>>>> > Is that intentional? Ie. is that the purpose of this release. Other
>>>> big(ger) and more recent changes have been included hence asking.
>>>>
>>>> The purpose of that release is as described in SemVer - to give the
>>>> users
>>>> bugfix-only release that has no new features. Of course it's sometimes
>>>> debatable whether changes are features/bugfixes, but we usually use
>>>> #release-management to quickly chat about it, and eventually the release
>>>> manager always makes a comment in the PR when the milestone is changed
>>>> and
>>>> explains the reasoning.
>>>>
>>>> Skipping is not intentional because we never "skip" things when
>>>> cherry-picking, It's *reverse* - those maintainer who think that certain
>>>> bug fixes (or internal changes or sometimes even feature changes that we
>>>> classify really as "bugfix" SHOULD intentionally mark those PRs they
>>>> want
>>>> with 2.8.1 (or basically next patch-level) to be *included. * So there
>>>> is
>>>> no skipping, if maintainer did not deliberately mark PR as upcoming
>>>> milestone, it will just not be included
>>>>
>>>> *Where do some maintainers know about it **from ? *
>>>>
>>>> Because the maintainers who actively participate - either acting as
>>>> release
>>>> managers (those who raised their hand and acted as release managers
>>>> generally speaking) and those who wanted their changes to be part of the
>>>> past releases have been doing it for years. For years this has been
>>>> simply
>>>> followed and discussed in #release-management channel and #development
>>>> (and
>>>> in devlist whenever there were new releases) and generally the
>>>> maintainers
>>>> who took part in those discussions and release process are aware of
>>>> that -
>>>> also many maintainers know the process as it "soaked" in when they were
>>>> just watching.
>>>>
>>>> However recently we've made an attempt to document it (the PR above). So
>>>> you could learn it by reading it (even if it does not have the whole
>>>> context above).
>>>>
>>>> *Why do some people not know about it?*
>>>>
>>>> Not sure. Maybe because they were not interested and never asked? Maybe
>>>> because there was never a long email about it at our devlist, or the
>>>> documentation about it in README was too succinct?
>>>>
>>>> Or maybe we need a better way of communicating it - I am not sure. But I
>>>> hope this email will clarify a lot of it, and will prove valuable when
>>>> searching in devlist.
>>>>
>>>> Maybe even someone who manages to read it all will update the README
>>>> description of ours to explain it better :) and maybe create a nice FAQ
>>>> that we can put in our docs?
>>>>
>>>> I really hope this mail - even if long - will make people a bit more
>>>> aware
>>>> of the process, and if someone has an idea how the "collective"
>>>> awareness
>>>> can be improved - I think it's a good idea to send PR or email (or maybe
>>>> even record a video :) ??) that will be a better way of communicating
>>>> it.
>>>>
>>>> J.
>>>>
>>>>
>>>> On Wed, Jan 17, 2024 at 9:03 AM Bolke de Bruin <bdbr...@gmail.com>
>>>> wrote:
>>>>
>>>> > Just checking:
>>>> >
>>>> > I see that some improvements to Airflow.io (two weeks ago) were not
>>>> > included and some provider updates neither.  Haven't checked anything
>>>> else
>>>> > yet.
>>>> >
>>>> > Is that intentional? Ie. is that the purpose of this release. Other
>>>> > big(ger) and more recent changes have been included hence asking.
>>>> >
>>>> > B.
>>>> >
>>>> > Sent from my iPhone
>>>> >
>>>> > > On 16 Jan 2024, at 20:18, Jarek Potiuk <ja...@potiuk.com> wrote:
>>>> > >
>>>> > > +1 (binding): Checked all my changes, I ran airflow in a few
>>>> > combinations
>>>> > > (MySQL / Postgres Local/Celery executor. It looks and works well -
>>>> run a
>>>> > > few dags and navigated through a number of screens. Checked
>>>> licences,
>>>> > > signatures, checksums, performed a "reproducible build" check and it
>>>> > worked
>>>> > > (with a small glitch explained below).
>>>> > >
>>>> > > BTW. The new "hatchling-built" package looks good and it nicely
>>>> installs
>>>> > > airflow + extras (and it has a far better and cleaner set of extras
>>>> -
>>>> > > finally you can reproducibly install airflow with `all` extra if you
>>>> > > ***REALLY*** want :).
>>>> > >
>>>> > > Reproducibility (also for other PMC members doing the check): I
>>>> found a
>>>> > > small glitch in the "reproducible" part of verifying the packages.
>>>> While
>>>> > > wheel and sdist packages are exactly the same binary-wise, the
>>>> > > source-tarball was binarry different for me. I decompressed it and
>>>> > compared
>>>> > > the content - they are identical - but there is one difference
>>>> which I
>>>> > > overlooked - the group permissions for files in Ephraim's tarball
>>>> are
>>>> > > different from mine. I have totally forgotten about the fact that
>>>> umask
>>>> > > might set different group/other permissions when checking out the
>>>> files
>>>> > > from git. Fix will be coming shortly - in the meantime I recommend
>>>> anyone
>>>> > > who will be doing the comparison to uncompress both tarballs and
>>>> compare
>>>> > > the contents with `diff -r`.
>>>> > >
>>>> > >
>>>> > >
>>>> > >> On Tue, Jan 16, 2024 at 11:30 AM Ephraim Anierobi <
>>>> > >> ephraimanier...@apache.org> wrote:
>>>> > >>
>>>> > >> Hey fellow Airflowers,
>>>> > >>
>>>> > >> I have cut Airflow 2.8.1rc1. This email is calling a vote on the
>>>> > release,
>>>> > >> which will last at least 72 hours, from Tuesday, January 16, 2024
>>>> at
>>>> > 10:30
>>>> > >> am UTC
>>>> > >> until Friday, January 19, 2024, at 10:30 am UTC
>>>> > >> <
>>>> > >>
>>>> >
>>>> https://www.timeanddate.com/worldclock/fixedtime.html?msg=8&iso=20240119T1030&p1=1440
>>>> > >>> ,
>>>> > >> and until 3 binding +1 votes have been received.
>>>> > >>
>>>> > >> Status of testing of the release is kept at
>>>> > >> https://github.com/apache/airflow/issues/36808
>>>> > >>
>>>> > >> Consider this my (binding) +1.
>>>> > >>
>>>> > >> Airflow 2.8.1rc1 is available at:
>>>> > >> https://dist.apache.org/repos/dist/dev/airflow/2.8.1rc1/
>>>> > >>
>>>> > >> *apache-airflow-2.8.1-source.tar.gz* is a source release that
>>>> comes with
>>>> > >> INSTALL instructions.
>>>> > >> *apache-airflow-2.8.1.tar.gz* is the binary Python "sdist" release.
>>>> > >> *apache_airflow-2.8.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 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.1. 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.1rc1/RELEASE_NOTES.rst
>>>> > >>
>>>> > >> Changes since 2.8.0:
>>>> > >>
>>>> > >> *Significant Changes*
>>>> > >>
>>>> > >> *Target version for core dependency ``pendulum`` package set to 3
>>>> > >> (#36281).*
>>>> > >> Support for pendulum 2.1.2 will be saved for a while, presumably
>>>> until
>>>> > the
>>>> > >> next feature version of Airflow.
>>>> > >> It is advised to upgrade user code to use pendulum 3 as soon as
>>>> > possible.
>>>> > >>
>>>> > >> *Airflow packaging specification follows modern Python packaging
>>>> > standards
>>>> > >> (#36537).*
>>>> > >> We standardized Airflow dependency configuration to follow latest
>>>> > >> development in Python packaging by
>>>> > >> using ``pyproject.toml``. Airflow is now compliant with those
>>>> accepted
>>>> > >> PEPs:
>>>> > >>
>>>> > >> * `PEP-440 Version Identification and Dependency Specification <
>>>> > >> https://www.python.org/dev/peps/pep-0440/>`__
>>>> > >> * `PEP-517 A build-system independent format for source trees <
>>>> > >> https://www.python.org/dev/peps/pep-0517/>`__
>>>> > >> * `PEP-518 Specifying Minimum Build System Requirements for Python
>>>> > Projects
>>>> > >> <https://www.python.org/dev/peps/pep-0518/>`__
>>>> > >> * `PEP-561 Distributing and Packaging Type Information <
>>>> > >> https://www.python.org/dev/peps/pep-0561/>`__
>>>> > >> * `PEP-621 Storing project metadata in pyproject.toml <
>>>> > >> https://www.python.org/dev/peps/pep-0621/>`__
>>>> > >> * `PEP-660 Editable installs for pyproject.toml based builds (wheel
>>>> > based)
>>>> > >> <
>>>> > >> https://www.python.org/dev/peps/pep-0660/>`__
>>>> > >> * `PEP-685 Comparison of extra names for optional distribution
>>>> > dependencies
>>>> > >> <https://www.python.org/dev/peps/pep-0685/>`__
>>>> > >>
>>>> > >> Also we implement multiple license files support coming from
>>>> Draft, not
>>>> > yet
>>>> > >> accepted (but supported by hatchling) PEP:
>>>> > >> * `PEP 639 Improving License Clarity with Better Package Metadata <
>>>> > >> https://peps.python.org/pep-0639/>`__
>>>> > >>
>>>> > >> This has almost no noticeable impact on users if they are using
>>>> modern
>>>> > >> Python packaging and development tools, generally
>>>> > >> speaking Airflow should behave as it did before when installing it
>>>> from
>>>> > >> PyPI and it should be much easier to install
>>>> > >> it for development purposes using ``pip install -e ".[devel]"``.
>>>> > >>
>>>> > >> The differences from the user side are:
>>>> > >>
>>>> > >> * Airflow extras now get extras normalized to ``-`` (following
>>>> PEP-685)
>>>> > >> instead of ``_`` and ``.``
>>>> > >>  (as it was before in some extras). When you install airflow with
>>>> such
>>>> > >> extras (for example ``dbt.core`` or
>>>> > >>  ``all_dbs``) you should use ``-`` instead of ``_`` and ``.``.
>>>> > >>
>>>> > >> In most modern tools this will work in backwards-compatible way,
>>>> but in
>>>> > >> some old version of those tools you might need to
>>>> > >> replace ``_`` and ``.`` with ``-``. You can also get warnings that
>>>> the
>>>> > >> extra you are installing does not exist - but usually
>>>> > >> this warning is harmless and the extra is installed anyway. It is,
>>>> > however,
>>>> > >> recommended to change to use ``-`` in extras in your dependency
>>>> > >> specifications for all Airflow extras.
>>>> > >>
>>>> > >> * Released airflow package does not contain ``devel``, ``devel-*``,
>>>> > ``doc``
>>>> > >> and ``doc-gen`` extras.
>>>> > >>  Those extras are only available when you install Airflow from
>>>> sources
>>>> > in
>>>> > >> ``--editable`` mode. This is
>>>> > >>  because those extras are only used for development and
>>>> documentation
>>>> > >> building purposes and are not needed
>>>> > >>  when you install Airflow for production use. Those dependencies
>>>> had
>>>> > >> unspecified and varying behaviour for
>>>> > >>  released packages anyway and you were not supposed to use them in
>>>> > >> released packages.
>>>> > >>
>>>> > >> * The ``all`` and ``all-*`` extras were not always working
>>>> correctly
>>>> > when
>>>> > >> installing Airflow using constraints
>>>> > >>  because they were also considered as development-only
>>>> dependencies.
>>>> > With
>>>> > >> this change, those dependencies are
>>>> > >>  now properly handling constraints and they will install properly
>>>> with
>>>> > >> constraints, pulling the right set
>>>> > >>  of providers and dependencies when constraints are used.
>>>> > >>
>>>> > >> *Graphviz dependency is now an optional one, not required one
>>>> (#36647).*
>>>> > >> The ``graphviz`` dependency has been problematic as Airflow
>>>> required
>>>> > >> dependency - especially for
>>>> > >> ARM-based installations. Graphviz packages require binary graphviz
>>>> > >> libraries - which is already a
>>>> > >> limitation, but they also require to install graphviz Python
>>>> bindings
>>>> > to be
>>>> > >> build and installed.
>>>> > >> This does not work for older Linux installation but - more
>>>> importantly -
>>>> > >> when you try to install
>>>> > >> Graphviz libraries for Python 3.8, 3.9 for ARM M1 MacBooks, the
>>>> packages
>>>> > >> fail to install because
>>>> > >> Python bindings compilation for M1 can only work for Python 3.10+.
>>>> > >>
>>>> > >> This is not a breaking change technically - the CLIs to render the
>>>> DAGs
>>>> > is
>>>> > >> still there and IF you
>>>> > >> already have graphviz installed, it will continue working as it did
>>>> > before.
>>>> > >> The only problem when it
>>>> > >> does not work is where you do not have graphviz installed it will
>>>> raise
>>>> > an
>>>> > >> error and inform that you need it.
>>>> > >>
>>>> > >> Graphviz will remain to be installed for most users:
>>>> > >>
>>>> > >> * the Airflow Image will still contain graphviz library, because
>>>> > >>  it is added there as extra
>>>> > >> * when previous version of Airflow has been installed already, then
>>>> > >>  graphviz library is already installed there and Airflow will
>>>> > >>  continue working as it did
>>>> > >>
>>>> > >> The only change will be a new installation of new version of
>>>> Airflow
>>>> > from
>>>> > >> the scratch, where graphviz will
>>>> > >> need to be specified as extra or installed separately in order to
>>>> enable
>>>> > >> DAG rendering option.
>>>> > >>
>>>> > >> *Bug Fixes*
>>>> > >> - Fix airflow-scheduler exiting with code 0 on exceptions (#36800)
>>>> > >> - Fix Callback exception when a removed task is the last one in the
>>>> > >> ``taskinstance`` list (#36693)
>>>> > >> - Allow anonymous user edit/show resource when set
>>>> > >> ``AUTH_ROLE_PUBLIC=admin`` (#36750)
>>>> > >> - Better error message when sqlite URL uses relative path (#36774)
>>>> > >> - Explicit string cast required to force integer-type run_ids to be
>>>> > passed
>>>> > >> as strings instead of integers (#36756)
>>>> > >> - Add log lookup exception for empty ``op`` subtypes (#35536)
>>>> > >> - Remove unused index on task instance (#36737)
>>>> > >> - Fix check on subclass for ``typing.Union`` in
>>>> > ``_infer_multiple_outputs``
>>>> > >> for Python 3.10+ (#36728)
>>>> > >> - Make sure ``multiple_outputs`` is inferred correctly even when
>>>> using
>>>> > >> ``TypedDict`` (#36652)
>>>> > >> - Add back FAB constant in legacy security manager (#36719)
>>>> > >> - Fix AttributeError when using ``Dagrun.update_state`` (#36712)
>>>> > >> - Do not let ``EventsTimetable`` schedule past events if
>>>> > ``catchup=False``
>>>> > >> (#36134)
>>>> > >> - Support encryption for triggers parameters (#36492)
>>>> > >> - Fix the type hint for ``tis_query`` in
>>>> ``_process_executor_events``
>>>> > >> (#36655)
>>>> > >> - Redirect to index when user does not have permission to access a
>>>> page
>>>> > >> (#36623)
>>>> > >> - Avoid using dict as default value in ``call_regular_interval``
>>>> > (#36608)
>>>> > >> - Remove option to set a task instance to running state in UI
>>>> (#36518)
>>>> > >> - Fix details tab not showing when using dynamic task mapping
>>>> (#36522)
>>>> > >> - Raise error when ``DagRun`` fails while running ``dag test``
>>>> (#36517)
>>>> > >> - Refactor ``_manage_executor_state`` by refreshing TIs in batch
>>>> > (#36502)
>>>> > >> - Add flask config: ``MAX_CONTENT_LENGTH`` (#36401)
>>>> > >> - Fix get_leaves calculation for teardown in nested group (#36456)
>>>> > >> - Stop serializing timezone-naive datetime to timezone-aware
>>>> datetime
>>>> > with
>>>> > >> UTC tz (#36379)
>>>> > >> - Make ``kubernetes`` decorator type annotation consistent with
>>>> operator
>>>> > >> (#36405)
>>>> > >> - Fix Webserver returning 500 for POST requests to
>>>> ``api/dag/*/dagrun``
>>>> > >> from anonymous user (#36275)
>>>> > >> - Fix the required access for get_variable endpoint (#36396)
>>>> > >> - Fix datetime reference in ``DAG.is_fixed_time_schedule`` (#36370)
>>>> > >> - Fix AirflowSkipException message raised by BashOperator (#36354)
>>>> > >> - Allow PythonVirtualenvOperator.skip_on_exit_code to be zero
>>>> (#36361)
>>>> > >> - Increase width of execution_date input in trigger.html (#36278)
>>>> > >> - Fix logging for pausing DAG (#36182)
>>>> > >> - Stop deserializing pickle when enable_xcom_pickling is False
>>>> (#36255)
>>>> > >> - Check DAG read permission before accessing DAG code (#36257)
>>>> > >> - Enable mark task as failed/success always (#36254)
>>>> > >> - Create latest log dir symlink as relative link (#36019)
>>>> > >> - Fix Python-based decorators templating (#36103)
>>>> > >>
>>>> > >> *Miscellaneous*
>>>> > >> - Rename concurrency label to max active tasks (#36691)
>>>> > >> - Restore function scoped ``httpx`` import in file_task_handler for
>>>> > >> performance (#36753)
>>>> > >> - Add support of Pendulum 3 (#36281)
>>>> > >> - Standardize airflow build process and switch to Hatchling build
>>>> > backend
>>>> > >> (#36537)
>>>> > >> - Get rid of ``pyarrow-hotfix`` for ``CVE-2023-47248`` (#36697)
>>>> > >> - Make ``graphviz`` dependency optional (#36647)
>>>> > >> - Announce MSSQL support end in Airflow 2.9.0, add migration script
>>>> > hints
>>>> > >> (#36509)
>>>> > >> - Set min ``pandas`` dependency to 1.2.5 for all providers and
>>>> airflow
>>>> > >> (#36698)
>>>> > >> - Bump follow-redirects from 1.15.3 to 1.15.4 in ``/airflow/www``
>>>> > (#36700)
>>>> > >> - Provide the logger_name param to base hook in order to override
>>>> the
>>>> > >> logger name (#36674)
>>>> > >> - Fix run type icon alignment with run type text (#36616)
>>>> > >> - Follow BaseHook connection fields method signature in FSHook
>>>> (#36444)
>>>> > >> - Remove redundant ``docker`` decorator type annotations (#36406)
>>>> > >> - Straighten typing in workday timetable (#36296)
>>>> > >> - Use ``batch_is_authorized_dag`` to check if user has permission
>>>> to
>>>> > read
>>>> > >> DAGs (#36279)
>>>> > >> - Replace deprecated get_accessible_dag_ids and use
>>>> get_readable_dags in
>>>> > >> get_dag_warnings (#36256)
>>>> > >>
>>>> > >> *Doc Only Changes*
>>>> > >> - Metrics tagging documentation (#36627)
>>>> > >> - In docs use logical_date instead of deprecated execution_date
>>>> (#36654)
>>>> > >> - Add section about live-upgrading Airflow (#36637)
>>>> > >> - Replace ``numpy`` example with practical exercise demonstrating
>>>> > top-level
>>>> > >> code (#35097)
>>>> > >> - Improve and add more complete description in the architecture
>>>> diagrams
>>>> > >> (#36513)
>>>> > >> - Improve the error message displayed when there is a webserver
>>>> error
>>>> > >> (#36570)
>>>> > >> - Update ``dags.rst`` with information on DAG pausing (#36540)
>>>> > >> - Update installation prerequisites after upgrading to Debian
>>>> Bookworm
>>>> > >> (#36521)
>>>> > >> - Add description on the ways how users should approach DB
>>>> monitoring
>>>> > >> (#36483)
>>>> > >> - Add branching based on mapped task group example to
>>>> > >> dynamic-task-mapping.rst (#36480)
>>>> > >> - Add further details to replacement documentation (#36485)
>>>> > >> - Use cards when describing priority weighting methods (#36411)
>>>> > >> - Update ``metrics.rst`` for param ``dagrun.schedule_delay``
>>>> (#36404)
>>>> > >> - Update admonitions in Python operator doc to reflect sentiment
>>>> > (#36340)
>>>> > >> - Improve audit_logs.rst (#36213)
>>>> > >> - Remove Redshift mention from the list of managed Postgres
>>>> backends
>>>> > >> (#36217)
>>>> > >>
>>>> > >> Cheers,
>>>> > >> Ephraim
>>>> > >>
>>>> >
>>>> > ---------------------------------------------------------------------
>>>> > To unsubscribe, e-mail: dev-unsubscr...@airflow.apache.org
>>>> > For additional commands, e-mail: dev-h...@airflow.apache.org
>>>> >
>>>> >
>>>>
>>>

Reply via email to