You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@airflow.apache.org by James Timmins <ja...@astronomer.io.INVALID> on 2021/05/17 23:32:54 UTC

[VOTE] Release Airflow 2.1.0 from RC1

Hey fellow Airflowers,

We've cut Airflow 2.1.0 RC1. This email is calling a vote on the release, which will last for 72 hours, from Tuesday, May 18, 2021 at 12:30am UTC until Friday, May 21, 2021 at 12:30 am UTC, or until 3 binding +1 votes have been received.

Consider this my (non-binding) +1. As I’m not a member of the PMC, Ash signed the distribution.


Airflow 2.1.0 RC1 is available at: https://dist.apache.org/repos/dist/dev/airflow/2.1.0rc1/

apache-airflow-2.1.0rc1-source.tar.gz is a source release that comes with INSTALL instructions.
apache-airflow-2.1.0rc1-bin.tar.gz is the binary Python "sdist" release.
apache_airflow-2.1.0rc1-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

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 PMCs and Contributors who would like to test this RC are described in
https://github.com/apache/airflow/blob/master/dev/README_RELEASE_AIRFLOW.md#verify-the-release-candidate-by-pmcs

Please note that the version number excludes the `rcX` string, so it's now
simply 2.1.0. This will allow us to rename the artifact without modifying
the artifact checksums when we actually release.

Changes since 2.0.2 below.

Thanks,
James

New Features
""""""""""""

- Add ``PythonVirtualenvDecorator`` to Taskflow API (#14761)
- Add ``Taskgroup`` decorator (#15034)
- Create a DAG Calendar View (#15423)
- Create cross-DAG dependencies view (#13199)
- Add rest API to query for providers (#13394)
- Mask passwords and sensitive info in task logs and UI (#15599)
- Add ``SubprocessHook`` for running commands from operators (#13423)
- Add DAG Timeout in UI page "DAG Details" (#14165)
- Add ``WeekDayBranchOperator`` (#13997)
- Add JSON linter to DAG Trigger UI (#13551)
- Add DAG Description Doc to Trigger UI Page (#13365)
- Add airflow webserver URL into SLA miss email. (#13249)
- Add read only REST API endpoints for users (#14735)
- Add files to generate Airflow's Python SDK (#14739)
- Add dynamic fields to snowflake connection (#14724)
- Add read only REST API endpoint for roles and permissions (#14664)
- Add new datetime branch operator (#11964)
- Add Google leveldb hook and operator (#13109) (#14105)
- Add plugins endpoint to the REST API (#14280)
- Add ``worker_pod_pending_timeout`` support (#15263)
- Add support for labeling DAG edges (#15142)
- Add CUD REST API endpoints for Roles (#14840)
- Import connections from a file (#15177)
- A bunch of ``template_fields_renderers`` additions (#15130)
- Add REST API query sort and order to some endpoints (#14895)
- Add timezone context in new ui (#15096)
- Add query mutations to new UI (#15068)
- Add different modes to sort dag files for parsing (#15046)
- Auto refresh on Tree View (#15474)
- BashOperator to raise ``AirflowSkipException`` on exit code 99 (by default, configurable) (#13421) (#14963)
- Clear tasks by task ids in REST API (#14500)
- Support jinja2 native Python types (#14603)
- Allow celery workers without gossip or mingle modes (#13880)
- Add ``airflow jobs check`` CLI command to check health of jobs (Scheduler etc) (#14519)
- Rename ``DateTimeBranchOperator`` to ``BranchDateTimeOperator`` (#14720)

Improvements
""""""""""""

- Add optional result handler callback to ``DbApiHook`` (#15581)
- Update Flask App Builder limit to recently released 3.3 (#15792)
- Prevent creating flask sessions on REST API requests (#15295)
- Sync DAG specific permissions when parsing (#15311)
- Increase maximum length of pool name on Tasks to 256 characters (#15203)
- Enforce READ COMMITTED isolation when using mysql (#15714)
- Auto-apply ``apply_default`` to subclasses of ``BaseOperator`` (#15667)
- Emit error on duplicated DAG ID (#15302)
- Update ``KubernetesExecutor`` pod templates to allow access to IAM permissions (#15669)
- More verbose logs when running ``airflow db check-migrations`` (#15662)
- When one_success mark task as failed if no success (#15467)
- Add an option to trigger a dag w/o changing conf (#15591)
- Add Airflow UI instance_name configuration option (#10162)
- Add a decorator to retry functions with DB transactions (#14109)
- Add return to PythonVirtualenvOperator's execute method (#14061)
- Add verify_ssl config for kubernetes (#13516)
- Add description about ``secret_key`` when Webserver > 1 (#15546)
- Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
- Add support for arbitrary json in conn uri format (#15100)
- Adds description field in variable (#12413) (#15194)
- Add logs to show last modified in SFTP, FTP and Filesystem sensor (#15134)
- Execute ``on_failure_callback`` when SIGTERM is received (#15172)
- Allow hiding of all edges when highlighting states (#15281)
- Display explicit error in case UID has no actual username (#15212)
- Serve logs with Scheduler when using Local or Sequential Executor (#15557)
- Deactivate trigger, refresh, and delete controls on dag detail view. (#14144)
- Turn off autocomplete for connection forms (#15073)
- Increase default ``worker_refresh_interval`` to ``6000`` seconds (#14970)
- Only show User's local timezone if it's not UTC (#13904)
- Suppress LOG/WARNING for a few tasks CLI for better CLI experience (#14567)
- Configurable API response (CORS) headers (#13620)
- Allow viewers to see all docs links (#14197)
- Update Tree View date ticks (#14141)
- Make the tooltip to Pause / Unpause a DAG clearer (#13642)
- Warn about precedence of env var when getting variables (#13501)
- Move ``[celery] default_queue`` config to ``[operators] default_queue`` to re-use between executors  (#14699)

Bug Fixes
"""""""""

- Fix 500 error from ``updateTaskInstancesState`` API endpoint when ``dry_run`` not passed (#15889)
- Ensure that task preceding a PythonVirtualenvOperator doesn't fail (#15822)
- Prevent mixed case env vars from crashing processes like worker (#14380)
- Fixed type annotations in DAG decorator (#15778)
- Fix on_failure_callback when task receive SIGKILL (#15537)
- Fix dags table overflow (#15660)
- Fix changing the parent dag state on subdag clear (#15562)
- Fix reading from zip package to default to text (#13962)
- Fix wrong parameter for ``drawDagStatsForDag`` in dags.html (#13884)
- Fix QueuedLocalWorker crashing with EOFError (#13215)
- Fix typo in ``NotPreviouslySkippedDep`` (#13933)
- Fix parallelism after KubeExecutor pod adoption (#15555)
- Fix kube client on mac with keepalive enabled (#15551)
- Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
- Fix Task Adoption in ``KubernetesExecutor`` (#14795)
- Fix timeout when using XCom with ``KubernetesPodOperator`` (#15388)
- Fix deprecated provider aliases in "extras" not working (#15465)
- Fixed default XCom deserialization. (#14827)
- Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
- Further fix trimmed ``pod_id`` for ``KubernetesPodOperator`` (#15445)
- Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in ``KubernetesPodOperator`` (#15443)
- Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
- Fix DAG last run link (#15327)
- Fix ``sync-perm`` to work correctly when update_fab_perms = False (#14847)
- Fixes limits on Arrow for plexus test (#14781)
- Fix UI bugs in tree view (#14566)
- Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
- Fix permission error on non-POSIX filesystem (#13121)
- Fix spelling in "ignorable" (#14348)
- Fix get_context_data doctest import (#14288)
- Correct typo in ``GCSObjectsWtihPrefixExistenceSensor``  (#14179)
- Fix order of failed deps (#14036)
- Fix critical ``CeleryKubernetesExecutor`` bug (#13247)
- Fix four bugs in ``StackdriverTaskHandler`` (#13784)
- ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
- Persist tags params in pagination (#15411)
- API: Raise ``AlreadyExists`` exception when the ``execution_date`` is same (#15174)
- Remove duplicate call to ``sync_metadata`` inside ``DagFileProcessorManager`` (#15121)
- Extra ``docker-py`` update to resolve docker op issues (#15731)
- Ensure executors end method is called (#14085)
- Remove ``user_id`` from API schema (#15117)
- Prevent clickable bad links on disabled pagination (#15074)
- Acquire lock on db for the time of migration (#10151)
- Skip SLA check only if SLA is None (#14064)
- Print right version in airflow info command (#14560)
- Make ``airflow info`` work with pipes (#14528)
- Rework client-side script for connection form. (#14052)
- API: Add ``CollectionInfo`` in all Collections that have ``total_entries`` (#14366)
- Fix ``task_instance_mutation_hook`` when importing airflow.models.dagrun (#15851)

Doc only changes
""""""""""""""""

- Fix docstring of SqlSensor (#15466)
- Small changes on "DAGs and Tasks documentation" (#14853)
- Add note on changes to configuration options (#15696)
- Add docs to the ``markdownlint`` and ``yamllint`` config files (#15682)
- Rename old "Experimental" API to deprecated in the docs. (#15653)
- Fix documentation error in `git_sync_template.yaml` (#13197)
- Fix doc link permission name (#14972)
- Fix link to Helm chart docs (#14652)
- Fix docstrings for Kubernetes code (#14605)
- docs: Capitalize & minor fixes (#14283) (#14534)
- Fixed reading from zip package to default to text. (#13984)
- An initial rework of the "Concepts" docs (#15444)
- Improve docstrings for various modules (#15047)
- Add documentation on database connection URI (#14124)
- Add Helm Chart logo to docs index (#14762)
- Create a new documentation package for Helm Chart (#14643)
- Add docs about supported logging levels (#14507)
- Update docs about tableau and salesforce provider (#14495)
- Replace deprecated doc links to the correct one (#14429)
- Refactor redundant doc url logic to use utility (#14080)
- docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
- Skip DAG perm sync during parsing if possible (#15464)
- Add picture and examples for Edge Labels (#15310)
- Add example DAG & how-to guide for sqlite (#13196)
- Add links to new modules for deprecated modules (#15316)
- Add note in Updating.md about FAB data model change (#14478)

Misc/Internal
"""""""""""""

- Fix ``logging.exception`` redundancy (#14823)
- Bump ``stylelint`` to remove vulnerable sub-dependency (#15784)
- Add resolution to force dependencies to use patched version of lodash (#15777)
- Update croniter to 1.0.x series (#15769)
- Get rid of Airflow 1.10 in Breeze (#15712)
- Run helm chart tests in parallel (#15706)
- Bump ``ssri`` from 6.0.1 to 6.0.2 in /airflow/www (#15437)
- Remove the limit on Gunicorn dependency (#15611)
- Better "dependency already registered" warning message for tasks #14613 (#14860)
- Pin pandas-gbq to <0.15.0 (#15114)
- Use Pip 21.* to install airflow officially (#15513)
- Bump mysqlclient to support the 1.4.x and 2.x series (#14978)
- Finish refactor of DAG resource name helper (#15511)
- Refactor/Cleanup Presentation of Graph Task and Path Highlighting (#15257)
- Standardize default fab perms (#14946)
- Remove ``datepicker`` for task instance detail view (#15284)
- Turn provider's import warnings into debug logs (#14903)
- Remove left-over fields from required in provider_info schema. (#14119)
- Deprecate ``tableau`` extra (#13595)
- Use built-in `cached_property` on Python 3.8 where possible (#14606)
- Clean-up JS code in UI templates (#14019)
- Bump elliptic from 6.5.3 to 6.5.4 in /airflow/www (#14668)
- Switch to f-strings using ``flynt``. (#13732)
- use ``jquery`` ready instead of vanilla js (#15258)
- Migrate task instance log (ti_log) js (#15309)
- Migrate graph js (#15307)
- Migrate dags.html javascript (#14692)
- Removes unnecessary AzureContainerInstance connection type (#15514)
- Separate Kubernetes pod_launcher from core airflow (#15165)
- update remaining old import paths of operators (#15127)
- Remove broken and undocumented "demo mode" feature (#14601)
- Simplify configuration/legibility of ``Webpack`` entries (#14551)
- remove inline tree js (#14552)
- Js linting and inline migration for simple scripts (#14215)
- Remove use of repeated constant in AirflowConfigParser (#14023)
- Deprecate email credentials from environment variables. (#13601)
- Remove unused 'context' variable in task_instance.py (#14049)
- Disable suppress_logs_and_warning in cli when debugging (#13180)

Re: [VOTE] Release Airflow 2.1.0 from RC1

Posted by Jarek Potiuk <ja...@potiuk.com>.
Yeah. "Perfect and done" is better than perfect or done.

On Tue, May 18, 2021 at 12:54 PM Ash Berlin-Taylor <as...@apache.org> wrote:

> I'm going to cancel this vote anyway -- it would have been fine, and we
> are only delayed by 12 hours from the original vote timeline , but we've
> fixed it already so I'll have an RC2 in a few minutes.
>
>
> -ash
>
>
> On Tue, May 18 2021 at 12:20:40 +0200, Jarek Potiuk <ja...@potiuk.com>
> wrote:
>
> After consulting with LEGAL (
> https://issues.apache.org/jira/browse/LEGAL-574) I change my vote back to
> +1.
>
> Better done than perfect.
>
> J.
>
> On Tue, May 18, 2021 at 7:06 AM Jarek Potiuk <ja...@potiuk.com> wrote:
>
>> Legal issue created to clarify the "component which is not Apache
>> licensed" means. https://issues.apache.org/jira/browse/LEGAL-574 - I
>> think we have to release RC2 anyway, but clarification of the first issue
>> might be useful as well.
>>
>> On Tue, May 18, 2021 at 6:53 AM Jarek Potiuk <ja...@potiuk.com> wrote:
>>
>>> This is cool. However I'd vote [-1] and ask to re-release RC2 quickly
>>> with fixing two small issues with licences:
>>>
>>> 1) Already merged : https://github.com/apache/airflow/pull/15906  - I
>>> have not added the link to the vendored-in licence in our LICENCE.txt. As
>>> Kaxil mentioned this **might** be ok, but the policy is not clear whether
>>> it's ok to skip code that is Licensed BY Apache Software Foundation, or
>>> whether it's OK to skip code that is licenced under Apache licence. I will
>>> open a LEGAL issue to clarify but it might be faster to re-relese RC2 with
>>> it.
>>> 2) However, there is a bigger problem I noticed during licence check. We
>>> missed some excludes in .rat-exclude. They were for the vendored-in-licence
>>> (not a problem since we have the licence in `licenses` folder) and for
>>> generated .latest-doc-ony-changes.txt (this is not a problem as they are
>>> auto-generated). However when I fixed it, it turned out that we have a
>>> `ui/.env.example` file which has no licence, and as simple the file is (one
>>> line!), technically it MUST have the licence header.
>>>
>>> I created PR fixing that: https://github.com/apache/airflow/pull/15908
>>>
>>> BTW. I did all other checks as well, I run Airflow 2.0.1rc1 and it is
>>> all good to go IMHO. I love the new calendar view (!).
>>>
>>> J.
>>>
>>>
>>>
>>>
>>>
>>> On Tue, May 18, 2021 at 1:33 AM James Timmins
>>> <ja...@astronomer.io.invalid> wrote:
>>>
>>>> Hey fellow Airflowers,
>>>>
>>>> We've cut Airflow 2.1.0 RC1. This email is calling a vote on the
>>>> release, which will last for 72 hours, from Tuesday, May 18, 2021 at
>>>> 12:30am UTC until Friday, May 21, 2021 at 12:30 am UTC
>>>> <https://www.timeanddate.com/worldclock/fixedtime.html?msg=8&iso=20210521T0030&p1=1440>,
>>>> or until 3 binding +1 votes have been received.
>>>>
>>>> Consider this my (non-binding) +1. As I’m not a member of the PMC, Ash
>>>> signed the distribution.
>>>>
>>>>
>>>> Airflow 2.1.0 RC1 is available at:
>>>> https://dist.apache.org/repos/dist/dev/airflow/2.1.0rc1/
>>>>
>>>> *apache-airflow-2.1.0rc1-source.tar.gz* is a source release that comes
>>>> with INSTALL instructions.
>>>> *apache-airflow-2.1.0rc1-bin.tar.gz* is the binary Python "sdist"
>>>> release.
>>>> *apache_airflow-2.1.0rc1-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
>>>>
>>>> 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 PMCs and Contributors who would like to test
>>>> this RC are described in
>>>>
>>>> https://github.com/apache/airflow/blob/master/dev/README_RELEASE_AIRFLOW.md#verify-the-release-candidate-by-pmcs
>>>>
>>>> Please note that the version number excludes the `rcX` string, so it's
>>>> now
>>>> simply 2.1.0. This will allow us to rename the artifact without
>>>> modifying
>>>> the artifact checksums when we actually release.
>>>>
>>>> Changes since 2.0.2 below.
>>>>
>>>> Thanks,
>>>> James
>>>>
>>>> New Features
>>>> """"""""""""
>>>>
>>>> - Add ``PythonVirtualenvDecorator`` to Taskflow API (#14761)
>>>> - Add ``Taskgroup`` decorator (#15034)
>>>> - Create a DAG Calendar View (#15423)
>>>> - Create cross-DAG dependencies view (#13199)
>>>> - Add rest API to query for providers (#13394)
>>>> - Mask passwords and sensitive info in task logs and UI (#15599)
>>>> - Add ``SubprocessHook`` for running commands from operators (#13423)
>>>> - Add DAG Timeout in UI page "DAG Details" (#14165)
>>>> - Add ``WeekDayBranchOperator`` (#13997)
>>>> - Add JSON linter to DAG Trigger UI (#13551)
>>>> - Add DAG Description Doc to Trigger UI Page (#13365)
>>>> - Add airflow webserver URL into SLA miss email. (#13249)
>>>> - Add read only REST API endpoints for users (#14735)
>>>> - Add files to generate Airflow's Python SDK (#14739)
>>>> - Add dynamic fields to snowflake connection (#14724)
>>>> - Add read only REST API endpoint for roles and permissions (#14664)
>>>> - Add new datetime branch operator (#11964)
>>>> - Add Google leveldb hook and operator (#13109) (#14105)
>>>> - Add plugins endpoint to the REST API (#14280)
>>>> - Add ``worker_pod_pending_timeout`` support (#15263)
>>>> - Add support for labeling DAG edges (#15142)
>>>> - Add CUD REST API endpoints for Roles (#14840)
>>>> - Import connections from a file (#15177)
>>>> - A bunch of ``template_fields_renderers`` additions (#15130)
>>>> - Add REST API query sort and order to some endpoints (#14895)
>>>> - Add timezone context in new ui (#15096)
>>>> - Add query mutations to new UI (#15068)
>>>> - Add different modes to sort dag files for parsing (#15046)
>>>> - Auto refresh on Tree View (#15474)
>>>> - BashOperator to raise ``AirflowSkipException`` on exit code 99 (by
>>>> default, configurable) (#13421) (#14963)
>>>> - Clear tasks by task ids in REST API (#14500)
>>>> - Support jinja2 native Python types (#14603)
>>>> - Allow celery workers without gossip or mingle modes (#13880)
>>>> - Add ``airflow jobs check`` CLI command to check health of jobs
>>>> (Scheduler etc) (#14519)
>>>> - Rename ``DateTimeBranchOperator`` to ``BranchDateTimeOperator``
>>>> (#14720)
>>>>
>>>> Improvements
>>>> """"""""""""
>>>>
>>>> - Add optional result handler callback to ``DbApiHook`` (#15581)
>>>> - Update Flask App Builder limit to recently released 3.3 (#15792)
>>>> - Prevent creating flask sessions on REST API requests (#15295)
>>>> - Sync DAG specific permissions when parsing (#15311)
>>>> - Increase maximum length of pool name on Tasks to 256 characters
>>>> (#15203)
>>>> - Enforce READ COMMITTED isolation when using mysql (#15714)
>>>> - Auto-apply ``apply_default`` to subclasses of ``BaseOperator``
>>>> (#15667)
>>>> - Emit error on duplicated DAG ID (#15302)
>>>> - Update ``KubernetesExecutor`` pod templates to allow access to IAM
>>>> permissions (#15669)
>>>> - More verbose logs when running ``airflow db check-migrations``
>>>> (#15662)
>>>> - When one_success mark task as failed if no success (#15467)
>>>> - Add an option to trigger a dag w/o changing conf (#15591)
>>>> - Add Airflow UI instance_name configuration option (#10162)
>>>> - Add a decorator to retry functions with DB transactions (#14109)
>>>> - Add return to PythonVirtualenvOperator's execute method (#14061)
>>>> - Add verify_ssl config for kubernetes (#13516)
>>>> - Add description about ``secret_key`` when Webserver > 1 (#15546)
>>>> - Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
>>>> - Add support for arbitrary json in conn uri format (#15100)
>>>> - Adds description field in variable (#12413) (#15194)
>>>> - Add logs to show last modified in SFTP, FTP and Filesystem sensor
>>>> (#15134)
>>>> - Execute ``on_failure_callback`` when SIGTERM is received (#15172)
>>>> - Allow hiding of all edges when highlighting states (#15281)
>>>> - Display explicit error in case UID has no actual username (#15212)
>>>> - Serve logs with Scheduler when using Local or Sequential Executor
>>>> (#15557)
>>>> - Deactivate trigger, refresh, and delete controls on dag detail view.
>>>> (#14144)
>>>> - Turn off autocomplete for connection forms (#15073)
>>>> - Increase default ``worker_refresh_interval`` to ``6000`` seconds
>>>> (#14970)
>>>> - Only show User's local timezone if it's not UTC (#13904)
>>>> - Suppress LOG/WARNING for a few tasks CLI for better CLI experience
>>>> (#14567)
>>>> - Configurable API response (CORS) headers (#13620)
>>>> - Allow viewers to see all docs links (#14197)
>>>> - Update Tree View date ticks (#14141)
>>>> - Make the tooltip to Pause / Unpause a DAG clearer (#13642)
>>>> - Warn about precedence of env var when getting variables (#13501)
>>>> - Move ``[celery] default_queue`` config to ``[operators]
>>>> default_queue`` to re-use between executors  (#14699)
>>>>
>>>> Bug Fixes
>>>> """""""""
>>>>
>>>> - Fix 500 error from ``updateTaskInstancesState`` API endpoint when
>>>> ``dry_run`` not passed (#15889)
>>>> - Ensure that task preceding a PythonVirtualenvOperator doesn't fail
>>>> (#15822)
>>>> - Prevent mixed case env vars from crashing processes like worker
>>>> (#14380)
>>>> - Fixed type annotations in DAG decorator (#15778)
>>>> - Fix on_failure_callback when task receive SIGKILL (#15537)
>>>> - Fix dags table overflow (#15660)
>>>> - Fix changing the parent dag state on subdag clear (#15562)
>>>> - Fix reading from zip package to default to text (#13962)
>>>> - Fix wrong parameter for ``drawDagStatsForDag`` in dags.html (#13884)
>>>> - Fix QueuedLocalWorker crashing with EOFError (#13215)
>>>> - Fix typo in ``NotPreviouslySkippedDep`` (#13933)
>>>> - Fix parallelism after KubeExecutor pod adoption (#15555)
>>>> - Fix kube client on mac with keepalive enabled (#15551)
>>>> - Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
>>>> - Fix Task Adoption in ``KubernetesExecutor`` (#14795)
>>>> - Fix timeout when using XCom with ``KubernetesPodOperator`` (#15388)
>>>> - Fix deprecated provider aliases in "extras" not working (#15465)
>>>> - Fixed default XCom deserialization. (#14827)
>>>> - Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
>>>> - Further fix trimmed ``pod_id`` for ``KubernetesPodOperator`` (#15445)
>>>> - Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in
>>>> ``KubernetesPodOperator`` (#15443)
>>>> - Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
>>>> - Fix DAG last run link (#15327)
>>>> - Fix ``sync-perm`` to work correctly when update_fab_perms = False
>>>> (#14847)
>>>> - Fixes limits on Arrow for plexus test (#14781)
>>>> - Fix UI bugs in tree view (#14566)
>>>> - Fix AzureDataFactoryHook failing to instantiate its connection
>>>> (#14565)
>>>> - Fix permission error on non-POSIX filesystem (#13121)
>>>> - Fix spelling in "ignorable" (#14348)
>>>> - Fix get_context_data doctest import (#14288)
>>>> - Correct typo in ``GCSObjectsWtihPrefixExistenceSensor``  (#14179)
>>>> - Fix order of failed deps (#14036)
>>>> - Fix critical ``CeleryKubernetesExecutor`` bug (#13247)
>>>> - Fix four bugs in ``StackdriverTaskHandler`` (#13784)
>>>> - ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
>>>> - Persist tags params in pagination (#15411)
>>>> - API: Raise ``AlreadyExists`` exception when the ``execution_date`` is
>>>> same (#15174)
>>>> - Remove duplicate call to ``sync_metadata`` inside
>>>> ``DagFileProcessorManager`` (#15121)
>>>> - Extra ``docker-py`` update to resolve docker op issues (#15731)
>>>> - Ensure executors end method is called (#14085)
>>>> - Remove ``user_id`` from API schema (#15117)
>>>> - Prevent clickable bad links on disabled pagination (#15074)
>>>> - Acquire lock on db for the time of migration (#10151)
>>>> - Skip SLA check only if SLA is None (#14064)
>>>> - Print right version in airflow info command (#14560)
>>>> - Make ``airflow info`` work with pipes (#14528)
>>>> - Rework client-side script for connection form. (#14052)
>>>> - API: Add ``CollectionInfo`` in all Collections that have
>>>> ``total_entries`` (#14366)
>>>> - Fix ``task_instance_mutation_hook`` when importing
>>>> airflow.models.dagrun (#15851)
>>>>
>>>> Doc only changes
>>>> """"""""""""""""
>>>>
>>>> - Fix docstring of SqlSensor (#15466)
>>>> - Small changes on "DAGs and Tasks documentation" (#14853)
>>>> - Add note on changes to configuration options (#15696)
>>>> - Add docs to the ``markdownlint`` and ``yamllint`` config files
>>>> (#15682)
>>>> - Rename old "Experimental" API to deprecated in the docs. (#15653)
>>>> - Fix documentation error in `git_sync_template.yaml` (#13197)
>>>> - Fix doc link permission name (#14972)
>>>> - Fix link to Helm chart docs (#14652)
>>>> - Fix docstrings for Kubernetes code (#14605)
>>>> - docs: Capitalize & minor fixes (#14283) (#14534)
>>>> - Fixed reading from zip package to default to text. (#13984)
>>>> - An initial rework of the "Concepts" docs (#15444)
>>>> - Improve docstrings for various modules (#15047)
>>>> - Add documentation on database connection URI (#14124)
>>>> - Add Helm Chart logo to docs index (#14762)
>>>> - Create a new documentation package for Helm Chart (#14643)
>>>> - Add docs about supported logging levels (#14507)
>>>> - Update docs about tableau and salesforce provider (#14495)
>>>> - Replace deprecated doc links to the correct one (#14429)
>>>> - Refactor redundant doc url logic to use utility (#14080)
>>>> - docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
>>>> - Skip DAG perm sync during parsing if possible (#15464)
>>>> - Add picture and examples for Edge Labels (#15310)
>>>> - Add example DAG & how-to guide for sqlite (#13196)
>>>> - Add links to new modules for deprecated modules (#15316)
>>>> - Add note in Updating.md about FAB data model change (#14478)
>>>>
>>>> Misc/Internal
>>>> """""""""""""
>>>>
>>>> - Fix ``logging.exception`` redundancy (#14823)
>>>> - Bump ``stylelint`` to remove vulnerable sub-dependency (#15784)
>>>> - Add resolution to force dependencies to use patched version of lodash
>>>> (#15777)
>>>> - Update croniter to 1.0.x series (#15769)
>>>> - Get rid of Airflow 1.10 in Breeze (#15712)
>>>> - Run helm chart tests in parallel (#15706)
>>>> - Bump ``ssri`` from 6.0.1 to 6.0.2 in /airflow/www (#15437)
>>>> - Remove the limit on Gunicorn dependency (#15611)
>>>> - Better "dependency already registered" warning message for tasks
>>>> #14613 (#14860)
>>>> - Pin pandas-gbq to <0.15.0 (#15114)
>>>> - Use Pip 21.* to install airflow officially (#15513)
>>>> - Bump mysqlclient to support the 1.4.x and 2.x series (#14978)
>>>> - Finish refactor of DAG resource name helper (#15511)
>>>> - Refactor/Cleanup Presentation of Graph Task and Path Highlighting
>>>> (#15257)
>>>> - Standardize default fab perms (#14946)
>>>> - Remove ``datepicker`` for task instance detail view (#15284)
>>>> - Turn provider's import warnings into debug logs (#14903)
>>>> - Remove left-over fields from required in provider_info schema.
>>>> (#14119)
>>>> - Deprecate ``tableau`` extra (#13595)
>>>> - Use built-in `cached_property` on Python 3.8 where possible (#14606)
>>>> - Clean-up JS code in UI templates (#14019)
>>>> - Bump elliptic from 6.5.3 to 6.5.4 in /airflow/www (#14668)
>>>> - Switch to f-strings using ``flynt``. (#13732)
>>>> - use ``jquery`` ready instead of vanilla js (#15258)
>>>> - Migrate task instance log (ti_log) js (#15309)
>>>> - Migrate graph js (#15307)
>>>> - Migrate dags.html javascript (#14692)
>>>> - Removes unnecessary AzureContainerInstance connection type (#15514)
>>>> - Separate Kubernetes pod_launcher from core airflow (#15165)
>>>> - update remaining old import paths of operators (#15127)
>>>> - Remove broken and undocumented "demo mode" feature (#14601)
>>>> - Simplify configuration/legibility of ``Webpack`` entries (#14551)
>>>> - remove inline tree js (#14552)
>>>> - Js linting and inline migration for simple scripts (#14215)
>>>> - Remove use of repeated constant in AirflowConfigParser (#14023)
>>>> - Deprecate email credentials from environment variables. (#13601)
>>>> - Remove unused 'context' variable in task_instance.py (#14049)
>>>> - Disable suppress_logs_and_warning in cli when debugging (#13180)
>>>>
>>>
>>>
>>> --
>>> +48 660 796 129
>>>
>>
>>
>> --
>> +48 660 796 129
>>
>
>
> --
> +48 660 796 129
>
>

-- 
+48 660 796 129

Re: [VOTE] Release Airflow 2.1.0 from RC1

Posted by Ash Berlin-Taylor <as...@apache.org>.
I'm going to cancel this vote anyway -- it would have been fine, and we 
are only delayed by 12 hours from the original vote timeline , but 
we've fixed it already so I'll have an RC2 in a few minutes.


-ash


On Tue, May 18 2021 at 12:20:40 +0200, Jarek Potiuk <ja...@potiuk.com> 
wrote:
> After consulting with LEGAL 
> (<https://issues.apache.org/jira/browse/LEGAL-574>) I change my vote 
> back to +1.
> 
> Better done than perfect.
> 
> J.
> 
> On Tue, May 18, 2021 at 7:06 AM Jarek Potiuk <jarek@potiuk.com 
> <ma...@potiuk.com>> wrote:
>> Legal issue created to clarify the "component which is not Apache 
>> licensed" means. <https://issues.apache.org/jira/browse/LEGAL-574> - 
>> I think we have to release RC2 anyway, but clarification of the 
>> first issue might be useful as well.
>> 
>> On Tue, May 18, 2021 at 6:53 AM Jarek Potiuk <jarek@potiuk.com 
>> <ma...@potiuk.com>> wrote:
>>> This is cool. However I'd vote [-1] and ask to re-release RC2 
>>> quickly with fixing two small issues with licences:
>>> 
>>> 1) Already merged : <https://github.com/apache/airflow/pull/15906>  
>>> - I have not added the link to the vendored-in licence in our 
>>> LICENCE.txt. As Kaxil mentioned this **might** be ok, but the 
>>> policy is not clear whether it's ok to skip code that is Licensed 
>>> BY Apache Software Foundation, or whether it's OK to skip code that 
>>> is licenced under Apache licence. I will open a LEGAL issue to 
>>> clarify but it might be faster to re-relese RC2 with it.
>>> 2) However, there is a bigger problem I noticed during licence 
>>> check. We missed some excludes in .rat-exclude. They were for the 
>>> vendored-in-licence (not a problem since we have the licence in 
>>> `licenses` folder) and for generated .latest-doc-ony-changes.txt 
>>> (this is not a problem as they are auto-generated). However when I 
>>> fixed it, it turned out that we have a `ui/.env.example` file which 
>>> has no licence, and as simple the file is (one line!), technically 
>>> it MUST have the licence header.
>>> 
>>> I created PR fixing that: 
>>> <https://github.com/apache/airflow/pull/15908>
>>> 
>>> BTW. I did all other checks as well, I run Airflow 2.0.1rc1 and it 
>>> is all good to go IMHO. I love the new calendar view (!).
>>> 
>>> J.
>>> 
>>> 
>>> 
>>> 
>>> 
>>> On Tue, May 18, 2021 at 1:33 AM James Timmins 
>>> <ja...@astronomer.io.invalid> wrote:
>>>> Hey fellow Airflowers,
>>>> 
>>>>  We've cut Airflow 2.1.0 RC1. This email is calling a vote on the 
>>>> release, which will last for 72 hours, from Tuesday, May 18, 2021 
>>>> at 12:30am UTC until Friday, May 21, 2021 at 12:30 am UTC 
>>>> <https://www.timeanddate.com/worldclock/fixedtime.html?msg=8&iso=20210521T0030&p1=1440>, 
>>>> or until 3 binding +1 votes have been received.
>>>> 
>>>>  Consider this my (non-binding) +1. As I’m not a member of the 
>>>> PMC, Ash signed the distribution.
>>>> 
>>>> 
>>>>  Airflow 2.1.0 RC1 is available at: 
>>>> <https://dist.apache.org/repos/dist/dev/airflow/2.1.0rc1/>
>>>> 
>>>> *apache-airflow-2.1.0rc1-source.tar.gz* is a source release that 
>>>> comes with INSTALL instructions.
>>>> *apache-airflow-2.1.0rc1-bin.tar.gz* is the binary Python "sdist" 
>>>> release.
>>>> *apache_airflow-2.1.0rc1-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>
>>>> 
>>>>  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 PMCs and Contributors who would like to 
>>>> test this RC are described in
>>>> <https://github.com/apache/airflow/blob/master/dev/README_RELEASE_AIRFLOW.md#verify-the-release-candidate-by-pmcs>
>>>> 
>>>>  Please note that the version number excludes the `rcX` string, so 
>>>> it's now
>>>>  simply 2.1.0. This will allow us to rename the artifact without 
>>>> modifying
>>>>  the artifact checksums when we actually release.
>>>> 
>>>>  Changes since 2.0.2 below.
>>>> 
>>>>  Thanks,
>>>>  James
>>>> 
>>>>  New Features
>>>>  """"""""""""
>>>> 
>>>>  - Add ``PythonVirtualenvDecorator`` to Taskflow API (#14761)
>>>>  - Add ``Taskgroup`` decorator (#15034)
>>>>  - Create a DAG Calendar View (#15423)
>>>>  - Create cross-DAG dependencies view (#13199)
>>>>  - Add rest API to query for providers (#13394)
>>>>  - Mask passwords and sensitive info in task logs and UI (#15599)
>>>>  - Add ``SubprocessHook`` for running commands from operators 
>>>> (#13423)
>>>>  - Add DAG Timeout in UI page "DAG Details" (#14165)
>>>>  - Add ``WeekDayBranchOperator`` (#13997)
>>>>  - Add JSON linter to DAG Trigger UI (#13551)
>>>>  - Add DAG Description Doc to Trigger UI Page (#13365)
>>>>  - Add airflow webserver URL into SLA miss email. (#13249)
>>>>  - Add read only REST API endpoints for users (#14735)
>>>>  - Add files to generate Airflow's Python SDK (#14739)
>>>>  - Add dynamic fields to snowflake connection (#14724)
>>>>  - Add read only REST API endpoint for roles and permissions 
>>>> (#14664)
>>>>  - Add new datetime branch operator (#11964)
>>>>  - Add Google leveldb hook and operator (#13109) (#14105)
>>>>  - Add plugins endpoint to the REST API (#14280)
>>>>  - Add ``worker_pod_pending_timeout`` support (#15263)
>>>>  - Add support for labeling DAG edges (#15142)
>>>>  - Add CUD REST API endpoints for Roles (#14840)
>>>>  - Import connections from a file (#15177)
>>>>  - A bunch of ``template_fields_renderers`` additions (#15130)
>>>>  - Add REST API query sort and order to some endpoints (#14895)
>>>>  - Add timezone context in new ui (#15096)
>>>>  - Add query mutations to new UI (#15068)
>>>>  - Add different modes to sort dag files for parsing (#15046)
>>>>  - Auto refresh on Tree View (#15474)
>>>>  - BashOperator to raise ``AirflowSkipException`` on exit code 99 
>>>> (by default, configurable) (#13421) (#14963)
>>>>  - Clear tasks by task ids in REST API (#14500)
>>>>  - Support jinja2 native Python types (#14603)
>>>>  - Allow celery workers without gossip or mingle modes (#13880)
>>>>  - Add ``airflow jobs check`` CLI command to check health of jobs 
>>>> (Scheduler etc) (#14519)
>>>>  - Rename ``DateTimeBranchOperator`` to ``BranchDateTimeOperator`` 
>>>> (#14720)
>>>> 
>>>>  Improvements
>>>>  """"""""""""
>>>> 
>>>>  - Add optional result handler callback to ``DbApiHook`` (#15581)
>>>>  - Update Flask App Builder limit to recently released 3.3 (#15792)
>>>>  - Prevent creating flask sessions on REST API requests (#15295)
>>>>  - Sync DAG specific permissions when parsing (#15311)
>>>>  - Increase maximum length of pool name on Tasks to 256 characters 
>>>> (#15203)
>>>>  - Enforce READ COMMITTED isolation when using mysql (#15714)
>>>>  - Auto-apply ``apply_default`` to subclasses of ``BaseOperator`` 
>>>> (#15667)
>>>>  - Emit error on duplicated DAG ID (#15302)
>>>>  - Update ``KubernetesExecutor`` pod templates to allow access to 
>>>> IAM permissions (#15669)
>>>>  - More verbose logs when running ``airflow db check-migrations`` 
>>>> (#15662)
>>>>  - When one_success mark task as failed if no success (#15467)
>>>>  - Add an option to trigger a dag w/o changing conf (#15591)
>>>>  - Add Airflow UI instance_name configuration option (#10162)
>>>>  - Add a decorator to retry functions with DB transactions (#14109)
>>>>  - Add return to PythonVirtualenvOperator's execute method (#14061)
>>>>  - Add verify_ssl config for kubernetes (#13516)
>>>>  - Add description about ``secret_key`` when Webserver > 1 (#15546)
>>>>  - Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
>>>>  - Add support for arbitrary json in conn uri format (#15100)
>>>>  - Adds description field in variable (#12413) (#15194)
>>>>  - Add logs to show last modified in SFTP, FTP and Filesystem 
>>>> sensor (#15134)
>>>>  - Execute ``on_failure_callback`` when SIGTERM is received 
>>>> (#15172)
>>>>  - Allow hiding of all edges when highlighting states (#15281)
>>>>  - Display explicit error in case UID has no actual username 
>>>> (#15212)
>>>>  - Serve logs with Scheduler when using Local or Sequential 
>>>> Executor (#15557)
>>>>  - Deactivate trigger, refresh, and delete controls on dag detail 
>>>> view. (#14144)
>>>>  - Turn off autocomplete for connection forms (#15073)
>>>>  - Increase default ``worker_refresh_interval`` to ``6000`` 
>>>> seconds (#14970)
>>>>  - Only show User's local timezone if it's not UTC (#13904)
>>>>  - Suppress LOG/WARNING for a few tasks CLI for better CLI 
>>>> experience (#14567)
>>>>  - Configurable API response (CORS) headers (#13620)
>>>>  - Allow viewers to see all docs links (#14197)
>>>>  - Update Tree View date ticks (#14141)
>>>>  - Make the tooltip to Pause / Unpause a DAG clearer (#13642)
>>>>  - Warn about precedence of env var when getting variables (#13501)
>>>>  - Move ``[celery] default_queue`` config to ``[operators] 
>>>> default_queue`` to re-use between executors  (#14699)
>>>> 
>>>>  Bug Fixes
>>>>  """""""""
>>>> 
>>>>  - Fix 500 error from ``updateTaskInstancesState`` API endpoint 
>>>> when ``dry_run`` not passed (#15889)
>>>>  - Ensure that task preceding a PythonVirtualenvOperator doesn't 
>>>> fail (#15822)
>>>>  - Prevent mixed case env vars from crashing processes like worker 
>>>> (#14380)
>>>>  - Fixed type annotations in DAG decorator (#15778)
>>>>  - Fix on_failure_callback when task receive SIGKILL (#15537)
>>>>  - Fix dags table overflow (#15660)
>>>>  - Fix changing the parent dag state on subdag clear (#15562)
>>>>  - Fix reading from zip package to default to text (#13962)
>>>>  - Fix wrong parameter for ``drawDagStatsForDag`` in dags.html 
>>>> (#13884)
>>>>  - Fix QueuedLocalWorker crashing with EOFError (#13215)
>>>>  - Fix typo in ``NotPreviouslySkippedDep`` (#13933)
>>>>  - Fix parallelism after KubeExecutor pod adoption (#15555)
>>>>  - Fix kube client on mac with keepalive enabled (#15551)
>>>>  - Fixes wrong limit for dask for python>3.7 (should be <3.7) 
>>>> (#15545)
>>>>  - Fix Task Adoption in ``KubernetesExecutor`` (#14795)
>>>>  - Fix timeout when using XCom with ``KubernetesPodOperator`` 
>>>> (#15388)
>>>>  - Fix deprecated provider aliases in "extras" not working (#15465)
>>>>  - Fixed default XCom deserialization. (#14827)
>>>>  - Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
>>>>  - Further fix trimmed ``pod_id`` for ``KubernetesPodOperator`` 
>>>> (#15445)
>>>>  - Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in 
>>>> ``KubernetesPodOperator`` (#15443)
>>>>  - Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
>>>>  - Fix DAG last run link (#15327)
>>>>  - Fix ``sync-perm`` to work correctly when update_fab_perms = 
>>>> False (#14847)
>>>>  - Fixes limits on Arrow for plexus test (#14781)
>>>>  - Fix UI bugs in tree view (#14566)
>>>>  - Fix AzureDataFactoryHook failing to instantiate its connection 
>>>> (#14565)
>>>>  - Fix permission error on non-POSIX filesystem (#13121)
>>>>  - Fix spelling in "ignorable" (#14348)
>>>>  - Fix get_context_data doctest import (#14288)
>>>>  - Correct typo in ``GCSObjectsWtihPrefixExistenceSensor``  
>>>> (#14179)
>>>>  - Fix order of failed deps (#14036)
>>>>  - Fix critical ``CeleryKubernetesExecutor`` bug (#13247)
>>>>  - Fix four bugs in ``StackdriverTaskHandler`` (#13784)
>>>>  - ``func.sum`` may return ``Decimal`` that break rest APIs 
>>>> (#15585)
>>>>  - Persist tags params in pagination (#15411)
>>>>  - API: Raise ``AlreadyExists`` exception when the 
>>>> ``execution_date`` is same (#15174)
>>>>  - Remove duplicate call to ``sync_metadata`` inside 
>>>> ``DagFileProcessorManager`` (#15121)
>>>>  - Extra ``docker-py`` update to resolve docker op issues (#15731)
>>>>  - Ensure executors end method is called (#14085)
>>>>  - Remove ``user_id`` from API schema (#15117)
>>>>  - Prevent clickable bad links on disabled pagination (#15074)
>>>>  - Acquire lock on db for the time of migration (#10151)
>>>>  - Skip SLA check only if SLA is None (#14064)
>>>>  - Print right version in airflow info command (#14560)
>>>>  - Make ``airflow info`` work with pipes (#14528)
>>>>  - Rework client-side script for connection form. (#14052)
>>>>  - API: Add ``CollectionInfo`` in all Collections that have 
>>>> ``total_entries`` (#14366)
>>>>  - Fix ``task_instance_mutation_hook`` when importing 
>>>> airflow.models.dagrun (#15851)
>>>> 
>>>>  Doc only changes
>>>>  """"""""""""""""
>>>> 
>>>>  - Fix docstring of SqlSensor (#15466)
>>>>  - Small changes on "DAGs and Tasks documentation" (#14853)
>>>>  - Add note on changes to configuration options (#15696)
>>>>  - Add docs to the ``markdownlint`` and ``yamllint`` config files 
>>>> (#15682)
>>>>  - Rename old "Experimental" API to deprecated in the docs. 
>>>> (#15653)
>>>>  - Fix documentation error in `git_sync_template.yaml` (#13197)
>>>>  - Fix doc link permission name (#14972)
>>>>  - Fix link to Helm chart docs (#14652)
>>>>  - Fix docstrings for Kubernetes code (#14605)
>>>>  - docs: Capitalize & minor fixes (#14283) (#14534)
>>>>  - Fixed reading from zip package to default to text. (#13984)
>>>>  - An initial rework of the "Concepts" docs (#15444)
>>>>  - Improve docstrings for various modules (#15047)
>>>>  - Add documentation on database connection URI (#14124)
>>>>  - Add Helm Chart logo to docs index (#14762)
>>>>  - Create a new documentation package for Helm Chart (#14643)
>>>>  - Add docs about supported logging levels (#14507)
>>>>  - Update docs about tableau and salesforce provider (#14495)
>>>>  - Replace deprecated doc links to the correct one (#14429)
>>>>  - Refactor redundant doc url logic to use utility (#14080)
>>>>  - docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
>>>>  - Skip DAG perm sync during parsing if possible (#15464)
>>>>  - Add picture and examples for Edge Labels (#15310)
>>>>  - Add example DAG & how-to guide for sqlite (#13196)
>>>>  - Add links to new modules for deprecated modules (#15316)
>>>>  - Add note in Updating.md about FAB data model change (#14478)
>>>> 
>>>>  Misc/Internal
>>>>  """""""""""""
>>>> 
>>>>  - Fix ``logging.exception`` redundancy (#14823)
>>>>  - Bump ``stylelint`` to remove vulnerable sub-dependency (#15784)
>>>>  - Add resolution to force dependencies to use patched version of 
>>>> lodash (#15777)
>>>>  - Update croniter to 1.0.x series (#15769)
>>>>  - Get rid of Airflow 1.10 in Breeze (#15712)
>>>>  - Run helm chart tests in parallel (#15706)
>>>>  - Bump ``ssri`` from 6.0.1 to 6.0.2 in /airflow/www (#15437)
>>>>  - Remove the limit on Gunicorn dependency (#15611)
>>>>  - Better "dependency already registered" warning message for 
>>>> tasks #14613 (#14860)
>>>>  - Pin pandas-gbq to <0.15.0 (#15114)
>>>>  - Use Pip 21.* to install airflow officially (#15513)
>>>>  - Bump mysqlclient to support the 1.4.x and 2.x series (#14978)
>>>>  - Finish refactor of DAG resource name helper (#15511)
>>>>  - Refactor/Cleanup Presentation of Graph Task and Path 
>>>> Highlighting (#15257)
>>>>  - Standardize default fab perms (#14946)
>>>>  - Remove ``datepicker`` for task instance detail view (#15284)
>>>>  - Turn provider's import warnings into debug logs (#14903)
>>>>  - Remove left-over fields from required in provider_info schema. 
>>>> (#14119)
>>>>  - Deprecate ``tableau`` extra (#13595)
>>>>  - Use built-in `cached_property` on Python 3.8 where possible 
>>>> (#14606)
>>>>  - Clean-up JS code in UI templates (#14019)
>>>>  - Bump elliptic from 6.5.3 to 6.5.4 in /airflow/www (#14668)
>>>>  - Switch to f-strings using ``flynt``. (#13732)
>>>>  - use ``jquery`` ready instead of vanilla js (#15258)
>>>>  - Migrate task instance log (ti_log) js (#15309)
>>>>  - Migrate graph js (#15307)
>>>>  - Migrate dags.html javascript (#14692)
>>>>  - Removes unnecessary AzureContainerInstance connection type 
>>>> (#15514)
>>>>  - Separate Kubernetes pod_launcher from core airflow (#15165)
>>>>  - update remaining old import paths of operators (#15127)
>>>>  - Remove broken and undocumented "demo mode" feature (#14601)
>>>>  - Simplify configuration/legibility of ``Webpack`` entries 
>>>> (#14551)
>>>>  - remove inline tree js (#14552)
>>>>  - Js linting and inline migration for simple scripts (#14215)
>>>>  - Remove use of repeated constant in AirflowConfigParser (#14023)
>>>>  - Deprecate email credentials from environment variables. (#13601)
>>>>  - Remove unused 'context' variable in task_instance.py (#14049)
>>>>  - Disable suppress_logs_and_warning in cli when debugging (#13180)
>>> 
>>> 
>>> --
>>> +48 660 796 129
>> 
>> 
>> --
>> +48 660 796 129
> 
> 
> --
> +48 660 796 129


Re: [VOTE] Release Airflow 2.1.0 from RC1

Posted by Jarek Potiuk <ja...@potiuk.com>.
After consulting with LEGAL (https://issues.apache.org/jira/browse/LEGAL-574)
I change my vote back to +1.

Better done than perfect.

J.

On Tue, May 18, 2021 at 7:06 AM Jarek Potiuk <ja...@potiuk.com> wrote:

> Legal issue created to clarify the "component which is not Apache
> licensed" means. https://issues.apache.org/jira/browse/LEGAL-574 - I
> think we have to release RC2 anyway, but clarification of the first issue
> might be useful as well.
>
> On Tue, May 18, 2021 at 6:53 AM Jarek Potiuk <ja...@potiuk.com> wrote:
>
>> This is cool. However I'd vote [-1] and ask to re-release RC2 quickly
>> with fixing two small issues with licences:
>>
>> 1) Already merged : https://github.com/apache/airflow/pull/15906  - I
>> have not added the link to the vendored-in licence in our LICENCE.txt. As
>> Kaxil mentioned this **might** be ok, but the policy is not clear whether
>> it's ok to skip code that is Licensed BY Apache Software Foundation, or
>> whether it's OK to skip code that is licenced under Apache licence. I will
>> open a LEGAL issue to clarify but it might be faster to re-relese RC2 with
>> it.
>> 2) However, there is a bigger problem I noticed during licence check. We
>> missed some excludes in .rat-exclude. They were for the vendored-in-licence
>> (not a problem since we have the licence in `licenses` folder) and for
>> generated .latest-doc-ony-changes.txt (this is not a problem as they are
>> auto-generated). However when I fixed it, it turned out that we have a
>> `ui/.env.example` file which has no licence, and as simple the file is (one
>> line!), technically it MUST have the licence header.
>>
>> I created PR fixing that: https://github.com/apache/airflow/pull/15908
>>
>> BTW. I did all other checks as well, I run Airflow 2.0.1rc1 and it is all
>> good to go IMHO. I love the new calendar view (!).
>>
>> J.
>>
>>
>>
>>
>>
>> On Tue, May 18, 2021 at 1:33 AM James Timmins <ja...@astronomer.io.invalid>
>> wrote:
>>
>>> Hey fellow Airflowers,
>>>
>>> We've cut Airflow 2.1.0 RC1. This email is calling a vote on the
>>> release, which will last for 72 hours, from Tuesday, May 18, 2021 at
>>> 12:30am UTC until Friday, May 21, 2021 at 12:30 am UTC
>>> <https://www.timeanddate.com/worldclock/fixedtime.html?msg=8&iso=20210521T0030&p1=1440>,
>>> or until 3 binding +1 votes have been received.
>>>
>>> Consider this my (non-binding) +1. As I’m not a member of the PMC, Ash
>>> signed the distribution.
>>>
>>>
>>> Airflow 2.1.0 RC1 is available at:
>>> https://dist.apache.org/repos/dist/dev/airflow/2.1.0rc1/
>>>
>>> *apache-airflow-2.1.0rc1-source.tar.gz* is a source release that comes
>>> with INSTALL instructions.
>>> *apache-airflow-2.1.0rc1-bin.tar.gz* is the binary Python "sdist"
>>> release.
>>> *apache_airflow-2.1.0rc1-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
>>>
>>> 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 PMCs and Contributors who would like to test this
>>> RC are described in
>>>
>>> https://github.com/apache/airflow/blob/master/dev/README_RELEASE_AIRFLOW.md#verify-the-release-candidate-by-pmcs
>>>
>>> Please note that the version number excludes the `rcX` string, so it's
>>> now
>>> simply 2.1.0. This will allow us to rename the artifact without modifying
>>> the artifact checksums when we actually release.
>>>
>>> Changes since 2.0.2 below.
>>>
>>> Thanks,
>>> James
>>>
>>> New Features
>>> """"""""""""
>>>
>>> - Add ``PythonVirtualenvDecorator`` to Taskflow API (#14761)
>>> - Add ``Taskgroup`` decorator (#15034)
>>> - Create a DAG Calendar View (#15423)
>>> - Create cross-DAG dependencies view (#13199)
>>> - Add rest API to query for providers (#13394)
>>> - Mask passwords and sensitive info in task logs and UI (#15599)
>>> - Add ``SubprocessHook`` for running commands from operators (#13423)
>>> - Add DAG Timeout in UI page "DAG Details" (#14165)
>>> - Add ``WeekDayBranchOperator`` (#13997)
>>> - Add JSON linter to DAG Trigger UI (#13551)
>>> - Add DAG Description Doc to Trigger UI Page (#13365)
>>> - Add airflow webserver URL into SLA miss email. (#13249)
>>> - Add read only REST API endpoints for users (#14735)
>>> - Add files to generate Airflow's Python SDK (#14739)
>>> - Add dynamic fields to snowflake connection (#14724)
>>> - Add read only REST API endpoint for roles and permissions (#14664)
>>> - Add new datetime branch operator (#11964)
>>> - Add Google leveldb hook and operator (#13109) (#14105)
>>> - Add plugins endpoint to the REST API (#14280)
>>> - Add ``worker_pod_pending_timeout`` support (#15263)
>>> - Add support for labeling DAG edges (#15142)
>>> - Add CUD REST API endpoints for Roles (#14840)
>>> - Import connections from a file (#15177)
>>> - A bunch of ``template_fields_renderers`` additions (#15130)
>>> - Add REST API query sort and order to some endpoints (#14895)
>>> - Add timezone context in new ui (#15096)
>>> - Add query mutations to new UI (#15068)
>>> - Add different modes to sort dag files for parsing (#15046)
>>> - Auto refresh on Tree View (#15474)
>>> - BashOperator to raise ``AirflowSkipException`` on exit code 99 (by
>>> default, configurable) (#13421) (#14963)
>>> - Clear tasks by task ids in REST API (#14500)
>>> - Support jinja2 native Python types (#14603)
>>> - Allow celery workers without gossip or mingle modes (#13880)
>>> - Add ``airflow jobs check`` CLI command to check health of jobs
>>> (Scheduler etc) (#14519)
>>> - Rename ``DateTimeBranchOperator`` to ``BranchDateTimeOperator``
>>> (#14720)
>>>
>>> Improvements
>>> """"""""""""
>>>
>>> - Add optional result handler callback to ``DbApiHook`` (#15581)
>>> - Update Flask App Builder limit to recently released 3.3 (#15792)
>>> - Prevent creating flask sessions on REST API requests (#15295)
>>> - Sync DAG specific permissions when parsing (#15311)
>>> - Increase maximum length of pool name on Tasks to 256 characters
>>> (#15203)
>>> - Enforce READ COMMITTED isolation when using mysql (#15714)
>>> - Auto-apply ``apply_default`` to subclasses of ``BaseOperator`` (#15667)
>>> - Emit error on duplicated DAG ID (#15302)
>>> - Update ``KubernetesExecutor`` pod templates to allow access to IAM
>>> permissions (#15669)
>>> - More verbose logs when running ``airflow db check-migrations`` (#15662)
>>> - When one_success mark task as failed if no success (#15467)
>>> - Add an option to trigger a dag w/o changing conf (#15591)
>>> - Add Airflow UI instance_name configuration option (#10162)
>>> - Add a decorator to retry functions with DB transactions (#14109)
>>> - Add return to PythonVirtualenvOperator's execute method (#14061)
>>> - Add verify_ssl config for kubernetes (#13516)
>>> - Add description about ``secret_key`` when Webserver > 1 (#15546)
>>> - Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
>>> - Add support for arbitrary json in conn uri format (#15100)
>>> - Adds description field in variable (#12413) (#15194)
>>> - Add logs to show last modified in SFTP, FTP and Filesystem sensor
>>> (#15134)
>>> - Execute ``on_failure_callback`` when SIGTERM is received (#15172)
>>> - Allow hiding of all edges when highlighting states (#15281)
>>> - Display explicit error in case UID has no actual username (#15212)
>>> - Serve logs with Scheduler when using Local or Sequential Executor
>>> (#15557)
>>> - Deactivate trigger, refresh, and delete controls on dag detail view.
>>> (#14144)
>>> - Turn off autocomplete for connection forms (#15073)
>>> - Increase default ``worker_refresh_interval`` to ``6000`` seconds
>>> (#14970)
>>> - Only show User's local timezone if it's not UTC (#13904)
>>> - Suppress LOG/WARNING for a few tasks CLI for better CLI experience
>>> (#14567)
>>> - Configurable API response (CORS) headers (#13620)
>>> - Allow viewers to see all docs links (#14197)
>>> - Update Tree View date ticks (#14141)
>>> - Make the tooltip to Pause / Unpause a DAG clearer (#13642)
>>> - Warn about precedence of env var when getting variables (#13501)
>>> - Move ``[celery] default_queue`` config to ``[operators]
>>> default_queue`` to re-use between executors  (#14699)
>>>
>>> Bug Fixes
>>> """""""""
>>>
>>> - Fix 500 error from ``updateTaskInstancesState`` API endpoint when
>>> ``dry_run`` not passed (#15889)
>>> - Ensure that task preceding a PythonVirtualenvOperator doesn't fail
>>> (#15822)
>>> - Prevent mixed case env vars from crashing processes like worker
>>> (#14380)
>>> - Fixed type annotations in DAG decorator (#15778)
>>> - Fix on_failure_callback when task receive SIGKILL (#15537)
>>> - Fix dags table overflow (#15660)
>>> - Fix changing the parent dag state on subdag clear (#15562)
>>> - Fix reading from zip package to default to text (#13962)
>>> - Fix wrong parameter for ``drawDagStatsForDag`` in dags.html (#13884)
>>> - Fix QueuedLocalWorker crashing with EOFError (#13215)
>>> - Fix typo in ``NotPreviouslySkippedDep`` (#13933)
>>> - Fix parallelism after KubeExecutor pod adoption (#15555)
>>> - Fix kube client on mac with keepalive enabled (#15551)
>>> - Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
>>> - Fix Task Adoption in ``KubernetesExecutor`` (#14795)
>>> - Fix timeout when using XCom with ``KubernetesPodOperator`` (#15388)
>>> - Fix deprecated provider aliases in "extras" not working (#15465)
>>> - Fixed default XCom deserialization. (#14827)
>>> - Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
>>> - Further fix trimmed ``pod_id`` for ``KubernetesPodOperator`` (#15445)
>>> - Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in
>>> ``KubernetesPodOperator`` (#15443)
>>> - Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
>>> - Fix DAG last run link (#15327)
>>> - Fix ``sync-perm`` to work correctly when update_fab_perms = False
>>> (#14847)
>>> - Fixes limits on Arrow for plexus test (#14781)
>>> - Fix UI bugs in tree view (#14566)
>>> - Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
>>> - Fix permission error on non-POSIX filesystem (#13121)
>>> - Fix spelling in "ignorable" (#14348)
>>> - Fix get_context_data doctest import (#14288)
>>> - Correct typo in ``GCSObjectsWtihPrefixExistenceSensor``  (#14179)
>>> - Fix order of failed deps (#14036)
>>> - Fix critical ``CeleryKubernetesExecutor`` bug (#13247)
>>> - Fix four bugs in ``StackdriverTaskHandler`` (#13784)
>>> - ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
>>> - Persist tags params in pagination (#15411)
>>> - API: Raise ``AlreadyExists`` exception when the ``execution_date`` is
>>> same (#15174)
>>> - Remove duplicate call to ``sync_metadata`` inside
>>> ``DagFileProcessorManager`` (#15121)
>>> - Extra ``docker-py`` update to resolve docker op issues (#15731)
>>> - Ensure executors end method is called (#14085)
>>> - Remove ``user_id`` from API schema (#15117)
>>> - Prevent clickable bad links on disabled pagination (#15074)
>>> - Acquire lock on db for the time of migration (#10151)
>>> - Skip SLA check only if SLA is None (#14064)
>>> - Print right version in airflow info command (#14560)
>>> - Make ``airflow info`` work with pipes (#14528)
>>> - Rework client-side script for connection form. (#14052)
>>> - API: Add ``CollectionInfo`` in all Collections that have
>>> ``total_entries`` (#14366)
>>> - Fix ``task_instance_mutation_hook`` when importing
>>> airflow.models.dagrun (#15851)
>>>
>>> Doc only changes
>>> """"""""""""""""
>>>
>>> - Fix docstring of SqlSensor (#15466)
>>> - Small changes on "DAGs and Tasks documentation" (#14853)
>>> - Add note on changes to configuration options (#15696)
>>> - Add docs to the ``markdownlint`` and ``yamllint`` config files (#15682)
>>> - Rename old "Experimental" API to deprecated in the docs. (#15653)
>>> - Fix documentation error in `git_sync_template.yaml` (#13197)
>>> - Fix doc link permission name (#14972)
>>> - Fix link to Helm chart docs (#14652)
>>> - Fix docstrings for Kubernetes code (#14605)
>>> - docs: Capitalize & minor fixes (#14283) (#14534)
>>> - Fixed reading from zip package to default to text. (#13984)
>>> - An initial rework of the "Concepts" docs (#15444)
>>> - Improve docstrings for various modules (#15047)
>>> - Add documentation on database connection URI (#14124)
>>> - Add Helm Chart logo to docs index (#14762)
>>> - Create a new documentation package for Helm Chart (#14643)
>>> - Add docs about supported logging levels (#14507)
>>> - Update docs about tableau and salesforce provider (#14495)
>>> - Replace deprecated doc links to the correct one (#14429)
>>> - Refactor redundant doc url logic to use utility (#14080)
>>> - docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
>>> - Skip DAG perm sync during parsing if possible (#15464)
>>> - Add picture and examples for Edge Labels (#15310)
>>> - Add example DAG & how-to guide for sqlite (#13196)
>>> - Add links to new modules for deprecated modules (#15316)
>>> - Add note in Updating.md about FAB data model change (#14478)
>>>
>>> Misc/Internal
>>> """""""""""""
>>>
>>> - Fix ``logging.exception`` redundancy (#14823)
>>> - Bump ``stylelint`` to remove vulnerable sub-dependency (#15784)
>>> - Add resolution to force dependencies to use patched version of lodash
>>> (#15777)
>>> - Update croniter to 1.0.x series (#15769)
>>> - Get rid of Airflow 1.10 in Breeze (#15712)
>>> - Run helm chart tests in parallel (#15706)
>>> - Bump ``ssri`` from 6.0.1 to 6.0.2 in /airflow/www (#15437)
>>> - Remove the limit on Gunicorn dependency (#15611)
>>> - Better "dependency already registered" warning message for tasks
>>> #14613 (#14860)
>>> - Pin pandas-gbq to <0.15.0 (#15114)
>>> - Use Pip 21.* to install airflow officially (#15513)
>>> - Bump mysqlclient to support the 1.4.x and 2.x series (#14978)
>>> - Finish refactor of DAG resource name helper (#15511)
>>> - Refactor/Cleanup Presentation of Graph Task and Path Highlighting
>>> (#15257)
>>> - Standardize default fab perms (#14946)
>>> - Remove ``datepicker`` for task instance detail view (#15284)
>>> - Turn provider's import warnings into debug logs (#14903)
>>> - Remove left-over fields from required in provider_info schema. (#14119)
>>> - Deprecate ``tableau`` extra (#13595)
>>> - Use built-in `cached_property` on Python 3.8 where possible (#14606)
>>> - Clean-up JS code in UI templates (#14019)
>>> - Bump elliptic from 6.5.3 to 6.5.4 in /airflow/www (#14668)
>>> - Switch to f-strings using ``flynt``. (#13732)
>>> - use ``jquery`` ready instead of vanilla js (#15258)
>>> - Migrate task instance log (ti_log) js (#15309)
>>> - Migrate graph js (#15307)
>>> - Migrate dags.html javascript (#14692)
>>> - Removes unnecessary AzureContainerInstance connection type (#15514)
>>> - Separate Kubernetes pod_launcher from core airflow (#15165)
>>> - update remaining old import paths of operators (#15127)
>>> - Remove broken and undocumented "demo mode" feature (#14601)
>>> - Simplify configuration/legibility of ``Webpack`` entries (#14551)
>>> - remove inline tree js (#14552)
>>> - Js linting and inline migration for simple scripts (#14215)
>>> - Remove use of repeated constant in AirflowConfigParser (#14023)
>>> - Deprecate email credentials from environment variables. (#13601)
>>> - Remove unused 'context' variable in task_instance.py (#14049)
>>> - Disable suppress_logs_and_warning in cli when debugging (#13180)
>>>
>>
>>
>> --
>> +48 660 796 129
>>
>
>
> --
> +48 660 796 129
>


-- 
+48 660 796 129

Re: [VOTE] Release Airflow 2.1.0 from RC1

Posted by Jarek Potiuk <ja...@potiuk.com>.
Legal issue created to clarify the "component which is not Apache licensed"
means. https://issues.apache.org/jira/browse/LEGAL-574 - I think we have to
release RC2 anyway, but clarification of the first issue might be useful as
well.

On Tue, May 18, 2021 at 6:53 AM Jarek Potiuk <ja...@potiuk.com> wrote:

> This is cool. However I'd vote [-1] and ask to re-release RC2 quickly with
> fixing two small issues with licences:
>
> 1) Already merged : https://github.com/apache/airflow/pull/15906  - I
> have not added the link to the vendored-in licence in our LICENCE.txt. As
> Kaxil mentioned this **might** be ok, but the policy is not clear whether
> it's ok to skip code that is Licensed BY Apache Software Foundation, or
> whether it's OK to skip code that is licenced under Apache licence. I will
> open a LEGAL issue to clarify but it might be faster to re-relese RC2 with
> it.
> 2) However, there is a bigger problem I noticed during licence check. We
> missed some excludes in .rat-exclude. They were for the vendored-in-licence
> (not a problem since we have the licence in `licenses` folder) and for
> generated .latest-doc-ony-changes.txt (this is not a problem as they are
> auto-generated). However when I fixed it, it turned out that we have a
> `ui/.env.example` file which has no licence, and as simple the file is (one
> line!), technically it MUST have the licence header.
>
> I created PR fixing that: https://github.com/apache/airflow/pull/15908
>
> BTW. I did all other checks as well, I run Airflow 2.0.1rc1 and it is all
> good to go IMHO. I love the new calendar view (!).
>
> J.
>
>
>
>
>
> On Tue, May 18, 2021 at 1:33 AM James Timmins <ja...@astronomer.io.invalid>
> wrote:
>
>> Hey fellow Airflowers,
>>
>> We've cut Airflow 2.1.0 RC1. This email is calling a vote on the release,
>> which will last for 72 hours, from Tuesday, May 18, 2021 at 12:30am UTC
>> until Friday, May 21, 2021 at 12:30 am UTC
>> <https://www.timeanddate.com/worldclock/fixedtime.html?msg=8&iso=20210521T0030&p1=1440>,
>> or until 3 binding +1 votes have been received.
>>
>> Consider this my (non-binding) +1. As I’m not a member of the PMC, Ash
>> signed the distribution.
>>
>>
>> Airflow 2.1.0 RC1 is available at:
>> https://dist.apache.org/repos/dist/dev/airflow/2.1.0rc1/
>>
>> *apache-airflow-2.1.0rc1-source.tar.gz* is a source release that comes
>> with INSTALL instructions.
>> *apache-airflow-2.1.0rc1-bin.tar.gz* is the binary Python "sdist"
>> release.
>> *apache_airflow-2.1.0rc1-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
>>
>> 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 PMCs and Contributors who would like to test this
>> RC are described in
>>
>> https://github.com/apache/airflow/blob/master/dev/README_RELEASE_AIRFLOW.md#verify-the-release-candidate-by-pmcs
>>
>> Please note that the version number excludes the `rcX` string, so it's now
>> simply 2.1.0. This will allow us to rename the artifact without modifying
>> the artifact checksums when we actually release.
>>
>> Changes since 2.0.2 below.
>>
>> Thanks,
>> James
>>
>> New Features
>> """"""""""""
>>
>> - Add ``PythonVirtualenvDecorator`` to Taskflow API (#14761)
>> - Add ``Taskgroup`` decorator (#15034)
>> - Create a DAG Calendar View (#15423)
>> - Create cross-DAG dependencies view (#13199)
>> - Add rest API to query for providers (#13394)
>> - Mask passwords and sensitive info in task logs and UI (#15599)
>> - Add ``SubprocessHook`` for running commands from operators (#13423)
>> - Add DAG Timeout in UI page "DAG Details" (#14165)
>> - Add ``WeekDayBranchOperator`` (#13997)
>> - Add JSON linter to DAG Trigger UI (#13551)
>> - Add DAG Description Doc to Trigger UI Page (#13365)
>> - Add airflow webserver URL into SLA miss email. (#13249)
>> - Add read only REST API endpoints for users (#14735)
>> - Add files to generate Airflow's Python SDK (#14739)
>> - Add dynamic fields to snowflake connection (#14724)
>> - Add read only REST API endpoint for roles and permissions (#14664)
>> - Add new datetime branch operator (#11964)
>> - Add Google leveldb hook and operator (#13109) (#14105)
>> - Add plugins endpoint to the REST API (#14280)
>> - Add ``worker_pod_pending_timeout`` support (#15263)
>> - Add support for labeling DAG edges (#15142)
>> - Add CUD REST API endpoints for Roles (#14840)
>> - Import connections from a file (#15177)
>> - A bunch of ``template_fields_renderers`` additions (#15130)
>> - Add REST API query sort and order to some endpoints (#14895)
>> - Add timezone context in new ui (#15096)
>> - Add query mutations to new UI (#15068)
>> - Add different modes to sort dag files for parsing (#15046)
>> - Auto refresh on Tree View (#15474)
>> - BashOperator to raise ``AirflowSkipException`` on exit code 99 (by
>> default, configurable) (#13421) (#14963)
>> - Clear tasks by task ids in REST API (#14500)
>> - Support jinja2 native Python types (#14603)
>> - Allow celery workers without gossip or mingle modes (#13880)
>> - Add ``airflow jobs check`` CLI command to check health of jobs
>> (Scheduler etc) (#14519)
>> - Rename ``DateTimeBranchOperator`` to ``BranchDateTimeOperator`` (#14720)
>>
>> Improvements
>> """"""""""""
>>
>> - Add optional result handler callback to ``DbApiHook`` (#15581)
>> - Update Flask App Builder limit to recently released 3.3 (#15792)
>> - Prevent creating flask sessions on REST API requests (#15295)
>> - Sync DAG specific permissions when parsing (#15311)
>> - Increase maximum length of pool name on Tasks to 256 characters (#15203)
>> - Enforce READ COMMITTED isolation when using mysql (#15714)
>> - Auto-apply ``apply_default`` to subclasses of ``BaseOperator`` (#15667)
>> - Emit error on duplicated DAG ID (#15302)
>> - Update ``KubernetesExecutor`` pod templates to allow access to IAM
>> permissions (#15669)
>> - More verbose logs when running ``airflow db check-migrations`` (#15662)
>> - When one_success mark task as failed if no success (#15467)
>> - Add an option to trigger a dag w/o changing conf (#15591)
>> - Add Airflow UI instance_name configuration option (#10162)
>> - Add a decorator to retry functions with DB transactions (#14109)
>> - Add return to PythonVirtualenvOperator's execute method (#14061)
>> - Add verify_ssl config for kubernetes (#13516)
>> - Add description about ``secret_key`` when Webserver > 1 (#15546)
>> - Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
>> - Add support for arbitrary json in conn uri format (#15100)
>> - Adds description field in variable (#12413) (#15194)
>> - Add logs to show last modified in SFTP, FTP and Filesystem sensor
>> (#15134)
>> - Execute ``on_failure_callback`` when SIGTERM is received (#15172)
>> - Allow hiding of all edges when highlighting states (#15281)
>> - Display explicit error in case UID has no actual username (#15212)
>> - Serve logs with Scheduler when using Local or Sequential Executor
>> (#15557)
>> - Deactivate trigger, refresh, and delete controls on dag detail view.
>> (#14144)
>> - Turn off autocomplete for connection forms (#15073)
>> - Increase default ``worker_refresh_interval`` to ``6000`` seconds
>> (#14970)
>> - Only show User's local timezone if it's not UTC (#13904)
>> - Suppress LOG/WARNING for a few tasks CLI for better CLI experience
>> (#14567)
>> - Configurable API response (CORS) headers (#13620)
>> - Allow viewers to see all docs links (#14197)
>> - Update Tree View date ticks (#14141)
>> - Make the tooltip to Pause / Unpause a DAG clearer (#13642)
>> - Warn about precedence of env var when getting variables (#13501)
>> - Move ``[celery] default_queue`` config to ``[operators] default_queue``
>> to re-use between executors  (#14699)
>>
>> Bug Fixes
>> """""""""
>>
>> - Fix 500 error from ``updateTaskInstancesState`` API endpoint when
>> ``dry_run`` not passed (#15889)
>> - Ensure that task preceding a PythonVirtualenvOperator doesn't fail
>> (#15822)
>> - Prevent mixed case env vars from crashing processes like worker (#14380)
>> - Fixed type annotations in DAG decorator (#15778)
>> - Fix on_failure_callback when task receive SIGKILL (#15537)
>> - Fix dags table overflow (#15660)
>> - Fix changing the parent dag state on subdag clear (#15562)
>> - Fix reading from zip package to default to text (#13962)
>> - Fix wrong parameter for ``drawDagStatsForDag`` in dags.html (#13884)
>> - Fix QueuedLocalWorker crashing with EOFError (#13215)
>> - Fix typo in ``NotPreviouslySkippedDep`` (#13933)
>> - Fix parallelism after KubeExecutor pod adoption (#15555)
>> - Fix kube client on mac with keepalive enabled (#15551)
>> - Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
>> - Fix Task Adoption in ``KubernetesExecutor`` (#14795)
>> - Fix timeout when using XCom with ``KubernetesPodOperator`` (#15388)
>> - Fix deprecated provider aliases in "extras" not working (#15465)
>> - Fixed default XCom deserialization. (#14827)
>> - Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
>> - Further fix trimmed ``pod_id`` for ``KubernetesPodOperator`` (#15445)
>> - Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in
>> ``KubernetesPodOperator`` (#15443)
>> - Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
>> - Fix DAG last run link (#15327)
>> - Fix ``sync-perm`` to work correctly when update_fab_perms = False
>> (#14847)
>> - Fixes limits on Arrow for plexus test (#14781)
>> - Fix UI bugs in tree view (#14566)
>> - Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
>> - Fix permission error on non-POSIX filesystem (#13121)
>> - Fix spelling in "ignorable" (#14348)
>> - Fix get_context_data doctest import (#14288)
>> - Correct typo in ``GCSObjectsWtihPrefixExistenceSensor``  (#14179)
>> - Fix order of failed deps (#14036)
>> - Fix critical ``CeleryKubernetesExecutor`` bug (#13247)
>> - Fix four bugs in ``StackdriverTaskHandler`` (#13784)
>> - ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
>> - Persist tags params in pagination (#15411)
>> - API: Raise ``AlreadyExists`` exception when the ``execution_date`` is
>> same (#15174)
>> - Remove duplicate call to ``sync_metadata`` inside
>> ``DagFileProcessorManager`` (#15121)
>> - Extra ``docker-py`` update to resolve docker op issues (#15731)
>> - Ensure executors end method is called (#14085)
>> - Remove ``user_id`` from API schema (#15117)
>> - Prevent clickable bad links on disabled pagination (#15074)
>> - Acquire lock on db for the time of migration (#10151)
>> - Skip SLA check only if SLA is None (#14064)
>> - Print right version in airflow info command (#14560)
>> - Make ``airflow info`` work with pipes (#14528)
>> - Rework client-side script for connection form. (#14052)
>> - API: Add ``CollectionInfo`` in all Collections that have
>> ``total_entries`` (#14366)
>> - Fix ``task_instance_mutation_hook`` when importing
>> airflow.models.dagrun (#15851)
>>
>> Doc only changes
>> """"""""""""""""
>>
>> - Fix docstring of SqlSensor (#15466)
>> - Small changes on "DAGs and Tasks documentation" (#14853)
>> - Add note on changes to configuration options (#15696)
>> - Add docs to the ``markdownlint`` and ``yamllint`` config files (#15682)
>> - Rename old "Experimental" API to deprecated in the docs. (#15653)
>> - Fix documentation error in `git_sync_template.yaml` (#13197)
>> - Fix doc link permission name (#14972)
>> - Fix link to Helm chart docs (#14652)
>> - Fix docstrings for Kubernetes code (#14605)
>> - docs: Capitalize & minor fixes (#14283) (#14534)
>> - Fixed reading from zip package to default to text. (#13984)
>> - An initial rework of the "Concepts" docs (#15444)
>> - Improve docstrings for various modules (#15047)
>> - Add documentation on database connection URI (#14124)
>> - Add Helm Chart logo to docs index (#14762)
>> - Create a new documentation package for Helm Chart (#14643)
>> - Add docs about supported logging levels (#14507)
>> - Update docs about tableau and salesforce provider (#14495)
>> - Replace deprecated doc links to the correct one (#14429)
>> - Refactor redundant doc url logic to use utility (#14080)
>> - docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
>> - Skip DAG perm sync during parsing if possible (#15464)
>> - Add picture and examples for Edge Labels (#15310)
>> - Add example DAG & how-to guide for sqlite (#13196)
>> - Add links to new modules for deprecated modules (#15316)
>> - Add note in Updating.md about FAB data model change (#14478)
>>
>> Misc/Internal
>> """""""""""""
>>
>> - Fix ``logging.exception`` redundancy (#14823)
>> - Bump ``stylelint`` to remove vulnerable sub-dependency (#15784)
>> - Add resolution to force dependencies to use patched version of lodash
>> (#15777)
>> - Update croniter to 1.0.x series (#15769)
>> - Get rid of Airflow 1.10 in Breeze (#15712)
>> - Run helm chart tests in parallel (#15706)
>> - Bump ``ssri`` from 6.0.1 to 6.0.2 in /airflow/www (#15437)
>> - Remove the limit on Gunicorn dependency (#15611)
>> - Better "dependency already registered" warning message for tasks #14613
>> (#14860)
>> - Pin pandas-gbq to <0.15.0 (#15114)
>> - Use Pip 21.* to install airflow officially (#15513)
>> - Bump mysqlclient to support the 1.4.x and 2.x series (#14978)
>> - Finish refactor of DAG resource name helper (#15511)
>> - Refactor/Cleanup Presentation of Graph Task and Path Highlighting
>> (#15257)
>> - Standardize default fab perms (#14946)
>> - Remove ``datepicker`` for task instance detail view (#15284)
>> - Turn provider's import warnings into debug logs (#14903)
>> - Remove left-over fields from required in provider_info schema. (#14119)
>> - Deprecate ``tableau`` extra (#13595)
>> - Use built-in `cached_property` on Python 3.8 where possible (#14606)
>> - Clean-up JS code in UI templates (#14019)
>> - Bump elliptic from 6.5.3 to 6.5.4 in /airflow/www (#14668)
>> - Switch to f-strings using ``flynt``. (#13732)
>> - use ``jquery`` ready instead of vanilla js (#15258)
>> - Migrate task instance log (ti_log) js (#15309)
>> - Migrate graph js (#15307)
>> - Migrate dags.html javascript (#14692)
>> - Removes unnecessary AzureContainerInstance connection type (#15514)
>> - Separate Kubernetes pod_launcher from core airflow (#15165)
>> - update remaining old import paths of operators (#15127)
>> - Remove broken and undocumented "demo mode" feature (#14601)
>> - Simplify configuration/legibility of ``Webpack`` entries (#14551)
>> - remove inline tree js (#14552)
>> - Js linting and inline migration for simple scripts (#14215)
>> - Remove use of repeated constant in AirflowConfigParser (#14023)
>> - Deprecate email credentials from environment variables. (#13601)
>> - Remove unused 'context' variable in task_instance.py (#14049)
>> - Disable suppress_logs_and_warning in cli when debugging (#13180)
>>
>
>
> --
> +48 660 796 129
>


-- 
+48 660 796 129

Re: [VOTE] Release Airflow 2.1.0 from RC1

Posted by Jarek Potiuk <ja...@potiuk.com>.
This is cool. However I'd vote [-1] and ask to re-release RC2 quickly with
fixing two small issues with licences:

1) Already merged : https://github.com/apache/airflow/pull/15906  - I have
not added the link to the vendored-in licence in our LICENCE.txt. As Kaxil
mentioned this **might** be ok, but the policy is not clear whether it's ok
to skip code that is Licensed BY Apache Software Foundation, or whether
it's OK to skip code that is licenced under Apache licence. I will open a
LEGAL issue to clarify but it might be faster to re-relese RC2 with it.
2) However, there is a bigger problem I noticed during licence check. We
missed some excludes in .rat-exclude. They were for the vendored-in-licence
(not a problem since we have the licence in `licenses` folder) and for
generated .latest-doc-ony-changes.txt (this is not a problem as they are
auto-generated). However when I fixed it, it turned out that we have a
`ui/.env.example` file which has no licence, and as simple the file is (one
line!), technically it MUST have the licence header.

I created PR fixing that: https://github.com/apache/airflow/pull/15908

BTW. I did all other checks as well, I run Airflow 2.0.1rc1 and it is all
good to go IMHO. I love the new calendar view (!).

J.





On Tue, May 18, 2021 at 1:33 AM James Timmins <ja...@astronomer.io.invalid>
wrote:

> Hey fellow Airflowers,
>
> We've cut Airflow 2.1.0 RC1. This email is calling a vote on the release,
> which will last for 72 hours, from Tuesday, May 18, 2021 at 12:30am UTC
> until Friday, May 21, 2021 at 12:30 am UTC
> <https://www.timeanddate.com/worldclock/fixedtime.html?msg=8&iso=20210521T0030&p1=1440>,
> or until 3 binding +1 votes have been received.
>
> Consider this my (non-binding) +1. As I’m not a member of the PMC, Ash
> signed the distribution.
>
>
> Airflow 2.1.0 RC1 is available at:
> https://dist.apache.org/repos/dist/dev/airflow/2.1.0rc1/
>
> *apache-airflow-2.1.0rc1-source.tar.gz* is a source release that comes
> with INSTALL instructions.
> *apache-airflow-2.1.0rc1-bin.tar.gz* is the binary Python "sdist" release.
> *apache_airflow-2.1.0rc1-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
>
> 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 PMCs and Contributors who would like to test this
> RC are described in
>
> https://github.com/apache/airflow/blob/master/dev/README_RELEASE_AIRFLOW.md#verify-the-release-candidate-by-pmcs
>
> Please note that the version number excludes the `rcX` string, so it's now
> simply 2.1.0. This will allow us to rename the artifact without modifying
> the artifact checksums when we actually release.
>
> Changes since 2.0.2 below.
>
> Thanks,
> James
>
> New Features
> """"""""""""
>
> - Add ``PythonVirtualenvDecorator`` to Taskflow API (#14761)
> - Add ``Taskgroup`` decorator (#15034)
> - Create a DAG Calendar View (#15423)
> - Create cross-DAG dependencies view (#13199)
> - Add rest API to query for providers (#13394)
> - Mask passwords and sensitive info in task logs and UI (#15599)
> - Add ``SubprocessHook`` for running commands from operators (#13423)
> - Add DAG Timeout in UI page "DAG Details" (#14165)
> - Add ``WeekDayBranchOperator`` (#13997)
> - Add JSON linter to DAG Trigger UI (#13551)
> - Add DAG Description Doc to Trigger UI Page (#13365)
> - Add airflow webserver URL into SLA miss email. (#13249)
> - Add read only REST API endpoints for users (#14735)
> - Add files to generate Airflow's Python SDK (#14739)
> - Add dynamic fields to snowflake connection (#14724)
> - Add read only REST API endpoint for roles and permissions (#14664)
> - Add new datetime branch operator (#11964)
> - Add Google leveldb hook and operator (#13109) (#14105)
> - Add plugins endpoint to the REST API (#14280)
> - Add ``worker_pod_pending_timeout`` support (#15263)
> - Add support for labeling DAG edges (#15142)
> - Add CUD REST API endpoints for Roles (#14840)
> - Import connections from a file (#15177)
> - A bunch of ``template_fields_renderers`` additions (#15130)
> - Add REST API query sort and order to some endpoints (#14895)
> - Add timezone context in new ui (#15096)
> - Add query mutations to new UI (#15068)
> - Add different modes to sort dag files for parsing (#15046)
> - Auto refresh on Tree View (#15474)
> - BashOperator to raise ``AirflowSkipException`` on exit code 99 (by
> default, configurable) (#13421) (#14963)
> - Clear tasks by task ids in REST API (#14500)
> - Support jinja2 native Python types (#14603)
> - Allow celery workers without gossip or mingle modes (#13880)
> - Add ``airflow jobs check`` CLI command to check health of jobs
> (Scheduler etc) (#14519)
> - Rename ``DateTimeBranchOperator`` to ``BranchDateTimeOperator`` (#14720)
>
> Improvements
> """"""""""""
>
> - Add optional result handler callback to ``DbApiHook`` (#15581)
> - Update Flask App Builder limit to recently released 3.3 (#15792)
> - Prevent creating flask sessions on REST API requests (#15295)
> - Sync DAG specific permissions when parsing (#15311)
> - Increase maximum length of pool name on Tasks to 256 characters (#15203)
> - Enforce READ COMMITTED isolation when using mysql (#15714)
> - Auto-apply ``apply_default`` to subclasses of ``BaseOperator`` (#15667)
> - Emit error on duplicated DAG ID (#15302)
> - Update ``KubernetesExecutor`` pod templates to allow access to IAM
> permissions (#15669)
> - More verbose logs when running ``airflow db check-migrations`` (#15662)
> - When one_success mark task as failed if no success (#15467)
> - Add an option to trigger a dag w/o changing conf (#15591)
> - Add Airflow UI instance_name configuration option (#10162)
> - Add a decorator to retry functions with DB transactions (#14109)
> - Add return to PythonVirtualenvOperator's execute method (#14061)
> - Add verify_ssl config for kubernetes (#13516)
> - Add description about ``secret_key`` when Webserver > 1 (#15546)
> - Add Traceback in LogRecord in ``JSONFormatter`` (#15414)
> - Add support for arbitrary json in conn uri format (#15100)
> - Adds description field in variable (#12413) (#15194)
> - Add logs to show last modified in SFTP, FTP and Filesystem sensor
> (#15134)
> - Execute ``on_failure_callback`` when SIGTERM is received (#15172)
> - Allow hiding of all edges when highlighting states (#15281)
> - Display explicit error in case UID has no actual username (#15212)
> - Serve logs with Scheduler when using Local or Sequential Executor
> (#15557)
> - Deactivate trigger, refresh, and delete controls on dag detail view.
> (#14144)
> - Turn off autocomplete for connection forms (#15073)
> - Increase default ``worker_refresh_interval`` to ``6000`` seconds (#14970)
> - Only show User's local timezone if it's not UTC (#13904)
> - Suppress LOG/WARNING for a few tasks CLI for better CLI experience
> (#14567)
> - Configurable API response (CORS) headers (#13620)
> - Allow viewers to see all docs links (#14197)
> - Update Tree View date ticks (#14141)
> - Make the tooltip to Pause / Unpause a DAG clearer (#13642)
> - Warn about precedence of env var when getting variables (#13501)
> - Move ``[celery] default_queue`` config to ``[operators] default_queue``
> to re-use between executors  (#14699)
>
> Bug Fixes
> """""""""
>
> - Fix 500 error from ``updateTaskInstancesState`` API endpoint when
> ``dry_run`` not passed (#15889)
> - Ensure that task preceding a PythonVirtualenvOperator doesn't fail
> (#15822)
> - Prevent mixed case env vars from crashing processes like worker (#14380)
> - Fixed type annotations in DAG decorator (#15778)
> - Fix on_failure_callback when task receive SIGKILL (#15537)
> - Fix dags table overflow (#15660)
> - Fix changing the parent dag state on subdag clear (#15562)
> - Fix reading from zip package to default to text (#13962)
> - Fix wrong parameter for ``drawDagStatsForDag`` in dags.html (#13884)
> - Fix QueuedLocalWorker crashing with EOFError (#13215)
> - Fix typo in ``NotPreviouslySkippedDep`` (#13933)
> - Fix parallelism after KubeExecutor pod adoption (#15555)
> - Fix kube client on mac with keepalive enabled (#15551)
> - Fixes wrong limit for dask for python>3.7 (should be <3.7) (#15545)
> - Fix Task Adoption in ``KubernetesExecutor`` (#14795)
> - Fix timeout when using XCom with ``KubernetesPodOperator`` (#15388)
> - Fix deprecated provider aliases in "extras" not working (#15465)
> - Fixed default XCom deserialization. (#14827)
> - Fix used_group_ids in ``dag.partial_subset`` (#13700) (#15308)
> - Further fix trimmed ``pod_id`` for ``KubernetesPodOperator`` (#15445)
> - Bugfix: Invalid name when trimmed `pod_id` ends with hyphen in
> ``KubernetesPodOperator`` (#15443)
> - Fix incorrect slots stats when TI ``pool_slots > 1`` (#15426)
> - Fix DAG last run link (#15327)
> - Fix ``sync-perm`` to work correctly when update_fab_perms = False
> (#14847)
> - Fixes limits on Arrow for plexus test (#14781)
> - Fix UI bugs in tree view (#14566)
> - Fix AzureDataFactoryHook failing to instantiate its connection (#14565)
> - Fix permission error on non-POSIX filesystem (#13121)
> - Fix spelling in "ignorable" (#14348)
> - Fix get_context_data doctest import (#14288)
> - Correct typo in ``GCSObjectsWtihPrefixExistenceSensor``  (#14179)
> - Fix order of failed deps (#14036)
> - Fix critical ``CeleryKubernetesExecutor`` bug (#13247)
> - Fix four bugs in ``StackdriverTaskHandler`` (#13784)
> - ``func.sum`` may return ``Decimal`` that break rest APIs (#15585)
> - Persist tags params in pagination (#15411)
> - API: Raise ``AlreadyExists`` exception when the ``execution_date`` is
> same (#15174)
> - Remove duplicate call to ``sync_metadata`` inside
> ``DagFileProcessorManager`` (#15121)
> - Extra ``docker-py`` update to resolve docker op issues (#15731)
> - Ensure executors end method is called (#14085)
> - Remove ``user_id`` from API schema (#15117)
> - Prevent clickable bad links on disabled pagination (#15074)
> - Acquire lock on db for the time of migration (#10151)
> - Skip SLA check only if SLA is None (#14064)
> - Print right version in airflow info command (#14560)
> - Make ``airflow info`` work with pipes (#14528)
> - Rework client-side script for connection form. (#14052)
> - API: Add ``CollectionInfo`` in all Collections that have
> ``total_entries`` (#14366)
> - Fix ``task_instance_mutation_hook`` when importing airflow.models.dagrun
> (#15851)
>
> Doc only changes
> """"""""""""""""
>
> - Fix docstring of SqlSensor (#15466)
> - Small changes on "DAGs and Tasks documentation" (#14853)
> - Add note on changes to configuration options (#15696)
> - Add docs to the ``markdownlint`` and ``yamllint`` config files (#15682)
> - Rename old "Experimental" API to deprecated in the docs. (#15653)
> - Fix documentation error in `git_sync_template.yaml` (#13197)
> - Fix doc link permission name (#14972)
> - Fix link to Helm chart docs (#14652)
> - Fix docstrings for Kubernetes code (#14605)
> - docs: Capitalize & minor fixes (#14283) (#14534)
> - Fixed reading from zip package to default to text. (#13984)
> - An initial rework of the "Concepts" docs (#15444)
> - Improve docstrings for various modules (#15047)
> - Add documentation on database connection URI (#14124)
> - Add Helm Chart logo to docs index (#14762)
> - Create a new documentation package for Helm Chart (#14643)
> - Add docs about supported logging levels (#14507)
> - Update docs about tableau and salesforce provider (#14495)
> - Replace deprecated doc links to the correct one (#14429)
> - Refactor redundant doc url logic to use utility (#14080)
> - docs: NOTICE: Updated 2016-2019 to 2016-now (#14248)
> - Skip DAG perm sync during parsing if possible (#15464)
> - Add picture and examples for Edge Labels (#15310)
> - Add example DAG & how-to guide for sqlite (#13196)
> - Add links to new modules for deprecated modules (#15316)
> - Add note in Updating.md about FAB data model change (#14478)
>
> Misc/Internal
> """""""""""""
>
> - Fix ``logging.exception`` redundancy (#14823)
> - Bump ``stylelint`` to remove vulnerable sub-dependency (#15784)
> - Add resolution to force dependencies to use patched version of lodash
> (#15777)
> - Update croniter to 1.0.x series (#15769)
> - Get rid of Airflow 1.10 in Breeze (#15712)
> - Run helm chart tests in parallel (#15706)
> - Bump ``ssri`` from 6.0.1 to 6.0.2 in /airflow/www (#15437)
> - Remove the limit on Gunicorn dependency (#15611)
> - Better "dependency already registered" warning message for tasks #14613
> (#14860)
> - Pin pandas-gbq to <0.15.0 (#15114)
> - Use Pip 21.* to install airflow officially (#15513)
> - Bump mysqlclient to support the 1.4.x and 2.x series (#14978)
> - Finish refactor of DAG resource name helper (#15511)
> - Refactor/Cleanup Presentation of Graph Task and Path Highlighting
> (#15257)
> - Standardize default fab perms (#14946)
> - Remove ``datepicker`` for task instance detail view (#15284)
> - Turn provider's import warnings into debug logs (#14903)
> - Remove left-over fields from required in provider_info schema. (#14119)
> - Deprecate ``tableau`` extra (#13595)
> - Use built-in `cached_property` on Python 3.8 where possible (#14606)
> - Clean-up JS code in UI templates (#14019)
> - Bump elliptic from 6.5.3 to 6.5.4 in /airflow/www (#14668)
> - Switch to f-strings using ``flynt``. (#13732)
> - use ``jquery`` ready instead of vanilla js (#15258)
> - Migrate task instance log (ti_log) js (#15309)
> - Migrate graph js (#15307)
> - Migrate dags.html javascript (#14692)
> - Removes unnecessary AzureContainerInstance connection type (#15514)
> - Separate Kubernetes pod_launcher from core airflow (#15165)
> - update remaining old import paths of operators (#15127)
> - Remove broken and undocumented "demo mode" feature (#14601)
> - Simplify configuration/legibility of ``Webpack`` entries (#14551)
> - remove inline tree js (#14552)
> - Js linting and inline migration for simple scripts (#14215)
> - Remove use of repeated constant in AirflowConfigParser (#14023)
> - Deprecate email credentials from environment variables. (#13601)
> - Remove unused 'context' variable in task_instance.py (#14049)
> - Disable suppress_logs_and_warning in cli when debugging (#13180)
>


-- 
+48 660 796 129