This is an automated email from the ASF dual-hosted git repository.
ephraimanierobi pushed a change to branch v2-6-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
from 43afd2c9c3 Fix SemVer link in security documentation (#32320)
new 4d8886dcf1 Fix airflow module version check when using
ExternalPythonOperator and debug logging level (#30367)
new 8561950887 fix issue: DAG's on_failure_callback is not invoked when
task failed during testing dag. (#30965)
new 6f266d857a This fixes an issue were a database session got stuck
(#31128)
new 187e79f136 fix connection uri parsing when the host includes a scheme
(#31465)
new d21a599b9a Documentation update on Plugin updates. (#31781)
new ae3408c6eb Increase readability for prerequisites.rst (#31794)
new 309f2f9495 Add comments explaining need for special "trigger end" log
message (#31812)
new 54f2d74d50 Add a check for trailing slash in webserver base_url
(#31833)
new 347ab00f16 added difference between Deferrable and Non-Deferrable
Operators (#31840)
new af5f7fe32b adding config changes to docker docs (#31842)
new 52a2fd3bf1 Decode old-style nested Xcom value (#31866)
new ad7f474eec Fix `operator_extra_links` property serialization in mapped
tasks (#31904)
new 737f2114b7 Increase readability in start.rst (#31906)
new 2d400d497b Fix typos in ISSUE_TRIAGE_PROCESS.rst (#31919)
new ee6a78334a Fix number param html type in trigger template (#31946)
new cd85a8614b Fix task.sensor annotation in type stub (#31954)
new d9eb020f88 Fixed failing main on too fast merged change (#31967)
new 4382e99e20 Fix masking nested variable fields (#31964)
new 9174653ad7 Skip python version check in some pre-commit when loading
setup.py (#31965)
new cf866c3399 Upgrade ruff to 0.272 (#31966)
new 43d5b40ab6 Fix number param html type in trigger template (#31980)
new b935d002f8 Fix ExternalTaskSensor when there is not task group TIs for
the current execution date (#32009)
new e94f8b5a9b Flash an error msg instead of failure in
`rendered-templates` when map index is not found (#32011)
new ae55c4d864 Check for DAG ID in query param from url as well as kwargs
(#32014)
new 8da53f1d20 Return None if an XComArg fails to resolve in a
multiple_outputs Task (#32027)
new 28b077129f Fix hashing of dag_dependencies in serialized dag (#32037)
new b66d04d1b6 Render list items in rendered fields view (#32042)
new 23acff5f38 Use re2 for matching untrusted regex (#32060)
new 54e148b9cc Update comment for editable installs wrt setuptools (#32090)
new 373f627d4e Ensure that main triggerer thread exits if the async thread
fails (#32092)
new 2109190841 Adding missing hyperlink to the tutorial documentation
(#32105)
new fa2a401a76 docs(authoring-and-scheduling/deferring): add a note that
we'll need to restart triggerer to reflect any trigger change (#32140)
new 7cc8988bcc Update callbacks.rst (#32148)
new a8c36c68d5 Use mapIndex to display extra links per mapped task.
(#32154)
new ee95582631 Documentation Changes (#32185)
new a9219b54c2 Add libeos_dev on ARM runtime PROD image (#32200)
new 617538219f fix bugged singleton implementation (#32218)
new 398a732af6 Remove executor_class from Job - fixing backfil for custom
executors (#32219)
new cc4bc9c0e7 Add comment to warn off a potential wrong fix (#32230)
new 8c68e7af05 Add links to DAGRun / DAG / Task in templates-ref.rst
(#32245)
new 49e750424d Fix behaviour of LazyDictWithCache wheni import fails
(#32248)
new 033ad1a68d Add information for users who ask for requirements (#32262)
new 46749b9740 Clarify Listener API behavior (#32269)
new a871fa699a Update python.rst with multi-Scheduler LocalExecutor info
(#32310)
new beb9566409 Update index.rst doc to correct grammar (#32315)
new 1a84a0ae11 Retry transactions on occasional deadlocks for rendered
fields (#32341)
new 930dad1a68 Fix try_number shown in the
`task?task_id=&dag_id=&execution_date=` (#32361)
new e3e1873b68 Update pipeline.rst (#32369)
new 2e14bc5794 feat(jobs/triggerer_job_runner): add triggerer canceled log
(#31757)
new 99955521cd Sanitize `DagRun.run_id` and allow flexibility (#32293)
new 4eb660b69c Hide sensitive values from extra in connection edit form
(#32309)
new 01623bdd9b Fix ts/eslint warnings (#32321)
new ad9710380d Fix logic of the skip_all_except method (#31153)
new 082c25b38d Add information on ARM MySQL support in Docker images
(#32401)
new 0be39fea66 Catch the exception that triggerer initialization failed
(#31999)
new c143994a44 Less precise check for error message in trigger
initialization (#32035)
new 9ca33bb207 Fix triggerers alive check and add a new conf for triggerer
heartbeat rate (#32123)
new 4f94cc9f65 Fix failing main due to new release of jsonschema (#32405)
The 58 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:
.pre-commit-config.yaml | 4 +-
Dockerfile | 2 +-
Dockerfile.ci | 2 +-
ISSUE_TRIAGE_PROCESS.rst | 4 +-
airflow/__init__.py | 3 +
airflow/cli/commands/triggerer_command.py | 3 +-
airflow/config_templates/config.yml | 16 ++
airflow/config_templates/default_airflow.cfg | 3 +
airflow/decorators/__init__.pyi | 2 +-
airflow/example_dags/example_sensor_decorator.py | 1 -
airflow/example_dags/tutorial_taskflow_api.py | 1 -
airflow/executors/kubernetes_executor.py | 9 +-
airflow/jobs/backfill_job_runner.py | 5 +-
airflow/jobs/job.py | 3 -
airflow/jobs/triggerer_job_runner.py | 63 +++++--
airflow/lineage/__init__.py | 17 +-
airflow/models/baseoperator.py | 8 +-
airflow/models/connection.py | 35 +++-
airflow/models/dag.py | 89 ++++++----
airflow/models/dagbag.py | 1 -
airflow/models/dagrun.py | 16 +-
airflow/models/renderedtifields.py | 1 +
airflow/models/skipmixin.py | 56 +++---
airflow/models/taskinstance.py | 18 +-
airflow/models/taskmixin.py | 1 -
airflow/models/trigger.py | 13 +-
airflow/models/variable.py | 2 +-
airflow/models/xcom_arg.py | 7 +
airflow/operators/python.py | 5 +-
airflow/providers_manager.py | 20 +--
airflow/sensors/external_task.py | 13 +-
airflow/serialization/serde.py | 7 +-
airflow/serialization/serialized_objects.py | 10 +-
airflow/utils/dag_cycle_tester.py | 4 +-
.../{compat/functools.pyi => utils/singleton.py} | 17 +-
airflow/www/alias-rest-types.js | 1 +
airflow/www/auth.py | 3 +-
airflow/www/babel.config.js | 2 +-
airflow/www/extensions/init_wsgi_middlewares.py | 8 +-
airflow/www/jest-setup.js | 2 +
airflow/www/package.json | 2 +-
airflow/www/static/js/api/useDatasets.ts | 2 +-
airflow/www/static/js/api/useExtraLinks.ts | 63 ++++---
airflow/www/static/js/callModal.js | 3 +
airflow/www/static/js/components/Table/Cells.tsx | 2 +
.../www/static/js/components/Table/Table.test.tsx | 2 +-
airflow/www/static/js/components/Table/index.tsx | 6 +-
airflow/www/static/js/components/Tooltip.tsx | 3 +-
airflow/www/static/js/connection_form.js | 4 +
airflow/www/static/js/dag/details/graph/utils.ts | 2 +-
.../js/dag/details/taskInstance/ExtraLinks.tsx | 10 +-
.../static/js/dag/details/taskInstance/index.tsx | 9 +
.../www/static/js/dag/grid/dagRuns/index.test.tsx | 1 +
airflow/www/static/js/dag/grid/index.test.tsx | 1 +
airflow/www/static/js/dag_dependencies.js | 2 +
airflow/www/static/js/dags.js | 1 +
airflow/www/static/js/datasets/List.test.tsx | 12 +-
airflow/www/static/js/datasets/List.tsx | 2 +
airflow/www/static/js/datetime_utils.js | 1 +
airflow/www/static/js/gantt.js | 13 +-
airflow/www/static/js/graph.js | 1 +
airflow/www/static/js/main.js | 19 ++-
airflow/www/static/js/task.js | 2 +
airflow/www/static/js/task_instances.js | 2 +
airflow/www/static/js/ti_log.js | 9 +-
.../www/static/js/types/react-table-config.d.ts | 4 +-
.../www/static/js/utils/URLSearchParamWrapper.ts | 3 +-
airflow/www/static/js/utils/graph.ts | 14 +-
airflow/www/templates/airflow/trigger.html | 4 +-
airflow/www/utils.py | 32 +++-
airflow/www/views.py | 119 ++++++++++---
.../administration-and-deployment/kubernetes.rst | 4 +-
.../administration-and-deployment/listeners.rst | 2 +-
.../logging-monitoring/callbacks.rst | 2 +-
.../administration-and-deployment/scheduler.rst | 1 +
.../authoring-and-scheduling/deferring.rst | 23 +++
.../authoring-and-scheduling/plugins.rst | 2 +-
.../core-concepts/executor/local.rst | 8 +
docs/apache-airflow/index.rst | 16 +-
docs/apache-airflow/installation/index.rst | 72 +++++++-
docs/apache-airflow/installation/prerequisites.rst | 6 +-
docs/apache-airflow/start.rst | 2 +-
docs/apache-airflow/templates-ref.rst | 24 ++-
docs/apache-airflow/tutorial/fundamentals.rst | 2 +-
docs/apache-airflow/tutorial/pipeline.rst | 5 +-
docs/docker-stack/build.rst | 23 +++
docs/docker-stack/changelog.rst | 8 +-
.../Dockerfile | 7 +-
docs/docker-stack/index.rst | 25 ++-
pyproject.toml | 12 +-
.../pre_commit_check_setup_extra_packages_ref.py | 2 +
scripts/ci/pre_commit/pre_commit_insert_extras.py | 3 +
scripts/docker/install_os_dependencies.sh | 2 +-
scripts/in_container/verify_providers.py | 4 +
setup.cfg | 1 +
setup.py | 6 +-
tests/always/test_providers_manager.py | 36 +++-
tests/decorators/test_python.py | 47 +++++-
tests/jobs/test_base_job.py | 1 -
tests/jobs/test_scheduler_job.py | 8 +-
tests/jobs/test_triggerer_job.py | 92 +++++++++-
tests/models/test_connection.py | 188 +++++++++++++++++++++
tests/models/test_dag.py | 42 +++++
tests/models/test_dagrun.py | 32 ++++
tests/models/test_param.py | 4 +-
tests/models/test_serialized_dag.py | 46 ++++-
tests/models/test_skipmixin.py | 36 ++++
tests/models/test_trigger.py | 64 ++++++-
tests/models/test_variable.py | 35 ++++
tests/sensors/test_external_task_sensor.py | 20 +++
tests/serialization/test_dag_serialization.py | 40 ++++-
tests/serialization/test_serde.py | 19 ++-
tests/utils/test_singleton.py | 65 +++++++
tests/www/test_app.py | 51 ++++--
tests/www/views/test_views_connection.py | 71 +++++++-
tests/www/views/test_views_rendered.py | 78 ++++++++-
tests/www/views/test_views_tasks.py | 56 ++++++
tests/www/views/test_views_trigger_dag.py | 30 ++++
118 files changed, 1811 insertions(+), 339 deletions(-)
copy airflow/{compat/functools.pyi => utils/singleton.py} (68%)
copy docs/docker-stack/docker-examples/extending/{embedding-dags =>
add-airflow-configuration}/Dockerfile (87%)
create mode 100644 tests/models/test_connection.py
create mode 100644 tests/utils/test_singleton.py