You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by po...@apache.org on 2022/07/01 15:21:28 UTC

[airflow] branch v2-3-test updated (dcbf5bcdee -> c7f625bbd3)

This is an automated email from the ASF dual-hosted git repository.

potiuk pushed a change to branch v2-3-test
in repository https://gitbox.apache.org/repos/asf/airflow.git


    omit dcbf5bcdee Add release note for 2.3.3
     new c7f625bbd3 Add release note for 2.3.3

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (dcbf5bcdee)
            \
             N -- N -- N   refs/heads/v2-3-test (c7f625bbd3)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 docs/spelling_wordlist.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


[airflow] 01/01: Add release note for 2.3.3

Posted by po...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

potiuk pushed a commit to branch v2-3-test
in repository https://gitbox.apache.org/repos/asf/airflow.git

commit c7f625bbd3d3cfde4380ebf4e4913638ad54e9fe
Author: Ephraim Anierobi <sp...@gmail.com>
AuthorDate: Thu Jun 30 17:14:51 2022 +0100

    Add release note for 2.3.3
---
 RELEASE_NOTES.rst                                  | 120 ++++++++++++++++++++-
 .../elasticsearch/example_dags/__init__.py         |  16 ---
 .../example_dags/example_elasticsearch_query.py    |  50 ---------
 docs/spelling_wordlist.txt                         |   2 +
 newsfragments/24399.significant.rst                |  31 ------
 newsfragments/24519.misc.rst                       |   1 -
 6 files changed, 121 insertions(+), 99 deletions(-)

diff --git a/RELEASE_NOTES.rst b/RELEASE_NOTES.rst
index 9629aebedf..eb477de890 100644
--- a/RELEASE_NOTES.rst
+++ b/RELEASE_NOTES.rst
@@ -21,6 +21,125 @@
 
 .. towncrier release notes start
 
+
+Airflow 2.3.3 (2022-07-04)
+--------------------------
+
+Significant Changes
+^^^^^^^^^^^^^^^^^^^
+
+- We've upgraded Flask App Builder to a major version 4.*. (#24399)
+
+  Flask App Builder is one of the important components of Airflow Webserver, as
+  it uses a lot of dependencies that are essential to run the webserver and integrate it
+  in enterprise environments - especially authentication.
+
+  The FAB 4.* upgrades a number of dependencies to major releases, which upgrades them to versions
+  that have a number of security issues fixed. A lot of tests were performed to bring the dependencies
+  in a backwards-compatible way, however the dependencies themselves implement breaking changes in their
+  internals so it might be that some of those changes might impact the users in case they are using the
+  libraries for their own purposes.
+
+  One important change that you likely will need to apply to Oauth configuration is to add
+  ``server_metadata_url`` or ``jwks_uri`` and you can read about it more
+  in `this issue <https://github.com/dpgaspar/Flask-AppBuilder/issues/1861>`_.
+
+  Here is the list of breaking changes in dependencies that comes together with FAB 4:
+
+    * ``Flask`` from 1.X to 2.X `breaking changes <https://flask.palletsprojects.com/en/2.0.x/changes/#version-2-0-0>`__
+
+    * ``flask-jwt-extended`` 3.X to 4.X `breaking changes: <https://flask-jwt-extended.readthedocs.io/en/stable/v4_upgrade_guide/>`__
+
+    * ``Jinja2`` 2.X to 3.X `breaking changes: <https://jinja.palletsprojects.com/en/3.0.x/changes/#version-3-0-0>`__
+
+    * ``Werkzeug`` 1.X to 2.X `breaking changes <https://werkzeug.palletsprojects.com/en/2.0.x/changes/#version-2-0-0>`__
+
+    * ``pyJWT`` 1.X to 2.X `breaking changes: <https://pyjwt.readthedocs.io/en/stable/changelog.html#v2-0-0>`__
+
+    * ``Click`` 7.X to 8.X `breaking changes: <https://click.palletsprojects.com/en/8.0.x/changes/#version-8-0-0>`__
+
+    * ``itsdangerous`` 1.X to 2.X `breaking changes <https://github.com/pallets/itsdangerous/blob/main/CHANGES.rst#version-200>`__ (#24399)
+
+
+Bug Fixes
+^^^^^^^^^
+
+- Allow for ``LOGGING_LEVEL=DEBUG`` (#23360)
+- Fix grid date ticks (#24738)
+- Debounce status highlighting in Grid view (#24710)
+- Fix Grid vertical scrolling (#24684)
+- don't try to render child rows for closed groups (#24637)
+- Do not calculate grid root instances (#24528)
+- Maintain grid view selection on filtering upstream (#23779)
+- Speed up grid_data endpoint by 10x (#24284)
+- Apply per-run log templates to log handlers (#24153)
+- Don't crash scheduler if exec config has old k8s objects (#24117)
+- ``TI.log_url`` fix for ``map_index`` (#24335)
+- Fix migration ``0080_2_0_2`` - Replace null values before setting column not null (#24585)
+- Patch ``sql_alchemy_conn`` if old Postgres schemes used (#24569)
+- Seed ``log_template`` table (#24511)
+- Fix deprecated ``log_id_template`` value (#24506)
+- Fix toast messages (#24505)
+- Add indexes for CASCADE deletes for task_instance (#24488)
+- Return empty dict if Pod JSON encoding fails (#24478)
+- Improve grid rendering performance with a custom tooltip (#24417)
+- Check for run_id for grid group summaries (#24327)
+- Optimize calendar view for cron scheduled DAGs (#24262)
+- Use ``get_hostname`` instead of ``socket.getfqdn`` (#24260)
+- Check that edge nodes actually exist (#24166)
+- Fix ``useTasks`` crash on error (#24152)
+- Do not fail re-queued TIs (#23846)
+- Reduce grid view API calls (#24083)
+- Rename Permissions to Permission Pairs. (#24065)
+- Replace ``use_task_execution_date`` with ``use_task_logical_date`` (#23983)
+- Grid fix details button truncated and small UI tweaks (#23934)
+- Add TaskInstance State ``REMOVED`` to finished states and success states (#23797)
+- Fix mapped task immutability after clear (#23667)
+- Fix permission issue for dag that has dot in name (#23510)
+- Fix closing connection ``dbapi.get_pandas_df`` (#23452)
+- Check bag DAG ``schedule_interval`` match timetable (#23113)
+- Parse error for task added to multiple groups (#23071)
+- Fix flaky order of returned dag runs (#24405)
+- Migrate ``jsx`` files that affect run/task selection to ``tsx`` (#24509)
+- Fix links to sources for examples (#24386)
+
+
+Doc only changes
+^^^^^^^^^^^^^^^^
+
+- Alphabetizes two tables (#23923)
+- Clarify that users should not use Maria DB (#24556)
+- Add imports to deferring code samples (#24544)
+- Add note about image regeneration in June 2022 (#24524)
+- Small cleanup of ``get_current_context()`` chapter (#24482)
+- Fix default 2.2.5 log_id_template (#24455)
+- Update description of installing providers separately from core (#24454)
+- Mention context variables and logging (#24304)
+
+
+Misc/Internal
+^^^^^^^^^^^^^
+
+- Remove internet explorer support (#24495)
+- Removing magic status code numbers from ``api_connexion`` (#24050)
+- Upgrade FAB to 4.1.2 (#24619)
+- Switch Markdown engine to markdown-it-py (#19702)
+- Update 'rich' to latest version across the board. (#24186)
+- Get rid of TimedJSONWebSignatureSerializer (#24519)
+- Update flask-appbuilder ``authlib``/ ``oauth`` dependency (#24516)
+- Upgrade to ``webpack`` 5 (#24485)
+- Add ``typescript`` (#24337)
+- The JWT claims in the request to retrieve logs have been standardized: we use ``nbf`` and ``aud`` claims for
+  maturity and audience of the requests. Also "filename" payload field is used to keep log name. (#24519)
+- Address all ``yarn`` test warnings (#24722)
+- Add tests for the ``grid_data`` endpoint (#24375)
+- Remove ``framer-motion`` from custom tooltip (#24449)
+- Upgrade to react 18 and chakra 2 (#24430)
+- Refactor ``DagRun.verify_integrity`` (#24114)
+- Upgrade FAB to 4.1.1 (#24399)
+- We now need at least Flask-WTF 0.15 (#24621)
+
+
 Airflow 2.3.2 (2022-06-04)
 --------------------------
 
@@ -7837,7 +7956,6 @@ There are five roles created for Airflow by default: Admin, User, Op, Viewer, an
 Breaking changes
 ~~~~~~~~~~~~~~~~
 
-
 * AWS Batch Operator renamed property queue to job_queue to prevent conflict with the internal queue from CeleryExecutor - AIRFLOW-2542
 * Users created and stored in the old users table will not be migrated automatically. FAB's built-in authentication support must be reconfigured.
 * Airflow dag home page is now ``/home`` (instead of ``/admin``\ ).
diff --git a/airflow/providers/elasticsearch/example_dags/__init__.py b/airflow/providers/elasticsearch/example_dags/__init__.py
deleted file mode 100644
index 13a83393a9..0000000000
--- a/airflow/providers/elasticsearch/example_dags/__init__.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
diff --git a/airflow/providers/elasticsearch/example_dags/example_elasticsearch_query.py b/airflow/providers/elasticsearch/example_dags/example_elasticsearch_query.py
deleted file mode 100644
index d4a7b100f0..0000000000
--- a/airflow/providers/elasticsearch/example_dags/example_elasticsearch_query.py
+++ /dev/null
@@ -1,50 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-from datetime import datetime, timedelta
-
-from airflow import DAG
-from airflow.decorators import task
-from airflow.providers.elasticsearch.hooks.elasticsearch import ElasticsearchHook
-
-
-@task(task_id='es_print_tables')
-def show_tables():
-    """
-    show_tables queries elasticsearch to list available tables
-    """
-    es = ElasticsearchHook(elasticsearch_conn_id='production-es')
-
-    # Handle ES conn with context manager
-    with es.get_conn() as es_conn:
-        tables = es_conn.execute('SHOW TABLES')
-        for table, *_ in tables:
-            print(f"table: {table}")
-    return True
-
-
-# Using a DAG context manager, you don't have to specify the dag property of each task
-with DAG(
-    'elasticsearch_dag',
-    start_date=datetime(2021, 8, 30),
-    max_active_runs=1,
-    schedule_interval=timedelta(days=1),
-    default_args={'retries': 1},  # Default setting applied to all tasks
-    catchup=False,
-) as dag:
-
-    show_tables()
diff --git a/docs/spelling_wordlist.txt b/docs/spelling_wordlist.txt
index 5de2041c33..fd7a57694d 100644
--- a/docs/spelling_wordlist.txt
+++ b/docs/spelling_wordlist.txt
@@ -111,6 +111,7 @@ Datasync
 DateFrame
 Datetimepicker
 Datetimes
+Debounce
 Decrypt
 Decrypts
 DeidentifyContentResponse
@@ -589,6 +590,7 @@ cfg
 cgi
 cgroups
 cgroupspy
+chakra
 changelog
 charset
 checklicence
diff --git a/newsfragments/24399.significant.rst b/newsfragments/24399.significant.rst
deleted file mode 100644
index 7f1833a8e8..0000000000
--- a/newsfragments/24399.significant.rst
+++ /dev/null
@@ -1,31 +0,0 @@
-We've upgraded Flask Application Builder to a major version 4.*.
-
-Flask Application Builder is one of the important components of Airflow Webserver, as
-it uses a lof of dependencies that are essential to run the webserver and integrate it
-in enterprise environments - especially authentication.
-
-The FAB 4.* upgrades a number of dependencies to major releases, which upgrades them to versions
-that have a number of security issues fixed. A lot of tests were performed to bring the dependencies
-in a backwards-compatible way, however the dependencies themselves implement breaking changes in their
-internals so it might be that some of those changes might impact the users in case they are using the
-libraries for their onw purposes.
-
-One important change that you likely will need to apply to Oauth configuration is to add
-``server_metadata_url`` or ``jwks_uri`` and you can read about it more
-in `this issue <https://github.com/dpgaspar/Flask-AppBuilder/issues/1861>`_.
-
-Here is the list of breaking changes in dependencies that comes together with FAB 4:
-
-* Flask from 1.X to 2.X `breaking changes <https://flask.palletsprojects.com/en/2.0.x/changes/#version-2-0-0>`_
-
-* flask-jwt-extended 3.X to 4.X `breaking changes: <https://flask-jwt-extended.readthedocs.io/en/stable/v4_upgrade_guide/>`_
-
-* Jinja2 2.X to 3.X `breaking changes: <https://jinja.palletsprojects.com/en/3.0.x/changes/#version-3-0-0>`_
-
-* Werkzeug 1.X to 2.X `breaking changes <https://werkzeug.palletsprojects.com/en/2.0.x/changes/#version-2-0-0>`_
-
-* pyJWT 1.X to 2.X `breaking changes: <https://pyjwt.readthedocs.io/en/stable/changelog.html#v2-0-0>`_
-
-* Click 7.X to 8.X `breaking changes: <https://click.palletsprojects.com/en/8.0.x/changes/#version-8-0-0>`_
-
-* itsdangerous 1.X to 2.X `breaking changes <https://github.com/pallets/itsdangerous/blob/main/CHANGES.rst#version-200>`_
diff --git a/newsfragments/24519.misc.rst b/newsfragments/24519.misc.rst
deleted file mode 100644
index 799d9141d2..0000000000
--- a/newsfragments/24519.misc.rst
+++ /dev/null
@@ -1 +0,0 @@
-The JWT claims in the request to retrieve logs have been standardized: we use "nbf" and "aud" claims for maturity and audience of the requests. Also "filename" payload field is used to keep log name.