Lee-W commented on issue #41641: URL: https://github.com/apache/airflow/issues/41641#issuecomment-2508140120
@uranusjr and I previously discussed how to handle configuration migration. We believe it might be better to manage this process within Airflow itself, rather than using ruff. However, for other code-related changes, we will continue to leverage ruff. Today, @sunank200 and I spent a significant amount of time listing all the rules we could think of for the important files before #44040. We also noticed that the standard provider was not included in the news fragment. As a result, I created this https://github.com/apache/airflow/issues/44482. TLDR, we're spliting the list into * airflow config * removal * rename * ruff * AIR301: Avoid implicit DAG schedule https://github.com/astral-sh/ruff/pull/14581 * AIR302: removal or no direct mapping * AIR303: rename * AIR304: moved to provider * *AIR305: models related changes (will need to wait for AIP-72 to see what we're going to do for this)* note that except for AIR301 (and probably AIR302?), other numbers are not confirmed. just something we're considering and will need to dicuss with the ruff team. --- in this full list, #41348 is treated as a special category as it's easier for me to trace. <details> <summary>the full list</summary> ## airflow config ### Removal * `smtp` * `smtp_user` (from #41539) * `smtp_password` (from #41539) * `webserver` * `allow_raw_html_descriptions` (from #40029) * `session_lifetime_days` (from #41550) → use `session_lifetime_minutes` * `force_log_out_after` (from #41550) → use `session_lifetime_minutes` * `scheduler` * `dependency_detector` (from #41609) * `operators` * `ALLOW_ILLEGAL_ARGUMENTS` (from #41761) * `metrics` * `metrics_use_pattern_match` (from #41975) * `timer_unit_consistency` (from #43975) * `celery` * `stalled_task_timeout` (from #42060) * `core` * `check_slas` (from #42285) * `strict_dataset_uri_validation` (from #43915) * `logging` * `enable_task_context_logger` (from #43183) * `traces` * `otel_task_log_event` (from #43943) ### Rename * `scheduler` * `processor_poll_interval` → `cheduler_idle_sleep_time` (from #41096) * `metrics` * `statsd_allow_list` → `metrics_allow_list` (from #42088) * `statsd_block_list` → `metrics_block_list` (from #42088) * cross section * `scheduler.statsd_on` → `metrics.statsd_on` (from #42088) * `scheduler.statsd_host` → `metrics.statsd_host` (from #42088) * `scheduler.statsd_port` → `metrics.statsd_port` (from #42088) * `scheduler.statsd_prefix` → `metrics.statsd_prefix` (from #42088) * `scheduler.statsd_allow_list` → `metrics.statsd_allow_list` (from #42088) * `scheduler.stat_name_handler` → `metrics.stat_name_handler` (from #42088) * `scheduler.statsd_datadog_enabled` → `metrics.statsd_datadog_enabled` (from #42088) * `scheduler.statsd_datadog_tags` → `metrics.statsd_datadog_tags` (from #42088) * `scheduler.statsd_datadog_metrics_tags` → `metrics.statsd_datadog_metrics_tags` (from #42088) * `scheduler.statsd_custom_client_path` → * `core.sql_alchemy_conn` → `database.sql_alchemy_conn` (from #42126) * `core.sql_engine_encoding` → `database.sql_engine_encoding` (from #42126) * `core.sql_engine_collation_for_ids` → `database.sql_engine_collation_for_ids` (from #42126) * `core.sql_alchemy_pool_enabled` → `database.sql_alchemy_pool_enabled` (from #42126) * `core.sql_alchemy_pool_size` → `database.sql_alchemy_pool_size` (from #42126) * `core.sql_alchemy_max_overflow` → `database.sql_alchemy_max_overflow` (from #42126) * `core.sql_alchemy_pool_recycle` → `database.sql_alchemy_pool_recycle` (from #42126) * `core.sql_alchemy_pool_pre_ping` → `database.sql_alchemy_pool_pre_ping` (from #42126) * `core.sql_alchemy_schema` → `database.sql_alchemy_schema` (from #42126) * `core.sql_alchemy_connect_args` → `database.sql_alchemy_connect_args` (from #42126) * `core.load_default_connections` → `database.load_default_connections` (from #42126) * `core.max_db_retries` → `database.max_db_retries` (from #42126) * `core.worker_precheck` → `celery.worker_precheck` (from #42129) * `scheduler.max_threads` → `scheduler.parsing_processes` (from #42129) * `celery.default_queue` → `operators.default_queue` (from #42129) * `admin.hide_sensitive_variable_fields` → `core.hide_sensitive_var_conn_fields` (from #42129) * `admin.sensitive_variable_fields` → `core.sensitive_var_conn_names` (from #42129) * `core.non_pooled_task_slot_count` → `core.default_pool_task_slot_count` (from #42129) * `core.dag_concurrency` → `core.max_active_tasks_per_dag` (from #42129) * `api.access_control_allow_origin` → `api.access_control_allow_origins` (from #42129) * `api.auth_backend` → `api.auth_backends` (from #42129) * `scheduler.deactivate_stale_dags_interval` → `scheduler.parsing_cleanup_interval` (from #42129) * `kubernetes_executor.worker_pods_pending_timeout_check_interval` → `scheduler.task_queued_timeout_check_interval` (from #42129) * `webserver.update_fab_perms` → `fab.update_fab_perms` (from #42129) * `webserver.auth_rate_limited` → `fab.auth_rate_limited` (from #42129) * `webserver.auth_rate_limit` → `fab.auth_rate_limit` (from #42129) * `policy` → `task_policy` (from #41550) * `kubernetes` → `kubernetes_executor` (from #42129) ## Ruff ### AIR302: removal #### package * `airflow.contrib.*` (from #41366) #### module * `airflow.operators.subdag` (from #41390) * `airflow.kubernetes.*` (from #41735) → use ` airflow.providers.cncf.kubernetes` #### class * `airflow.triggers.external_task.TaskStateTrigger` (from #41737) * `airflow.metrics.validators.AllowListValidator` (from #41975) → use `airflow.metrics.validators.PatternAllowListValidator` * `airflow.metrics.validators.BlockListValidator` (from #41975) → use `airflow.metrics.validators.PatternBlockListValidator` * `airflow.metrics.validators.BlockListValidator` → suggest using `airflow.metrics.validators.PatternBlockListValidator` (not direct mapping) #### function * `airflow.utils.file.TemporaryDirectory` (from #41395) * `airflow.utils.file.mkdirs` (from #41395) * `airflow.utils.dates.date_range` (from #41496) * `airflow.utils.dates.days_ago` (from #41496) → change it to `pendulum.today('UTC').add(days=-N, ...)` * `airflow.utils.decorators.apply_defaults` (from #41579) * `airflow.hooks.base.BaseHook.get_connections` (from #41733) → use `get_connection` * `airflow.www.auth.has_access` (from #41758) → use `airflow.www.auth.has_access_*` * `airflow.api_connexion.security.requires_access` → use `requires_access_*` (from #41910) * `airflow.utils.dates.parse_execution_date` (from #43533) * `airflow.utils.dates.round_time` (from #43533) * `airflow.utils.dates.scale_time_units` (from #43533) * `airflow.utils.dates.infer_time_unit` (from #43533) #### constant / variable * `airflow.utils.dag_cycle_tester.test_cycle` (from #41395) * `airflow.utils.state.SHUTDOWN` (from #41395) * `airflow.utils.state.terminating_states` (from #41395) * `airflow.PY\d\d` (from #43562) #### attribute * in `airflow.utils.trigger_rule.TriggerRule` * `DUMMY` (from #41761) * `NONE_FAILED_OR_SKIPPED` (from #41761) * inherit from `airflow.plugins_manager.AirflowPlugin` * `executors` (from #43289) * `hooks` (from #43291) * `operators` * `sensors` #### parameter * in `DAG` * `schedule_interval` (from #41453) * `timetable` (from #41453) * `sla_miss_callback` (from #42285) * in `BaseOperator` * `sla` (from #42285) * in `airflow.utils.log.file_task_handler.FileTaskHandler` * `filename_template` (#41552) * in `airflow.operators.trigger_dagrun.TriggerDagRunOperator` * `execution_date` (from #41736) #### context key * `execution_date` (from #43902 https://github.com/apache/airflow/issues/44409) * `next_ds` (from #43902 https://github.com/apache/airflow/issues/44409) * `next_ds_nodash` (from #43902 https://github.com/apache/airflow/issues/44409) * `next_execution_date` (from #43902 https://github.com/apache/airflow/issues/44409) * `prev_ds` (from #43902 https://github.com/apache/airflow/issues/44409) * `prev_ds_nodash` (from #43902 https://github.com/apache/airflow/issues/44409) * `prev_execution_date` (from #43902 https://github.com/apache/airflow/issues/44409) * `prev_execution_date_success` (from #43902 https://github.com/apache/airflow/issues/44409) * `tomorrow_ds` (from #43902 https://github.com/apache/airflow/issues/44409) * `yesterday_ds` (from #43902 https://github.com/apache/airflow/issues/44409) * `yesterday_ds_nodash` (from #43902 https://github.com/apache/airflow/issues/44409) ### AIR303: rename #### #41348 * module `airflow.datasets` → `airflow.sdk.definitions.asset` * class * `DatasetAlias` → `AssetAlias` * `DatasetAll` → `AssetAll` * `DatasetAny` → `AssetAny` * function * `expand_alias_to_datasets` → `expand_alias_to_assets` * class `DatasetAliasEvent` → `AssetAliasEvent` * attribute `dest_dataset_uri` → `BaseAsset` * class * `BaseDataset` → `BaseAsset` * `Dataset` → `Asset` * method * `iter_datasets` → `iter_assets` * `iter_dataset_aliases` → `iter_asset_aliases` * module `airflow.datasets.manager` → `airflow.assets.manager` * variable `dataset_manager` → `asset_manager` * function `resolve_dataset_manager` → `resolve_asset_manager` * class `DatasetManager` → `AssetManager` * method * `register_dataset_change` → `register_asset_change` * `create_datasets` → `create_assets` * `register_dataset_change` → `notify_asset_created` * `notify_dataset_changed` → `notify_asset_changed` * `notify_dataset_alias_created` → `notify_asset_alias_created` * module `airflow.listeners.spec.dataset` → `airflow.listeners.spec.asset` * function * `on_dataset_created` → `on_asset_created` * `on_dataset_changed` → `on_asset_changed` * module `airflow.timetables.datasets` → `airflow.timetables.assets` * class `DatasetOrTimeSchedule` → `AssetOrTimeSchedule` * class `airflow.lineage.hook.DatasetLineageInfo` → `airflow.lineage.hook.AssetLineageInfo` * attribute `dataset` → `asset` * package `airflow.providers.amazon.aws.datasets` → `airflow.providers.amazon.aws.assets` * in module `s3` * method `create_dataset` → `create_asset` * method `convert_dataset_to_openlineage` → `convert_asset_to_openlineage` * package `airflow.providers.common.io.datasets` → `airflow.providers.common.io.assets` * in module `file` * method `create_dataset` → `create_asset` * method `convert_dataset_to_openlineage` → `convert_asset_to_openlineage` * package * `airflow.providers.postgres.datasets` → `airflow.providers.postgres.assets` * `airflow.providers.mysql.datasets` → `airflow.providers.mysql.assets` * `airflow.providers.trino.datasets` → `airflow.providers.trino.assets` * module * `airflow.datasets.metadata` → `airflow.sdk.definitions.asset.metadata` * class * `airflow.timetables.datasets.DatasetOrTimeSchedule` → `airflow.timetables.assets.AssetOrTimeSchedule` * `airflow.auth.managers.models.resource_details.DatasetDetails` → `airflow.auth.managers.models.resource_details.AssetDetails` * `airflow.timetables.simple.DatasetTriggeredTimetable` → `airflow.timetables.simple.AssetTriggeredTimetable` * `airflow.providers.openlineage.utils.utils.DatasetInfo` → `airflow.providers.openlineage.utils.utils.AssetInfo` * method * `airflow.providers.amazon.auth_manager.aws_auth_manager.AwsAuthManager.is_authorized_dataset` → `airflow.providers.amazon.auth_manager.aws_auth_manager.AwsAuthManager.is_authorized_asset` * `airflow.lineage.hook.HookLineageCollector.create_dataset` → `airflow.lineage.hook.HookLineageCollector.create_asset` * `airflow.lineage.hook.HookLineageCollector.add_input_dataset` → `airflow.lineage.hook.HookLineageCollector.add_input_asset` * `airflow.lineage.hook.HookLineageCollector.add_output_dataset` → `airflow.lineage.hook.HookLineageCollector.dd_output_asset` * `airflow.lineage.hook.HookLineageCollector.collected_datasets` → `airflow.lineage.hook.HookLineageCollector.collected_assets` * `airflow.providers_manager.ProvidersManager.initialize_providers_dataset_uri_resources` → `airflow.providers_manager.ProvidersManager.initialize_providers_asset_uri_resources` * function * `airflow.api_connexion.security.requires_access_dataset` → `airflow.api_connexion.security.requires_access_dataset.requires_access_asset` * `airflow.auth.managers.base_auth_manager.is_authorized_dataset` → `airflow.auth.managers.base_auth_manager.is_authorized_asset` * `airflow.www.auth.has_access_dataset` → `airflow.www.auth.has_access_dataset.has_access_asset` * `airflow.providers.fab.auth_manager.fab_auth_manager.is_authorized_dataset` → `airflow.providers.fab.auth_manager.fab_auth_manager.is_authorized_asset` * `airflow.providers.openlineage.utils.utils.translate_airflow_dataset` → `airflow.providers.openlineage.utils.utils.translate_airflow_asset` * property * `airflow.providers_manager.ProvidersManager.dataset_factories` → `airflow.providers_manager.ProvidersManager.asset_factories` * `airflow.providers_manager.ProvidersManager.dataset_uri_handlers` → `airflow.providers_manager.ProvidersManager.asset_uri_handlers` * `airflow.providers_manager.ProvidersManager.dataset_to_openlineage_converters` → `airflow.providers_manager.ProvidersManager.asset_to_openlineage_converters` * constant / variable * `airflow.security.permissions.RESOURCE_DATASET` → `airflow.security.permissions.RESOURCE_ASSET` * `airflow.providers.amazon.auth_manager.avp.entities.AvpEntities.DATASET` → `airflow.providers.amazon.auth_manager.avp.entities.AvpEntities.ASSET` * context key * `triggering_dataset_events` → `triggering_asset_events` * resource key * `dataset-uris` → `asset-uris` (for providers amazon, common.io, mysql, fab, postgres, trino) #### class * `airflow.models.ImportError` → `airflow.models.errors.ParseImportError` (from #41367) * `airflow.models.taskMixin.TaskMixin` → `airflow.models.taskMixin.DependencyMixin` (from #41394) * `airflow.sensors.external_task.ExternalTaskSensorLink` → `airflow.sensors.external_task.ExternalDagLin` (from #41391) * `airflow.operators.local_kubernetes_executor.BashOperator` → `airflow.operators.bash.BashOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.BaseBranchOperator` → `airflow.operators.branch.BaseBranchOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.EmptyOperator` → `airflow.operators.empty.EmptyOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.DummyOperator` → `airflow.operators.empty.EmptyOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.EmptyOperator` → `airflow.operators.empty.EmptyOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.DummyOperator` → `airflow.operators.empty.EmptyOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.EmailOperator` → `airflow.operators.email.EmailOperator` (from #41368) * `airflow.sensors.local_kubernetes_executor.BaseSensorOperator` → `airflow.sensors.base.BaseSensorOperator` (from #41368) * `airflow.sensors.local_kubernetes_executor.DateTimeSensor` → `airflow.sensors.date_time.DateTimeSensor` (from #41368) * `airflow.sensors.local_kubernetes_executor.ExternalTaskMarker` → `airflow.sensors.external_task.ExternalTaskMarker` (from #41368) * `airflow.sensors.local_kubernetes_executor.ExternalTaskSensor` → `airflow.sensors.external_task.ExternalTaskSensor` (from #41368) * `airflow.sensors.local_kubernetes_executor.ExternalTaskSensorLink` → `airflow.sensors.external_task.ExternalTaskSensorLink` (from #41368) * `airflow.sensors.local_kubernetes_executor.TimeDeltaSensor` → `airflow.sensors.time_delta.TimeDeltaSensor` (from #41368) #### function * `airflow.utils.helpers.chain` → `airflow.models.baseoperator.chain` (from #41520) * `airflow.utils.helpers.chain` → `airflow.models.baseoperator.cross_downstream` (from #41520) * `airflow.secrets.local_filesystem.load_connections` → `airflow.secrets.local_filesystem.load_connections_dict` (from #41533) * `airflow.secrets.local_filesystem.get_connection` → `airflow.secrets.local_filesystem.load_connections_dict` (from #41533) * `airflow.secrets.base_secrets.BaseSecretsBackend.get_conn_uri` → `airflow.secrets.base_secrets.BaseSecretsBackend.get_conn_value` (from #41642) * `airflow.secrets.base_secrets.BaseSecretsBackend.get_connections` → `airflow.secrets.base_secrets.BaseSecretsBackend.get_connection` (from #41642) * `airflow.www.utils.get_sensitive_variables_fields` → `airflow.utils.log.secrets_masker.get_sensitive_variables_fields` (from #41758) * `airflow.www.utils.should_hide_value_for_key` → `airflow.utils.log.secrets_masker.should_hide_value_for_key` (from #41758) * `airflow.configuration.get` → `airflow.configuration.conf.get` (from #43530) * `airflow.configuration.getboolean` → `airflow.configuration.conf.getboolean` (from #43530) * `airflow.configuration.getfloat` → `airflow.configuration.conf.getfloat` (from #43530) * `airflow.configuration.getint` → `airflow.configuration.conf.getint` (from #43530) * `airflow.configuration.has_option` → `airflow.configuration.conf.has_option` (from #43530) * `airflow.configuration.remove_option` → `airflow.configuration.conf.remove_option` (from #43530) * `airflow.configuration.as_dict` → `airflow.configuration.conf.as_dict` (from #43530) * `airflow.configuration.set` → `airflow.configuration.conf.set` (from #43530) #### parameter * in `DayOfWeekSensor.__init__` * `use_task_execution_day` → `use_task_execution_day` (from #41393) * in `airflow.operators.datetime.BranchDateTimeOperator` * `use_task_execution_day` → `use_task_logical_date` (from #41736) * in `airflow.operators.weekday.BranchDayOfWeekOperator` * `use_task_execution_day` → `use_task_logical_date` (from #41736) * in `BaseOperator` * `task_concurrency` → `max_active_tis_per_dag` (from #41761) https://github.com/astral-sh/ruff/pull/14616 ### AIR304: moved to provider #### module * `airflow.hooks.dbapi` → `airflow.providers.common.sql.hooks.sql` (from #41748) * `airflow.api.auth.backend.default` → ` airflow.providers.fab.auth_manager.api.auth.backend.session` (from #43096) #### class * `airflow.www.security.FabAirflowSecurityManagerOverride` → `airflow.providers.fab.auth_manager.security_manager.override.FabAirflowSecurityManagerOverride` (from #41758) * `airflow.executors.local_kubernetes_executor.CeleryExecutor` → `airflow.providers.celery.executors.celery_executor.CeleryExecutor` (from #41368) * `airflow.executors.local_kubernetes_executor.CeleryKubernetesExecutor` → `airflow.providers.celery.executors.celery_kubernetes_executor.CeleryKubernetesExecutor` (from #41368) * `airflow.executors.local_kubernetes_executor.DaskExecutor` → `airflow.providers.daskexecutor.executors.dask_executor.DaskExecutor` (from #41368) * `airflow.executors.local_kubernetes_executor.KubernetesExecutor` → `airflow.providers.cncf.kubernetes.executors.kubernetes_executor.KubernetesExecutor` (from #41368) * `airflow.executors.local_kubernetes_executor.AirflowKubernetesScheduler` → `airflow.providers.cncf.kubernetes.executors.kubernetes_executor_utils.AirflowKubernetesScheduler` (from #41368) * `airflow.executors.local_kubernetes_executor.KubernetesJobWatcher` → `airflow.providers.cncf.kubernetes.executors.kubernetes_executor_utils.KubernetesJobWatcher` (from #41368) * `airflow.executors.local_kubernetes_executor.ResourceVersion` → `airflow.providers.cncf.kubernetes.executors.kubernetes_executor_utils.ResourceVersion` (from #41368) * `airflow.executors.local_kubernetes_executor.LocalKubernetesExecutor` → `airflow.providers.cncf.kubernetes.executors.LocalKubernetesExecutor` (from #41368) * `airflow.hooks.local_kubernetes_executor.S3Hook` → `airflow.providers.amazon.aws.hooks.s3.S3Hook` (from #41368) * `airflow.hooks.local_kubernetes_executor.BaseHook` → `airflow.hooks.base.BaseHook` (from #41368) * `airflow.hooks.local_kubernetes_executor.DbApiHook` → `airflow.providers.common.sql.hooks.sql.DbApiHook` (from #41368) * `airflow.hooks.local_kubernetes_executor.DockerHook` → `airflow.providers.docker.hooks.docker.DockerHook` (from #41368) * `airflow.hooks.local_kubernetes_executor.DruidDbApiHook` → `airflow.providers.apache.druid.hooks.druid.DruidDbApiHook` (from #41368) * `airflow.hooks.local_kubernetes_executor.DruidHook` → `airflow.providers.apache.druid.hooks.druid.DruidHook` (from #41368) * `airflow.hooks.local_kubernetes_executor.HiveCliHook` → `airflow.providers.apache.hive.hooks.hive.HiveCliHook` (from #41368) * `airflow.hooks.local_kubernetes_executor.HiveMetastoreHook` → `airflow.providers.apache.hive.hooks.hive.HiveMetastoreHook` (from #41368) * `airflow.hooks.local_kubernetes_executor.HiveServer2Hook` → `airflow.providers.apache.hive.hooks.hive.HiveServer2Hook` (from #41368) * `airflow.hooks.local_kubernetes_executor.HttpHook` → `airflow.providers.http.hooks.http.HttpHook` (from #41368) * `airflow.hooks.local_kubernetes_executor.JdbcHook` → `airflow.providers.jdbc.hooks.jdbc.JdbcHook` (from #41368) * `airflow.hooks.local_kubernetes_executor.jaydebeapi` → `airflow.providers.jdbc.hooks.jdbc.jaydebeapi` (from #41368) * `airflow.hooks.local_kubernetes_executor.MsSqlHook` → `airflow.providers.microsoft.mssql.hooks.mssql.MsSqlHook` (from #41368) * `airflow.hooks.local_kubernetes_executor.MySqlHook` → `airflow.providers.mysql.hooks.mysql.MySqlHook` (from #41368) * `airflow.hooks.local_kubernetes_executor.OracleHook` → `airflow.providers.oracle.hooks.oracle.OracleHook` (from #41368) * `airflow.hooks.local_kubernetes_executor.PigCliHook` → `airflow.providers.apache.pig.hooks.pig.PigCliHook` (from #41368) * `airflow.hooks.local_kubernetes_executor.PostgresHook` → `airflow.providers.postgres.hooks.postgres.PostgresHook` (from #41368) * `airflow.hooks.local_kubernetes_executor.PrestoHook` → `airflow.providers.presto.hooks.presto.PrestoHook` (from #41368) * `airflow.hooks.local_kubernetes_executor.SambaHook` → `airflow.providers.samba.hooks.samba.SambaHook` (from #41368) * `airflow.hooks.local_kubernetes_executor.SlackHook` → `airflow.providers.slack.hooks.slack.SlackHook` (from #41368) * `airflow.hooks.local_kubernetes_executor.SqliteHook` → `airflow.providers.sqlite.hooks.sqlite.SqliteHook` (from #41368) * `airflow.hooks.local_kubernetes_executor.WebHDFSHook` → `airflow.providers.apache.hdfs.hooks.webhdfs.WebHDFSHook` (from #41368) * `airflow.hooks.local_kubernetes_executor.ZendeskHook` → `airflow.providers.zendesk.hooks.zendesk.ZendeskHook` (from #41368) * `airflow.operators.local_kubernetes_executor.SQLCheckOperator` → `airflow.providers.common.sql.operators.sql.SQLCheckOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.SQLIntervalCheckOperator` → `airflow.providers.common.sql.operators.sql.SQLIntervalCheckOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.SQLThresholdCheckOperator` → `airflow.providers.common.sql.operators.sql.SQLThresholdCheckOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.SQLValueCheckOperator` → `airflow.providers.common.sql.operators.sql.SQLValueCheckOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.CheckOperator` → `airflow.providers.common.sql.operators.sql.SQLCheckOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.IntervalCheckOperator` → `airflow.providers.common.sql.operators.sql.SQLIntervalCheckOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.ThresholdCheckOperator` → `airflow.providers.common.sql.operators.sql.SQLThresholdCheckOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.ValueCheckOperator` → `airflow.providers.common.sql.operators.sql.SQLValueCheckOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.TriggerDagRunLink` → `airflow.operators.trigger_dagrun.TriggerDagRunLink` (from #41368) * `airflow.operators.local_kubernetes_executor.TriggerDagRunOperator` → `airflow.operators.trigger_dagrun.TriggerDagRunOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.DockerOperator` → `airflow.providers.docker.operators.docker.DockerOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.DruidCheckOperator` → `airflow.providers.apache.druid.operators.druid_check.DruidCheckOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.GCSToS3Operator` → `airflow.providers.amazon.aws.transfers.gcs_to_s3.GCSToS3Operator` (from #41368) * `airflow.operators.local_kubernetes_executor.GoogleApiToS3Operator` → `airflow.providers.amazon.aws.transfers.google_api_to_s3.GoogleApiToS3Operator` (from #41368) * `airflow.operators.local_kubernetes_executor.GoogleApiToS3Transfer` → `airflow.providers.amazon.aws.transfers.google_api_to_s3.GoogleApiToS3Operator` (from #41368) * `airflow.operators.local_kubernetes_executor.HiveOperator` → `airflow.providers.apache.hive.operators.hive.HiveOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.HiveStatsCollectionOperator` → `airflow.providers.apache.hive.operators.hive_stats.HiveStatsCollectionOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.HiveToDruidOperator` → `airflow.providers.apache.druid.transfers.hive_to_druid.HiveToDruidOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.HiveToDruidTransfer` → `airflow.providers.apache.druid.transfers.hive_to_druid.HiveToDruidOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.HiveToMySqlOperator` → `airflow.providers.apache.hive.transfers.hive_to_mysql.HiveToMySqlOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.HiveToMySqlTransfer` → `airflow.providers.apache.hive.transfers.hive_to_mysql.HiveToMySqlOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.HiveToSambaOperator` → `airflow.providers.apache.hive.transfers.hive_to_samba.HiveToSambaOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.SimpleHttpOperator` → `airflow.providers.http.operators.http.SimpleHttpOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.JdbcOperator` → `airflow.providers.jdbc.operators.jdbc.JdbcOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.LatestOnlyOperator` → `airflow.operators.latest_only.LatestOnlyOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.MsSqlOperator` → `airflow.providers.microsoft.mssql.operators.mssql.MsSqlOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.MsSqlToHiveOperator` → `airflow.providers.apache.hive.transfers.mssql_to_hive.MsSqlToHiveOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.MsSqlToHiveTransfer` → `airflow.providers.apache.hive.transfers.mssql_to_hive.MsSqlToHiveOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.MySqlOperator` → `airflow.providers.mysql.operators.mysql.MySqlOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.MySqlToHiveOperator` → `airflow.providers.apache.hive.transfers.mysql_to_hive.MySqlToHiveOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.MySqlToHiveTransfer` → `airflow.providers.apache.hive.transfers.mysql_to_hive.MySqlToHiveOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.OracleOperator` → `airflow.providers.oracle.operators.oracle.OracleOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.PapermillOperator` → `airflow.providers.papermill.operators.papermill.PapermillOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.PigOperator` → `airflow.providers.apache.pig.operators.pig.PigOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.Mapping` → `airflow.providers.postgres.operators.postgres.Mapping` (from #41368) * `airflow.operators.local_kubernetes_executor.PostgresOperator` → `airflow.providers.postgres.operators.postgres.PostgresOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.SQLCheckOperator` → `airflow.providers.common.sql.operators.sql.SQLCheckOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.SQLIntervalCheckOperator` → `airflow.providers.common.sql.operators.sql.SQLIntervalCheckOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.SQLValueCheckOperator` → `airflow.providers.common.sql.operators.sql.SQLValueCheckOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.PrestoCheckOperator` → `airflow.providers.common.sql.operators.sql.SQLCheckOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.PrestoIntervalCheckOperator` → `airflow.providers.common.sql.operators.sql.SQLIntervalCheckOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.PrestoValueCheckOperator` → `airflow.providers.common.sql.operators.sql.SQLValueCheckOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.PrestoToMySqlOperator` → `airflow.providers.mysql.transfers.presto_to_mysql.PrestoToMySqlOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.PrestoToMySqlTransfer` → `airflow.providers.mysql.transfers.presto_to_mysql.PrestoToMySqlOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.BranchPythonOperator` → `airflow.operators.python.BranchPythonOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.PythonOperator` → `airflow.operators.python.PythonOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.PythonVirtualenvOperator` → `airflow.operators.python.PythonVirtualenvOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.ShortCircuitOperator` → `airflow.operators.python.ShortCircuitOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.RedshiftToS3Operator` → `airflow.providers.amazon.aws.transfers.redshift_to_s3.RedshiftToS3Operator` (from #41368) * `airflow.operators.local_kubernetes_executor.RedshiftToS3Transfer` → `airflow.providers.amazon.aws.transfers.redshift_to_s3.RedshiftToS3Operator` (from #41368) * `airflow.operators.local_kubernetes_executor.S3FileTransformOperator` → `airflow.providers.amazon.aws.operators.s3_file_transform.S3FileTransformOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.S3ToHiveOperator` → `airflow.providers.apache.hive.transfers.s3_to_hive.S3ToHiveOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.S3ToHiveTransfer` → `airflow.providers.apache.hive.transfers.s3_to_hive.S3ToHiveOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.S3ToRedshiftOperator` → `airflow.providers.amazon.aws.transfers.s3_to_redshift.S3ToRedshiftOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.S3ToRedshiftTransfer` → `airflow.providers.amazon.aws.transfers.s3_to_redshift.S3ToRedshiftOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.SlackAPIOperator` → `airflow.providers.slack.operators.slack.SlackAPIOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.SlackAPIPostOperator` → `airflow.providers.slack.operators.slack.SlackAPIPostOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.BaseSQLOperator` → `airflow.providers.common.sql.operators.sql.BaseSQLOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.BranchSQLOperator` → `airflow.providers.common.sql.operators.sql.BranchSQLOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.SQLCheckOperator` → `airflow.providers.common.sql.operators.sql.SQLCheckOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.SQLColumnCheckOperator` → `airflow.providers.common.sql.operators.sql.SQLColumnCheckOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.SQLIntervalCheckOperator` → `airflow.providers.common.sql.operators.sql.SQLIntervalCheckOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.SQLTableCheckOperator` → `airflow.providers.common.sql.operators.sql.SQLTableCheckOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.SQLThresholdCheckOperator` → `airflow.providers.common.sql.operators.sql.SQLThresholdCheckOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.SQLValueCheckOperator` → `airflow.providers.common.sql.operators.sql.SQLValueCheckOperator` (from #41368) * `airflow.operators.local_kubernetes_executor._convert_to_float_if_possible` → `airflow.providers.common.sql.operators.sql._convert_to_float_if_possible` (from #41368) * `airflow.operators.local_kubernetes_executor.parse_boolean` → `airflow.providers.common.sql.operators.sql.parse_boolean` (from #41368) * `airflow.operators.local_kubernetes_executor.BranchSQLOperator` → `airflow.providers.common.sql.operators.sql.BranchSQLOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.BranchSqlOperator` → `airflow.providers.common.sql.operators.sql.BranchSQLOperator` (from #41368) * `airflow.operators.local_kubernetes_executor.SqliteOperator` → `airflow.providers.sqlite.operators.sqlite.SqliteOperator` (from #41368) * `airflow.sensors.local_kubernetes_executor.HivePartitionSensor` → `airflow.providers.apache.hive.sensors.hive_partition.HivePartitionSensor` (from #41368) * `airflow.sensors.local_kubernetes_executor.HttpSensor` → `airflow.providers.http.sensors.http.HttpSensor` (from #41368) * `airflow.sensors.local_kubernetes_executor.MetastorePartitionSensor` → `airflow.providers.apache.hive.sensors.metastore_partition.MetastorePartitionSensor` (from #41368) * `airflow.sensors.local_kubernetes_executor.NamedHivePartitionSensor` → `airflow.providers.apache.hive.sensors.named_hive_partition.NamedHivePartitionSensor` (from #41368) * `airflow.sensors.local_kubernetes_executor.S3KeySensor` → `airflow.providers.amazon.aws.sensors.s3.S3KeySensor` (from #41368) * `airflow.sensors.local_kubernetes_executor.SqlSensor` → `airflow.providers.common.sql.sensors.sql.SqlSensor` (from #41368) * `airflow.sensors.local_kubernetes_executor.SqlSensor` → `airflow.providers.common.sql.sensors.sql.SqlSensor` (from #41368) * `airflow.sensors.local_kubernetes_executor.WebHdfsSensor` → `airflow.providers.apache.hdfs.sensors.web_hdfs.WebHdfsSensor` (from #41368) #### function * `airflow.api.auth.backend.basic_auth` → `airflow.providers.fab.auth_manager.api.auth.backend.basic_auth` (from #41663) * `airflow.api.auth.backend.kerberos_auth` → airflow.executors.`airflow.providers.fab.auth_manager.api.auth.backend.kerberos_auth` (from #41693) * `airflow.auth.managers.fab.api.auth.backend.kerberos_auth` → `airflow.providers.fab.auth_manager.api.auth.backend.kerberos_auth` (from #41693) * `airflow.auth.managers.fab.fab_auth_manager` → `airflow.providers.fab.auth_manager.security_manager.override` (from #41708) * `airflow.auth.managers.fab.security_manager.override` → `airflow.providers.fab.auth_manager.security_manager.override` (from #41708) #### constant / variable * `airflow.executors.local_kubernetes_executor.ALL_NAMESPACES` → `airflow.providers.cncf.kubernetes.executors.kubernetes_executor_types.ALL_NAMESPACES` (from #41368) * `airflow.executors.local_kubernetes_executor.POD_EXECUTOR_DONE_KEY` → `airflow.providers.cncf.kubernetes.executors.kubernetes_executor_types.POD_EXECUTOR_DONE_KEY` (from #41368) * `airflow.hooks.local_kubernetes_executor.HIVE_QUEUE_PRIORITIES` → `airflow.providers.apache.hive.hooks.hive.HIVE_QUEUE_PRIORITIES` (from #41368) * `airflow.executors.local_kubernetes_executor.app` → `airflow.providers.celery.executors.celery_executor_utils.app` (from #41368) * `airflow.macros.local_kubernetes_executor.closest_ds_partition` → `airflow.providers.apache.hive.macros.hive.closest_ds_partition` (from #41368) * `airflow.macros.local_kubernetes_executor.max_partition` → `airflow.providers.apache.hive.macros.hive.max_partition` (from #41368) ### AIR310: models related changes (AIP-72) not going to do it * #40931 * #41440 * #41761 * `airflow.models.baseoperator.BaseOperatorLink` → `airflow.models.baseoperatorlink.BaseOperatorLink` * #41762 * `airflow.models.connection.parse_netloc_to_hostname` * `airflow.models.connection.Connection.parse_from_uri` * `airflow.models.connection.Connection.log_info` * `airflow.models.connection.Connection.debug_info` * #41774 * #41776 * #41778 * #41779 * #41780 * #41784 * #41808 * #41964 * #42023 * #42548 * #42739 * #42776 * #43067 * #43490 ------ </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org