This is an automated email from the ASF dual-hosted git repository.
ephraimanierobi pushed a change to branch v2-8-stable
in repository https://gitbox.apache.org/repos/asf/airflow.git
from c28ba46e13 Exclude common-io provider
add 28897f7a42 Run triggers inline with dag test (#34642)
add 881d802629 improved visibility of tasks in ActionModal for
taskInstance (#35810)
add ecbc959812 Use ExitStack to manage mutation of secrets_backend_list in
dag.test (#34620)
add 713dfdfa23 Implement `is_authorized_variable` in AWS auth manager
(#35804)
add bc95360902 Relax mandatory requirement for start_date when
schedule=None (#35356)
add 9be2ffc304 Add a public interface for custom weight_rule
implementation (#35210)
add 9798f314dd Consolidate the call of change_state to fail or success in
the core executors (#35901)
add 2fba7bd0b3 Remove workaround for pymssql failing compilation with new
Cython (#35924)
add 54dc2b9127 Change dag grid overscroll behaviour to auto (#35717)
add 7e9b6a4f68 Revert "Prevent assignment of non JSON serializable values
to DagRun.conf dict (#35096)" (#35959)
add 90f10b199d Rename `Connection.to_json_dict` to `Connection.to_dict`
(#35894)
add 9ba72a2e0c Move `duckdb` & `pandas` import in tutorial DAG into task
(#35964)
add 7b03a11dc9 Add processor_subdir to import_error table to handle
multiple dag processors (#35956)
add f6cfd45f33 Fix airflow db shell needing an extra keypress to exit
(#35982)
add 9ea67c8749 Bump FAB to 4.3.10 (#35991)
add 8a0252d419 Add feature to build "chicken-egg" packages from sources
(#35890)
add 9281ccb6f9 Pass conn ID to ObjectStoragePath via URI (#35913)
add 72d610a354 Switch "latest" image to point to newest supported Python
version (#36003)
add e1f469bbd3 Add support for chicken-egg providers to dockerhub release
process (#36002)
add 08188ed880 [AIP-44] Introduce Pydantic model for LogTemplate (#36004)
add 4652d7fc00 Add multiselect to run state in grid view (#35403)
add d6ce328397 Change Trigger UI to use HTTP POST in web ui (#36026)
add 552fbe3120 Use dropdown instead of buttons when there are more than 10
retries in log tab (#36025)
add d265100995 34058: Fix UI Grid error when DAG has been removed. (#36028)
add f4c4a06bd8 Limit Pytest-asyncio to < 0.23.1 (#36037)
add be0fb8b11c Limit pytest-asyncio even more - to <0.23.0 (#36040)
add a2573503a6 Add the section describing the security model of DAG Author
capabilities (#36022)
add beba3b80a1 Remove pytest-asyncio upper-binding limitatin (#36046)
add be86dd37eb Add XCom tab to Grid (#35719)
add 44302838fd Update supported-versions.rst (#36058)
add a42d3d86c7 Avoid crushing container when directory is not found on rm
(#36050)
add 2a008cfb57 Update reset_user_sessions to work from either CLI or web
(#36056)
add 48d7ac44b4 Mark daskexecutor provider as removed (#35965)
add 7d1211de0f Fix gantt chart queued duration when queued_dttm is greater
than start_date for deferred tasks. (#35984)
add d347d70dd6 Add read access to pools for viewer role (#35352)
add 2ef568930a Replace architecture diagram of Airflow with
diagrams-generated one (#36035)
add 5d3aa8d0a9 Account for change in UTC offset when calculating next
schedule (#35887)
add 9a2fae3a57 Revert "Add a public interface for custom weight_rule
implementation (#35210)" (#36066)
add 37519bf6d2 Add support for tabs (and other UX components) to docs
(#36041)
add 5f74d7df7f Fix optimization of PROD image building side-effect
add bdadabc8e7 Use S3 hook instead of AwsGenericHook in AWS S3 FS (#35973)
add c26eaf5190 Allow storage options to be passed (#35820)
add d0c1c452ce Update RELEASE_NOTES.rst
No new revisions were added by this update.
Summary of changes:
.github/actions/build-prod-images/action.yml | 19 +
.github/workflows/build-images.yml | 2 +
.github/workflows/ci.yml | 157 ++++-
.github/workflows/release_dockerhub_image.yml | 17 +
.pre-commit-config.yaml | 7 +
CONTRIBUTING.rst | 20 +-
Dockerfile | 53 +-
Dockerfile.ci | 36 --
IMAGES.rst | 2 +-
INSTALL | 20 +-
RELEASE_NOTES.rst | 30 +-
STATIC_CODE_CHECKS.rst | 2 +
airflow/api_internal/endpoints/rpc_api_endpoint.py | 1 +
.../auth/managers/fab/security_manager/override.py | 50 +-
airflow/config_templates/config.yml | 2 +-
airflow/dag_processing/manager.py | 13 +-
airflow/dag_processing/processor.py | 14 +-
...hon_operator.py => example_python_decorator.py} | 45 +-
airflow/example_dags/example_python_operator.py | 76 ++-
.../example_dags/example_short_circuit_operator.py | 6 +-
airflow/example_dags/tutorial_objectstorage.py | 10 +-
airflow/executors/debug_executor.py | 6 +-
airflow/executors/executor_constants.py | 1 -
airflow/executors/executor_loader.py | 3 -
airflow/executors/sequential_executor.py | 5 +-
airflow/io/__init__.py | 20 +-
airflow/io/path.py | 32 +-
airflow/io/store/__init__.py | 20 +-
.../{example_dags/libs/helper.py => io/typedef.py} | 5 +-
...132_2_8_0_add_processor_subdir_import_error.py} | 32 +-
airflow/models/connection.py | 11 +-
airflow/models/dag.py | 203 ++++---
airflow/models/dagrun.py | 71 +--
airflow/models/errors.py | 1 +
airflow/models/taskinstance.py | 3 +
airflow/providers/MANAGING_PROVIDERS_LIFECYCLE.rst | 58 ++
.../amazon/aws/auth_manager/avp}/__init__.py | 0
.../amazon/aws/auth_manager/avp/entities.py} | 55 +-
.../amazon/aws/auth_manager/avp/facade.py | 126 ++++
.../amazon/aws/auth_manager/aws_auth_manager.py | 14 +-
.../providers/amazon/aws/auth_manager/constants.py | 4 +-
airflow/providers/amazon/aws/auth_manager/user.py | 3 +
airflow/providers/amazon/aws/fs/s3.py | 16 +-
.../aws/hooks/{sts.py => verified_permissions.py} | 32 +-
airflow/providers/amazon/provider.yaml | 25 +-
airflow/providers/daskexecutor/CHANGELOG.rst | 6 +
airflow/providers/daskexecutor/provider.yaml | 4 +-
airflow/providers/google/cloud/fs/gcs.py | 29 +-
airflow/providers/google/provider.yaml | 2 +-
airflow/providers/installed_providers.txt | 2 +-
airflow/providers/microsoft/azure/fs/adls.py | 35 +-
airflow/providers/microsoft/azure/provider.yaml | 2 +-
airflow/providers/microsoft/mssql/provider.yaml | 2 +-
airflow/serialization/enums.py | 1 +
airflow/serialization/pydantic/dag_run.py | 1 +
.../serialization/pydantic/tasklog.py | 17 +-
airflow/serialization/serialized_objects.py | 9 +-
airflow/timetables/_cron.py | 44 +-
airflow/utils/db.py | 2 +-
airflow/utils/process_utils.py | 2 +-
airflow/www/auth.py | 23 +-
airflow/www/jest-setup.js | 6 +
airflow/www/static/js/api/index.ts | 10 +
airflow/www/static/js/api/useTaskXcom.ts | 71 +++
.../static/js/dag/details/gantt/GanttTooltip.tsx | 8 +-
airflow/www/static/js/dag/details/gantt/Row.tsx | 25 +-
airflow/www/static/js/dag/details/index.tsx | 71 ++-
.../js/dag/details/taskInstance/Logs/index.tsx | 57 +-
.../www/static/js/dag/details/taskInstance/Nav.tsx | 3 -
.../{Logs/LogLink.tsx => Xcom/XcomEntry.tsx} | 77 ++-
.../js/dag/details/taskInstance/Xcom/index.tsx | 116 ++++
.../taskInstance/taskActions/ActionModal.tsx | 2 +-
airflow/www/static/js/dag/grid/index.tsx | 2 +-
airflow/www/static/js/dag/nav/FilterBar.tsx | 91 ++-
airflow/www/static/js/dag/useFilters.test.tsx | 31 +-
airflow/www/static/js/dag/useFilters.tsx | 62 +-
airflow/www/templates/airflow/dag.html | 10 +-
airflow/www/templates/airflow/dags.html | 7 +-
airflow/www/views.py | 19 +-
.../commands/release_management_commands.py | 68 ++-
.../commands/release_management_commands_config.py | 2 +
dev/breeze/src/airflow_breeze/global_constants.py | 1 -
.../src/airflow_breeze/params/build_prod_params.py | 2 +-
.../src/airflow_breeze/params/shell_params.py | 2 +
dev/breeze/src/airflow_breeze/pre_commit_ids.py | 1 +
.../src/airflow_breeze/utils/common_options.py | 8 +
dev/breeze/src/airflow_breeze/utils/packages.py | 4 -
.../src/airflow_breeze/utils/selective_checks.py | 5 +
dev/breeze/src/airflow_breeze/utils/versions.py | 6 +
dev/breeze/tests/test_packages.py | 6 +-
docker_tests/test_prod_image.py | 1 -
docs/apache-airflow-providers-google/index.rst | 2 +-
.../index.rst | 2 +-
.../apache-airflow/core-concepts/objectstorage.rst | 16 +-
docs/apache-airflow/core-concepts/overview.rst | 21 +-
docs/apache-airflow/extra-packages-ref.rst | 4 -
docs/apache-airflow/howto/operator/python.rst | 341 +++++++----
docs/apache-airflow/img/airflow_erd.sha256 | 2 +-
docs/apache-airflow/img/airflow_erd.svg | 665 +++++++++++----------
docs/apache-airflow/img/arch-diag-basic.png | Bin 16357 -> 0 bytes
.../img/diagram_basic_airflow_architecture.png | Bin 0 -> 87096 bytes
.../diagram_dag_processor_airflow_architecture.png | Bin 0 -> 106642 bytes
.../installation/supported-versions.rst | 2 +-
docs/apache-airflow/migrations-ref.rst | 4 +-
docs/apache-airflow/security/security_model.rst | 298 ++++++---
docs/apache-airflow/tutorial/objectstorage.rst | 18 +-
docs/conf.py | 6 +
docs/docker-stack/build-arg-ref.rst | 1 -
docs/docker-stack/changelog.rst | 8 +
.../aws/Amazon-Verified-Permissions.png | Bin 0 -> 13986 bytes
.../sphinx_design/static/custom.css | 25 +-
generated/provider_dependencies.json | 16 +-
images/breeze/output_build-docs.svg | 6 +-
images/breeze/output_build-docs.txt | 2 +-
images/breeze/output_prod-image_build.svg | 2 +-
images/breeze/output_prod-image_build.txt | 2 +-
...tput_release-management_add-back-references.svg | 6 +-
...tput_release-management_add-back-references.txt | 2 +-
...put_release-management_generate-constraints.svg | 58 +-
...put_release-management_generate-constraints.txt | 2 +-
...management_generate-issue-content-providers.svg | 6 +-
...management_generate-issue-content-providers.txt | 2 +-
...e-management_prepare-provider-documentation.svg | 6 +-
...e-management_prepare-provider-documentation.txt | 2 +-
...elease-management_prepare-provider-packages.svg | 6 +-
...elease-management_prepare-provider-packages.txt | 2 +-
.../output_release-management_publish-docs.svg | 6 +-
.../output_release-management_publish-docs.txt | 2 +-
...tput_release-management_release-prod-images.svg | 62 +-
...tput_release-management_release-prod-images.txt | 2 +-
...output_sbom_generate-providers-requirements.svg | 64 +-
...output_sbom_generate-providers-requirements.txt | 2 +-
images/breeze/output_static-checks.svg | 100 ++--
images/breeze/output_static-checks.txt | 2 +-
images/diagrams/python_multiprocess_logo.png | Bin 0 -> 210513 bytes
scripts/ci/pre_commit/.gitignore | 1 +
scripts/ci/pre_commit/diagram_hash.txt | 1 +
.../pre_commit_generate_airflow_diagrams.py | 139 +++++
scripts/docker/clean-logs.sh | 2 +-
.../docker/install_from_docker_context_files.sh | 7 +
scripts/docker/install_mssql.sh | 39 --
scripts/in_container/_in_container_utils.sh | 23 +-
setup.cfg | 8 +-
setup.py | 22 +-
.../endpoints/test_task_instance_endpoint.py | 30 +-
tests/cli/commands/test_dag_command.py | 81 +--
tests/cli/commands/test_standalone_command.py | 3 -
tests/dag_processing/test_job_runner.py | 62 ++
tests/executors/test_debug_executor.py | 4 +-
tests/io/test_path.py | 37 +-
tests/models/test_dag.py | 52 +-
tests/models/test_dagrun.py | 14 -
tests/models/test_mappedoperator.py | 2 +-
.../amazon/aws/auth_manager/avp}/__init__.py | 0
.../amazon/aws/auth_manager/avp/test_entities.py | 12 +-
.../amazon/aws/auth_manager/avp/test_facade.py | 203 +++++++
.../aws/auth_manager/test_aws_auth_manager.py | 38 +-
.../amazon/aws/auth_manager/test_constants.py | 12 +-
.../providers/amazon/aws/auth_manager/test_user.py | 3 +
tests/providers/amazon/aws/fs/test_s3.py | 9 +-
.../amazon/aws/hooks/test_verified_permissions.py | 11 +-
tests/providers/google/cloud/sensors/test_gcs.py | 4 +-
tests/sensors/test_base.py | 3 -
tests/serialization/test_serialized_objects.py | 8 +
tests/timetables/test_interval_timetable.py | 305 ++++++++++
tests/www/test_security.py | 1 +
tests/www/views/test_views_custom_user_views.py | 36 +-
tests/www/views/test_views_grid.py | 21 +
tests/www/views/test_views_trigger_dag.py | 20 +-
169 files changed, 3619 insertions(+), 1652 deletions(-)
copy airflow/example_dags/{example_python_operator.py =>
example_python_decorator.py} (77%)
copy airflow/{example_dags/libs/helper.py => io/typedef.py} (94%)
copy
airflow/migrations/versions/{0130_2_8_0_add_owner_display_name_to_audit_log_table.py
=> 0132_2_8_0_add_processor_subdir_import_error.py} (55%)
copy airflow/{api_connexion =>
providers/amazon/aws/auth_manager/avp}/__init__.py (100%)
copy airflow/{auth/managers/utils/fab.py =>
providers/amazon/aws/auth_manager/avp/entities.py} (53%)
create mode 100644 airflow/providers/amazon/aws/auth_manager/avp/facade.py
copy airflow/providers/amazon/aws/hooks/{sts.py => verified_permissions.py}
(61%)
copy tests/dags_with_system_exit/b_test_scheduler_dags.py =>
airflow/serialization/pydantic/tasklog.py (70%)
create mode 100644 airflow/www/static/js/api/useTaskXcom.ts
copy airflow/www/static/js/dag/details/taskInstance/{Logs/LogLink.tsx =>
Xcom/XcomEntry.tsx} (53%)
create mode 100644
airflow/www/static/js/dag/details/taskInstance/Xcom/index.tsx
delete mode 100755 docs/apache-airflow/img/arch-diag-basic.png
create mode 100644
docs/apache-airflow/img/diagram_basic_airflow_architecture.png
create mode 100644
docs/apache-airflow/img/diagram_dag_processor_airflow_architecture.png
create mode 100644 docs/integration-logos/aws/Amazon-Verified-Permissions.png
copy airflow/www/static/js/duration_chart.js =>
docs/sphinx_design/static/custom.css (65%)
create mode 100644 images/diagrams/python_multiprocess_logo.png
create mode 100644 scripts/ci/pre_commit/.gitignore
create mode 100644 scripts/ci/pre_commit/diagram_hash.txt
create mode 100755
scripts/ci/pre_commit/pre_commit_generate_airflow_diagrams.py
copy {airflow/api_connexion =>
tests/providers/amazon/aws/auth_manager/avp}/__init__.py (100%)
copy airflow/api_connexion/schemas/version_schema.py =>
tests/providers/amazon/aws/auth_manager/avp/test_entities.py (72%)
create mode 100644 tests/providers/amazon/aws/auth_manager/avp/test_facade.py
copy airflow/api_connexion/endpoints/request_dict.py =>
tests/providers/amazon/aws/hooks/test_verified_permissions.py (77%)